MainHELP Glossary Hardware SAL Workshop Companies FTP ToolsBackAbout

Expansion Port

Employed in: C64, C128, SX64

Extensions for the expansion port are quite numerous; Ramlink, SuperCPU, Final Cartridge, Action Replay, to name a few. In the old days, many game modules were available, too.
Note that devices connected to the expansion port (especially floppy speeders) are more incompatible than equivalent user port versions, as their ROM is mapped into the C-64 RAM.


Connection scheme

Picture (ASCII version below)
 
ASCII version:

 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1
+==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==+
|                                                                 |
+==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==+
  Z  Y  X  W  V  U  T  S  R  P  N  M  L  K  J  H  F  E  D  C  B  A

Signal Description

(Click here for ASCII version)

Pin(s) Signal Dir Description
1GND -Ground (0V).
2-3+5V- Supply voltage. Max. 450 mA.
4/IRQin Interrupt ReQuest. When going LOW, the CPU loads the PC with the value stored in $fffe/$ffff after processing the current command. This procedure will be executed only when interrupts have been enabled (bit 2 in flag register = 0).
Note that the IRQ signal must be applied until the CPU has checked this pin; a short IRQ pulse is not sufficient [1].
5R/-W out Read/-Write. During read cycles, this line is HIGH, and LOW otherwise. Note that all accesses only take place whenø2 is HIGH.
6Dot Clockout VIC dot clock (PAL: 7.8MHz).
7-(I/O1) out I/O #1. LOW, if an address between $de00 and $deff is on the address bus.
8/GAME in This line can be used by an expansion port cartridge together with the /EXROM line to control the memory configuration. See below (Technical info) for details.
9/EXROM in This line can be used by an expansion port cartridge together with the /GAME line to control the memory configuration. See below (Technical info) for details.
10-(I/O2) out I/O #2. LOW, if an address between $df00 and $dfff is on the address bus.
11/ROML out ROM High. LOW, if both an address between $df00 and $dfff is on the address bus and /EXROM is LOW.
12BA out Bus Aavailable. If HIGH, the VIC-II uses the bus.
13/DMA in Direct Memory Access. By pulling this line to LOW, the CPU will halt after the next read cycle and all bus connections will go to high-impedance state. This is useful for cartridges which replace the original CPU, like CMD's SuperCPU.
14-21CD7-CD0 in / out CPU Data bus.
22GND - GrouND (0V).
AGND - GrouND (0V).
B/ROMH out ROM High. LOW if address $a000-bfff or $e000-ffff is on the address bus and the appropriate address range is banked out via /GAME and /EXROM.
C/RESETin RESET. When going LOW, the CPU resets and waits for a LOW-HIGH transistion to load the PC with the value stored in $fffc/$fffd. After power-up, timer A in the NE556 pulls this line to LOW for a short time and half a second later back to HIGH.
D/NMIin Non Maskable Interrupt. When going LOW, the CPU loads the PC with the value stored in $fffa / $fffb after processing the current command.
Eø2 out* out Phi2 out. The CPU outputs the system clock for the rest of the chips for synchronization.
F-YCA15-CA0 in / out CPU Address bus. The CPU applies the address of the next datum to be read or written.
ZGND - GrouND (0V).

* The 'ø' is used as Greek 'phi' here.

Technical info

Via /GAME and /EXROM, a cartridge which is plugged into the expansion port can partially redirect memory accesses to certain areas to memory (RAM or ROM) inside the cartridge. Their are four combinations of /GAME and /EXROM:
 EXROM | GAME | Area redirected
 ------+------+----------------
  HIGH | HIGH | none (default)
  HIGH | LOW  | forbidden(?)
  LOW  | HIGH | $8000-9fff
  LOW  | LOW  | $8000-bfff

Note: All pictures show the plug side.


[1] 64'er Hardware-Buch, p.25
[2] Hardware-Basteleien zum C64/C128, ISBN 3-89090-389-4


Updated: November 26th, 1997
Created: February 12th, 1997
Status : NOT VERIFIED!

Site copyright © 1997 by Marc-Jano Knopp
This document is part of MJK's Commodore 64 & LCD Page
Brought back to life by Peter Schepers, Dec 10, 2005 because I really liked this site!