From collectibles to cars, buy and sell all kinds of items on eBay
home | pay | site map
Shop for itemsSell your itemTrack your eBay activitiesLearn, connect, and stay informed-for business and for funGet help, find answers and contact Customer SupportAdvanced Search
Home > Listing Index > Games > Texas Instruments TMS9918

Games - Texas Instruments TMS9918


General information

The TMS9918 Video Display Processor (VDP) was used in systems like MSX
, Coleco Vision, TI-99
and Sega SG-1000
/SC-3000
. Modified versions with addidional display modes and registers were used in the Sega Master System
, Sega Game Gear
, and Sega Genesis
. Note that the Genesis VDP cannot access any of the TMS9918 display modes discussed below.

There are several variants called TMS9918A, TMS9928A and TMS9929A, where the 'A' indicates a second version of the chip which added new features, most prominently the addition of the Graphic II mode. The non-A version was only used in the TI-99/4, the TI-99/4A and the other computers did have the A version VDP. The TMS9918A and TMS9928A output NTSC, while the TMS9929A outputs a PAL signal. The difference between the TMS9918A and TMS9928A is that the '1' version outputs NTSC composite, while the '2' versions (including TMS9929A) basically outputs a form of RGB. All these chips are usually generically referred to as TMS9918 (sometimes with an A postfix).

The TMS9918A was succeeded by the Yamaha V9938
, which added bitmap modes, more colorful sprites, a vertical scroll register and a customizable palette. The V9938 in turn was succeeded by the V9958
, which added some high colour modes and a horizontal scroll register. These chips were only used on the MSX 2 and MSX 2+/turboR systems, although rumor says the V9958 was also used in a generation of the Photo Play arcades. Yamaha also produced a V9990, which is considered the follow-up of the V9958 by some, but it is not backwards compatible. A graphic chip extension utilizing the V9990 exists for the MSX in the form of the 'Graphics9000' cartridge by .

Interface

The TMS9918 has its own 16kB of video memory, outside the address space of the CPU. This memory cannot be mapped onto the CPU's space, as there is no way for the VDP to relinquish control of its bus to the CPU. A separate addressing space means that the CPU has to write a two-byte command word to the VDP's control port to set the address register, but it also means that the VDP doesn't slow down the main processor when it reads data out of its memory, and since the memory is not mapped onto the CPU's addressing space, there is more memory available for other hardware.

Data is transferred from the CPU to VDP RAM through port writes. As a byte is written, the TMS9918 incerments its internal address register, so that the CPU can quickly write a block of data. Writes to a different port can set various internal registers.

Screen modes

There are 4 different screen modes available in the TMS9918A (as mentioned before, the TMS9918 lacks mode Graphic II):

Mode 0 (Text): 40x24 characters monochrome. As the display is 256 pixels width, the character set is only 6 pixels wide. This mode doesn't support sprites, nor a separate border color setting.

Mode 1 (Graphic 1): 32x24 characters (256x192 bitmap), where for each 8 characters in the character set the foreground and background color can be set. The chars "0"-"7" for example all have the same attributes.

Mode 2 (Graphic 2): 32x24 characters (256x192 bitmap), with a 2-color limitation for each 8 pixel wide line inside a character.

Mode 3 (Multicolor): 64x48 mode, very blocky and rarely used. Each 'pixel' can have its own colour defined though, hence the name. Its sprites still have the same resolution as in screen modes 1 and 2.

The TMS9918 has a 16 color palette, which is hardwired. e.g. color 4 is always dark blue.

Sprites

In modes 1, 2, and 3, the VDP can manipulate sprites. There can be 32 monochrome sprites of either 8x8 or 16x16 pixels on screen, each of which can have its own color. There can be no more than 4 sprites on a single scanline; any additional sprites are dropped. Sprites with a higher priority are drawn first. The CPU can get around this limitation by rotating sprite priorities so that a different set of sprites is drawn on every frame. Instead of disappearing entirely, the sprites will flicker. This technique is known as sprite multiplexing.

When two non-transparent pixels in any pair of sprites collide, the sprite collision flag is set. This is useful for triggering more advanced collision detection routines inside the software which can then determine the exact location and act upon it. Note that the VDP cannot tell the program which two sprites have collided.

[ Visit the complete Wikipedia entry for Texas Instruments TMS9918 ]


Searches on eBay

Some related entries: Trollie Wallie | Apple II peripheral cards | Erik Mona | Lucky Glauber | Pwn | Thomas and the Special Letter & Other Thomas Stories | 1998 World Series of Poker | Luminoth | 500 | Poke | Repeat After Me

eBay Pulse | eBay Reviews | eBay Stores | Half.com | Kijiji | PayPal | Popular Searches | ProStores | Rent.com | Shopping.com
Australia | Austria | Belgium | China | France | Germany | India | Italy | Spain | United Kingdom

About eBay | Announcements | Security Center | Policies | Site Map | Help