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

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

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

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

vaguerant opened this issue Feb 10, 2017 · 2 comments
Labels
platform:GBA Game Boy Advance-related issues severity:minor bug Issues that only have a minor impact on the library
Milestone

Comments

@vaguerant
Copy link

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).

@endrift endrift added platform:GBA Game Boy Advance-related issues severity:minor bug Issues that only have a minor impact on the library labels Feb 10, 2017
@ShadowOne333
Copy link

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

@endrift
Copy link
Member

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
Labels
platform:GBA Game Boy Advance-related issues severity:minor bug Issues that only have a minor impact on the library
Projects
None yet
Development

No branches or pull requests

3 participants