Commodore 64 keyboard connector and keyboard matrix Composed by Ruud Baltissen C64 Keyboard matrix ---------------------------------------------------------- o o o o o o o o o o o o o o o o o o o ---------------------------------------------------------- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Pin | Portbit | CIA pin | Function ----+---------+---------+--------------------------------- 1 | - | - | GND 2 | - | - | Key / no pin 3 | - | - | RESTORE key 4 | - | - | +5V 5 | PB3 | 13 | joystick #1 right 6 | PB6 | 16 | 7 | PB5 | 15 | 8 | PB4 | 14 | #1 fire 9 | PB7 | 17 | 10 | PB2 | 12 | #1 left 11 | PB1 | 11 | #1 down 12 | PB0 | 10 | #1 up 13 | PA0 | 2 | joystick #2 up 14 | PA6 | 8 | "1" -> paddle set A 15 | PA5 | 7 | 16 | PA4 | 6 | #2 fire 17 | PA3 | 5 | #2 right 18 | PA2 | 4 | #2 left 19 | PA1 | 3 | #2 down 20 | PA7 | 9 | "1" -> paddle set B Port B = columns Port A = rows bit 0 1 2 7 4 5 6 3 PIN 12 11 10 9 8 7 6 5 13 0 DEL Return <- F7 F1 F3 F5 up -> down 19 1 3 W A 4 Z S E shift left 18 2 5 R D 6 C F T X 17 3 7 Y G 8 B H U V 16 4 9 I J zero M K O N 15 5 + P L - . : @ , 14 6 Pound * ; home shift = arrow / right up 20 7 1 <- Ctrl 2 space C= Q run/stp