please note there is a scanline filter enabled on this emulator.
Here's my crack at learning embedded development whilst enjoying one of the finer things in life, the Gameboy Advanced (GBA)!
This ROM is still in development.
See /documentation for setup instructions on Windows 11 with WSL. This is a living document and may be out of date at the time you're reading it. I still have more to add myself
If you have any questions or need any advice, feel free to reach out.
NOTES:
- I have Run bound to
ctrl+f5and Debug bound tof5./documentation/README.mdexplains all of this.- Run/Debug use the emulator mgba-qt installed inside WSL using
apt install mgba-qt
- Run/Debug use the emulator mgba-qt installed inside WSL using
- There are two branches of code here:
- You will see commits in both places mentioned below as I work through examples, refactor sections for readability, etc
- All code in
./filbertis written/copied&pasted by me for my GBA ROM creation - All code in
./toncis the example code & libraries that Jasper Vijn provides for their GBA development tutorial- Some of these ROMs won't compile through gcc's ARM compiler without first defining
__ctype_ptr__in that ROM's code. See this example - This code is much too valuable to not commit. There are workable/running examples for all major hardware concepts on the GBA
- Some of these ROMs won't compile through gcc's ARM compiler without first defining
- I've included the GRIT (GBA Raster Image Transmogrifier) executable so that it's all bundled up in this repository
- our .png and .bmps are converted to assembly files, and then stashed into a library,
libgfx.a, to be linked to our ROM. Seegfxmakefile for more info - See GRIT's documentation for more info on this tool
- our .png and .bmps are converted to assembly files, and then stashed into a library,
- The
/documentationfolder has some saved documents from gbadev.org outlining various toolchains and best practices