Emulator Issues #4128
closedSpider-Man 2 (GCN) can't boot using JIT recompiler
0%
Description
Spider-Man 2 gives these error messages immediately after booting:
"BackPatch: Currently only supporting reads. Attempted to write to f0004004."
"BackPatch write: not through EAX"
Then it freezes (not completely, as I can still close the game)
On the other hand, booting in Interpreter mode works just fine (albeit with the expected ~2 FPS).
Dolphin version with the problem: All that I have tried. My current revision is r7128.
Operating system and version: Windows 7 Home Premium
32-bit or 64-bit: 64-bit
Game ID: GK2E52
Updated by tommyhl2.SS over 13 years ago
Yep, this is one of those games that just refuses to work.
Updated by calc84maniac over 13 years ago
Oddly enough, this game boots and runs quite accurately when running in debug mode (and still using the JIT recompiler). It's a bit slow, though, because the code cache keeps getting cleared. I feel like there should be some fairly simple change that allows this game to boot normally, since it boots in both interpreter mode and in debug mode. If any developer wants to look into this, that would be much appreciated. I'll also try messing around with the Dolphin source and see if I can come up with anything.
Updated by calc84maniac about 13 years ago
Okay, I finally got around to messing with this, and I found out exactly what code was allowing the game to work properly in debug mode. (MMU must be on for it to work, MMU speed hack is fine too, BAT not required)
In Jit64::DoJit():
if (Core::g_CoreStartupParameter.bEnableDebugging)
{
// Comment out the following to disable breakpoints (speed-up)
blockSize = 1;
broken_block = true;
Trace();
}
Trace(), of course, was irrelevant, but commenting the other two lines caused the normal hang at game boot. I'll see if I'm able to come up with anything else.
Updated by calc84maniac about 13 years ago
It looks like the game boots properly for block sizes of 6 or less, and hangs for sizes 7 or more. I tested this in the Release build.
Updated by skidau about 13 years ago
Based on that information, the crash is probably due to the exceptions not being executed frequently enough.
Updated by calc84maniac about 13 years ago
Nope, that doesn't fix the problem (yes, I tried the JitIL core). From what I tested in the debugger earlier, the initialization code seems do some weird stuff with bit 0x00008000 of the MSR.
Updated by skidau about 13 years ago
Please test Spider-Man 2 with these test builds: r78b74101b0dc6cb7e2dc8424928e34138423c116
Let me know if the game works.
Updated by calc84maniac about 13 years ago
Sadly, it is still broken. Note, the "infinite loop" always happens before any of the emulator messages are displayed onscreen, which means very soon after the game boots. It might be worth stepping through in the debugger if possible.
Updated by skidau about 13 years ago
Try enabling OSReport in the logs and see if anything shows up. Would be even better if you could change the log level to Debug.
Updated by calc84maniac about 13 years ago
It's just the normal Apploader Initialized and such.
Updated by skidau about 13 years ago
Issue 4951 has been merged into this issue.
Updated by janben31 over 12 years ago
Interpreter: Game runs at about 1fps.
JIT: Dolphin shuts down immediately.
JITIL: Black screen. No yellow notations either.
Somehow, in my case even the debug mode doesn't fix the issue.
In debug mode I just get a black screen in all three cases -.-
Updated by skidau over 12 years ago
With the latest changes to the debugger, the debug mode trick will no longer boot this game. Comment 4 describes the changes needed to get the game to boot.
Updated by rdragoon over 12 years ago
It still works in debug mode if you boot in interpreter than switch to JIT. It's prone to random crashing though.
Updated by janben31 over 12 years ago
Thanks for the quick answers. Sadly, I'm pretty much of a noob xD
Would you explain how I apply this change?
Updated by janben31 over 12 years ago
When i follow comment 16's advice I get "DSI exception"
Updated by rdragoon over 12 years ago
Sorry, forgot to mention it only works in 64 bit. 32 bit does not seem to work at all with JIT. And i've only tried it on windows.
What i do is run in debug mode, and makes sure boot to pause is enabled. Once it starts up, switch to interpreter (under JIT menu), frame advance once, then turn interpreter off. From there, you can unpause, and it should run mostly fine. Save state often, and when you get an error, close the error box, and load your last state, and either do something different and hope for the best, or switch to interpreter for the frame before the error occurred.
It's not exactly playable, but it does work.
Updated by skidau over 12 years ago
Issue 5503 has been merged into this issue.
Updated by spiderjjr45 about 12 years ago
I would definitely like an update, this is one of my favorite games of all time.
Updated by ericleslie almost 12 years ago
Giving this thread a bump. I have tried the debug instructions from rdrag...@optonline.net without any success - after I switch back to JIT and try to unpause, I still get the infinte looping error.
Win8 64 bit.
Updated by chriswholtshouser almost 12 years ago
Bumping this thread, hoping for an update.
Updated by blastoisedrc almost 12 years ago
I'll bump this too i also wanna see a update on this
Updated by Billiard26 almost 12 years ago
- Issue type set to Bug
- Category set to ppc
Updated by erlloyd almost 12 years ago
Still seems like this problem occurs on Mac. Using 3.5-329. I get the attached error message using either the JIT Recompiler or the JITIL Recompiler.
Does anyone know if this is really fixed on the Windows side?
Updated by calc84maniac almost 12 years ago
You need to turn on the MMU in the game properties.
Updated by erlloyd almost 12 years ago
Ok, I must have missed that option. Now I can start the game, but after when it tries to load the tutorial level, the whole dolphin emulator locks up (screen shot during lockup attached). I was able to try this on a windows machine, and it seemed to work fine there. Should I file a new bug for this, or is there anything I should try in the settings first?
Using Mac OS X 10.8.2, NVIDIA 330M graphics card.
Updated by skidau almost 12 years ago
Try matching the settings first. Copy all of the ini files from your Windows Dolphin folder to the OSX one.
Updated by erlloyd almost 12 years ago
Yep, even after copying the .ini files, the Mac side still locks up. Is there a more informative log file somewhere? Or a way to enable deeper debug messages? The dolphin.log file I found has only a few minimal entries.
Updated by jefftaylordesign over 11 years ago
Bump. I get the same results as comment #30 on this issue using the latest Mac release. Has any progress been made in resolving it? I've tried it in Windows 7 and can confirm that it is working there.
Updated by Sonicadvance1 over 11 years ago
Issue 6311 has been merged into this issue.
Updated by lolmaniac621 over 11 years ago
UPDATE: Version 3.5-1334 (haven't tried newer yet) works by setting the game properties to this look, although it still plays at about 25 fps. Make sure to EXACTLY MATCH it or it doesn't work at all. --> http://imgur.com/wrSRNWI
I'm gonna try some different settings paired with those properties to see if I can get it running without lag.
Updated by calc84maniac over 11 years ago
The MMU Speed Hack is meant to be used in place of the enabling the full MMU for certain games; if the game doesn't work without full MMU enabled (and this one doesn't) then the speed hack does nothing or possibly may cause glitches. It's probably a good idea for the MMU to be enabled by default for this game. The fact that it's not is why Issue 6311 was actually an issue.
You won't be able to get it to run much faster at this point. MMU emulation is slow, that's the real bottleneck here. I can't say it's impossible to be optimized, though.
Updated by pauldacheez over 11 years ago
Right-click the game, click Properties.
Updated by Baterang over 11 years ago
When I run the game with the setting required to run the game it only gives me 57% speed and no fps, so I practically cant play the game. What can I do to fix this?
Updated by MayImilae over 11 years ago
Use the support forum for questions like that. Don't ask that kind of stuff here.
Updated by law6059 over 11 years ago
i'm on windows and i'm trying to apply the fix for spider-man 2, how exactly do i apply this?
Updated by pauldacheez over 11 years ago
law6, right-click the game in your game list and click Properties, then make the checkboxes match this screenshot. http://imgur.com/wrSRNWI