Just a note:
"ERROR: HDD Boot game is corrupted. The application will be terminated." screen shows up between emulator versions:
rpcs3-v0.0.12-10857-da6760ed_win64 = Games work. = Pull#8869
rpcs3-v0.0.12-10858-8c8048f0_win64 = Games boots and the screen "ERROR: HDD Boot game is corrupted. The application will be terminated." shows up. No other changes. = Pull#8835
Both emulators are clean installs.
The two games for this purpose of review are:
Dragon Fantasy Book I & Dragon Fantasy Book II
Something changed between the two versions of the emulator to create this error which remains present in the latest version of the emulator.
This error may be present in other games.
Thank you for your time.
Both emulator version are fresh, clean installs. Add firmware and add the game. There is no additional changes and or other games on the emulator. This was done to test the subject games.
Please see the page listed for #8835. The changes that were made on this version affected all future versions of this emulator to make the current regression.
Page Titled: From Date: 9/9/2020 -->:Location:
https://github.com/RPCS3/rpcs3/pull/8835
Win32 FS: Use FindFirstFileExW in fs:
tat, fs::exists, fs::is_dir, fs::is_file #8835
Merged
Megamouse merged 4 commits into RPCS3:master from elad335:fs-stat on Sep 9
Had some time to review the logs between the game playing on an older version of the emulator as seen above and a new version of the emulator that does not allow the game to work. Below is the section of the log on two versions of the emulator that pertain to the error.
Game is working on this emulator version: rpcs3-v0.0.12-10857-da6760ed_win64
·! 0:00:15.272738 {PPU[0x1000000] Thread (main_thread) [0x007c0ec0]} sys_fs: sys_fs_fcntl(0xc0000006): /dev_hdd0
·W 0:00:15.272749 {PPU[0x1000000] Thread (main_thread) [0x007c1ee4]} sys_fs: sys_fs_stat(path=“/dev_hdd0/game/NPUB31118/USRDIR/key.edat”, sb=*0xd00104d8)
·W 0:00:15.272956 {PPU[0x1000000] Thread (main_thread) [HLE:0x004d5828, LR:0x000ffe20]} sceNp: sceNpDrmIsAvailable(k_licensee=*0xd00109b8, drm_path=*0x3004b840)
·! 0:00:15.272974 {PPU[0x1000000] Thread (main_thread) [HLE:0x004d5828, LR:0x000ffe20]} sceNp: npDrmIsAvailable(): KLicense key 0x2609290528121803d22df39e1cbade16
·W 0:00:15.272979 {PPU[0x1000000] Thread (main_thread) [HLE:0x004d5828, LR:0x000ffe20]} sceNp: npDrmIsAvailable(): drm_path=“/dev_hdd0/game/NPUB31118/USRDIR/key.edat”
·! 0:00:15.273468 {PPU[0x1000000] Thread (main_thread) [0x007c0ec0]} sys_fs: sys_fs_fcntl(0xc0000006): /dev_hdd0
·W 0:00:15.273480 {PPU[0x1000000] Thread (main_thread) [0x007c2090]} sys_fs: sys_fs_open(path=“/dev_hdd0/game/NPUB31118/USRDIR/key.edat”, flags=0, fd=*0xd0010460, mode=0, arg=*0xd00105b8, size=0x8)
·W 0:00:15.273605 {PPU[0x1000000] Thread (main_thread) [0x007c2090]} sys_fs: sys_fs_open(): NPDRM detected
·W 0:00:15.273679 {PPU[0x1000000] Thread (main_thread) [0x00305638]} sys_semaphore: sys_semaphore_create(sem_id=*0x443170, attr=*0xd00105e0, initial_val=0, max_val=1)
·W 0:00:15.273688 {PPU[0x1000000] Thread (main_thread) [0x00305638]} sys_semaphore: sys_semaphore_create(sem_id=*0x443180, attr=*0xd00105e0, initial_val=0, max_val=1)
·W 0:00:15.273706 {PPU[0x1000000] Thread (main_thread) [HLE:0x004d00f8, LR:0x000fc1cc]} sceNpTrophy: sceNpTrophyInit(pool=*0x0, poolSize=0x0, containerId=0xffffffff, options=0x0)
·W 0:00:15.273714 {PPU[0x1000000] Thread (main_thread) [0x006f4d60]} sys_ppu_thread: _sys_ppu_thread_create(thread_id=*0x443168, param=*0xd00104a0, arg=0x443070, unk=0x0, prio=1002, stacksize=0x1000, flags=0x1, threadname=*0x3bfcb8)
·W 0:00:15.273982 {PPU[0x1000000] Thread (main_thread) [0x006f4d60]} sys_ppu_thread: _sys_ppu_thread_create(): Thread “trophy_init_thread” created (id=0x1000005, func=*0xfd7e0, rtoc=0x3c4950, user-tls=0x20007b50)
·! 0:00:15.274021 {PPU[0x1000000] Thread (main_thread) [0x002d6e50]} sys_tty: sys_tty_write(ch=0, buf=*0x30005a00, len=25, pwritelen=*0xd00100e0)
·! 0:00:15.274027 {PPU[0x1000000] Thread (main_thread) [0x002d6e50]} sys_tty: sys_tty_write(): “Init thread ID: 16777221
Game is Not Working on emulator versions past the one shown above.
·! 0:07:57.013581 {PPU[0x1000000] Thread (main_thread) [0x00760ec0]} sys_fs: sys_fs_fcntl(0xc0000006): /dev_hdd0
·W 0:07:57.013593 {PPU[0x1000000] Thread (main_thread) [0x00761ee4]} sys_fs: sys_fs_stat(path=“/dev_hdd0/game/NPUB31118/USRDIR/key.edat”, sb=*0xd00104e8)
·W 0:07:57.013780 {PPU[0x1000000] Thread (main_thread) [HLE:0x0047582c, LR:0x000f5798]} sceNp: sceNpDrmIsAvailable(k_licensee=*0xd00109c8, drm_path=*0x3004b720)
·! 0:07:57.013794 {PPU[0x1000000] Thread (main_thread) [HLE:0x0047582c, LR:0x000f5798]} sceNp: npDrmIsAvailable(): KLicense key 0x2609290528121803d22df39e1cbade16
·W 0:07:57.013803 {PPU[0x1000000] Thread (main_thread) [HLE:0x0047582c, LR:0x000f5798]} sceNp: npDrmIsAvailable(): drm_path=“/dev_hdd0/game/NPUB31118/USRDIR/key.edat”
·W 0:07:57.014083 {PPU[0x1000000] Thread (main_thread) [HLE:0x0047582c, LR:0x000f5798]} sceNp: npDrmIsAvailable(): Rap file not found: “/dev_hdd0/home/00000001/exdata/UP2087-NPUB31118_00-DRAGONFANTASYBKI.rap”
·! 0:07:57.014106 {PPU[0x1000000] Thread (main_thread) [0x00760ec0]} sys_fs: sys_fs_fcntl(0xc0000006): /dev_hdd0
·W 0:07:57.014117 {PPU[0x1000000] Thread (main_thread) [0x00762090]} sys_fs: sys_fs_open(path=“/dev_hdd0/game/NPUB31118/USRDIR/key.edat”, flags=0, fd=*0xd0010470, mode=0, arg=*0xd00105c8, size=0x8)
·W 0:07:57.014321 {PPU[0x1000000] Thread (main_thread) [0x00762090]} EDAT: EDAT: Empty Dec key for local activation!
·W 0:07:57.014334 {PPU[0x1000000] Thread (main_thread) [0x00762090]} sys_fs: sys_fs_open(): NPDRM detected
·E 0:07:57.014377 {PPU[0x1000000] Thread (main_thread) [0x00761174]} EDAT: EDAT: Block at offset 0x120 has invalid hash!
·E 0:07:57.014392 {PPU[0x1000000] Thread (main_thread) [0x00761174]} EDAT: Error Decrypting data
·W 0:07:57.014404 {PPU[0x1000000] Thread (main_thread) [0x00694d60]} sys_ppu_thread: _sys_ppu_thread_create(thread_id=*0xd0010a08, param=*0xd00105c0, arg=0x0, unk=0x0, prio=1002, stacksize=0x1000, flags=0x1, threadname=*0x3af06b)
·W 0:07:57.014434 {PPU[0x1000000] Thread (main_thread) [0x00694d60]} sys_ppu_thread: _sys_ppu_thread_create(): Thread “hdderr_thread” created (id=0x1000005, func=*0xf7620, rtoc=0x3b3dc8, user-tls=0x20007b50)
·W 0:07:57.014468 {PPU[0x1000000] Thread (main_thread) [0x007013e0]} sys_rsx: sys_rsx_attribute(packageId=0x202, a2=0x1, a3=0x1, a4=0x0, a5=0x0)
·W 0:07:57.014469 {PPU[0x1000005] Thread (hdderr_thread) [HLE:0x00470e24, LR:0x000f764c]} cellGame: cellGameContentErrorDialog(type=101, errNeedSizeKB=0, dirName=«NULL»)
·W 0:07:57.014495 {PPU[0x1000000] Thread (main_thread) [0x00701c44]} sys_rsx: sys_rsx_attribute(packageId=0x2, a2=0x1, a3=0x0, a4=0x0, a5=0x0)
·W 0:07:57.014503 {PPU[0x1000005] Thread (hdderr_thread) [HLE:0x00470e24, LR:0x000f764c]} cellSysutil: open_exit_dialog(message=ERROR: HDD boot game is corrupted. The application will be terminated., is_exit_requested=1)
·W 0:07:57.014509 {PPU[0x1000000] Thread (main_thread) [0x00701c6c]} sys_rsx: sys_rsx_context_attribute(context_id=0x55555555, package_id=0x101, a3=0x1, a4=0x2, a5=0x0, a6=0x0)
·W 0:07:57.014519 {PPU[0x1000005] Thread (hdderr_thread) [HLE:0x00470e24, LR:0x000f764c]} cellSysutil: open_msg_dialog(is_blocking=1, type=0xa0, msgString=“ERROR: HDD boot game is corrupted. The application will be terminated.”, callback=*0x4703f0, userData=*0x0, extParam=*0x0)
·U 0:08:00.660844 {PPU[0x1000000] Thread (main_thread) [0x002bd0b8]} PPU TODO: Unimplemented syscall syscall_988 -> CELL_OK (r3=0x1, r4=0x0, r5=0x0, r6=0x381c3558, r7=0x702, r8=0x0, r9=0xa0, r10=0x10)
·W 0:08:00.660902 {PPU[0x1000000] Thread (main_thread) [0x006a0c88]} sys_prx: _sys_prx_get_module_list(flags=2, pInfo=*0xd0010b28)
It looks like the key.edat phase does not recognize the key on the newer versions of the emulator.
Well good news on my end. All is working. Built a new set of files. The new copies of the games work on the latest version of the emulator. Which most likely means the originals were corrupted some how. Live and learn.