Yamaha V9990
This page was last modified 19:41, 26 May 2017 by Gradius2. Based on work by Tvalenca and Gdx and others.



Yamaha V9990

The V9990 is the successor to the V9958 and supposedly a stripped down version of the never finished V9978 (for MSX3). The V9978 supposedly should have backward software compatibility with the V9958, and there are some never confirmed rumours about other features of the V9978 like 16-bit databus and DMA support. None of those features are present on V9990.

The V9990 is used in the Sunrise GFX9000 and Tecnobytes V9990 Powergraph cartridges.

No MSX computer has been released with this VDP built-in. The different cartridges with this VDP can be used with MSX1, MSX2, MSX2+ and MSX Turbo R computers without any compromise, but for running the V9990-enabled BASIC interpreter it's recommended to use MSX Turbo R machines.


The V9990 supports the following resolutions:

mode resolution remark
P1 256×212(424) dualplane patternmode (2 independent planes)
P2 512×212(424) patternmode
B0 192×240(480) undocumented overscan mode (no borders)
B1 256×212(424)
B2 384×240(480) overscan (no borders)
B3 512×212(424)
B4 768×240(480) overscan (no borders)
B5 640×400
B6 640×480 needs a 25.2MHz oscillator
B7 1024×212(424) undocumented mode

Resolutions between brackets () are in interlacing mode. Note that overscan modes have 50 lines extra for non-interlace and 100 lines extra for interlace modes when they are used in PAL 50Hz mode. So, in 50Hz, the B4 mode can be 768×290 (non-interlaced) or 768×580 (interlaced).

These resolutions can be combined with the palette systems below, so a lot of different types of screen modes are possible. Systems using 8 or 16 bits per pixel are not possible for B4..B6, P1 and P2 only work with 4 bits per pixel.

bits/pixel colours system
16 32768 simultaneously (TrueColour)
8 64 out of a palette of 32768
256 like SCREEN 8 (fixed palette)
19268 like SCREEN 12 (YJK)
19268 YUV
4 16 out of a palette of 32768
2 4 out of a palette of 32768

The modes with 19268 colours are optimized to display digitized pictures with a minimum of memory and no remarkable loss of picture-information (JPG and PCD use similar methods).

Other features of the V9990:

  • Supports up to 512kB VRAM (4 times as much as on the standard MSX2, so 4 times as much pages!)
  • A lot faster than V9938/58
  • Dualplane Pattern mode: two planes that can scroll independently, each plane can use one of 4 user-defined 16-color palettes of from 32768 possible colours (15-bit RGB plus one bit for transparency)
  • 125 sprites on either P-mode, with up to 16 sprites per horizontal line. Any 16×16 pattern from VRAM can be used as sprites, using any of the four user-defined 16-colour palettes. Any sprite could be placed either in front or behind the front image plane.
  • More powerful interrupt generator (Vertical Retrace, Display position, Command execution end)
  • Easier programming
  • Posibility to use larger image size than display size
  • Interlacing is done by just doubling the picture-size, not by splitting odd-lines and even-lines to different pages, but just the uppper and lower half of the screen


A few examples of software developed for V9990:

  • PowerBASIC: The first BASIC language for developing V9990 software using MSX BASIC. Written by Henrik Gilvad, based on X-BASIC. Supports P1 and P2 modes only. MSX Turbo R Only.
  • G-BASIC: Develop V9990 software using MSX-BASIC. Written by Koen van Hartingsveldt. Supports B1-B6 modes only. MSX2 or higher.
  • SymbOS is a free multitasking operating system for Z80-based 8-bit computer systems. The G9K-preview version supports bitmap mode 2 (384x240x16), 3 (512x212x16), 4 (768x240x16) and 7 (1024x212x16) of the V9990 VDP including virtual X resolutions of up to 1024px.
  • X-TAZY: a shoot 'em up game for GFX9000/Moonsound/Turbo-R/Harddisk... Unfortunately it was never finished
  • Battlebomber: A bomberman clone made by the Bitboyz
  • Paint9000: 512×212 P2 mode with 16 colours (from a 32768 palette)
  • GFXAGE: 256×212 P1 mode.
  • PICVIEW: displays BMP and GIF files
  • The Hi-Spec demo by Patriek Lesparre
  • Team Bomba Underwater Demo
  • Codename: INTRUDER: The first V9990 game compatible with MSX1