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

Already on GitHub? Sign in to your account

Forcing GBP-mode via game hack non-functional on mGBA. #520

Closed
vaguerant opened this Issue Feb 10, 2017 · 2 comments

Comments

Projects
None yet
3 participants

First off, I've confirmed this as working on hardware twice over; while the hack is amateurish, it's not the problem.

I created a simple hack (one instruction changed) for Super Mario Advance 4: Super Mario Bros. 3 (tested on USA Rev 1 and the Wii U VC edition) which nops the branch over some Game Boy Player behavior so that I can run this ROM on GBA/DS hardware and other emulators with the improved GBP-palette, without having to trigger mGBA's included Game Boy Player support.

However, while this patch works on hardware (DS Lite and, ironically, Game Boy Player tested) and other emulators (no$gba and VBA-M tested), on mGBA the patch results in some unexpected behavior.

With the GBP override turned off in mGBA, the game fails to run with the GBP palette in spite of the patch, and freezes on the "Mario Start!"/"Luigi Start!" screen when attempting to start a level. There's no apparent way to get in-game or play anything.

With the GBP override turned on in mGBA, everything seems to work just fine (although it defeats the purpose of hacking the ROM in the first place).

Thanks for referencing the issue I posted, Vague Rant, and thanks for making this patch too :)

@endrift endrift modified the milestone: 0.6.1 Jun 18, 2017

@endrift endrift modified the milestones: 0.6.0, 0.6.1 Jul 8, 2017

@endrift endrift closed this in ed9fa2b Jul 8, 2017

Owner

endrift commented Jul 8, 2017

Game was trying to trigger a transfer from the non-existent GB Player and then got very confused when the data that came back was bad. Since it was using an external clock when nothing was hooked up it shouldn't have gotten an IRQ, as the external clock never ticks. Making that IRQ not fire fixes the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment