Closed bigianb closed 4 months ago
You may want to read 2 articles linked in this pr: https://github.com/PCSX2/pcsx2/pull/8814
Because without implementing of what is in first article you may came up with really wrong behavior on hle side. Doa is affected by the same sif interrupts quirk as KK2001.
You may want to read 2 articles linked in this pr: PCSX2/pcsx2#8814
Because without implementing of what is in first article you may came up with really wrong behavior on hle side. Doa is affected by the same sif interrupts quirk as KK2001.
Interesting - I remember reading those a while ago but forgot. It explains the patch and I think that's the best way it can be done. Regarding the interrupt handling ... that's talking about how the hardware interprets changes to the registers isn't it and not the BIOS behaviour. That wouldn't be something to worry about in the bios code but something to implement in the hardware virtualisation layer (if it is not already).
Nice work! Thanks a lot for this!
US version may need a different patch. I only have the EU version.
The first change is that DisableIntrLine should return the status. This is later passed to ResumeInterrupts and without the fix the interrupt is never resumed. You're not really meant to use the functions this way (mixing the Line functions with the non-line functions but the game does).
Second is that the game hangs loading files at the start. Not sure why this is (PCSX2 also needs this fix). Changing the RPC call from async to sync fixes it.
We now get in-game with some graphics issues.