The two EPROMs from the John L. Oliger TMS 9918A Video Upgrade for the ZX81/TS1000, which adds the TMS 9918A video chip used in the TI-99/4A, ColecoVision and MSX: colour, graphics up to 256×192, sprites and lower-case characters. Both were 2764 8K EPROMs on a JLO 8329 board (U1 74LS00, U2 74LS27, U3 74LS00, U4 74LS32) with no apparent changes to the board. One is the replacement system ROM (labelled “9918A VDP LATEST”) and the other is labelled “Printer, ETC @16383”.
The upgrade was published as a construction project: see TMS9918A Video Upgrade For The TS1000 and the two-part TMS9918A Video Upgrade series.
What’s in the download
9918A_VDP.bin: the system EPROM, 8,192 bytes, from socket Ea.Printer.bin: the second EPROM, 8,192 bytes, from socket Eb.Printer_9918A.txt: notes on the board, chips and labels.9918A.txt: a z80dasm disassembly of9918A_VDP.bin.- Four photos of the JLO 8322/8329 boards, front and back.
Program Analysis
9918A_VDP.bin
This is the Sinclair ZX81/TS1000 ROM with the VDP support added. It differs from the stock ROM in about 620 bytes: short patches throughout the lower 7.5K, which redirect the display and NMI handling to the new code, and a 512-byte block of new code and lower-case character patterns at 1E00–1FFFh, where the ZX81 keeps its character set. It talks to the VDP through ports 3Fh and 7Fh.
Printer.bin
Only the first 516 bytes are used; the rest is blank. It starts with a ZX81-to-ASCII translation table and printer control codes (ESC, line feed, carriage return), followed by a short routine and an upper- and lower-case ASCII table. It appears to be a driver for a full-size printer.
Potential Issues
9918A.txtwas disassembled with origin0100h, but the EPROM replaces the ROM at0000h, so every address in that listing is 256 too high.
Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.
