mirror of
https://github.com/GearsProgress/Poke_Transporter_GB.git
synced 2026-03-21 17:34:42 -05:00
This commit removes all references to things in the libstdc++ library to remove a decent chunk of bloat. This means every std::to_string() call, std::string and std::vector. (as well as iostream related stuff). I replaced those with my own versions ptgb::to_string() and ptgb::vector. Especially the latter is not exactly the same, but close enough. I also replaced operator new and delete with my own implementation to avoid pulling in everything related to exceptions from libstdc++ Another problem was the fact that libtonc uses siscanf, which pulls in everything related to the scanf family of functions and locale support. The worst part of that was that it included a 13KB "categories" symbol from libc_a-categories.o, which was pulled in because of the locale support integrated into newlibc's siscanf() function. To fix that, I created a custom, extremely restricted implementation of siscanf. libtonc only used this function to parse at most 2 integers from a string anyway. |
||
|---|---|---|
| .. | ||
| source | ||
| Makefile | ||
| README.md | ||
This folder contains a Proof of Concept to load PokeTransporter GB WITHOUT doing the whole multiboot ritual.
It works by embedding the multiboot rom that is generated from the main project build into a separate "normal" gba rom. And this loader rom will just copy the multiboot rom to EWRAM and jump to the right entrypoint to launch it.
This allows the user to simply launch the loader from a simple flashcart, such as a supercard SD. After PokeTransporter GB is loaded, the user should be able to swap out the flashcart and insert the Pokémon cartridge.