I haven’t seen this mentioned but somebody ported Celeste Classic to GBA by reimplementing just enough of Pico 8 to get it running.
https://github.com/JeffRuLz/Celeste-Classic-GBA
This should mean porting other Pico 8 games to GBA should be easy?

2


Easy as in rewrite the whole game in C using helper functions!
Example main.c code:
void set_hair_color(u8 djump) { if (djump == 1) pal(8, 8, PAL_PLAYER); else if (djump == 2) pal(8, 7+flr((frames/3)%2)*4, PAL_PLAYER); else pal(8,12, PAL_PLAYER); } |
Nonetheless quite a feat and an interesting avenue to port games to one of the best handheld of all time!



Kinda silly to use float when:
- The GBA doesn't have floating point hardware, so floating point calculations are compiled to use slow software routines
- Pico-8 doesn't use floating point, but instead uses fixed point, which would be really fast on GBA.
But I guess that's just the kind of silliness that happens when you use C which doesn't provide a fixed-point type, or any way to easily define and use custom numeric types as if they were first-class types...
[Please log in to post a comment]