Image Map Image Map
Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: PET 2001 Keyboard Issue

  1. #1
    Join Date
    Mar 2021
    Location
    Near Washington, D.C., USA
    Posts
    8

    Default PET 2001 Keyboard Issue

    Hello All!

    I am so glad that everyone here takes such an interest in vintage computers!

    I recently came into a PET 2001 (black bezel) with the chicklet keyboard and 6550s/6540s. It has 6540-019 in it, so I guess that's the revision before the RAM/ROM was changed out from the 6550s/6540s.

    When the PET came to me, it turned on but displayed garbage on the screen. I want to toss in what testing/repairs I did to get to where I am in the repair process, in case it helps someone else down the road.

    After a bunch of forum reading and testing, I ended up buying a ROMulan PET RAMulator (from the user Nivag Swerdna, who posts on this forum). Using the ROM/RAM adapter (and many helpful emails with Nivag), I was able to verify that the full compliment (8K) of RAM is good. I then narrowed down the ROM issues to 6540-014 and 6540-015 (being H6 and H3, respectively). Both were bad! Interestingly, when I tried testing ROMs with VOSSI, it detected 6540-014 as bad, but did not detect the 6540-015 as bad. Not sure why. And so I got a couple 6540 adapters so I could replace the bad 6540s with modern EPROMs.

    Something to note for anyone else down who uses a more modern EPROM like a D27256 (its what I have on hand!), make sure the check the block size! The D27256 has 32K blocks (its a 32K x , so I had to concatenate the 2KB ROM image I got from Bo Zimmerman's FTP 16 times, to fill the block. Otherwise, the ROM would not load. The Powershell command looks like this:

    gc -Encoding Byte -Path ".\rom.bin",".\rom.bin",".\rom.bin",".\rom.bin",". \rom.bin",".\rom.bin",".\rom.bin",".\rom.bin",".\r om.bin",".\rom.bin",".\rom.bin",".\rom.bin",".\rom .bin",".\rom.bin",".\rom.bin",".\rom.bin" | sc -Encoding Byte output-rom.bin

    *And so to my question/request for help*

    Now that I am loading to BASIC (both from the ROMulan PET RAMulator and from the on-board chips), I have found that only certain keys work. Keys like B work while A does not, for example. Its the bottom row of keys, and the numpad, that work generally.

    I am suspicious of the 6520 PIA in G8, but also of the 74LS145 (mine actually says DM74145N) in G9. I had a few Motorola MC6821Ps handy (and one Rockwell R6520P), which I swapped into G8. It did not resolve the problem, but with one specifc MC6821P did change the behavior (all others did not give me the cursor when BASIC loaded). With that one specific MC6821P, I now get the characters from the top row of the keyboard, when I strike keys on the bottom row. For example, the key labeled [ gives me a $ output.

    What are my options for known-compatible PIAs and replacement buffers? I am prepared to desolder, socket, and replace the DM74145N if needed, but want to know the recommended chip. Is it a NOS DM74145N or is it a SN74LS145N? And what about the PIA? Should I expect these MC6821Ps to have worked, and maybe they just didn't because of the buffer? Or maybe the MC6821P isn't compatible either?

    Thanks for your advice!

  2. #2
    Join Date
    Jul 2018
    Location
    California
    Posts
    139

    Default

    Are you sure it's not just the keyboard contacts?
    The old carbon impregnated rubber contacts can harden and become less conductive as they age. They can also just become dirty and it's not uncommon for many keys to stop working or work unreliably.

    It could also be the PIA. If the 6520s are socketed, you can easily swap them to see if that's the problem. The other 6520 is only used for the IEEE port.

  3. #3
    Join Date
    Mar 2021
    Location
    Near Washington, D.C., USA
    Posts
    8

    Default

    Thanks Hutch. I do intend on cleaning the keyboard, I have not done that yet.

    Do you know what common PIAs are compatible replacements for the MOS 6520s? Should I have expected the Motorola MC6821Ps to have worked?

    I tried both 6520s that were on the board originally, as well as the one Rockwell R6520P and 4 MC6821Ps I have on hand. Swapping for the other MOS, I got a black screen. For the Rockwell and 3 Motorolas, I got no cursor (and no keys displayed on screen). For the last Motorola, I got that odd behavior where the bottom key strikes registered characters listed on the top row of the keyboard. And only the bottom row got me keys on screen, as originally.

    I guess part of that does suggest a cleaning, but I am also suspicious of the buffer.

  4. #4

    Default

    Quote Originally Posted by DrAM19 View Post
    Hello All!
    Hello

    Quote Originally Posted by DrAM19 View Post
    Interestingly, when I tried testing ROMs with VOSSI, it detected 6540-014 as bad, but did not detect the 6540-015 as bad. Not sure why.
    The testers often employ simple checksums... e.g. Adding up every byte and showing the remainder; such a scheme will fail to detect errors where multiple bad bits cancel each other out; True CRC checksums are better but still not foolproof; for an absolute comparison you need to compare individual bytes.



    Quote Originally Posted by DrAM19 View Post
    I am suspicious of the 6520 PIA in G8, but also of the 74LS145 (mine actually says DM74145N) in G9. I had a few Motorola MC6821Ps handy (and one Rockwell R6520P), which I swapped into G8. It did not resolve the problem, but with one specifc MC6821P did change the behavior (all others did not give me the cursor when BASIC loaded). With that one specific MC6821P, I now get the characters from the top row of the keyboard, when I strike keys on the bottom row. For example, the key labeled [ gives me a $ output.
    I will let others opine but a 6821 should work; also W65C21N https://www.westerndesigncenter.com/wdc/w65c21-chip.php which are still made.
    The change of behaviour is slightly suspicious... having a cursor and scanning the keyboard are slightly different issues.
    If you have a scope check outputs of G9 to ensure it is scanning the keyboard. You could also probably simulate a keypress by using a jumper wire between one of J5 1-10 and J5 A-H to eliminate the physical keyboard.
    Also try and run with only one PIA/VIA installed G8; i.e. remove B8 and A5 and see if the behaviour changes.

    Welcome! (I'm relatively new here too)

  5. #5
    Join Date
    Jun 2012
    Location
    UK - Worcester
    Posts
    4,597

    Default

    First of all, welcome to VCFED.

    We have found that some PIAs work and others don’t. Not sure which are which though. dave_m may be keeping track of this?

    I agree that the cursor issue and the keyboard issue may not be related, but no flashing cursor probably means no interrupt which will result in no keyboard scanning.

    You need to check (with a scope, logic analyser or logic probe) that the PIA outputs are scanning the key matrix. Then check that the keypresses result in a signal drive into the PIA.

    It is more likely that the keys require attention.

    With Nivag on using a piece of wire to prove the logic out and identify the keys as the problem.

    You could also use my PETTESTE2KV4 in place if the EDIT ROM. This has a mode that will give visual indication of the state of the key matrix. It won’t identify whether it is keys or logic, but it is a simple visual test.

    Dave

  6. #6
    Join Date
    Mar 2021
    Location
    Near Washington, D.C., USA
    Posts
    8

    Default

    Thanks Hutch, Nivag, and Daver2.

    Before I do anything else, the keyboard is getting cleaned.

    I really like the idea of simulating the keypress with a jumper, to isolate the problem to keyboard or logic. That will be my next move after cleaning the keyboard (if that doesn't fix it outright!). Then I'll get the probes out and see what the PIA outputs show.

    I did remove B8, but did not remove A5, while doing these tests (I wanted to try the 6520 installed in B8 in the G8 socket, and never put it back).

    I did give PETTESTER a try and found that the keys which do not register a character on the screen show no bytes changes when struck. The keys which do register characters on the screen do show bytes changed.

    Updates to follow soon.

    Thank you!!

  7. #7
    Join Date
    Jun 2012
    Location
    UK - Worcester
    Posts
    4,597

    Default

    >>> Updates to follow soon.

    We wait with interest...

    Dave

  8. #8
    Join Date
    Dec 2005
    Location
    Toronto ON Canada
    Posts
    7,441

    Default

    Hard to tell from only one example, but it would suggest that there is a problem with PA3 from the G8 PIA, the G9 '145 or the connection between them ( column for $ is [ minus 8 ). Have you tried swapping the PIAs as Hutch suggested? It does sound like a PIA problem; I don't know how many you've tried but could they all be defective?

    Do the ] and @ keys work?

    FWIW, I've never had a problem using a 6821 in place of a 6520 but that doesn't mean that it always works.

    BTW, a 74145 is preferred here for the greater drive capability.
    Last edited by MikeS; March 5th, 2021 at 09:39 AM.

  9. #9
    Join Date
    Dec 2005
    Location
    Toronto ON Canada
    Posts
    7,441

    Default

    Quote Originally Posted by MikeS View Post
    ...
    BTW, a 74145 is preferred here for the greater drive capability.
    Having said that, I see that the later model PETs changed the '145 to an 'LS145 so obviously the difference doesn't matter here.

  10. #10
    Join Date
    Mar 2021
    Location
    Near Washington, D.C., USA
    Posts
    8

    Default

    Thanks MikeS.

    For that one MC6821P, the [ giving a $ output was just one example, yes. Sorry, I should have been more explicit. Every key on the bottom row registered with a character printed on the top. So space gave ', @ gave #, shift gave !. It was every key in the row.

    And to everyone helping me in the thread:

    Speaking of the keyboard, I pulled it apart and cleaned the board and plunger contacts. They keyboard looked really clean. I saw no corrosion or contamination, and did not notice any broken traces.

    When I bypassed the keyboard by shorting select pins on J5 A-H to J5 1-10, I only ever got characters that the keyboard would have also put on screen (like $). It was repeatable (the same pin combination gave the same character each time), and most pin combinations did nothing. Using a voltmeter, I was getting 5v on the A-H pins, and just a floating voltage (meter said like 60mv but it says that for air too) on the 1-10 pins at J5. I didn't check the pull-up resistors yet, and did not get the logic probe on the J5 1-10 pins yet. I'll be doing that this evening.

    If I don't get clear functionality on the J5 1-10 pins, I will be looking at the WDC PIA and possibly the DM74145N. (I am lucky, the wife got me a desoldering gun for Christmas, so it's not a bad task to do. But just throwing parts at a problem is bad practice too!)

    Thanks all! Updates to follow.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •