- 140
- Posts
- 11
- Years
- Age 36
- Seen Apr 11, 2025
Do you use some flavour of VBA? Most likely you do, it's one of the most visible and ubiquitous GBA emulators available. Here's an open secret: VBA is pretty buggy. It's gotten better, but the fragmentation of development across so many forks isn't all that conducive to spreading fixes.
Here's a fun thing to try: go patch a clean copy of Fire Red with MrDollSteak's patch and then change Bulbasaur's moveset so that its first move is Flash Cannon instead of Tackle, then go use it against Green. Did it work? Probably. (If it didn't, then you're cheating and skipped ahead in the book.) Now go download a GBA BIOS file and set the emulator up to use it and try again. Didn't work that time, did it? Weird. What's going on here?
Before I hacked Pokémon, I hacked Sonic. The Megadrive also has a BIOS, but in practice nobody uses it because what I just said wasn't quite true - it's not a BIOS (though it occasionally gets referred to as such) because it doesn't handle any IO. The GBA's BIOS is more involved - it provides utility functions for all sorts of things. If you don't use a BIOS file, then the emulator falls back on a set of routines written by its developers to simulate the presence of a BIOS.
However, this means that if you don't use a BIOS file, you are likely to hit corner cases which the developers of the emulator didn't know about or consider. This happens with the Flash Cannon animation in MrDollSteak's patch, which I'm betting was only tested on VBA without a BIOS file. Using a BIOS file ensures compatibility with hardware is the best it can be, so you should do it when hacking.
Here's a fun thing to try: go patch a clean copy of Fire Red with MrDollSteak's patch and then change Bulbasaur's moveset so that its first move is Flash Cannon instead of Tackle, then go use it against Green. Did it work? Probably. (If it didn't, then you're cheating and skipped ahead in the book.) Now go download a GBA BIOS file and set the emulator up to use it and try again. Didn't work that time, did it? Weird. What's going on here?
Before I hacked Pokémon, I hacked Sonic. The Megadrive also has a BIOS, but in practice nobody uses it because what I just said wasn't quite true - it's not a BIOS (though it occasionally gets referred to as such) because it doesn't handle any IO. The GBA's BIOS is more involved - it provides utility functions for all sorts of things. If you don't use a BIOS file, then the emulator falls back on a set of routines written by its developers to simulate the presence of a BIOS.
However, this means that if you don't use a BIOS file, you are likely to hit corner cases which the developers of the emulator didn't know about or consider. This happens with the Flash Cannon animation in MrDollSteak's patch, which I'm betting was only tested on VBA without a BIOS file. Using a BIOS file ensures compatibility with hardware is the best it can be, so you should do it when hacking.