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]




