Category:Yamaha V9990
This page was last modified 13:51, 21 May 2021 by Mars2000you. Based on work by Gdx.
Yamaha V9990



The Yamaha V9990 is the successor to the V9958 and supposedly a stripped down version of the never finished Yamaha V9978, which was meant to be used for the MSX3. The V9978 supposedly would have backward software compatibility with the V9958, and there are some never confirmed rumours about other features of the V9978 like a 16-bit databus and DMA support.

The V9990 is confirmed to have DMA support (as discretely stated on page 5 of the application manual), but this feature is yet to be tested.

The V9990 is used in the following cartridges:

No MSX computer has ever 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.


  • VRAM: 512kB VRAM
  • Text modes: Does not implement text-only modes, but can implement 32 x 26 and 64 x 26 characters text modes using P-modes or variable length fonts from VRAM/CGROM on B-modes.
  • Resolution: Please refer to the supported resolutions section.
  • Colors: Please refer to the supported color modes section.
  • Sprites: Please refer to the hardware sprites / cursor section.
  • Hardware acceleration for copy, line, etc. (~20x faster than V9938/58).
  • Overscan modes (B2, B4) for borderless images.
  • External font (Kanji-ROM) support with hardware acceleration.
  • Superimposition and digitization capabilities.
  • Omnidirectional smooth hardware scrolling capabilities.
  • Improved CPU interface.
    • Interrupt generation on vertical retrace, display position and command execution end.
    • Wait state generation on busy access.
    • Direct VRAM access.

Supported resolutions

Mode Resolution Colors (bpp) Sprites Scan rate Remark
P1 256×212 (256×424) 4 125x 16×16 16c 15.7 kHz 2 independent planes
P2 512×212 (512×424) 4 125x 16×16 16c 15.7 kHz Pattern mode
B0 192×240 (192×480) 16, 8, 4 or 2 2x 32×32 4c 15.7 kHz undocumented overscan mode (no borders)
B1 256×212 (256×424) 16, 8, 4 or 2 2x 32×32 4c 15.7 kHz bitmapped mode
B2 384×240 (384×480) 16, 8, 4 or 2 2x 32×32 4c 15.7 kHz overscan (no borders)
B3 512×212 (512×424) 16, 8, 4 or 2 2x 32×32 4c 15.7 kHz bitmapped mode
B4 768×240 (768×480) 4 or 2 2x 32×32 4c 15.7 kHz overscan (no borders)
B5 640×400 4 or 2 2x 32×32 4c 25.3 kHz
B6 640×480 4 or 2 2x 32×32 4c 31.5 kHz needs a 25.2MHz oscillator
B7 1024×212 (1024×424) 2x 32×32 4c 15.7 kHz undocumented mode

Resolutions between parentheses () are in interlacing mode. When interlaced mode is used, there is no need to split odd and even lines between pages to have a doubled vertical resolution image.

  • 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).
  • B5 and B6 modes don't get extra lines when interlace mode is activated.

Supported color modes

The Yamaha V9990 is capable of displaying a total of 32768 colors via its 15 bit hardware color DAC.

The above mentioned resolutions can be combined with the palette systems below, so a lot of different screen configurations are possible.

  • B4, B5 and B6 video modes don't support 8 or 16 bits per pixel color modes.
  • P1 and P2 only support 4 bits per pixel. There are four independent 16 color palettes available however, so each plane (2 on P1 mode, 1 on P2 mode) can select one of the 4 palettes independently, and each sprite can select its own palette as well. This way, color count can be higher on these modes.
Bits/Pixel Colors System
16 32768 simultaneously
8 64 out of a palette of 32768
8 256 like SCREEN 8 (fixed palette)
8 19268 like SCREEN 12 (YJK)
8 19268 YUV (better color distribution than YJK)
4 16 out of a palette of 32768
2 4 out of a palette of 32768

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

Hardware sprites / cursor

In pattern modes:

  • 125 different sprites can be displayed at the same time, and a maximum of 16 sprites on the same scanline.
  • Sprites can use any 16x16 pixels area from the pattern generator table.
  • Since every pattern on P-modes are 4 bpp encoded, sprites can have 15 colors (plus one transparent).
  • Each sprite can choose its own palette from the 4 palettes available.

In bitmap modes:

  • Sprites are not supported. Cursors are supported instead.
  • 2 cursors can be displayed at the same time. There are no scanline limitations for cursors.
  • Cursors have their own 32 x 32 pixels allocated on VRAM.
  • Each cursor can have its own 2 colors, a third (EOR) color and transparent color.

Software that uses the V9990


  • Hi-Spec Snowfall (TNI)
  • Not 2D (N.I. / Bixmatan)
  • Shoot'em up Demo (Bit Vision) (Never available for download)
  • Siesta (N.I. / Bixmatan)
  • Symbolic Register (N.I. / Bixmatan)
  • Tel (N.I. / Bixmatan)
  • Underwater Demo (Team Bomba)
  • V9990 Curry (N.I. / Bixmatan)
  • X-Tazy (Excerpts of a game that was never finished)

Disk Magazines



  • G-BASIC: Develop V9990 software using MSX-BASIC (Koen van Hartingsveldt). Supports B1-B6 modes only. MSX2 or higher.
  • GFXAGE, a graphic editor in P1 mode (Sunrise)
  • Paint9000, a graphic editor in P2 mode (Sunrise)
  • PICVIEW, a BMP and GIF files viewer (Sunrise)
  • PowerBASIC: The first BASIC language for developing V9990 software using MSX BASIC. (Henrik Gilvad), based on X-BASIC. Supports P1 and P2 modes only. MSX Turbo R Only.
  • SymbOS is a free multitasking operating system for Z80-based 8-bit computer systems. The G9K-preview version supports bitmap mode 2 (384×240 16 bpp), 3 (512×212 16 bpp), 4 (768×240 16 bpp) and 7 (1024×212 16 bpp) of the V9990 VDP including virtual X resolutions of up to 1024 pixels.
  • WiOS: Never completely finished.


Pages in category "Yamaha V9990"

This category contains only the following page.