9

I've been playing GBC games on my Raspberry Pi using the RetroPie OS. More specifically, I've been playing Shantae using RetroArch's GBC emulator. When I found out that certain features are only available on the Game Boy Advance, I moved the save file to my PC and loaded it into RetroArch.

I'm trying to load my old save file on a GBA core so that I can get the exclusive content, but I can't seem to use any core other than Gambatte. If I load the Mednafen-VBA core and then load the game, it either automatically loads Gambatte (If I use Detect Core) or Shantae doesn't appear in the list of available games (If I use Mednafen VBA-M).

Is it possible to force this file to play under a GBA core and access the hidden content? Failing that, is there any way to apply cheat codes to a GBC game using RetroArch? I was only able to find cheat codes for RetroArch's PSX emulator.

enter image description here

6
  • 2
    I'm not aware of any emulators that implement the things required for GBA-enhanced games, but it would be part of a GBC emulator, not a GBA emulator. Commented Oct 23, 2013 at 7:26
  • 1
    Oh. That's unfortunate, but I guess I can live without it. I do have a follow-up question though. Why do you say that GBA-exclusive content would be part of a GBC emulator? How does that work?
    – flazzo
    Commented Oct 25, 2013 at 20:47
  • 1
    GBC and GBA have very different hardware architectures - the GBC uses a Z80-based CPU, while the GBA is an ARM architecture. There is no compatibility between the two architectures; the reason GBC games work on a GBA is because the GBA also contains all of the GBC parts, but they are completely independent - a GBA game cannot access the GBC parts, or vice versa, and the only difference is the initial GBC hardware state (at least according to the document I linked). A GBA emulator would therefore not contain code to emulate a GBC - unless, of course, it is also a GBC emulator. Commented Oct 25, 2013 at 21:45
  • 1
    I should probably also point out that VBA-M is supposed to emulate both systems, but I don't know how these RetroArch cores are built, and since you said Shantae doesn't show up with the VBA-M core, that suggests they might have stripped out the GB/GBC emulation in favor of Gambatte. The point I'm trying to make is that a GBA-only emulator wouldn't be able to do this, but a GB/GBC-only emulator or a combined GB/GBC/GBA emulator could. Commented Oct 25, 2013 at 21:56
  • 1
    Oh! That's interesting. I never would have guessed, but it makes sense. I'll keep poking around for a while. Maybe there's still a way to do this.
    – flazzo
    Commented Oct 26, 2013 at 15:18

1 Answer 1

3
+75

The way an actual GBA makes GB(C) games work is due to the GBA containing the hardware for both systems (which is why the Game Boy Micro didn't have GBC compatibility; it lacked the extra hardware). Effectively, it's two seperate systems in one.

GBA-enhanced games supposedly work by checking the hardware state on startup and registering this internally, then uses that to make things work differently. The game cannot and does not make any use of the added hardware; it doesn't have access to anything that isn't already on a GBC.

Hence, emulating GBA-enhanced functionality for a GBC-game would be done in a GBC emulator, not a GBA emulator, and it is there an option for GBA enhancements would need to exist.

While VBA-M, which Mednafen is based on, supports both systems, the core used in the RetroArch appears to only contain the GBA-related code, with Gambatte being used for GB/GBC support (as per SevenSidedDie's comment). The fact that Shantae, a GBC game, will not load on the Mednafen core, indicates that this is indeed true.

I am not aware of any emulators that allow these checks. Most games that perform this check do it to change the color palette to make the graphics look better on a GBA, in order to account for the different screens - but for an emulator, that's not normally something you'd want. You'd have to take that up with the emulator developers, though.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.