Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fido Dido (Megadrive) breaks in bonus stage #2 w/fix info #120

Open
dinkc64 opened this issue Nov 27, 2020 · 0 comments
Open

Fido Dido (Megadrive) breaks in bonus stage #2 w/fix info #120

dinkc64 opened this issue Nov 27, 2020 · 0 comments

Comments

@dinkc64
Copy link
Contributor

dinkc64 commented Nov 27, 2020

Fido Dido (USA, Prototype) is a complete game, although a proto because it was never released.
When you get to the bonus round #2, it makes some unmapped reads to 0x645046 (and another address, iirc it's 0x64504e), if it returns 0x00 here, the game breaks. It might be checking for a devboard of some sort and going into some sort of debug mode.
The game works fine in kega fusion, gensplusgx, and on a real(hw) Genesis, but not PicoDrive because it's returning 0x00 for the unmapped reads.

memory.c @ m68k_unmapped_read8, m68k_unmapped_read16
possible fix:
m68k_unmapped_read8:
return (PicoIn.AHW & PAHW_MCD) ? 0x00 : 0xff;

m68k_unmapped_read16:
return (PicoIn.AHW & PAHW_MCD) ? 0x00 : 0xffff;

I made a short video on how to get to bonus room #2, where the glitch happens.
https://youtu.be/KKMS9b07Ywc

When you get to the level with the gun using PicoDrive, the game will basically be unplayable: the screen will fill with bottle sprites and cause the player sprite to flicker.
This video doesn't show the bug - it just shows how to get to the bonus room quickly for testing.

best regards,

  • dink
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant