Contents |
Description
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.
This chip is used in the following cartridges:
See also the Yamaha V9990 Evaluation Board
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.
Specifications
- 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.
Links
- V9990 Application Manual: http://map.grauw.nl/resources/video/yamaha_v9990.pdf
- V9978 Datasheet: http://map.grauw.nl/resources/video/yamaha_v9978.pdf
- Video9000 Manual: http://map.grauw.nl/resources/video/v9manual.pdf
- V9990 Programmers Manual by Patriek Lesparre: http://msxbanzai.tni.nl/v9990/manual.html
- GFX9k Library: http://www.teambomba.net/gfx9klib.html
- MSX software for the V9990
- Wiki page about V9990 cartridges and software