Where are the pullups for the Commodore 64 keyboard matrix lines?6510 I/O port initialisationWhat use are the data direction registers in the MOS 6526 CIA?How to create a switchless multi-system 2 button Atari joystick?
Is it possible for underground bunkers on different continents to be connected?
Using roof rails to set up hammock
How can I detect if I'm in a subshell?
Can a 40amp breaker be used safely and without issue with a 40amp device on 6AWG wire?
Can I give my friend the sour dough "throw away" as a starter to their sourdough starter?
Do items with curse of vanishing disappear from shulker boxes?
SQL Server has encountered occurences of I/O requests taking longer than 15 seconds
Digital signature that is only verifiable by one specific person
Print the phrase "And she said, 'But that's his.'" using only the alphabet
How do I say what something is made out of?
My parents claim they cannot pay for my college education; what are my options?
Converting 3x7 to a 1x7. Is it possible with only existing parts?
Is it possible to have battery technology that can't be duplicated?
Does PC weight have a mechanical effect?
How to address players struggling with simple controls?
How to remove multiple elements from Set/Map AND knowing which ones were removed?
How do credit card companies know what type of business I'm paying for?
Threading data on TimeSeries
Should I worry about having my credit pulled multiple times while car shopping?
Are there any rules for identifying what spell an opponent is casting?
Idiom for 'person who gets violent when drunk"
Struggling to present results from long papers in short time slots
Can I appeal credit ding if ex-wife is responsible for paying mortgage?
I sent an angry e-mail to my interviewers about a conflict at my home institution. Could this affect my application?
Where are the pullups for the Commodore 64 keyboard matrix lines?
6510 I/O port initialisationWhat use are the data direction registers in the MOS 6526 CIA?How to create a switchless multi-system 2 button Atari joystick?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
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?
commodore-64 mos-6526
add a comment |
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?
commodore-64 mos-6526
For more information on the pullups and their original purpose (not how they're used here) see answers to this question.
– Curt J. Sampson
Jun 1 at 3:22
add a comment |
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?
commodore-64 mos-6526
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?
commodore-64 mos-6526
commodore-64 mos-6526
edited May 30 at 23:37
Curt J. Sampson
asked May 30 at 8:00
Curt J. SampsonCurt J. Sampson
411110
411110
For more information on the pullups and their original purpose (not how they're used here) see answers to this question.
– Curt J. Sampson
Jun 1 at 3:22
add a comment |
For more information on the pullups and their original purpose (not how they're used here) see answers to this question.
– Curt J. Sampson
Jun 1 at 3:22
For more information on the pullups and their original purpose (not how they're used here) see answers to this question.
– Curt J. Sampson
Jun 1 at 3:22
For more information on the pullups and their original purpose (not how they're used here) see answers to this question.
– Curt J. Sampson
Jun 1 at 3:22
add a comment |
1 Answer
1
active
oldest
votes
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.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "648"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f11156%2fwhere-are-the-pullups-for-the-commodore-64-keyboard-matrix-lines%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
add a comment |
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.
add a comment |
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.
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.
edited May 30 at 8:17
answered May 30 at 8:10
RaffzahnRaffzahn
60.7k6148249
60.7k6148249
add a comment |
add a comment |
Thanks for contributing an answer to Retrocomputing Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f11156%2fwhere-are-the-pullups-for-the-commodore-64-keyboard-matrix-lines%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
For more information on the pullups and their original purpose (not how they're used here) see answers to this question.
– Curt J. Sampson
Jun 1 at 3:22