MSX1 VDP VRAM Calculator
Computes VRAM usage on MSX1 TMS9918 VDP in graphic 1, graphic 2 and text modes including pattern table and sprite attribute table.
โ
MSX1 VDP TMS9918A: 16 KB VRAM split across screen modes
The MSX1 standard (1983) pairs a Zilog Z80 CPU with the Texas Instruments TMS9918A VDP and gives it 16 KB of dedicated VRAM that sits apart from the CPU's main RAM. That VRAM gets carved up into a Pattern Generator Table, a Name Table, a Color Table and the Sprite tables, and how it's laid out depends on the screen mode. Mode 0 (Text) gives you 40ร24 monochrome characters. Mode 1 (Graphics 1) runs 32ร24 tiles where 8 tile groups share a single color pair. Mode 2 (Graphics 2 / Bitmap) reaches 256ร192 but carries the famous 8ร1 attribute clash, where each 8-pixel row of a tile is limited to 2 colors. And Multicolor draws 64ร48 chunky 4-color blocks. Sprites top out at 32 per screen, no more than 4 on any one scanline.
Applications
Brazilian retrocomputing on machines like the Gradiente Expert and Sharp HotBit, MSX homebrew built in openMSX or blueMSX, ROM cartridge tooling, demoscene work, working out sprite and tile budgets in Z80 assembly, and showing students just how tight early-80s graphics hardware really was.
FAQ
Why is bitmap mode limited to 2 colors per 8 pixels? The Color Table keeps one byte for every 8 horizontal pixels, split into 4 bits of foreground and 4 of background. That leaves each 8ร1 strip with room for just 2 of the 15 palette colors, which is the classic TMS9918A attribute clash.
Is MSX1 VRAM the same as the Z80's RAM? No. You reach VRAM only through the VDP ports (#98/#99); it isn't memory-mapped, so every read and write goes via I/O and runs slower than main RAM.
MSX1 vs MSX2 VDP? MSX2 moves to the V9938 with 64 KB or 128 KB of VRAM, extra screen modes (256 colors in Screen 8) and hardware scrolling, though in the process it drops the old visual quirks of the TMS9918A.
How many sprites can flicker? The hardware draws at most 4 sprites on a scanline and simply drops the 5th and beyond. To fake having more, games shuffle sprite priorities every frame, and that's what produces the flicker.
Related Tools
Rent Adjustment Calculator
Compute annual rent adjustment by IGP-M or IPCA accumulated in the last 12 months (manually configurable).
Pregnancy Calculator
Compute estimated due date (EDD), gestational age and trimester from the last menstrual period (LMP).
Fertile Period Calculator
Compute fertile window and ovulation day from the first day of the last cycle and the average cycle length.