I'm looking at the schematic and the Service Manual for the Commodore 64. I can't seem to find a schematic for the keyboard itself.

It seems clear that the control port 1 joystick has normally open switches for the four directions and the fire button, and presses are detected by the switches closing and shorting lines COL0 through COL4 (connected to PA0 through PA4 on 6256 CIA U1) to ground, thus pulling them down to 0 V. So something must be pulling these lines up to +5 V when they're not shorted to ground.

Similarly, the description of keyboard scanning says that you drive one of COL0 through COL7 low and the rest high via output on PA0 through PA7, and then see which of ROW0 through ROW7 is brought low by a key in the matrix shorting one of those lines to the low COLn line, via reading PB0 through PB7. Again, this means that something must be pulling up ROW0 through ROW7 when they are not shorted to ground.

There are no pullup resistors for this in the motherboard schematic. The keyboard does have +5 V going to it; are there pullup resistors on the keyboard PCB?

  • For more information on the pullups and their original purpose (not how they're used here) see answers to this question.
    – cjs
    Jun 1, 2019 at 3:22

1 Answer 1


No external pull-up is needed as the CIA already got internal circuitry to do so.

Port A and B have passive pull-up devices as well as active pull-ups

Taken from the CSG 6526 data sheet, section "I/O Ports" on page 5.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .