Commodore C128 Expansion Bus

44-pin female edge connector on the Commodore 128 rear panel, backward-compatible with C64 cartridges, exposing the MOS 8502 CPU address/data bus with MMU-translated address lines.

The Commodore 128 expansion bus is a 44-pin (22 per side) female edge connector mounted on the rear panel of the machine, introduced in 1985 as part of the C128’s tri-mode architecture. It exposes the MOS 8502 CPU bus directly, with the upper eight address lines designated as “translated” (TA8–TA15) through the C128’s MMU to support its extended memory banking, whilst the lower eight (SA0–SA7) are shared with the C64-compatible address space. The connector is mechanically and electrically compatible with Commodore 64 cartridges, which operate correctly when the C128 is in C64 mode. The governing reference for pin assignments and electrical specifications is the Commodore 128 Programmer’s Reference Guide (Bantam Books / Commodore Business Machines, 1986), supplemented by the Commodore Service Manual PN-314001-08 (November 1987).

44 PIN FEMALE EDGE at the computer.

Commodore C128 Expansion Bus connector diagram

PinNameDescription
1GNDSystem Ground
2+5VSystem Vcc
3+5VSystem Vcc
4/IRQInterrupt request
5R/WSystem Read/Write Signal
6DClock8.18MHz Video Dot Clock
7I/O1I/O Chip select $de00-deff
8/GAMESensed for memory map configuration
9/EXROMSensed for memory map configuration
10I/O2I/O Chip select $df00-dfff
11/ROMLExternal ROM select $8000-Bfff
12BABus available output
13/DMADirect memory access input
14D7Data bit 7
15D6Data bit 6
16D5Data bit 5
17D4Data bit 4
18D3Data bit 3
19D2Data bit 2
20D1Data bit 1
21D0Data bit 0
22GNDSystem Ground
AGNDSystem Ground
B/ROMHExternal ROM Select $c000-ffff
C/RESETSystem Reset Signal
D/NMINon-Maskable Interrupt
E1MHzSystem 1MHz clock
FTA15Translated address bit 15
HTA14Translated address bit 14
JTA13Translated address bit 13
KTA12Translated address bit 12
LTA11Translated address bit 11
MTA10Translated address bit 10
NTA9Translated address bit 9
PTA8Translated address bit 8
RSA7Shared address bit 7
SSA6Shared address bit 6
TSA5Shared address bit 5
USA4Shared address bit 4
VSA3Shared address bit 3
WSA2Shared address bit 2
XSA1Shared address bit 1
YSA0Shared address bit 0
ZGNDSystem Ground

Notes

The connector uses 2.54 mm pitch and requires a male edge connector on the cartridge or expansion device. All bus lines are unbuffered direct connections to the CPU and must not exceed one LS TTL load per signal. The +5 V supply across pins 2 and 3 has a combined current limit shared with the rest of the system; expansion hardware should draw conservatively. Pin E carries the Phase 2 system clock (Φ2), labelled here as 1 MHz; its actual frequency tracks the system clock and varies slightly between NTSC and PAL variants. The /GAME and /EXROM lines are sensed at reset to determine the active memory map configuration. Asserting /DMA pulls the CPU address bus, data bus, and R/W line to high impedance, allowing an external device to take control of the bus. The connector is fully backward-compatible with Commodore 64 cartridges when the C128 is running in C64 mode; in native C128 mode the translated address lines (TA8–TA15) reflect MMU banking state and may differ from the physical address the CPU issued.

Signals

  • GND — System ground; present on pins 1, 22, A, and Z.
  • +5V — Regulated 5 V supply on pins 2 and 3; combined current budget shared with the system.
  • /IRQ — Maskable interrupt request input to the CPU; active low.
  • R/W — Read/write direction signal; high = read, low = write.
  • DClock — 8.18 MHz video dot clock output derived from the system oscillator (NTSC figure).
  • I/O1 — Active-low chip select for the I/O region $DE00–$DEFF.
  • /GAME — Sensed at startup to select the cartridge memory map mode.
  • /EXROM — Sensed at startup alongside /GAME to configure the ROM banking map.
  • I/O2 — Active-low chip select for the I/O region $DF00–$DFFF.
  • /ROML — Active-low ROM select for the low cartridge ROM window ($8000–$BFFF).
  • BA — Bus Available; goes low three cycles before the VIC-II takes the system buses.
  • /DMA — Direct Memory Access request input; asserting this tri-states the CPU bus.
  • D7–D0 — Unbuffered eight-bit data bus.
  • /ROMH — Active-low ROM select for the high cartridge ROM window ($C000–$FFFF).
  • /RESET — System reset; active low.
  • /NMI — Non-maskable interrupt request; active low.
  • 1MHz — Phase 2 system clock output (Φ2); nominally ~1 MHz in C64 mode and C128 mode.
  • TA15–TA8 — Upper eight translated address lines; reflect MMU-mapped addresses in C128 native mode.
  • SA7–SA0 — Lower eight shared address lines; common to both C64 and C128 address spaces.

References

Category:Cartridges - Expansions Connectors