Masto3DS

08/14/2024 - github/Masto3DS

I've always loved implementations of modern software on obsolete hardware, so-called 'de-makes'; Remakes, but accomodation the limitations of the system they're being ported to. This is my attempt to make a mastodon client for the 3DS. Luckily, the Mastodon API is enjoyably well-documented online, and the process has gone relatively smoothly when I have time to dedicate to it.

Except for images. The 3ds graphics libraries expect you to process the images locally on your development machine before embedding them in the program. This makes sense for game assets, but is not applicable to emoji's from mastodon. This pre-processing? Something called swizzling. It reorders all the pixels so that pixels that are nearer on the screen are nearer in memory, allegedly improving speed by makeing caching more efficient. However, this means I need to 'pre-un-swizzzle' the images before I display them, which I have working for some image sizes but not others. Apparently the algorithm scales differenly than I expected. Anyway, this will require an amount of work I've been putting of for a while now.

The other problem is fonts/emojis. As best I understand it, the emojis are being processed correctly. It's just that the font that provides the glyphs for those characters is not properly hooked into the text drawing routines. Or something like that. If I remember correctly, the whole program is currently commented out to create a minimal testing framework as I debug this, but it's been a while since I've worked on it.