clockworkpi

GBA Emulator : Why so much emulators and which one do I have to chose?

Hi everyone,

I’m new here and It’s been a bit more than a week that I’m playing some PS1 and GBA games on my Clockwork Pi.

I’ve flashed my SD Card with the new GameShell OS (v0.5) and that’s it. Nothing else.

I’ve seen different emulators in retroarch for playing GBA Games but I don’t know why there is the choice of emulator and which one do I need to chose ?

I’ve tried to do some research on the forum but I’ve not really discovered anything about that.

Thanks guys and have a good day !

1 Like

Hello!
This is a matter of choice! Sometimes having too much choice makes things hard, that’s for sure.
In the early days, people used to always say “Use a standalone emulator; it’s faster.”
This was before things got updated and working, so just thought I’d clear that up before you read up too much information that is potentially out of date.

A standalone emulators is called this because it runs standalone, without the need for Retroarch. Retroarch is basically a program that houses a whole heap of “cores” to run multiple ROM image types from different consoles.

The Gameshell menu by default is set up with a few different Game Boy emulators: mGba, gpSP and a single standalone emulators, gpSP+.

Retroarch hosts a lot of cores that you can download via the online updater in the Retroarch program. These are made by individual authors. Some of them are written in a cross platform api, or basically language, meaning that you can run in on a variety of systems. Here’s the thing. Some authors wanted to remove their files from Retroarch’s database, so they have more control over releasing things themselves; however apparently Retroarch said they didn’t want to.

There’s probably more to it than that, but that’s the general gist. For this reason, some people think and feel that it is more “ethical” to run a standalone emulator, since it respects the wishes of a developer more. That said, some developers simply publish emulators in both forms, out of convenience and the user’s personal preferences. For that reason, we have 2 versions of gpSP. The gpSP+ is the standalone.

Standalone emulators work by themselves, without Retroarch. That means that any features that it has needs to be hard coded in. Retroarch cores work within Retroarch, meaning that any optimisations, features and settings etc are generally controlled by Retroarch. This includes control schemes, state save/loads, cheats and graphic settings. Because this is an extra layer of information, it is said that this takes up more battery power to run. I haven’t confirmed this myself.

That’s to do with built in emulators. If you want to install a standalone emulator, you will need to know how to use scripts, change permissions, build/compile files etc. It’s a fiddly process that isn’t for the faint hearted, but is rewarding one you manage to make something work. This is more of a custom job to make something work that hasn’t already been ported.

Retroarch on the other uses a data base of pre compiled cores that you can download, almost like an app store. Of course you can also compile from scratch for Retroarch and it yields similar satisfaction to standalone - sometimes resulting in a core that runs faster than its pre made counter part.

mGBA and gpSP are both different emulators with different focusses. mGBA focusses more on features, eg hardware enhancements, super gameboy borders, GBC colour palettes etc, and doesn’t require a BIOS to run. gpSP on the other hand has its main focus on speed, with less bells and whistles, and requires the user to provide a GBA BIOS file in order to run. This is something that you need to acquire yourself, and put into the correct directory.

Depending on how you’ve set up your Gameshell, your kernel, your clock speed or anything else, your mileage may vary as to which one runs “better.” The word better is subjective, focussing on either accuracy or performance being the qualifying factor. It comes down to a balance of what is important to you, and for which game. One emulator might work better for one game than another. Another might not even be compatible. The fact that there are multiple emulators out there gives us a choice.

Personally, if it exists in Retroarch, I prefer to use that. It allows me to keep all my key bindings, graphic settings, and overall user experience consistent across the board. I am not bothered by the possible increased power drain, as it will always be longer than my attention span. Furthermore, my personal experience has Retroarch having a better image quality than standalone, simply due to screen “tearing” more in some standalone emulators; especially those without the ability to enable V-Sync. This is something that can be activated in Retroarch.

The only exception for me is Drastic for Nintendo DS, Mupen64+ for N64, Mednafen for Virtual Boy and ScummVM for point and click games. I haven’t found cores that runs better in Retroarch than these standalone emulators. As for which emulator I choose for Gameboy, I choose mGBA for Gameboy colour, Super Gameboy and Gameboy classic, as they barely need any computing power, and run at full speed, with the most additional hardware features. The Retroarch gpSP core is what I use for GBA games, as I find that it runs more consistently, I never have issues with frame rates for more demanding roms, and I can keep all of my save files/states in the same format across multiple systems. That’s not to say that I don’t occasionally don’t use mGBA for GBA games, especially for games such as Solar boy Bokatai; needing a sunlight sensor emulated, WarioWare; needing a gyroscope, and any other games that may need some context specific hardware enhancements emulated.

This is my opinion. You are free to choose whichever one you want. But please, don’t just assume that because it’s a standalone, it is immediately faster.

3 Likes

Thank you for all the informations it’s really helpful.
I now get the “+” in gpSP+ :).

Luckly I’ve no trouble running games at fullspeed with mGBA or gpSP so I will stay with a “retroarch” version and not a stand alone.
With all the informations you give to me I think mGBA is more for me. Color palette and stuff are more for something like me. Even more if the game already run at full speed !
But I guess at some point I will want to go on gpSP for some more demanding games. :slight_smile:

I will have to check if I can use the “Netplay” thing. I don’t know if it’s working if for exemple I use mGBA and a friend of mine gpSP. Could be a way to chose which emulator I want to use.

thanks again :slight_smile:

1 Like

Glad it cleared things up! The plus sign is also a naming convention uses in a few other emulators. A quick way to find out if you’re using a standalone or a Retroarch core is by pushing either menu, or shift and menu to see what menu if takes you to.

As for Net play, this is more for simulating a couch co-op style game that normally shares a single screen over the Internet. Imagine something like bomberman.

Unless you wanted to play a single player game together, with one person watching like a streamer, it wouldn’t be that useful for GBA. It’s more for a console that can have multiple controllers.

2 Likes

I understand now ! At first I was thinking I’d be able to exchange pokemon between two games on two gameshell for example. :slight_smile:

1 Like