Oh man, I spent ten hours and two Red Bulls working non-stop on that bug. I probably took two years off my hard drive generating and splitting those ~16GB trace files ~6-8x. I would have never thought to check the data port enable flags, but that was exactly it. The game never writes to $4816 or $4817. That's what I get for being overly aggressive with emulation, and not bothering to check things after.Jonas Quinn wrote:It's a problem with the $4810 register.
Snes9x is using "if((r481x & 0x07)!=0x07) return 0x00;" and this seems to fix the SMP crash and a display bug after starting a new game where you are asked to choose a pitcher.
Listen, I really can't thank you enough for the help. It's really appreciated.
For everyone else -- wow. What a difference. I didn't realize how much spoken dialogue this game has. 90% of it was never played before. This also corrects the crazy pitcher timing. Before it'd take 3 seconds to throw a ball, then 1 second the next, then 3 seconds again. Really made the game much more difficult. I was able to lose by 4-1 with this fixed. It's still the hardest baseball game I've yet to play, though. I could wipe the floor with the other team in Koushien 2.
Three cheers for Jonas Quinn! :D