Quantcast
Channel: Interactive Dreams
Viewing all articles
Browse latest Browse all 1857

From the archive: cdifan talks about the tech specs of CD-i: Memory, speed, resolution, sprites, pixels, colors and much more

$
0
0


The original CD-i system (the so-called "base case") has 1 MB of RAM, split in two planes of 512 KB each. Each plane feeds one "layer" of the video decoder in addition to serving as general purpose RAM for the 68000-compatible processor.

The Digital Video cartridge adds another 1.5 MB of RAM; 512 KB of this feeds the MPEG video decoder and is only available as general purpose RAM when the DV functions are not being used. The other 1 MB does not feed any video hardware and is consequently the fastest RAM in the system (no cycle stealing).

Development and some professional players such as the CD-i 180 and CD-i 60x models may have up to 4 MB of additional RAM.

The CD-i video hardware does not support sprites; it's a basic 4 or 8 bits per pixel display using various coding methods including CLUT (Color Look-Up Table, with a size of 128 palette entries per video plane), DYUV (Delta Y-U-V, useful for natural images) and RGB555 (can only be used with both planes at once). There are also run-length encoded versions of the CLUT modes.

There is also something called the Display Control Program from which up to 8 display instructions are executed by each video plane on each horizontal retrace. This allows display mode changes, overlay settings, palette entries etc to change with each line.

So the number of different colors on screen depends on the display mode. In CLUT it is basically either 16 or 128 for each plane (but you can change the palette a little for each line); in DYUV it's theoretically 16777216 and in RGB555 it's 32768.

The DV cartridge adds a single MPEG backdrop layer that cannot be used for other purposes; it uses some form of subsampled YUV colorspace that is not documented.


Just for completeness, the so-called "normal" screen resolution is 384x280 in PAL and 360x240 in NTSC, but you can double this horizontally with the 4-bit CLUT modes and vertically by using interlacing. There is also a compatibility mode that allows you to use 384x240 in NTSC (most games use this).

The presence of the DV cartridge has nothing to do with the screen colors. Each "layer" of base-case video feeds from its own 512 KB memory area, which makes it impossible to use cartridge memory for base-case video.

And it wouldn't be helpful either; the "normal" screen resolution is one of only a few fixed values (384x280 or 360x280 for PAL, 384x240 or 360x240 for NTSC). You can double this resolution horizontally by using a 4 bit CLUT mode and vertically by using interlacing, but no other variations are possible. The base-case video hardware fetches at most one byte per plane per normal resolution pixel and this cannot be changed. Doubling the default PAL resolution both horizontally and vertically gives the 768x560 resolution you mention, but for NTSC the maximum is only 768x480.

Only a few players can do both NTSC and PAL, the 180 and 60x models being among them. The supported mode is usually determined in hardware; the same system ROMs often support both modes (with CD-i Emulator I found that in some cases a "Philips" player will suddenly change to a "Magnavox" player when you switch it from PAL to NTSC).

The MPEG video "layer" can only display MPEG images (either still pictures or moving video); it is not directly accessible in a documented way.

Most games use the 7-bit CLUT modes in both planes, giving them a total of 256 colors to play with. Sometimes DYUV is used for a special effect or small "movie"; the 16 million colors are delta-coded which makes it impossible to have arbitrary changes in color. RGB555 is hardly ever used; it needs both planes to get the required 15 bit/pixel bandwith from memory (the 16th bit is for transparency control).



If you want more technical information about the base-case video subsystem, I refer you to the Motorola documentation for the Motorola MCD212 Video Decoder and System Controller chip, available in the CD-i Technical Documentation / System section of the ICDIA website. Most newer CD-i players use this chip and it almost exactly implements the Green Book specifications.

Without sprites you can still do movement; PC video hardware doesn't have sprite support either! You just need to erase and redraw a "sprite" image over a background, generally for each video frame. This is just replicating the sprite overlay function in software...

As I stated, the 4 MB for the 180 and 60x players is additional RAM; together with base-case (1 MB) and cartridge (1.5 MB) RAM these players can have up to 6.5 MB total.

CD-Bridge is a CD-XA profile that requires a CD-i application on the disc; VideoCD and PhotoCD are both CD-Bridge applications. This was intended to produce PC compatible CDs, but still requires PC software appropriate for the disc format (this was not normally included on the CDs, although it could be).

You can use DYUV (or CLUT, for that matter) to play "small" videos: it's just a matter of redrawing the appropriate images fast enough. The bottleneck is usually the CD bandwidth, which is at most 170 KB per second as the CD drive runs at single-speed only. Don't know about Voyeur, but Burn:Cycle uses some very clever run-length compression for its videos: they managed to make an artistic asset out of the bandwidth limitations. The video hardware supports run-length decompression for the CLUT3 and CLUT7 modes (8 and 128 colors, respectively; the highest bit is used to control the runs).



The maximum number of pixels on the CD-i screen is 768x560 = 430080, so that is of course the maximum number of simultaneous colors.

I was in all cases referring to the number of possible colors without palette changes, of course. In that case, 24 bits of RGB generated from 24 bits of delta-compressed YUV gives 2^24 = 16777216 colors. I'm not sure if this even was the actual physical color range; the RGB palette registers for the CLUT modes where documented as having only 3x6 = 18 significant color bits, but nothing was documented about the number of significant color bits for DYUV.

The CD-i 180 was the first player, but it was only used for development and never sold on the consumer market. It consisted of three stacked boxes and was quite bulky. You can see a picture in the Philips professional and authoring CD-i players section of the ICDIA site. It was later replaced by the CD-i 605 which was much smaller.

The first consumer player sold was the CD-i 205 (EU) or 910 (US). The same player was sold with different model number on different sides of the Atlantic.

[Thanks, cdifan]




Viewing all articles
Browse latest Browse all 1857

Trending Articles