brNX wrote:cool, thanks for checking.
The street fighter 2 issue is a "complicated" one, I could use a "quick and dirty fix" by delaying the ly=lyc interrupt (scanline interrupt) which also "fixes" parodius and Prehistorik man but ... breaks Final Fantasy legend 1+2.
I think instead of this I will check all the PPU code and try to do it the right way.
It looks like cycle accuracy issue if one game wants one interrupt position but other one wants other position.
It's not only PPU but also can be CPU. You need to migrate to T80 tweaked by me - it's cycle accurate. But it's accurate only in Z80 mode. GB mode may need tweaks.
But ran into the interrupt issue I wrote to you over on Github (I added "wire clk = clk_sys & ce_p;" to gb.v and tried to keep the interrupt vector address longer on the line), but the cpu core maintained the same behaviour (jumps to the correct address , executes nops in a loop but never executes what is at that address). The bootrom executes correctly, so I think the merging (i diffed the two folder using amstrads as base and added my changes, so everything is there) of the files should have been correctly done.
I abandoned that for now, because most if not all of the opcodes I checked where cycle accurate having usually to add cycles because most of them were longer on the GB than on a Z80. and because most of the bugs I found where related to the peripherals (the GB has a loooot of quirks and strange behaviours).
I haven't "really" looked at the PPU code yet, my "bet" is there are still some timing issues there.
You do not have the required permissions to view the files attached to this post.