Texas Instruments TI-99/4A Machine Hub
The first 16-bit home computer (1981) workbench reference — TMS9900 & GROM/VDP architecture, Silver/Black vs Beige v2.2 QI boards, 4116 VRAM locator, Speech Synthesizer & PEB care, and FinalGROM 99 / TIPI upgrades.
Dual-AC External Transformer & Internal Triple-Rail (`+5V / +12V / −5V`) Alert!
Inside the TI-99/4A, both the giant 64-pin `TMS9900` 16-bit CPU AND all eight `4116` Video RAM chips require THREE separate DC power rails (`+5.0V`, `+12.0V`, and `−5.0V`), while the proprietary `TMC0430` GROM chips also require `−5.0V` (and `−0.7V` bias)! The external TI "brick" (`AC9900` / `PHP1100`) outputs two separate low-voltage AC windings (`18V AC` and `8.5V AC`) over a 4-pin rectangular plug into a slide-in internal Power Supply Regulator Board under the front-right of the console. If the internal `−5V` (`7905` / `79M05`) or `+12V` (`7812`) regulator fails — or if cracked solder joints develop on the 4-pin power jack — the `TMS9900` CPU and all eight `4116` DRAMs can latch up and burn out!
1 Rear 4-Pin AC Power Socket Pinout
Viewed looking at the rear 4-pin male power receptacle on the TI-99/4A console (numbered 1 to 4 Left-to-Right):
| Pin | External AC Brick Signal | Unloaded / Loaded AC Voltage |
|---|---|---|
| Pin 1 (Left) | 18 V AC Winding (to +12V / −5V stage) | ~18.0–20.5 V AC (measured to Pin 3) |
| Pin 2 | 8.5 V AC Winding (to main +5V stage) | ~8.5–10.0 V AC (measured to Pin 3 @ 1.9 A) |
| Pin 3 | AC Common Return | Common return for Pins 1 & 2 |
| Pin 4 (Right) | NC / Safety Earth | Unconnected on 2-prong US bricks |
1983 US Consumer Product Safety Commission Recall Note: Early brown/black transformer bricks without an internal thermal fuse were recalled in 1983 (TI issued a clip-on `"Step-Down"` inline fuse block). Check that your brick stays cool!
2 Internal PSU Board 4-Wire Harness
Before plugging the internal PSU board's 4-wire Molex plug into the main motherboard, verify all three DC rails referenced to the metal RF shield:
| Wire / Pin | Target DC Voltage | Powers |
|---|---|---|
| Pin 1 (`+5V`) | +4.90 to +5.15 V DC | TMS9900, TMS9918A, TMS9901, 4116 VCC, ROMs & TTL |
| Pin 2 (`GND`) | 0.00 V Digital Ground | Common DC ground |
| Pin 3 (`−5V`) | −4.75 to −5.25 V DC | TMS9900 Pin 2 (`V_BB`), 4116 Pin 1 (`V_BB`) & GROMs! |
| Pin 4 (`+12V`) | +11.5 to +12.5 V DC | TMS9900 Pin 27 (`V_DD`), 4116 Pin 8 (`V_DD`) & Video! |
3 Cartridge Slot Felt Dust-Trap Warning!
- Look inside the front 36-pin Solid State Software Cartridge door: early Silver/Black TI-99/4As have a thick grey felt wiper pad glued around the cartridge throat to wipe dust off cartridge fingers.
- After 40 years, this felt strip sheds conductive lint and snags on cartridge edge connectors, bending the delicate gold contact fingers inside the slot!
- Fix: Carefully peel out disintegrating felt strips and clean the 36-pin cartridge connector with a stiff card wetted with DeoxIT D5.
System Architecture & Model Selector
Explore the TI-99/4A's unique "256-Byte 16-Bit Scratchpad + 16KB 8-Bit VDP RAM" architecture and compare the Silver/Black vs. Beige `v2.2 QI` consoles.
Original Silver & Black Brushed-Aluminum TI-99/4A 1981–1983 • Full Cartridge Compatibility
Replacing the chicklet-keyed 1979 TI-99/4, the Silver/Black TI-99/4A introduced a full-travel 48-key typewriter keyboard, added Graphics II bitmapped mode (`TMS9918A` instead of `TMS9918`), and became a 2.8-million-unit bestseller during the 1982–83 home computer price war. Its heavy die-cast internal clamshell RF shield doubles as a giant heatsink for the 64-pin TMS9900 CPU, the 40-pin TMS9918A VDP, and the eight 4116 Video DRAMs.
Key ICs on the Standard Motherboard
- CPU: Texas Instruments TMS9900NL (64-pin DIP) @ 3.00 MHz (derived from 48 MHz/12 MHz crystal + `TIM9904` 4-phase clock generator)
- Scratchpad CPU RAM (`$8300–$83FF` — 16-Bit Wide!): 2× MCM6810 / TMS4045 (`128×8`) SRAMs = 256 Bytes of zero-wait-state 16-bit RAM where the TMS9900 stores its register workspaces (`R0–R15`)!
- System Console ROMs (`$0000–$1FFF` — 16-Bit Wide!): 2× 4 KB Mask ROMs (`2332` pinout, `8KB` total) holding the GPL (Graphics Programming Language) interpreter and floating-point math routines
- System GROMs (`GROM 0, 1, 2` — `TMC0430`): Three 16-pin 6 KB Graphics Read-Only Memories (`18KB` total) with built-in auto-incrementing address counters holding TI BASIC and the master title screen
- VDP: TI TMS9918ANL (NTSC Composite) or TMS9929ANL (European PAL YPbPr)
- Video RAM (`16KB`): 8× TMS4116-20NL (16K×1, triple-rail) connected privately to the VDP!
- I/O Controller (CRU Bus): TI TMS9901NL (40-pin DIP) — Programmable Systems Interface scanning the keyboard, joysticks, cassette I/O, and VDP/external interrupts
- Sound Generator: TI TMS9919NL / SN94624N (`SN76489`) — 3 square-wave tone channels + 1 noise channel
Silver/Black vs Early Beige (Non-QI) Identification
Not all Beige TI-99/4A consoles have the `v2.2` lockout ROM! Here is how to tell in 2 seconds on the master title screen:
| Title Screen Copyright Line | Motherboard Type | Runs Third-Party ROM Carts (Atarisoft / FinalGROM)? |
|---|---|---|
© 1981 TEXAS INSTRUMENTS |
Standard Silver/Black OR Early Beige (Standard Board) | YES — 100% Compatible with all GROM and ROM-only cartridges! |
© 1983 TEXAS INSTRUMENTS(with `v2.2` beneath) |
Late Beige "QI" (Quality Improved) Cost-Reduced Board | NO! Blocks ROM-only cartridges (`Atarisoft`, `Imagic`, `Parker Bros`, and `FinalGROM 99` ROM images) unless GROM 0 is swapped! |
Beige "QI" (Quality Improved) `v2.2` Console Late 1983 • Custom Gate Array • ROM Lockout
In late 1983, TI released the cost-reduced "QI" motherboard in the textured beige case (with no metal trim around the cartridge slot). It replaced dozens of 74LS glue chips with a single custom gate array, soldered the three System GROMs onto a narrow riser strip, and updated GROM 0 to version `v2.2`. Infamously, TI altered the `v2.2` GROM 0 menu scanner so it ignores the `$6000–$7FFF` CPU ROM cartridge header and only lists cartridges that contain a proprietary TI GROM chip — locking out unlicensed ROM-only games from Atarisoft (Pac-Man, Defender, Donkey Kong), Imagic, and Funware!
How to Unlock a `v2.2` Beige QI Console for All Cartridges
- Swap `GROM 0` (`CD2155` / `TMC0430`) with a 1981 Silver/Black `GROM 0`: The lockout lives entirely inside the 16-pin `GROM 0` chip! Replacing the `v2.2` GROM 0 with an original 1981 `GROM 0` (or a modern `ATmega` GROM 0 replacement board) immediately restores 100% compatibility with Atarisoft and FinalGROM 99 cartridges!
- Note on QI Cartridge Port Pin 33 (`/ROMG` Enable): On some very late QI revisions, also verify that Cartridge Pin 33 (`/ROMG` `$6000` select) is connected on the PCB!
Other Hardware Differences on the QI Board
- No `-5V` on the Cartridge Slot (`Pin 1`): Because TI switched to single-voltage GROMs on late runs, verify power pins before using vintage prototype boards.
- Lighter RF Shielding: Uses foil-lined cardboard instead of the two-piece die-cast aluminium brick from the 1981 Silver/Black console (runs slightly cooler as a result!).
Why the 16-Bit `TMS9900` Has Only 256 Bytes of Direct CPU RAM!
The TI-99/4A has one of the most unusual architectures in computing history. The 64-pin TMS9900 is a true 16-bit minicomputer processor (from the TI 990 series) with a 16-bit data bus and 16-bit address bus — and unlike the 6502 or Z80, it has no general-purpose registers (`R0–R15`) on the CPU die! Instead, a `Workspace Pointer (WP)` register points to 32 bytes in RAM where `R0–R15` live, allowing instant context switches. However, because 16-bit RAM was expensive in 1979, TI only gave the TMS9900 256 bytes of 16-bit Scratchpad RAM (`$8300–$83FF`)!
| Memory / Bus Tier | Bus Width & Wait States | How the TI-99/4A Uses It |
|---|---|---|
| Scratchpad RAM (`$8300–$83FF` • 256 Bytes) & Console ROM (`$0000–$1FFF` • 8KB) |
Full 16-Bit Bus • ZERO Wait States! | Blazing fast! Assembly language games store their `WP` registers (`R0–R15`) and inner loops inside this 256-byte Scratchpad RAM for full 16-bit speed! |
| 16KB Video RAM (`VRAM`) (8× `4116` wired privately to `TMS9918A`) |
8-Bit Port via VDP (`$8C00` / `$8C02`)! | On an unexpanded TI-99/4A, all 16 KB of main RAM is actually Video RAM connected behind the VDP! To read or write a single byte of TI BASIC program memory, the CPU must send two address bytes and one data byte one at a time through the VDP's I/O window! |
| 32KB RAM Expansion (`PEB` or Side-Car) (`$2000–$3FFF` & `$A000–$FFFF`) |
16-Bit Multiplexed to 8-Bit (4 Wait States) (or 16-Bit 0-Wait Internal Mod!) |
Adding a 32 KB RAM expansion (Required for `Extended BASIC` assembly, `Editor/Assembler`, and modern homebrew games!) gives the TMS9900 32 KB of directly addressable CPU RAM! |
Why TI BASIC Was Slow (Double Interpretation!): In TI BASIC, the 16-bit TMS9900 executes the GPL interpreter (in 16-bit ROM), which fetches GPL bytecodes out of slow 8-bit GROMs (`GROM 1/2`), which in turn interprets your BASIC tokens stored inside VDP Video RAM! Plugging in the Extended BASIC cartridge (or FinalGROM 99) + 32K RAM bypasses VDP RAM for programs and runs dramatically faster!
Peripheral Expansion Box (PEB), Speech Synthesizer & Modern Upgrades
Servicing the heavy 8-slot PEB "Firehose" interface, the `TMS5220` Speech Synthesizer side-car, and modern `FinalGROM 99` + `TIPI` setups.
1 Solid State Speech Synthesizer (`PHP1500`)
Plugs directly into the 44-pin right-hand side expansion port and passes the bus through to the PEB or 32K side-car. Built around TI's `TMS5220` / `TMC0285` Linear Predictive Coding (LPC) Speech Synthesizer + two 16 KB Speech Phrase ROMs (`TMC0350`, ~350 built-in words + infinite pitch/phoneme synthesis in *Parsec*, *Alpiner*, and *TI Extended BASIC*!):
- Garbled Speech ("Static / Alien Screech") or Console Crashes When Speech Is Attached:
- 95% of Speech Synthesizer faults are caused by oxidised tin fingers on the sliding 44-pin pass-through edge connector!
- Slide the black plastic pass-through block out and scrub both the male fingers on the console's right side and the female spring contacts inside the Speech module with DeoxIT D5 and a folded business card.
- Important Power Note: The Speech Synthesizer draws its `+5V` and `−5V` rails directly from the TI-99/4A console's internal power supply over the 44-pin side port! Always turn the console OFF before attaching or removing any side-car module.
2 Peripheral Expansion Box (`PEB` & "Firehose" Cable)
The tank-like 8-slot aluminium/steel PEB chassis (`PHP1200`) connects to the console's side port via the thick shielded Flex Cable Interface Card (`PHP1210`):
- Flex Cable "Gooseneck" Foot Contact Care: The heavy metal foot that plugs into the right side of the console (or into the Speech Synthesizer) puts mechanical leverage on the 44-pin edge fingers. Support the foot level with the desk and clean its contacts with DeoxIT whenever the PEB LEDs fail to blink on boot!
- PEB Card Voltage Regulation (Local `7805` / `7812` / `7905` on Every Card!): Just like an S-100 computer, the PEB backplane distributes unregulated `+8V DC`, `+16V DC`, and `−16V DC`, and every individual PEB card (32K RAM, Disk Controller `PHP1240`, RS-232 `PHP1220`) has its own local TO-220 `7805` / `7812` regulators and axial filter caps! If one card stops responding, check its onboard `7805` regulator and tantalum decoupling caps first.
3 Essential Modern TI-99/4A Upgrades
- FinalGROM 99 (by Ralph Benzinger): Plugs into the front cartridge port and loads any `.BIN` ROM or `.G` GROM cartridge image (up to 1 MB, plus 512 KB RAM mode!) straight from an SD card!
- JEDIMATT42 32K Sidecar + TIPI (`TI-99 to Raspberry Pi` Bridge): A tiny modern PCB that plugs into the 44-pin right-hand side port (behind the Speech Synthesizer), providing 32 KB RAM expansion (`or SAMS 1MB banked RAM!`) + Raspberry Pi Wi-Fi network drive (`DSK1`–`DSK9`), mouse, and web browser without needing a 35-lb PEB box!
- F18A / Tang Nano 9K VDP Upgrade: Drop-in FPGA replacement for the 40-pin `TMS9918A/29A` VDP chip that outputs crystal-clear VGA / HDMI and eliminates the 4-sprites-per-scanline flicker limit!
Diagnostic Checklist, 4116 VRAM Locator & Keyboard Repair
Decoding the "Screaming Continuous Beep", TI's backwards `RD0–RD7` VRAM bit numbering, and restoring Mitsumi vs Stackpole keyboards.
8× `4116` Video RAM Chip Locator & TI's Backwards Bit Numbering (`RD0 = MSB`!)
Because all 16 KB of console RAM is wired exclusively to the `TMS9918A / TMS9929A` VDP, a bad `4116` DRAM chip leaves the 16-bit `TMS9900` CPU running normally — so the console still plays its normal short power-on `BEEP` and shows the cyan/colour bars on the title screen, but characters have corrupted letters or vertical pixel stripes!
CRITICAL TEXAS INSTRUMENTS BIT NUMBERING TRAP: Texas Instruments numbered every data and address bus in the 9900/9918 family in reverse big-endian order: `Bit 0 (RD0 / D0)` is the MOST Significant Bit (128 / `$80`) and `Bit 7 (RD7 / D7)` is the LEAST Significant Bit (1 / `$01`)!
TI-99/4A 8× `4116` VRAM Bit-to-IC Map (Bottom-Left of PCB)
| VDP Pin & TI Bit | Standard Binary Weight | VRAM IC Designator (Top to Bottom / Left to Right) |
Character Corruption Symptom on Title Screen |
|---|---|---|---|
| `RD0` (VDP Pin 24) | MSB (`$80` / 128) | U509 (or #1 in row) | Inverse/offset characters; leftmost pixel of every 8px tile stuck! |
| `RD1` (VDP Pin 23) | Bit 6 (`$40` / 64) | U510 (#2) | Letters turn into symbols/numbers (`T` ↔ `4`); 2nd pixel column stuck |
| `RD2` (VDP Pin 22) | Bit 5 (`$20` / 32) | U511 (#3) | Uppercase/lowercase or spaces turn into `@` (`$20` ↔ `$00` / `$40`) |
| `RD3` (VDP Pin 21) | Bit 4 (`$10` / 16) | U512 (#4) | `T` (`$54`) turns into `D` (`$44`); 4th pixel column stuck |
| `RD4` (VDP Pin 20) | Bit 3 (`$08` / 8) | U513 (#5) | `A` (`$41`) turns into `I` (`$49`); 5th pixel column stuck |
| `RD5` (VDP Pin 19) | Bit 2 (`$04` / 4) | U514 (#6) | `A` (`$41`) turns into `E` (`$45`); 6th pixel column stuck |
| `RD6` (VDP Pin 18) | Bit 1 (`$02` / 2) | U515 (#7) | `A` (`$41`) turns into `C` (`$43`); 7th pixel column stuck |
| `RD7` (VDP Pin 17) | LSB (`$01` / 1) | U516 (#8) | Adjacent ASCII letters swap (`A` ↔ `@`, `B` ↔ `C`, `1` ↔ `0`); rightmost pixel stuck! |
"Black Screen + Continuous Screaming Beep" Decision Tree
- Why the TI-99/4A Screams on a Failed Boot: Just like the Oric and BBC Micro, the `TMS9919 / SN94624` sound chip powers up with a random continuous tone until the `TMS9900` CPU executes the Console ROM reset routine (`$0000`) and mutes the sound chip!
- Step 1 — Check All Three PSU Rails (`+5V`, `+12V`, `−5V`): If `−5V` or `+12V` is missing on the 4-wire internal PSU harness, the `TMS9900` CPU cannot run at all, leaving the sound chip screaming on a black screen!
- Step 2 — Check the Two `6810 / 4045` Scratchpad SRAMs (`U612` & `U613`): If either of the two 24-pin/18-pin Scratchpad SRAMs (`$8300–$83FF`) is dead, the TMS9900 loses its `R0–R15` workspace registers and crashes before silencing the sound chip!
- Step 3 — Check `TIM9904` Clock Generator & Console ROMs (`U610`/`U611`): Verify the 4-phase 3 MHz clocks (`Φ1–Φ4`) entering the TMS9900 (`Pins 8, 9, 25, 28`) and check for a shorted `4116` VRAM dragging down the `+12V` or `−5V` rail!
TI-99/4A Keyboard Variants & Mitsumi Membrane Fix
TI used four different keyboard manufacturers (all plugging into the 15-pin motherboard header `P5`).
- 1. Mitsumi Flexible Membrane Keyboard (Common in 1983 Silver & Beige Units):
- The 2-layer Mylar membrane inside Mitsumi keyboards is notorious for failing as the foam separator pads turn to dust and the silver traces oxidise at the 15-pin ribbon neck!
- Fix: Open the metal backing plate, clean the silver contacts gently with IPA (or conductive silver ink pen), or drop in a modern mechanical Cherry MX replacement TI-99/4A keyboard PCB!
- 2. Stackpole / Hi-Tek ("Space Invader" / Waffle Frame): Individual dual-leaf contacts inside square plastic wells. Do NOT pry keycaps sideways or the brittle plastic stems will snap! Flush dirty leaf contacts from above with DeoxIT D5.
- 3. ALPS Mechanical Keyboards (1981–82 Silver/Black): Discrete soldered mechanical switches — by far the most durable and sought-after TI-99/4A keyboard.
`TMS9901` PSI (Dead Keys/Joysticks) & Stuck GROM `READY`
Console boots to the colour-bar title screen, but `PRESS ANY KEY TO BEGIN` never responds, or locks up with a continuous tone when a cartridge is inserted.
- Dead Keyboard AND Dead Joysticks (`TMS9901NL` at `U600`): The 40-pin `TMS9901` PSI scans the keyboard/joystick matrix directly without buffering diodes against static discharge! ESD from touching the joystick port or keyboard frequently blows `TMS9901` input pins (`P0–P7` / `INT3–INT10`).
- Locks Up Solid When Reading GROMs: Every GROM chip (`GROM 0, 1, 2` and Cartridge GROMs) holds the TMS9900 CPU paused (`READY` line low) until the slow PMOS GROM finishes its internal address cycle (~447 kHz GROM clock from VDP Pin 37 `GROMCLK`). If a dirty cartridge or failed GROM fails to release `READY`, the CPU halts permanently!
5-Pin NTSC vs. 6-Pin PAL Component Video, Dual Joystick & Tape Pinouts
Connecting NTSC Composite or European PAL `TMS9929A` YPbPr Component Video to modern upscalers, plus the single-DE9 dual-joystick diode circuit.
5-Pin DIN (NTSC US) vs. 6-Pin DIN (PAL Europe `YPbPr`!) Video Port
See also our dedicated TI-99/4A Dual-Joystick DE-9 & Cassette and 4-Pin Dual-AC Power pinout pages. North American TI-99/4A consoles use the `TMS9918A` VDP with a 5-pin 180° DIN socket (Composite Video + Audio — 100% compatible with a standard 5-pin Commodore 64 / VIC-20 / Atari 800XL A/V cable!). European PAL consoles use the `TMS9929A` VDP with a 6-pin 240° DIN socket that outputs native Component `YPbPr` (`Y`, `R-Y`, `B-Y`) Video!
| Pin | US NTSC 5-Pin DIN (`180°`) (`TMS9918A` Composite) |
European PAL 6-Pin DIN (`240°`) (`TMS9929A` Component `YPbPr`!) |
|---|---|---|
| Pin 1 | +12 V DC Out (Powers external RF modulator — leave NC in RCA cables!) | `R-Y` (`Pr` Red Colour Difference Out!) |
| Pin 2 | GND (0 V Shield) | `Y` (Luminance + Sync Out — Green `Y` RCA!) |
| Pin 3 | Audio Out (Mono) → White/Red RCA | Audio Out (Mono) → White/Red RCA |
| Pin 4 | Composite Video Out → Yellow RCA | `B-Y` (`Pb` Blue Colour Difference Out!) |
| Pin 5 | NC | +12 V DC Out (RF Modulator supply) |
| Pin 6 | — | GND (0 V Shield) |
European PAL TI-99/4A Direct Component (`YPbPr`) to OSSC / RetroTINK 5X/4K Trick: On a 6-pin PAL TI-99/4A, you can wire Pin 2 (`Y`), Pin 4 (`Pb / B-Y`), and Pin 1 (`Pr / R-Y`) (with Pin 6 = GND) directly to three Green/Blue/Red Component RCA plugs into a RetroTINK 5X/4K or OSSC for razor-sharp, lag-free component video without an external PAL modulator!
Non-Standard Single `DE-9` Dual-Joystick Port & Atari DB9 Adapter
WARNING: Do NOT plug a standard Atari/C64 joystick directly into the TI-99/4A's side 9-pin D-Sub socket! TI wired BOTH Joystick 1 AND Joystick 2 into a single 9-pin male socket as part of the keyboard scanning matrix (`Select Joy 1 = Pin 2`, `Select Joy 2 = Pin 7` instead of Pin 8 GND)!
| TI `DE-9` Pin | TI-99/4A Matrix Signal | Atari / C64 DB9 Adapter Target (With `1N914`/`1N4148` Diodes!) |
|---|---|---|
| Pin 1 | NC | — |
| Pin 2 | /SELECT JOYSTICK 1 (Active-low strobe) | Joy 1 Pin 8 (Common Return — via diode cathode!) |
| Pin 3 | UP (Shared Joy 1 & Joy 2) | Joy 1 & Joy 2 Pin 1 (Anode to Pin 3, Cathode toward Pin 2/7) |
| Pin 4 | FIRE (Shared Joy 1 & Joy 2) | Joy 1 & Joy 2 Pin 6 (Fire Button) |
| Pin 5 | LEFT (Shared Joy 1 & Joy 2) | Joy 1 & Joy 2 Pin 3 (Left) |
| Pin 6 | NC | — |
| Pin 7 | /SELECT JOYSTICK 2 (Active-low strobe) | Joy 2 Pin 8 (Common Return — via diode cathode!) |
| Pin 8 | DOWN (Shared Joy 1 & Joy 2) | Joy 1 & Joy 2 Pin 2 (Down) |
| Pin 9 | RIGHT (Shared Joy 1 & Joy 2) | Joy 1 & Joy 2 Pin 4 (Right) |
Why 5 Blocking Diodes Per Joystick (`1N4148`) Are Essential: When building a dual Atari-to-TI joystick splitter, put a `1N4148` diode in series with each of the 5 switch lines (cathode pointing toward TI Pin 2 for Joy 1, and toward TI Pin 7 for Joy 2) — this prevents pressing diagonal directions from ghosting onto the TI's `
Rear 9-Pin `DE-9` Female Cassette Port
`Pin 1 & 2 = Motor 1 Relay (+/-)`, `Pin 3 = Audio Out to Tape MIC (Red)`, `Pin 4 = GND`, `Pin 5 = Audio Out Shield`, `Pin 6 & 7 = Motor 2 Relay (+/-)`, `Pin 8 = Audio In from Tape EAR (White)`, `Pin 9 = Audio In Return (Black)`.
Chip & GROM / Console ROM Reference
Interactive IC Pinout Finder cards plus `TMS9900`, `TMS9901`, `TMS5220`, and `TMC0430` GROM notes.
TI TMS9900 16-Bit CPU
3.0 MHz 16-bit microprocessor with memory-to-memory workspace registers, CRU serial bus, and triple-rail supply.
View Pinout →TI TMS9918A / 9929A VDP
Video Display Processor — 256×192 graphics, 16 colours, 32 sprites, GROM clock output, and 16 KB private 4116 VRAM bus.
View Pinout →TI TMS5220 / TMC0285 Speech
LPC-10 vocal tract synthesizer inside the PHP1500 Solid State Speech Synthesizer side-car module.
View Pinout →TMS9919 / SN94624 (`SN76489`)
3-channel square-wave + 1 noise channel Programmable Sound Generator mapped at `$8400`.
View Pinout →TMS4116 DRAM (×8)
Eight triple-rail (−5 V, +12 V, +5 V) 16K×1 DRAMs providing the 16 KB Video/System RAM.
View Pinout →Texas Instruments 9900-Family Silicon Reference
| Chip | Package | Key Pins & Bench Notes |
|---|---|---|
| TMS9900NL (16-Bit CPU) | DIP-64 (Large Ceramic/Plastic) | Requires 3 rails (`Pin 1 = +5V V_CC`, `Pin 2 = −5V V_BB`, `Pin 27 = +12V V_DD`, `Pin 26 = GND`) + 4-phase 12V clock (`Φ1–Φ4` from `TIM9904`)! Note: `A0` is MSB (`Pin 49`) and `A14` is LSB (`Pin 35`); `D0` is MSB (`Pin 41`) and `D15` is LSB (`Pin 56`)! |
| TMS9901NL (PSI I/O) | DIP-40 (`U600`) | CRU (Communications Register Unit) bit-addressable I/O & interrupt controller. Static-sensitive on keyboard/joystick lines! |
| TIM9904 / 74LS362 (Clock Gen) | DIP-20 (`U601`) | Divides the 48 MHz/12 MHz crystal into four non-overlapping 12 V 3.0 MHz clock phases (`Φ1–Φ4`) for the TMS9900. |
| TMC0430 (`GROM 0, 1, 2`) | DIP-16 (PMOS) | Proprietary 6 KB serial-counter Graphics ROMs mapped at `$9800`/`$9802`/`$9C00`/`$9C02`. Can be replaced or overridden using an `ATmega` UBER-GROM board! |
| TMS5220 / TMC0285 (Speech) | DIP-28 (Inside `PHP1500`) | LPC-10 speech synthesizer with 128-bit FIFO buffer (`READY` handshaking with TMS9900). |
Console ROMs (`U610`/`U611`) & Single-Rail `4164` VRAM Mod
- Even & Odd 4KB Console ROMs (`U610` & `U611`, `$0000–$1FFF`):
- The two 24-pin 4 KB mask ROMs (`U610 = High Byte D0–D7`, `U611 = Low Byte D8–D15`) use the standard `2332` mask ROM pinout — meaning two `TMS2532` (4 KB, 24-pin) UV EPROMs drop straight in with zero adapters!
- 16-Bit 32KB Internal Fast-RAM Mod (`0-Wait-State!` Piggybacked on Console ROMs):
- One of the coolest hardware mods for the TI-99/4A is soldering two `62256` (32K×8) static RAMs directly on top of the 16-bit Console ROM sockets (`U610`/`U611`) with 3 logic gates: it puts all 32 KB of expansion RAM (`$2000–$3FFF` & `$A000–$FFFF`) directly on the 16-bit zero-wait-state CPU bus, speeding up Extended BASIC and assembly games by 50% to 110%!
- Single-Rail `4164` VRAM Upgrade: If replacing bad `4116` VRAMs, you can fit modified `+5V`-only `4164` DRAMs (bend out Pin 1, bridge Pin 8 to Pin 9 `+5V`) to cut heat inside the RF shield in half!
Resources & Further Reading
Blog posts, interactive bench tools, and essential TI-99/4A communities & archives.
Smiggy's Retro Computing Posts
Bench Tools & Machine Hubs
- IC Pinout Finder — TMS9900, TMS9918A, TMS5220, TMS9919, 4116
- Recap & Repair Reference — capacitor replacement guide
- Ohm's Law Calculator
- C64 Machine Hub — Commodore 64 reference
- VIC-20 Machine Hub — Commodore VIC-20 reference
- Commodore PET Hub — PET 2001, 4000 & 8000 reference
- Plus/4 & C16 (TED) Hub — C16, C116 & Plus/4 reference
- C128 Machine Hub — C128, C128D & DCR reference
- SX-64 Machine Hub — Executive Portable C64 reference
- Amiga Machine Hub — A500/A600/A1200 reference
- Big-Box Amiga Hub — A1000, A2000, A3000 & A4000 reference
- Atari ST Hub — 520ST, 1040STFM & STE reference
- Atari 8-Bit Hub — 400/800, 800XL & 130XE reference
- Apple IIe Hub — Unenhanced, Enhanced & Platinum reference
- BBC Micro Hub — Model B, B+ & Master 128 reference
- Acorn Atom & Electron Hub — Atom & Electron reference
- ZX Spectrum Hub — 16K/48K & +2/+3 reference
- Sinclair QL Hub — 68008, Microdrive & ULA reference
- Dragon 32/64 Hub — Dragon 32 & 64 reference
- TRS-80 & CoCo Hub — Model I/III/4 & CoCo 1/2/3 reference
- Oric-1 & Atmos Hub — Oric 6502A & ULA reference
- Amstrad CPC 464 Hub — CPC 464 & Datacorder reference
- Amstrad CPC 6128 Hub — 128K & 3″ disc reference
- MSX Machine Hub — MSX1, MSX2, MSX2+ & Turbo R reference
- Osborne 1 & Kaypro II Hub — CP/M luggable reference
External TI-99/4A Resources
- Thierry Nouspikel's TI-99/4A Tech Pages — the definitive cycle-by-cycle hardware, CRU, GROM, and PEB engineering reference
- AtariAge TI-99/4A Forum — the main active global TI-99/4A hardware repair & development community
- Ninerpedia — TI-99/4A hardware, FinalGROM 99, TIPI, and Geneve 9640 wiki
- Mainbyte's TI-99/4A Site — step-by-step console teardown, 32K internal fast-RAM mod, and schematics