Commit Graph

8 Commits

Author SHA1 Message Date
Philippe Symons
9268cbd42e Reduce binary size by eliminating libstdc++
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.
2025-04-09 20:04:08 +02:00
The Gears of Progress
f4f64d0e07 Fixing button palette and modifying credits 2025-01-26 14:43:55 -05:00
The Gears of Progress
6a8184d2e7 Updating Red/Blue FE/FD code 2024-12-11 18:10:43 -05:00
The Gears of Progress
cd2a9971a5 Adding data packets to Red/Blue 2024-10-30 14:56:44 -04:00
The Gears of Progress
eae1973f1e Updating gen 2 to the new z80 system 2024-08-03 12:21:39 -04:00
The Gears of Progress
430364d956 Updating z80 commands 2024-08-01 13:03:46 -04:00
The Gears of Progress
5fee006f26 Updating Red and Blue's payload to use the z80 class 2024-07-30 18:01:43 -04:00
The Gears of Progress
41bcbfcb9e Adding Z80 compiler and updating Yellow 2024-07-30 16:42:17 -04:00