• Please review our updated Terms and Rules here

Commodore PET restoration help needed

Tiny update in the mean time. I know you all said not to buy too much stuff i dont know wether id ever need it but i had a bad case of fear of missing out in regards to those ROM / RAM replacement boards by tynemouth Software. He used to list one shop address, on which he, the seller, was marked as on vacation till Dec 31, 2021, so when he updated the website with a second shop address, I felt pressured into buying it.
Anyways, the part has arrived but unless you guys think it would be an added value in regards to troubleshooting the device, i would probably stick to leaving it stock until its running properly.

SkyCaptain
 
The Tynemouth board is very good. I have one in case my PET needs it. But right now you have new tested EPROMs and your RAM appears good so it would be of no benefit to use the Tynemouth at this time. But later if we think for example that your ROM sockets are intermittent, we can try try the Tynemouth to replace all ROM and RAM and see if that makes everything perfect. Right now the issues seem like keyboard, Video memory or screen refresh logic which the Tynemouth will not help.

I agree with you let's leave the RAM/ROM replacement board alone for the time being. We need to make as few configuration changes as we can while we troubleshoot.
 
Hey everyone, i was bored so i put that tynemouth board into the machine. On the basic setting, where the board replaces "all" functions, the machine works almost perfect. It shows BASIC 4.0, it shows the 32KB ram that come with the board. If i set the dip switches to the setting where it takes the original RAM, it shows the 16KB correctly. When I run the diagnostic program that comes with the board, it shows all characters on the screen, and there, the normal letters irradicably switch from caps to small letters.
Reading the little leaflet provided, it states "IF any of the graphics are wrong, distorted or flashing, this indicates a fault in the video ROM or supporting circuitry." So maybe this is a further pointer

anyways, im really happy that it does work with the replacement board, but i would be even happier if we could get it to run on its own again :)

Thanks!
SkyCaptain
 
That's good information. What happens when you set switches to run from original ROMs rather than Tynemouth ROM? If you get the 'choppy screen updating' then you may have some bad ROM sockets especially the Editor socket at D8.

I assume you cleaned the keyboard?
 
Yes, the keyboard is also fully cleaned and i took great care not to touch the rubber pads on the bottom of each switch to not damage the conductive coating. The board itself i cleaned with alcohol. It now works pretty well and i love the sound it makes. The return key is the only one that needs confident press for it to be registered. Its probably the most used key so theres that.

I was a bit too quick to say that everything runs fine on the tynemouth board. I have to yet check if the same behaviour exists in the stock configuration.

I turn on the machine from cold with the tynemouth board taking over everything, RAM & ROM. It starts showing the exact same symptoms. It wont update until a button is pressed, sometimes not at all.
When it does, and it goes to "ready", the cursor isnt actually solid as i previously mentioned, its just blinking extremely fast. in this state, when i press the space bar it adds a few spaces. you can make it enter just one space by really lightly and quickly hitting the space bar. The return key sometimes still makes everything act up or ever crash.

It was solid enough to try and type up a quick program, I ultimately failed doing because the computer crashed again after hitting return. But i was a good 10 minutes into using the machine and this was the longest i have had it running. (it ran longer with daver2's diagnostic chip but thats not really the point)
When i started it for the like 5th time, right after, everything appeared to be fine. It displayed the start screen text, the RAM, the cursor was blinking at a normal rate, and all the keys worked normally. Return key still needs a firm press but other than that its working.
I was able to type up a some 20 line program and run it without issue.

I will now try this 10-20 minutes running before actually checking functionality without the tynemouth board and see if that helps.
are there parts that actually need warming up to work properly when they are old?

Also something really weird i found and fixed since i had everything around... the power plug. As it was swiss and definitely not factory made, it was probably added by the importer. It was made out of some black glossy material and was cracked. So i replaced it to find out that the importer basically ignored the ground wire and only hooked up the positive and negative wire. It is now properly grounded again.

SkyCaptain
 
Only use a PET with the safety earth connected. You get to live then if a live to case short circuit occurs within the PET!

Can you check the activity on the /IRQ pin (4) of the CPU with an oscilloscope (if you have one) and see what the frequency is please.

Dave
 
Hi Daver2, yeah i was pretty shocked seeing that ground wire not being attached to anything. It just didnt occur to me to check that cause who would even do that.

Sadly i do not have an oscilloscope, will a logic probe do?

SkyCaptain
 
Sky,
The logic probe should do if you can differentiate between a pulse rate slower than 50 Hz and pulse rates higher than 50 Hz. The interrupt pulse should br a steady 60 Hz.

Do you have a spare 6520 PIA in case C7 is a problem?
-dave_m
 
Hi Darver2 IRQ on Pin 4 of the 6502 is active according to my logic probe. It indicated "high" which should mean a pulse higher than 50hz is i remember correctly.

Dave_m, So i guess my logic probe telling me "high" for everything above 50hz means i should be in the clear... I do not currently have an other 6520 PIA although i am looking at an other PET 2001 close by then i would have spares to swap for testing, but tax season is coming up and the guy has quite the steep ask for it. We shall see.

Also the machine does run without the tynemouth board installed, but it does need a good 15 minutes before it runs. but after that it runs remarkable reliable.

Thanks!
SkyCaptain
 
Just for the avoidance of doubt, /IRQ is active when the signal is LOW.

If your logic probe is indicating HIGH, how do you know whether the signal is inactive (permanently HIGH) or has a > X Hz signal on it?

A 'time' thing is generally temperature related...

Get it working and slowly go around the IC devices with freezer spray - being careful to only spray one IC at a time - and see if the machine fails when you freeze a particular IC.

Dave
 
Hi daver2, Sorry, i will check again. The probe came with a single sheet of instructions and i seem to have lost it. And cant find a manual online. But ill keep looking and clarify on the IRQ.

something i have had trouble figuring out now that its running is that i cant seem to access the graphical character. Holding shift would make the letters big.
So i read about "shifted" and "unshifted" character set. I also read that you could switch between them by typing POKE 59468,14, this doesnt seem to have any effect.

The weird thing is, right now the machine starts with all letters in small caps, but that wasnt always the case. Sometimes it would start showing all in caps.

i will look into getting freezer spray too though.

Thanks!
SkyCaptain
 
Hi daver2, Sorry, i will check again. The probe came with a single sheet of instructions and i seem to have lost it. And cant find a manual online. But ill keep looking and clarify on the IRQ.

If the probe is on a signal that is pulsing, it should blink if it has a pulse catcher capability.

something i have had trouble figuring out now that its running is that i cant seem to access the graphical character. Holding shift would make the letters big.
So i read about "shifted" and "unshifted" character set. I also read that you could switch between them by typing POKE 59468,14, this doesnt seem to have any effect.

You may have a bad VIA (C5) or the VIA is not being initialized properly because of bad addressing circuitry.
 
Hey everyone. Im aware that this whole project got a little stuck. Work in this Corona time has become weird. I finally have a two weeks vacation coming up where i plan to go back into this.

I have the manual for my logic probe again, so i will review everything we have talked about here and consolidate it in one big post, detailing everything I have done so far. I might make a new thread if thats ok, provide new pictures of the current state and videos of its behavior. Im looking at getting a second hand oscilloscope although they are still pretty expensive even for second hand ones. I also have one of those PET to SD card readers now, are there diagnostic programs that i can load through that which would help me find do some error finding? I was also able to get my hands on a 2031 single disk floppy drive, but sadly im missing the cable to connect it to the computer, so i dont know if it still works

anyways, this is far from over and I will be back with new progress updates.

SkyCaptain
 
Last edited:
Alright, im back with some updates. I hope everyone is doing well!

So the first thing that i can now confirm is that my character switching doesnt work. Poke 59468, 12/14 does nothing. And the computer does consistently start up with the first character set enabled, then after 5mins or so starting to flicker between the two before finally switching to the lowercase set.

ive also found a small program that would let me display the character set and switch between them which works perfectly in the emulator, but not on my machine

100 REM *** CHAR DEMO ***
120 REM
130 REM SHOW PET CHAR
140 REM (PRESS KEY TO CHANGE)
150 REM
160 PRINT CHR$(147)
170 FOR CH = 0 TO 255
180 POKE(32768 + 2 * CH + 40 * INT(CH/4
0)), CH
190 NEXT CH
200 FOR I = 1 TO 23 : PRINT : NEXT
210 PRINT TAB(32) "59468=1";
220 IF PEEK (59468) = 14 THEN 250
230 POKE 59468, 12 : POKE33767, 50
240 GET A$ : IF A$ = "" THEN 240
250 POKE 59468, 14 : POKE 33767,52
260 GET A$ : IF A$ = "" THEN 260
270 GOTO 230
280 REM
290 REM **comment regarding 80 column PET's
300 REM
310 FOR I = 1 TO 11 : PRINT : NEXT


Also i have purchased an SD to PET card reader... which also doesnt work. Ive found a post on Tynemouths software blog on troubleshooting your IEEE port and found the following statement
"To read it back, type
PRINT PEEK(59424)
That should show 0. If it does not, there is a problem with PIA#1 or one of the MC3446 buffers."

Mine never reads 0. So now im wondering if this is a first clear sign of one or more broken components.
what would i need to do to see if the PIA #1 is working correctly? And if, to see if its the mentioned MC3446 buffers?

im pretty sure its all in the blog post that ive linked but hes writing to people who understand what he's talking about, and im not really there yet ^^

thank you all for reading
SkyCaptain
 
You might like to download and read this book...

https://archive.org/details/PET_and_the_IEEE488_Bus_1980_McGraw-Hill/page/n41/mode/2up

There is a lot of background information in this book about the IEEE bus and examples of how to test the lines themselves.

The IEEE signals are dispersed over the two PIAs and the VIA - so any of these devices going faulty will mess with the IEEE port.

However, the GRAPHICS signal is only sourced by the VIA.

You don't (however) disclose what value was returned when you typed PRINT PEEK(59424)?!

The IEEE data bus is a 'combination' of the data output wire-or'd with the data input - so the problem could be an output problem or an input problem.

I have the real book - so give me a bit of a chance to have a look at it first.

PIA PORT A is the INPUT port.
PIA PORT B is the OUTPUT port.

See page https://archive.org/details/PET_and_the_IEEE488_Bus_1980_McGraw-Hill/page/n53/mode/2up for details of the internals of the buffer and how it drives the IEEE bus.

With nothing connected to the IEEE port of the PET, whatever you output "POKE 59426,n" should be read "PRINT PEEK(56424)".

Output 0 - what do you read?
Output 1 - what do you read?
Output 2 - what do you read?
Output 4 - what do you read?
Output 8 - what do you read?
Output 16 - what do you read?
Output 32 - what do you read?
Output 64 - what do you read?
Output 128 - what do you read?
Output 255 - what do you read?

This should exercise all of the data bits.

You should also be able to read the state of the signals on the data bus of the PETs IEEE connector (J1).

Data bit 0 (LSB) = DIO-1 = J1 pin 1 etc. (see http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/2001N/320349-2.gif) assuming I have got the correct PET schematic of course...

Dave
 
Last edited:
A typo crept into the address. The PEEK statement should read: PRINT PEEK(59424).

Note that for the ports to work, the Data Direction control must have been initialized correctly on power up.
 
Last edited:
So If I understood this correctly, I should be able to poke59426,n all of the following values, 0,1,2,4,8,16,32,64,128,255, and be able to read each value back with "print peek(56424)".
So i went through each number, and read it back with the peek command. Every time the result would be 162. The number doesnt change after a restart, although i know the number was different yesterday. Something in the 80's.


"You should also be able to read the state of the signals on the data bus of the PETs IEEE connector (J1).

Data bit 0 (LSB) = DIO-1 = J1 pin 1 etc. (see http://www.zimmers.net/anonftp/pub/c...N/320349-2.gif) assuming I have got the correct PET schematic of course."

How am i to read the state? With my logic probe or with my multimeter?

Thank You :)
SkyCaptain
 
Back
Top