Commit Graph

28 Commits

Author SHA1 Message Date
Philippe Symons
10350179db Move debug info screen and text debug screen to debug menu 2026-03-09 23:12:32 +01:00
The Gears of Progress
1acbe99f93 Updating debug ROM to first check if real ROM has been inserted 2026-01-19 15:32:53 -05:00
The Gears of Progress
a98a58eb4e Final finishing touches 2025-10-12 16:41:48 -04:00
The Gears of Progress
ba1a075701 Adding PCCS 2025-10-12 15:08:33 -04:00
Philippe Symons
47cd143de6 Replace ZX0 by the builtin LZ10 compression.
LZ10 decompression is builtin to the GBA's bios, so we don't need ZX0. It's also significantly faster
(618 usec instead of 2311 usec in my personal benchmark code for decompression of the same data)

And it seems like by doing so, we saved 1 KB as well!

So, seems like replacing ZX0 is the right move.

The reason I didn't initially is because I misunderstood the documentation. I assumed LZ77UnCompWram could only uncompress into EWRAM, not IWRAM.
But it turns out it can do both.

And using standardized tools is usually better than using a custom implementation.

The only downside of this right now, is that we can no longer stream text tables through a smaller buffer than the entire decompressed size.

Anyway, things seem to work fine, so bye bye ZX0. It's been fun.
2025-07-18 16:19:34 +02:00
Philippe Symons
5e7118c0c7 Compress the gb_rom_values and gba_rom_values tables with ZX0. 2025-06-27 16:04:04 +02:00
Philippe Symons
be58d28781 Merge remote-tracking branch 'upstream/text-and-box-rewrite' into optimizations/reduce-binarysize-remove-libstdc++ 2025-06-18 20:59:18 +02:00
The Gears of Progress
48b55d9b9c Adding sprite locations for all English games 2025-06-06 15:30:26 -04:00
The Gears of Progress
42815f166f Starting to add sprite compatibility 2025-05-27 16:48:04 -04:00
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
b267912687 Continuing box updating 2025-03-27 14:37:47 -04:00
The Gears of Progress
af21da42b5 continuing work on updated text engine 2025-03-04 11:33:02 -05:00
The Gears of Progress
8cee78e384 Adding Gen 3 Languages 2024-09-05 19:50:28 -04:00
The Gears of Progress
8f07b1ebdb Re-enabling the old event 2024-07-01 16:45:54 -04:00
The Gears of Progress
f7cc4b5667 Finalizing the mystery events, sans sprites/music 2024-06-28 11:08:47 -04:00
The Gears of Progress
5950e53e88 Continuing work on updated event 2024-06-22 11:24:43 -04:00
The Gears of Progress
2cfec76b3c Adding support for Yellow and fixing other bugs 2024-06-07 13:55:01 -04:00
Remnants of Forgotten Disney
888c257e49 Implementing internal payload builder 2024-04-21 21:44:14 -05:00
Remnants of Forgotten Disney
13450924c2 Implementing new payload system 2024-03-29 23:39:58 -05:00
Remnants of Forgotten Disney
d7d8648eb4 Finalizing the RB transfer rewrite 2024-03-27 11:20:54 -05:00
Remnants of Forgotten Disney
22fc6ee9d2 Finalizing the ROM data rewrite 2024-03-09 17:30:43 -06:00
Remnants of Forgotten Disney
c825203e70 Modifying save data flags 2024-03-04 16:56:14 -06:00
Remnants of Forgotten Disney
4768f72a50 Moving Pokemon data to Sector 30 2024-03-03 17:42:59 -06:00
Remnants of Forgotten Disney
257fe54a76 Finalizing ASM variable rewrite 2024-03-01 19:52:46 -06:00
Remnants of Forgotten Disney
8bb76ca58c Double checking formatting 2023-11-29 08:28:55 -06:00
Remnants of Forgotten Disney
0a45b08524 Fixed memory bug 2023-11-20 13:50:37 -06:00
Remnants of Forgotten Disney
fde2cfe68f Adding check for other events 2023-11-18 12:58:48 -06:00
Remnants of Forgotten Disney
29f4baaf3b Created rom data class 2023-11-15 13:08:17 -06:00