Hi!
After writing mapper #3 emulation, I got gradius working fine, except for one thing. The game background doesnt scroll..
Sprites are OK, they scroll as they should..
I've traced my code, and the game seems to not increase any scrolling registers during gameplay. How does this game works?
PS: the intro scroll works perfectly.
Thanks!
Gradius scrolling
Moderator: Moderators
Humm, post edited....
Here is what happens when running gradius..
this is an output dump from my emu
Look, it write four times the registers, is this right?
does this game use some hacks to update the screen?
Here is what happens when running gradius..
this is an output dump from my emu
Code: Select all
vscroll: 0x0000, hscroll: 0x0000
H-SCROLL write: 0xd1
V-SCROLL write: 0x0c
H-SCROLL write: 0x00
V-SCROLL write: 0x00
vscroll: 0x0000, hscroll: 0x0000
H-SCROLL write: 0xd2
V-SCROLL write: 0x0c
H-SCROLL write: 0x00
V-SCROLL write: 0x00
vscroll: 0x0000, hscroll: 0x0000
H-SCROLL write: 0xd2
V-SCROLL write: 0x0c
H-SCROLL write: 0x00
V-SCROLL write: 0x00
vscroll: 0x0000, hscroll: 0x0000
command wrote to queue: cpu stop
command received from queue: cpu stop
does this game use some hacks to update the screen?
Gradius scrolls the top of the screen, and after the split on the status bar, writes $00 to cancel the scrolling. The opposite of what SMB does. You could check that if you're bored.
Useless, lumbering half-wits don't scare us.
Mario works ok, the scroll is fine.
As I can see, this game doesnt use sprite #0 hit as trigger to stop scrolling. I havent looked at its code but I think it uses another way to sync
with the PPU to stop the scrolling.
when I'm at home I'll take a deeper look at that.
As I can see, this game doesnt use sprite #0 hit as trigger to stop scrolling. I havent looked at its code but I think it uses another way to sync
with the PPU to stop the scrolling.
when I'm at home I'll take a deeper look at that.
Thanks for the info! helped me to clarify some things![/quote]Gradius scrolls the top of the screen, and after the split on the status bar, writes $00 to cancel the scrolling. The opposite of what SMB does. You could check that if you're bored.