-
Notifications
You must be signed in to change notification settings - Fork 57
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
Some example of demanding games which are not working #178
Comments
Interesting, will have a test of some of these to see if there's anything that can be done. |
OK, I started with Colin Mcrae Rally - confirmed that this crashes at the same point on my Leapster Explorer using the latest RetroArch / gpSP builds. It ALSO crashes at the same place using gpSP standalone. Now, here's two interesting things -
So this is possibly a regression between versions 0.9 and 0.91, or maybe Exophase didn't test all the way in-game. Will have to do some additional digging into years-old code to find out which it is! |
Hi, thanks for your investigation, I follow that with attention ;) |
Yes sometimes problems can be fixed by making changes in gba_over.h (used to be game_config.txt - not sure if lr-gpsp still uses this file). But in the case of Colin McRae Rally 2.0 the problem is with the ARM Dynarec (used by MIYOO I think). I tested Colin McRae Rally on the PSP and on PC versions of gpSP and it worked ok. It looks this ARM Dynarec was ported from the MIPS version before Exophase made his changes in gpSP 0.9. @davidgfnet made a new Dynarec for ARM64 based on the current MIPS version, so it is possible this will solve the problem for the MIYOO Mini. RetroArch build for MIYOO still targets the CPU from the original MIYOO (armv5te based), which is 32-bit. I'm not sure if the MIYOO Mini (or Mini v2) uses a 64-bit ARM CPU? If so, someone needs to do a PR on the RetroArch MIYOO Makefile to take this into account. I will get round to it when I can if no-one else can do it, but might be a while due to other commitments. |
Yeah there's definitely a bug in the arm dynarec. However it seems that using the original BIOS works (or at least it doesnt crash on my machine?). The builtin open bios does make the game crash. I will take a look if I have some time. |
@davidgfnet thanks for taking the time to check this issue out and perhaps make a fix! I will build and test using your latest commits. I do use an original BIOS (at least, I thought I was!). On a separate note - I found a fix for the Banjo Kazooie: Gruntys Revenge issue (#164) from another emulator - ITotalJustice/notorious_beeg#44 and commit ITotalJustice/notorious_beeg@66a045f It says bit 4 of psr should always be 1 - so this means cpu mode 0 (usermode) is actually cpu mode 16? I spent a few hours trying to apply this fix to cpu.c without success - I think I should just be able to OR 16 on newmode (i.e. something like newmode | 0b10000) in the set_cpu_mode function, but it doesn't work (on recompiling and trying the game I just get a white screen on loading any game). If you have any time to look or even just point me in the right direction I am happy to spend some more time on it? |
You are reading the code wrong, the cpu mode (it's an enum) is different from the cpu mode encoding (which is indeed 5 bits and its 4th bit is always set to one). There's however some weird issues in the way CPSR and SPSR are written (we are not doing some checks that are probably required). |
@davidgfnet thanks again for the detailed explanation! OK wonderful, if there's anything I can do to help please let me know! |
So far I think I identified the bug, sent a fix to GiiBiiAdvance (AntonioND/giibiiadvance#19) |
No problem @davidgfnet ! Seems like this is scratching the surface of a bigger issue maybe? Happy to help or test anything if you need it. Thanks again :-) |
I complete the list with these examples of non working games listed on libretro documentation : Do not hesitate to tell me if you want a global document or one issue per game. I can compile and make tests if necessary. |
@schmurtzm I agree, it's the best performance GBA emulator (but definitely not accurate!), and pretty much the only choice for low performance retro handhelds. Thankfully @davidgfnet has improved it massively over the past couple of years! |
Reviewing the code a bit more, I understand what you're saying now. Spotted a potential issue - looks to me like the MODE_IRQ / MODE_FIQ definitions are the wrong way around? MODE_IRQ should be value 2 (encoded 18) and MODE_FIQ should be value 1 (17)? |
@schmurtzm can you do me a favour? The latest version of gpsp seems to have a problem with 32MB ROMS on platforms with 64MB or under. This will apply to the original Miyoo, PocketGo v1, Bittboy etc. I need someone to test the latest build (or latest nightly?) on one of these platforms with something like the Mother 3 1.3 translation or Pokemon FireRed for example and tell me if they work as I don't own any of these devices to test. Thanks. |
Hi, I can make these test but my Miyoo Mini has 128MB of ram. So is it useful for you ? |
Ahhh no that's no good - my Leapster GS has 128MB RAM also and it works there. It needs to be one with 32 or 64MB. Is there a Miyoo forum or something I can ask the question on? |
There is the RGH discord server. https://discord.com/invite/p4uRmCd We (Onion Team) are mostly present in Miyoo Mini and Miyoo Mini Plus channels |
Thanks @schmurtzm - Apaczer has answered in the Mother 3 issue thread here too. |
With regards to Open Lara - this does work if you use the version for slow flash carts available here - https://www.gamebrew.org/wiki/OpenLara_GBA. |
With regards to Pokemon Crystal - this appears to be working as of the latest commit. Not sure if the recent changes (aimed at ROM hacks such as Pokemon Gaia, by the same author) have fixed it. |
@schmurtzm with regards to ATV Ridge Racers, Smashing Drive and Street Racing Syndicate, I have just done a PR #199 which fixes all 3 of these games at least (Street Racing Syndicate seems to now have a different issue in ARM32 Dynarec tho). Additionally, as you may have seen David has a fix for GTA Advance in Interpreter mode. So we are almost done with the OnionUI list I think! |
With regards to Hamtaro Heartbreak , as mentioned elsewhere this can be fixed by applying an IPS patch to the ROM which fixes the transition behaviour. |
Hi, you'll find here a quick compatibility table of gpSP :
OnionUI/Onion#560 (comment)
Other example here :
docs.libretro.com/library/compatibility/gba/#gpsp
and here at the bottom of the list :
wiki.maemo.org/GpSP/Game_Compatibility
Many of these are not working on Windows (Retroarch 1.10.3 , last build of gpSP 81649a2) and also on Miyoo Mini (linux handheld) with the same behavior.
The text was updated successfully, but these errors were encountered: