Skip to content

Banjo Kazooie Grunty's Revenge - crashes to BIOS just after intro (happens on all versions) #164

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

Closed
andymcca opened this issue Nov 10, 2021 · 11 comments

Comments

@andymcca
Copy link

andymcca commented Nov 10, 2021

Thought I'd start working through the 'problem' games here -

https://wiki.maemo.org/GpSP/Game_Compatibility

As per the line for this title, it crashes to the BIOS in gpsp as soon as Banjo comes out of his house just after the short intro.

@andymcca
Copy link
Author

andymcca commented Nov 14, 2021

ALSO -

There is an intro with Banjo and some other characters before the game reaches the title screen - on gpSP this doesn't display at all (black screen) but the music plays and eventually the title screen appears.

lr-mGBA displays this ok and doesn't have the crash issue described above, but unfortunately runs quite slowly on the platform I'm using.

Both this and the issue above can be experienced within 20 seconds of a fresh boot of the ROM.

@davidgfnet
Copy link
Collaborator

Oh yeah, this game must have some weird issues. It's the kind of game that will break easily on a small code change.
Never looked into it very deeply, but does it work better/well in other platforms? (I'm thinking on PC for instance)
Does it work without dynarec? (I know it's slow but if it doesnt work on the interpreter might require more debugging).
Thanks!

@andymcca
Copy link
Author

andymcca commented Nov 21, 2021

Thanks for replying David!

Just tried on my Windows Laptop with RetroArch and latest gpSP. Exactly the same behaviour!

Yes very slow in Interpreter mode (tried on my ARM7 device), but it does the same thing at the same points i.e. black screen where the intro animations should be, and then a restart to BIOS when Banjo comes out of his house after the intro. So to be clear - it does the same thing in both dynarec and interpreter modes.

@hugorsgarcia
Copy link

hugorsgarcia commented Dec 13, 2021

Yeap this also happens on PS2 is a old problem in all platforms even the old psp non-libretro versions. Even on a version of gpsp that were ported to PS2 has the same crash in this game. I think with interpreter you can get in game but it crashes right at the beginning

@andymcca
Copy link
Author

I remember the Banjo Kazooie games on the N64 were notoriously difficult to get running ok on emulators, especially Banjo Tooie. Rare would push the machine to the limit and use non-standard microcodes etc.

Same behaviour on both Dynarec and Interpreter for me.

@andymcca andymcca changed the title [ARM7 32-bit] Banjo Kazooie Grunty's Revenge - crashes to BIOS just after intro Banjo Kazooie Grunty's Revenge - crashes to BIOS just after intro (happens on all versions) Jan 3, 2023
@andymcca
Copy link
Author

andymcca commented Jan 5, 2023

Found a fix for this issue in another emulator -

ITotalJustice/notorious_beeg#44
ITotalJustice/notorious_beeg@66a045f

Unfortunately I am currently struggling to apply it in the gpsp code. I think I should apply in set_cpu_mode function in cpu.c , but doing an OR 16 on newmode doesn't appear to work.

@andymcca
Copy link
Author

andymcca commented Jan 7, 2023

More discussion and progress on fix in this thread -
Originally posted by @davidgfnet in #178 (comment)

@davidgfnet
Copy link
Collaborator

I submitted commit 4f3c9a5 and should fix this.

@hugorsgarcia
Copy link

I submitted commit 4f3c9a5 and should fix this.

Oh you've been far gone. Are you back with updates?

@andymcca
Copy link
Author

I submitted commit 4f3c9a5 and should fix this.

That's great David - I actually just managed a not-so-quick-and-dirty fix myself on ARM 32-bit by adding some ORRs to the arm_stub.S file to correctly set bit 4 as previously discussed. Was just coming to do a PR to find you've uploaded a much more comprehensive fix! Will build and test on RetroArch in a while. All the best, thanks again!

@andymcca
Copy link
Author

Just built the core with this latest commit - can confirm that this is now fixed on my Leapster Explorer (MIYOO equivalent)!

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

3 participants