Here's the demo ROM if you don't wanna build one yourself https://github.com/lifning/gba-oggvorbis-demo/releases/download/v0.0.1/ogg-tremolo.gba
@unascribed and most of last night was just scrambling for good documentation and screaming at -fomit-frame-pointer for breaking function pointers in a weird way
gross but not
@lifning well yeah if you fomit your frame pointers they're gonna break apart when they hit the floor
@iliana this was just an experiment to see if i could avoid making a reaper-to-midi-to-mod/xm asset pipeline for anodyne's music. turns out I don't have any CPU left to run a game next to this, but it was cool to get working anyway
@vikxin almost none, haha.. i had to experiment with parameters just to get it to keep up with playback. there's ideas for optimization i have, like seeing if any of the decoder's buffers can be moved from ewram to iwram, and modifying the decoder to output 8-bit pcm instead of 16-bit data that needs to be converted before DMA can pick it up
@lifning Those are both pretty valuable optimizations here. The IWRAM probably significantly moreso actually.
@lifning I don't know how much space the decoder buffers use but so long as it's not >24kB total you might be able to move all of them to IWRAM actually.
@vikxin yeah, that'd take some fussing with a modified gba_cart.ld to move malloc's heap there.. which i'd do if i didn't have a game to get back to working on :P
@lifning Oh, are they dynamically allocated? You might be able to use a different malloc. Depending on how frequently they're freed, you might be able to use a pretty simple allocator.
@impiaaa 'course this barely keeps up and uses close to 100% of the CPU - though i bet "Theorarm" has decent odds of working on the DS with a bit of effort
Cybrespace is an instance of Mastodon, a social network based on open web protocols and free, open-source software. It is decentralized like e-mail.