Gameboy Advance Projects
The Gameboy Advance (GBA/AGB) is a handheld platform developed by Nintendo as a successor to the Gameboy line. Along with including backwards compatibility with the Gameboy and Gameboy Color, the Gameboy Advance was a dramatic improvement to Nintendo's offering in handheld entertainment. While other platforms may have come sooner that were equal or more powerful, the Gameboy Advance included not only the offer of supporting previous games (certainly a big selling point given the near monopolistic position the Gameboy held for years) but the first time such a powerful handheld was available that offered such reasonable battery life.
But along with this power came many other advantages, including a working emulator for the system before the system was even generally available (one could argue this had more to do with the recent rise of widely available internet access, powerful computers, and the still relatively minor power provided in the GBA; all of these may be true, but the fact that other systems have become available of similar complexity and haven't see the rapid rise in emulator support hints more at the strong desires coupled with these facts). Also, the wide availability of internet access has stirred up a large amount of interest in homebrew development (possibly related to Linux, also). These elements coming together with no copy protection scheme implimented with the Gameboy Advance has produced a rather highly desirable system for hobbyists to target.
My own interest in the GBA was tweaked with news of an NES emulator for the GBA, PocketNES. This, along with further development of the Metroid series spurred me to actually by this platform. And my own development interest eventually went to work on furthering existing works as I learned to in the spirit of the open source community. So, here are various projects, most of them relatively short lived modifications that are currently dead and some of them still being worked on as time has shown them to be of greater lasting interest.
- Cologne - A Colecovision emulator created by FluBBa. Development has focused primarily on compressing games to support inclusion of more data on limited size flash carts.
- GBC2GBA - A frontend for the GB Bridge, a piece of hardware designed to allow use of a GBA flash cart as if it were a GBC cartridge. This furthers work by a person named A600 who worked on adding some features to the minimalist design from the original.
- Goomba - A Gameboy emulator also created by FluBBa. While many question the need for Goomba, one has to look no further to a Gameboy Carrying Case to recognize the advantage of being able to store all of one's games on a single flash cart than to carry around one's games everyone one goes. Improves have focused in a similar vein to my modifications to gbc2gba.
- mrom.mb - mrom.mb is a mod player based heavily on maxmod, both the library and the demo rom created by mmutil. Conversion by mmutil to soundbank files is necessary to use, so a copy of mmutil is included. Note that not all mod files will convert properly.
- Plugin2GBA - Not everyone has a flash cart compatabile with Pogoshell (below), yet they'd like to experience/use Pogoshell plugins. The answer is Plugin2GBA, a patcher and stub to combine plugins and their files. Plugin2GBA doesn't attempt any SRAM management (that's too flash cart brand specific), but thankfully few Pogoshell plugins use sram. And those that are are nearly always better served using either one's flash cart's own SRAM management features or the use of a plugin's SRAM management features.
- PocketNES - An NES emulator, created by Loopy and further enhanced by FluBBa (and unofficially by Dwedit). My own improvements have focused primarily on compression. This is especially important given the limited space once one starts putting one's GBA on a flash cart designed to store a maximum of 8.
- PogoNSF - A NSF player (Nintendo Sound File). This is based on an older version of PocketNES and hasn't been updated in quite some time. Most NSF files play fine, though Legacy of the Wizard seems to play slow. Development has focused on, again, adding compression support. This project is dead, although future development make focus on migrating some code from here into PocketNES to insure that sound code improves can be seemlessly (and easily) integrated into the NSf player.
- Pogoshell - A file manager for the GBA, created by Sasq. While most flash carts include a front end program for running multiple GBA ROMs, most are designed without much consideration for asthetic appeal or many concerns of the end user. This is especially true for users interested in using homebrew software, most of which which uses much less of the precious SRAM that is innately handed out. Pogoshell overcomes many of these limitations, along with including support for plug-ins, a system of executing programs in a much more documented oriented fashion than one would expect for a game system. My work has focused on various improvements, especially on trying to integrate later unofficially released work to support more flash carts. Unfortunately, only having one flash cart, such efforts have so far been futile.
- PSO - Pocket Sav Organizer (PSO) was designed originally as a campanion to PocketNES (back while it was the only emulator based on Loopy's code base). Further development has focused on increasing functionality on more of the emulators available created by FluBBa. PSO focuses on .sav handling, useful for manipulating the many files used on the line of emulators.
- SMSAdvance - A Sega Master System/Game Gear emulator for the Gameboy Advance. I'm currently working on adding compression support to it.
- VGM Player - A Video Game Music player, developed by Maxim. While the VGM format supports multiple chip formats, the GBA port has been scaled back as a result of the limitations of the GBA. As a result, only Sega Master System, Game Gear, and some C64 VGMs are usable (FM not included). My work has focused on altering VGM Player to work better with Pogoshell. Assumedly some of this work will be folded back into the official line.