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.
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
Pin(s) | Signal | Dir | Description |
---|---|---|---|
1 | GND | - | Ground (0V). |
2-3 | +5V | - | Supply voltage. Max. 450 mA. |
4 | /IRQ | in | 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]. |
5 | R/-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. |
6 | Dot Clock | out | 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. |
12 | BA | 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-21 | CD7-CD0 | in / out | CPU Data bus. |
22 | GND | - | GrouND (0V). |
A | GND | - | 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 | /RESET | in | 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 | /NMI | in | 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-Y | CA15-CA0 | in / out | CPU Address bus. The CPU applies the address of the next datum to be read or written. |
Z | GND | - | GrouND (0V). |
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.