Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
PCE-CD Incompatibility - Mugen Senshi Valis - Legend of a Fantasm Soldier #554
Leaving some notes on this as I try to resolve it.
The game is enterring a video mode where it is expecting an external VSYNC signal (and other control information) from the VEC. The fact that this is not happening seems to be masked by the emulator clamping number of scanlines and producing a VSYNC signal in the VDC regardless of what the display registers are otherwise indicating.
Ultimately the game receives no interrupts because the sytem to fire them is being confused by the video mode, so nothing happens after the intro sound track is loaded.
Relevent code : ExecFrame in VDC.Render.cs
I tried debugging this again, but BizHawk's behaviour is not even close what is needed to make this game work.
The game expects to be able to execute a VBlank IRQ before a certain point in the code has executed. IN BizHawk the code is running way too fast, and executes a couple frames before the VBlank IRQ. The VBlank IRQ turns off VBlanks. The game expected the code (that already ran) to then turn them back on. Since this can never happen, the game is stuck.
Unless I'm missing something, I don't think this can be resolved with the current core.