PDA

View Full Version : PET 2001 - Some keys work, some don't, tried the normal things



davepl
July 10th, 2014, 03:28 PM
I have a PET 2001 that I've had for about 30+ years and they keyboard has stopped working, or at least some of it has. The entire numeric keypad works, the letter L and W work, but most do not.

Assuming a bad 6520 (and most everything in mine is socketed thankfully) I swapped the two of them UC7 and UC6. Since this made absolutely no difference, I'm guessing its not a bad 6520. I don't have a handy way to check (that I know of) the 6522. The fact that it runs I would have to assume means the 6502 is OK.

I have twice now cleaned the entire keyboard, every contact, every "pusher", to no avail.

I went through an resoldered the wire connections at the keyboard end of the cable that connects it to the mainboard.

I've got a scope, DVM, pinouts and some spare time. Notice I didn't say "extensive electronics experience", but I know my Vcc from Vss.

Can anyone point me in the next logical direction that I should check?

Many thanks,
Dave

KC9UDX
July 10th, 2014, 03:36 PM
I had the same problem with mine. There is some glue logic between the keyboard and the 6520, IIRC. Some latches or buffers, I really don't recall. But, my problem was there. Several bad chips, I think.

davepl
July 10th, 2014, 03:53 PM
That's not very encouraging. How would I determine if that is, in fact, my issue? If I had a working one to compare to I could do that, but I don't...

dave_m
July 10th, 2014, 04:03 PM
I have a PET 2001 that I've had for about 30+ years and they keyboard has stopped working, or at least some of it has. The entire numeric keypad works, the letter L and W work, but most do not.

Do you have the PET with the original small keyboard or the 2001N with the full size keyboard? I need to know what schematic to look at.
-Dave

davepl
July 10th, 2014, 04:10 PM
Full size keyboard. If I'm not mistaken, its Rev 3. Either way, I'll try to put a photo below. The ROM set is a row across right below the 6502/6522/6520s, and RAM is at the bottom.

Not knowing what to check, all I've been able to verify is that there's voltage and clock at the main chips. The voltage regulator right up next to the main chips is 9.3V

daver2
July 11th, 2014, 03:06 AM
First things first - have you got the schematics for your computer?

If not, then have a look at http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/ and track down the schematics for your particular make and model (as dave_m has already stated - there are a few of them so make sure you find the right ones).

I will use http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/2001N/320349-3.gif as an example of how to fault find. You will notice (in addition to the 6520 PIA at C7) that there is a 74LS145 BCD to DECIMAL decoder at C9. This could also be faulty.

My recommendation would be to physically remove the 6520 PIA from C7 and use a multimeter set to a low Ohms scale (obviously with the PET power off) to check for the continuity between the outputs from the BCD to DECIMAL decoder and the KIN'n' signals back to the PIA. These signals are normally pulled up to +5V by resistors R14 to 25. With no keys pressed - there should be no connection from the BCD to DECIMAL decoder outputs to the KIN'n' signals. With one key pressed, you should see one of the outputs from C9 connected back to the KIN'n' signals. You should be able to build a 'keyboard map' by pressing each key in turn and identifying the corresponding row and column that has a low resistance. A willing 'partner' is helpful here!

Multiple connections indicates a short circuit somewhere. No connection indicates an open circuit somewhere.

Have a look around for a known keymap for your machine. Try here http://www.6502.org/users/andre/petindex/keyboards.html first.

Replace the PIA when you have finished and confirm that your keymap looks like it should.

If you have an oscilloscope, you should see each output in turn from the BCD to DECIMAL decoder pulse LOW. You should see ONE of the KIN'n' signal pulse low in sympathy with one of the BCD to BINARY outputs when each key is pressed.

Hope this simple explanation helps you.

Dave

MikeS
July 11th, 2014, 11:16 AM
Have you tried directly jumpering some pins on the motherboard keyboard connector to make sure it isn't in fact still the keyboard?

E.g.. starting at the end opposite the connector key, connecting pin1 to pin9 should give !, pin10 ", pin11 Q, etc.; if it does, you need to look at the keyboard & cable more closely.

If that fails, check that all 10 outputs of the 74145 are periodically going low.

sjgray
July 11th, 2014, 05:04 PM
Have you tried directly jumpering some pins on the motherboard keyboard connector to make sure it isn't in fact still the keyboard?

E.g.. starting at the end opposite the connector key, connecting pin1 to pin9 should give !, pin10 ", pin11 Q, etc.; if it does, you need to look at the keyboard & cable more closely.

If that fails, check that all 10 outputs of the 74145 are periodically going low.

Similarly, you can also disconnect the keyboard and attach your meter to the keyboard's connector (not on the motherboard). Check the keyboard matrix, pick a ROW and COL, connect the meter then press the key that should be at that row/col seeing if you have continuity. Here is a reference to the keyboard matrices:
http://www.6502.org/users/andre/petindex/keyboards.html

Steve

dave_m
July 13th, 2014, 01:28 PM
Can anyone point me in the next logical direction that I should check?


The fellows have given you great tips and that should fix the problem. If the keyboard is kaput (not likely as it is just a passive array of switches), don't despair, you can substitute a VIC20 or C64 keyboard and use a special EDIT ROM from the Steve Gray website.

sjgray
July 13th, 2014, 02:25 PM
Unfortunately, my keyboard replacement project is only for 4000/8000 basic4 machines with crtc controller.

Steve

dave_m
July 13th, 2014, 04:42 PM
Steve,
Well get on your horse and develop the EDIT image for the non CRTC PETs. ;)

And when you get some time, I need a mod on the 8032 version. We really need a STOP key, but as you know that key position is not selectable due to the differences in the C64 switch matrix. Can you program the F3 or F4 key to perform a STOP Command?
-Dave

sjgray
July 13th, 2014, 05:18 PM
Steve,
Well get on your horse and develop the EDIT image for the non CRTC PETs. ;)

And when you get some time, I need a mod on the 8032 version. We really need a STOP key, but as you know that key position is not selectable due to the differences in the C64 switch matrix. Can you program the F3 or F4 key to perform a STOP Command?
-Dave

I wasnt aware the stop key was not working. I know its in the keyboard matrix table i modified... What did i miss?

Steve

dave_m
July 13th, 2014, 08:03 PM
I wasnt aware the stop key was not working. I know its in the keyboard matrix table i modified... What did i miss?





Steve,
You are right that STOP is in the matrix, but it does not seem to work.

Everything in my PET seems to be OK. I get continuity on the C64 keyboard at C0 R3 when the STOP key is depressed. There is a $03 in the modified editor ROM location $E708.

I ran a test program that GETs a keyboard input and then prints the ASCII value. When I depress the STOP key, the PRINT ASC(A$) properly displays a '3'. However the STOP key does not stop a BASIC program.


Ignore my previous message about differences in the matrix. I was confused with entering a STOP while running an assembly language program that does its own scanning of the keyboard.


Thanks,
Dave

sjgray
July 14th, 2014, 07:20 AM
Hmm, I guess I'll have to do a little digging to find the cause. Off the top of my head perhaps it's checking some other scan code or table offset during BASIC execution rather than the $03 code.

Steve