Emulator Issues #10332
closedFatal Frame 4 + ENG patch stopped to boot at 4.0-8741
0%
Description
Game Name?
零 ~月蝕の仮面~
Game ID? (right click the game in the game list, properties, info tab)
R4ZJ01
MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)
aa21c0387fa6b3c2e92e9e6308eaa658
What's the problem? Describe what went wrong.
The game totally no start. When I press run button happens nothing. No black screen or anything.
What steps will reproduce the problem?
Press Run and see.
Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?
It happened in 4.0-8741 and same for current versions
What are your PC specifications? (CPU, GPU, Operating System, more)
No matter
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
I talk about ENG patched game only. Japanese ISO boots fine
Updated by JMC4789 over 7 years ago
The patch is likely incorrectly made, and likely wouldn't boot on a retail Wii. If it relies on some broken behavior in Dolphin, then, someone needs to update the patch to be proper.
It could still be something on Dolphin's end, but, you'd have to find out what region the ISO reports itself to be after the patch. According to the gameID you posted, it'd be Japanese, but, it's an english patch, so the patcher may have saw it fit to change it to English, but then maybe not everywhere, causing it to hang.
If you enable logging and get the logs, there's a good chance it'll tell us something interesting.
Updated by metafalica over 7 years ago
The patched game works totally fine on Wii and Wii U. That patch is made many years ago and no one ever reported it no works.
Patched game also worked on Dolphin until the version I specified.
The log is here, I hope I enabaled it correctly:
08:48:345 ConfigManager.cpp:780 N[CORE]: Active title: Fatal Frame IV: Mask of the Lunar Eclipse (R4ZJ01)
08:48:351 ConfigManager.cpp:393 N[COMMON]: Disabling WC24 'standby' (shutdown to idle) to avoid hanging on shutdown
08:48:359 Core.cpp:952 N[COMMON]: Want determinism <- false
08:48:526 Boot\Boot.cpp:338 N[BOOT]: Booting from disc: H:\Downloaded games/Wii Games/Fatal Frame 4 ENG Updated.iso
08:48:551 HLE\HLE_OS.cpp:82 N[OSREPORT]: 812003d8->81300000|
Apploader Initialized.
08:48:551 HLE\HLE_OS.cpp:82 N[OSREPORT]: 812003f4->81300000| This Apploader built Oct 3 2007 10:21:59 for RVL
08:48:838 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - EXI release build: Aug 8 2007 01:59:22 (0x4199_60831) >>
08:48:839 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - SI release build: Aug 8 2007 02:07:10 (0x4199_60831) >>
08:48:949 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]:
08:48:950 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: Revolution OS
08:48:952 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: Kernel built : Jan 30 2008 01:38:43
08:48:952 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: Console Type : NDEV 2.1
08:48:954 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: Firmware : 33.14.24 (3/3/2010)
08:48:954 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: Memory 88 MB
08:48:955 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: MEM1 Arena : 0x804a4f00 - 0x817e2fa0
08:48:955 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: MEM2 Arena : 0x90000800 - 0x935e0000
08:48:956 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - OS release build: Jan 30 2008 01:38:43 (0x4199_60831) >>
08:48:987 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - SC release build: Aug 8 2007 02:09:03 (0x4199_60831) >>
08:48:989 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - NAND release build: Dec 11 2007 01:35:48 (0x4199_60831) >>
08:49:000 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - DVD release build: Aug 8 2007 01:59:13 (0x4199_60831) >>
08:49:047 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - VI release build: Aug 8 2007 02:07:17 (0x4199_60831) >>
08:49:067 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: << RVL_SDK - GX release build: Dec 11 2007 01:34:15 (0x4199_60831) >>
08:49:088 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: VIConfigure(): Tried to change mode from (1) to (0), which is forbidden
08:49:088 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: in "vi.c" on line 2647.
08:49:088 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]:
08:49:088 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: Address: Back Chain LR Save
08:49:088 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: 0x804a4cd8: 0x804a4d68 0x8025d39c
08:49:088 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: 0x804a4d68: 0x804a4d98 0x80273420
08:49:088 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: 0x804a4d98: 0x804a4dc8 0x80045c24
08:49:089 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: 0x804a4dc8: 0x804a4e28 0x80045850
08:49:089 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: 0x804a4e28: 0x804a4ed8 0x8000754c
08:49:089 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: 0x804a4ed8: 0x804a4ee8 0x800069d8
08:49:089 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: 0x804a4ee8: 0xffffffff 0x800041a4
Game shows EUR region in that revision. In Dolphin versions where it were working it shows JP region.
Updated by JosJuice over 7 years ago
So the likely reason that it works on real consoles but not on Dolphin is that Dolphin sets the console's region based on the region data of the disc. Since it apparently doesn't work in Dolphin when detected as PAL, I'm wondering... Has it been tested on a PAL console? Or only on an NTSC-U/NTSC-J console?
If you want newer versions of Dolphin to detect the game as NTSC-J, open the disc image and change the byte at 0x4E003 to 0. (NTSC-U is 1 and PAL is 2.)
Updated by metafalica over 7 years ago
Yes, it works on PAL consoles. That was the main patch feature to make JP only game to play on PAL and NTSC-U consoles (I don't know how they bypass region lock). This game were never released outside of Japan. The patch uses homebrew channel and Riivolution. There is some video how it run on console: https://www.youtube.com/watch?v=EdibJCWjhJU
P.S. making as you said about byte change worked. Even though I am not sure that it logical to change console region based on game region. Real console sure not do the same.
Updated by leoetlino over 7 years ago
Indeed, the real console doesn't really care about regions. It doesn't try to auto detect and configure the console region according to the game being inserted.
What it does is just launch the game with the current region settings. What Dolphin does is it detects the game region from the disc, changes the console region settings before launching the game.
The reason we do it is for usability, to avoid users having to manually configure the region. However, there should be an option for Dolphin to have more accurate behaviour and skip the auto configure, which would allow such cases to work, and also shenanigans like trying to semi-brick the emulated console :)
Updated by metafalica over 7 years ago
Before the version I specified Dolphin determined this game as JP region. Why not to use old detection method to set virtual console region?
Updated by JosJuice over 7 years ago
The old method breaks some official games (e.g. issue 9158).
Updated by JMC4789 over 7 years ago
Honestly I'm not thrilled at the idea of bending over backwards to support a hacked ISO anyway when it can so easily be fixed on the patch's side anyway...
Updated by JosJuice over 7 years ago
What I'm really wondering is why it works on PAL consoles but doesn't work when Dolphin is emulating a PAL console...
Updated by JosJuice over 7 years ago
Can you explain how you applied the patch to an unmodified copy of the game in order to get the ISO that newer versions of Dolphin detects as PAL? Some step of the patching should be affecting the region byte, because it's supposed to be 0 in an unmodified copy.
Updated by metafalica over 7 years ago
I followed official instruction at fatalframe4.net long ago, but sadly patch site is down long ago too and no longer maintained.
I found instruction at another place:
You need Wiiscrubber (1.4) + partitionbuilder (1.1).
Load ISO in wiiscrubber
Extracting key partition files:
- Expand Partition:2 (DATA)
- Right click + extract the following files:
-partition.bin
-boot.bin
-bi2.bin
-apploader.img
-main.dol
Save them all to a folder like "ff4sys" or something.
Data files: Right click Partition:2 (DATA) -> Unencrypted Partition -> Extract
Save to a folder like "ff4data" or whatever you want.
Patch files: Download + Extract the patch files. You need to copy these to the appropriate folders in the data files partition you extracted ("ff4data" in my example). These are the corresponding paths:
BigFontGhostList -> Hide\Item or SmallFontGhostlist -> Hide\Item
Chapters -> RSL
Credits -> RSL
Item -> Hide\Item
Menu -> Miya
Miya -> Miya
RSL -> RSL
Songs -> SND\STREAM
Rebuilding the partition:
- Open partitionbuilder.exe (make sure you have version 1.1!!)
- Load up the files it needs (extracted to "ff4sys" in my example).
- Source file directory is the data partition you extracted to a folder ("ff4data" in my example).
- Click build, remember the filename you saved it as.
- Wait. When it finishes, exit partitionbuilder.
Back to Wiiscrubber:
- Right click Partition:2 (DATA) -> Unencrypted Partition -> Load -> Open the partition img you built in partitionbuilder.
- Wait. Once it finishes you can exit Wiiscrubber and you'll be all set.
Updated by JosJuice over 7 years ago
- Status changed from New to Questionable
Ah, so it's building an ISO from scratch rather than just patching an existing one. It makes sense that it uses the wrong region byte then.
If it's possible to extract a "region.bin" file (or something with a similar name) and use it when rebuilding, doing that should solve your problem without needing to use a hex editor. Otherwise I would suggest using another rebuilding program that supports that, such as wit (though that one is command-line based). Though I guess it doesn't really matter in your case since you already have managed to get the same result using a hex editor.
We might want to add a way to force Dolphin to use a certain region, regardless of issues with patching this game to English, so I suppose we can let this issue report stay open. Marking as Questionable for now.
Updated by metafalica over 7 years ago
Well, I forgot to tell there is two patch ways. First one is console side and second is PC side.
http://zero4englishtranslation43.weebly.com/the-guide.html
Console way does not require ISO rebuild, but also has no way to play on Dolphin, since we can't physically modify optical disc content.
That's just for additional information.
Updated by tueidj over 7 years ago
You guys missed something:
08:48:952 HW\EXI\EXI_DeviceIPL.cpp:346 N[OSREPORT]: Console Type : NDEV 2.1
Real wiis aren't NDEVs so asserts and other debug code embedded in the SDKs doesn't get triggered when running on them. Possibly this includes the VI invalid region change detection.
Updated by JosJuice over 7 years ago
- Status changed from Questionable to New
Good point. I'm changing this issue back into New until that gets investigated further.
Updated by JMC4789 over 7 years ago
- Status changed from New to Invalid
From leoetlino "the VI invalid change code runs even in retail mode"