Homebrew codec plays fullscreen 30fps video on real Sega CD hardware
A developer's from-scratch codec, CAVC, plays 320×224 fullscreen video at 30fps on an unmodified Sega CD, far past the add-on's usual grainy windows.
A developer going by akiyan has built a from-scratch FMV codec for the Sega CD, called CAVC, that plays 320×224 fullscreen video at 30fps with 22.05kHz ADPCM audio on unmodified hardware. To make the point that this is not an emulator trick, akiyan verified the same stream running on a real Japanese Mega Drive 2 and Mega CD 2, alongside recordings from Genesis Plus GX for comparison.
The Sega CD sold itself on full-motion video, but as akiyan points out, that video was usually a small window tucked into part of the screen, with a modest framerate and thin audio to match. CAVC drops the postage stamp and fills the display. It also handles 15fps and 24fps, switches the palette dynamically during playback, and can lean on the Mega Drive VDP’s hardware scrolling to cut down how much new data each frame has to move. The Lunar: The Silver Star opening uses exactly that for its side-scrolling camera, and its fade-out is done with a palette fade instead of re-encoding every step of the brightness change.
The whole thing is open source: the encoder is written in Python, the on-hardware player in 68000 assembly, and the release includes a tool that generates analysis videos so you can see how each frame was assembled. The demos run from the Sonic JAM opening (source material only 288×200) to Bad Apple!! at full 320×224 30fps to a live-action Tears of Steel clip. The hardware was always capable of more than Sega ever shipped on it. Someone just had to prove it.