
I feel sooo stupid reading this.. Makes me angry that I can't contribute to this.

Good work guys.

Great work Leo, good to see my idea seems to be solid!leonardoliveira wrote:After reading this whole thread several times again, jedpossum's comment on Super Street Fighter2 Turbo about it being designed to play identical as possible to the original Street Fighter 2 CE/Turbo, I looked how it draws it's sprites and it WAS ACTUALLY DRAWING it's sprites backwards. Because it has a CPS1 engine, that game might be a real source of information for this project.
As everyone can see on the pictures Asure's idea of drawing the sprites list upside down kind of almost work.
But for that to work I had to disable the code which detects the sprite list end. Also there's some issues with the data copy. I am not sure if it's due to my algorithm being crap or if it's because I have the sprite list end check disabled.
Another thing I just implemented was use the data the game writes to the CPS-A register 0x800100 as the toggle of odd/even for the sprites double buffer. Currently I only copy the sprite data from 0x900000 but I plan on implementing another branch of code to copy from 0x904000. I am not sure if that's really important
Well, at least I have some progress...
Asure wrote:Did you patch out the C board test, or change it to what MAME expects? It's right at the beginning, i forgot where exactly, but they read a 8001xx register and compare it. Not that i have the game booting here, but it might be a showstopper.
Code: Select all
000578: 4E70 reset
00057A: 13FC 0080 0080 0030 move.b #$80, $800030.l
000582: 4E71 nop
000584: 4E71 nop
000586: 4E71 nop
000588: 4E71 nop
00058A: 4E71 nop
00058C: 4E71 nop
00058E: 4E71 nop
000590: 13FC 0000 0080 0030 move.b #$0, $800030.l ; toggle cloin lock
000598: 3439 0080 014E move.w $80014e.l, D2 ; load CPS-B-xx version registe
00059E: 0242 FC3F andi.w #$fc3f, D2
0005A2: 0C42 0C00 cmpi.w #$c00, D2 ; compare with 0x0C00
0005A6: 6600 0102 bne $6aa
0006AA: 60FE bra $6aa ; freeze program
Code: Select all
00159C: 2039 0080 40B0 move.l $8040b0.l, D0
0015A2: 4680 not.l D0
0015A4: 2B40 01C0 move.l D0, ($1c0,A5)
0015A8: 4E75 rts