18

In the early nineties, Sega released the Sega CD, a.k.a. Mega CD, an add-on that attached a CD-ROM drive to the Mega Drive a.k.a. Genesis. Its primary or at least most conspicuous use was for full-motion video games that were appearing at that time.

Playing full-motion video from CD really needs pretty hefty compression if you want more than a few minutes of it. The Genesis CPU was a 68000, which is far from capable of doing that sort of hefty decompression in real-time. The machine was not designed for CD-ROM or FMV, so presumably did not ship with the kind of specialized hardware that could do it.

How exactly was the decompression done?

  • 2
    The Mega CD itself has graphics hardware which can do things like sprite scaling and rotation, so I wouldn't be surprised if it had a hardware decoder in there too. – Matt Lacey Feb 7 at 2:58
  • 4
    The sad thing about the Mega CD was that it was never designed to be used for streaming video, but most developers of that time couldn't come up with any other sensible use for the 640MB capacity of CD-ROMs. So the result was a large library of interactive movie games which looked bad and played even worse and games which would have run just as well on the Mega Drive but with some video cutscenes tacked on. – Philipp Feb 7 at 15:34
  • 2
    The YouTube channel GameHut explores such ideas (complete with annoying clickbait-y titles). SONIC 3D's Intro Sequence Is Impossible To Fit On A Cartridge - Right? is a good place to start. I hope someone will expand my comment into a more thorough answer. – Andrew Keeton Feb 7 at 15:38
37

We used to have to write our own video playback system, so each game did it differently. I worked on Microcosm for the SegaCD and if I recall we used a 16 colour palette for the video playback and had to create our own compression and decompression tools to keep the overall data bandwidth below 150KiB/sec. Later games used tricks like changing the palette every so many rasters so could end up with more colours on screen.

For any more detail you should really disassemble whichever game it is you're interested in and reverse engineer their solution. There was nothing like standard MPEG on the SegaCD.

| improve this answer | |
  • 2
    Did it really use the 150 KiB error-corrected signal? It seems that for video you might accept the higher raw bit rate. (I think it was 25% higher? 2048/2304 bits.) – MSalters Feb 7 at 12:28
  • @MSalters That sounds similar to this discussion of video on CD. It's not clear to me (or other commenters on that page) that video would naturally be more tolerant of errors than other types of data. – IMSoP Feb 8 at 14:18
  • @MartinLinklater what programming language was used for the compression algorithm and more broadly the games? – Single Malt Aug 11 at 9:06
  • @SingleMalt We would write our PC based tools in C. All console code was 68000 assembly. – Martin Linklater Aug 27 at 14:16
  • @MartinLinklater thanks. Is impressive the console code was 68000 assembly. – Single Malt Aug 27 at 15:04
17

Playback of compressed digital video is handled entirely in software on the Sega CD which is why FMV games on it play with the video taking less than the full screen and at relatively low frames per second. It doesn't contain any dedicated decoding hardware. It does contain a faster processor (12.5MHz 16-bit Motorola 68000, 5MHz faster than the base Sega) and additional ram (including a 16KB cache for the CDROM), which does help achieve a somewhat better level of performance than you might expect from pure software decoding though.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.