Closed Senryoku closed 1 month ago
Setting the number of rounds to one allowed me to finish the arcade mode. Pretty sure it has to do with swapping movesets.
It's stuck on "Now loading...", I don't see any GD-ROM access, but I might just be missing some logging. Or it's something else entirely.
There some GD-ROM access right before the freeze, but they use the usual syscalls:
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=393929 size=16 destination=0x0C27DC00
debug(gdrom): GDROM Mainloop - No command queued
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=397658 size=16 destination=0x0C285C00
debug(gdrom): GDROM Mainloop - No command queued
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=393945 size=16 destination=0x0C27DC00
debug(gdrom): GDROM Mainloop - No command queued
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=397674 size=16 destination=0x0C285C00
The intro cutscene is also cut short after some DMA, I wonder if this is linked?
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=465836 size=451 destination=0x0C8BCC60
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=460130 size=16 destination=0x0C27DC00
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=460327 size=16 destination=0x0C285C00
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=465836 size=451 destination=0x0C8BCC60
info(gdrom): GDROM Mainloop - DMARead
info(gdrom): GDROM DMARead sector=487050 size=149 destination=0x0CA7CC60
Also, the boot ROM hangs waiting on something, and in this case I very, very strongly suspect this has to do with the GDROM.
Dumping a trace here (I lost the trimmed and annotated ones I worked on before :')) Inferno.txt
Note that this also happens using LLE bios (and that switching to the interpreter during the freeze doesn't help).
Fixed with ff7a986baf851cba3f5a923b2143e65e846190d2
In arcade mode, after winning the first round against Inferno, the game hangs. I guess it has to do with the way its moveset is randomly selected? (It's not random for the first round IIRC)