Texas Instruments TMS9918
This page was last modified 19:40, 15 January 2019 by Mars2000you. Based on work by Gdx and Tvalenca and others.
The TI TMS9928 VDP



The Texas Instruments TMS9918 family of VDP chips is used in most MSX1 computers. As MSX1 includes the graphic mode 2 (which is absent from the original TMS9918), the "A" version (TMS9918A) is used instead. Oddly enough, later revisions of this VDP which uses 4bit DRAMs do not use the letter "A" to designate the presence of graphic mode 2.


  • VRAM: 16 kB
  • Text modes: 40 x 24 and 32 x 24
  • Resolution: 256 × 192 (16 colors)
  • Sprites: 32, 16 colors, max 4 per horizontal line

Versions used

Variation Output Input DRAM
TMS9918A 60Hz NTSC composite 60Hz NTSC composite 16k x 1bit
TMS9928A 60Hz YPbPr 16k x 1bit
TMS9929A 50Hz YPbPr 16k x 1bit
TMS9118 60Hz NTSC composite 60Hz NTSC composite 16k x 4bit
TMS9128 60Hz YPbPr 16k x 4bit
TMS9129 50Hz YPbPr 16k x 4bit
T6950 50/60Hz* composite 16k x 4bit

(*) T6950 has a pin named NTSC/PAL to select either video output format.
YPbPr video (luminance and colour difference signals) can be converted into NTSC, PAL or SECAM.


The Texas Instruments TMS9918 is

inventor of the hardware sprite multiplexer, i.e.
inventor of console sprites/gameplay, actually also
inventor of the name "sprite" :

Gradius 1986 is a quantum leap of homecomputer gaming. It was possible on the MSX because of the TMS sprites. Gradius requires that sprites do not appear in staged patterns / limited screen regions, but that each sprite can have its individual wild moves and lifetime onscreen. The sprites of other home computers versions of Nemesis (C64, CPC, ZX) completely lack the gameplay. Their shooters all play like Zynaps and not like Gradius, Zanac, Twin-Bee.

Gradius MSX is like Gradius NES - except for the scroller. The lack of scroll register is the major flaw - the only major 9918 flaw in comparison to the competition. Its graphics in Commodore terminology would have to be called "hires bitmap with hardware FLI". At the same time it is a charset mode. Because of separate vram all these video acesses steal zero cycles from the cpu.

References: http://groups.google.com/group/comp.sys.ti/msg/73e2451bcae4d91a

MSX screens

On MSX, the documented screen modes are often referred to by their assigned number in MSX-BASIC (see SCREEN page for more info). This mapping is as follows:

Basic mode VDP mode MSX system
Screen 0 (width 40) Text mode MSX 1
Screen 1 Graphics I mode MSX 1
Screen 2 Graphics II mode MSX 1
Screen 3 Multicolor mode MSX 1