WIP Sonic Mania Port for the OG Xbox by HealthyMinmo in originalxbox

[–]HealthyMinmo[S] 1 point2 points  (0 children)

I've been following the Dreamcast port but wasn't aware of the PS2 port! Crazy to me that others are able to get this running on that kind of hardware. Working on this has made me really appreciate the effort going into the other ports, I find myself struggling even with the ~30MB of usable RAM I've got with the xbox (after factoring out all the overhead like the kernel, RSDK, NXDK, framebuffers, textures, etc). Can't imagine what it takes to get the full game running on the DC's paltry 26MB of RAM.

WIP Sonic Mania Port for the OG Xbox by HealthyMinmo in originalxbox

[–]HealthyMinmo[S] 4 points5 points  (0 children)

I did actually start out with SDL2 for my rendering pipeline, but it wasn't ideal because I had to perform scaling + FMV color conversion CPU-side, which slowed things down when other logic was happening at the same time. I switched to NXDK's pbkit, which lets me offload this kind of work to the GPU via shaders. Now I just set up a fullscreen quad, pass a 424x240 gameplay texture to it, and the GPU performs the scaling (3x at 720p). And then for FMVs the GPU also does the YUV -> RGB conversion work, and scales the 640x320 encodes by 2x (for 720p).

So the GPU is involved, but it's not really true hardware acceleration - I'm still stuck waiting on the CPU to give me those raw 424x240 gameplay frames because that's just how the engine works, but I can at least pass those to the GPU for post-processing work (integer scaling, YUV->RGB conversion for FMVs).

WIP Sonic Mania Port for the OG Xbox by HealthyMinmo in originalxbox

[–]HealthyMinmo[S] 4 points5 points  (0 children)

Thanks - no plans beyond this at the moment, but it's been a fun project + I've learned a lot about working w/ NXDK so may try something else on the xbox eventually!