TMS9918
| Component type | video display controller |
|---|---|
| First produced | 1979 |
The TMS9918 is a video display controller (VDC) manufactured by Texas Instruments and introduced in 1979. In TI's manuals it's called a "Video Display Processor". (VDP) The TMS9918 and its variants are used in the Casio PV-2000, Coleco Adam, ColecoVision, CreatiVision, Hanimex Pencil II, MSX, Memotech MTX, NABU Personal Computer, PECOS, SG-1000, SC-3000, SV-318, SV-328, Sord M5, TI-99/4, Tatung Einstein, Tomy Tutor, Nichibutsu My Vision, Bit Corp. Bit 90, Frael Bruc 100, Dina 2 in 1, Asiel Sistemas PECOS, Zemmix CPC/CPG series, and MFJ-1480B. It was also used in add-ons for the Samsung SPC-1000, BBC Micro, COSMAC Elf, and Apple II.
The TMS9918 is an advanced design for the era. It has four graphics modes based on an underlying 256 wide by 192 high pixel layout, which can be used as a 40 × 24 character display, a 256 × 192 pixel display, or a 64 × 48 pixel display which uses less memory. It has a fixed color palette: 15 colors plus transparent. It also supports 32 single-color 8 × 8 or 16 × 16 pixel sprites, numbered 0 to 31, with lower-numbered sprites appearing on top of higher-numbered ones. This allows for layering and perspective effects. It also has a video input and sync pin, so video from another source can appear under the graphics created by the chip. This can be used to layer the output from multiple 9918's, or to use the 9918 as a system for titling and overlays on other video sources.
To support this advanced feature set, the 9918 requires fast access to memory. It has a dedicated 16 KB pool of RAM separate from the main memory of the computer. TI referred to this as VRAM. This means that the CPU can only update the video display over a separate 8-bit data bus with the VDP moving data on the bus to and from its dedicated RAM. This limited the speed at which the CPU and 9918 can communicate. It also means that the common solution of using the video chip to refresh memory cannot be used and has to be implemented in separate hardware. While these represent minor complications compared to systems that shared memory in a single pool, the result was a display that was more colorful and closer to arcade video game displays.
The Yamaha V9938 is an enhanced version of the TMS9918.