• Please review our updated Terms and Rules here

Commodore Pet 2001 Garbage screen

belzrebuth

Member
Joined
Jun 25, 2021
Messages
30
Hi all,
first post here.!

I've got a Commodore Pet 2001 (model with 2114 ram ICs and 2316B ROMs pcb v.320137).
The unit was in bad shape very dirty and the fuse was blown.
The power cables to the PCB were not crimped to a connector but soldered in place and the 4th wire of the PCB power connector has broken off touching the 5th wire.
That was probably why the fuse was blown.
Cleaned a bit and powered it on to be greeted with a garbage screen.
The previous owner said even when the fuse wasn't blown he was still having a garbage screen.
So the power accident might have only made things a bit worse.It shouldn't be the root of the problem.

I've checked the 5V power rails and they're good.
Then I breadboarded a 2114 RAM tester (the one with the arduino nano) and 3 or 4 RAM ICs came out bad.
That's okay cause we don't need ALL the RAM to boot.

Then I used my TL866 programmer to read the 2316B ROMS (trick with the hex inverter to treat it as a 2716)
All the checksums of the ROM binaries are ok according to the files at zimmers.net.


Next I tried a minimal configuration (only 4 good RAM chips on the first 4 right positions) and 6522/6520 removed.
Still garbage screen/no boot.

One clue is that the resistance to ground of the first top left 7805 is about 400 Ω which is a bit low compared to the 2nd and 3rd which are about 2k.
The 4th is also a bit low at about 1k.
As I understand all 7805 output legs should be around 1.5-2k to ground.

Any suggestions on how I should proceed?
 
First of all, welcome to VCFED (as this is your first post).

If you look at my posts on the Commodore section you are in you will find a number of them where I describe exactly the procedure to be followed.

First off, do you have an oscilloscope?

Second off, have you got a 2716 EPROM (so you can burn my PETTESTER ROM into)? This replaces your EDIT ROM and runs some diagnostics on start-up (assuming the processor is actually working). You have the VDU working (most likely) so that is how my firmware communicates with the human! This is free.

There is also a little board available from one of our members that inserts itself between the CPU and the PET PCB and can replace the ROM and RAM, it has my PETTESTER firmware built into it - and it also contains a useful utility called a NOP generator. These are all very useful 'tools' for fixing a PET.

The key elements are:

1. Test the voltage rails.
2. Test the CPU clock.
3. Test the CPU reset line.
4. Test the CPU interrupt lines (/NMI and /IRQ).
5. Test the CPU sync pin to see whether it is executing instructions or not (or it does when it starts up and then goes into the weeds).

If you can't find a relevant post, let me know and I will hunt one out for you.

You have come to the right spot :)!

EDIT: If you fill your location in within your profile - we will know what timezone you are in and if there are any VCFED members nearby.

Dave
 
Next I tried a minimal configuration (only 4 good RAM chips on the first 4 right positions)

It is not clear to me what you mean by "first four right positions". I cannot find a top assembly drawing for this board. But check carefully, if you have 4 good 2114 RAM chips, they must go into these socket positions in columns 'J 'and 'I':

First pair in J8 and I8, and then the second pair in J7 and I7. This will give you 2K of RAM which is plenty to run the PET.
 
Thanks for the kind welcome!

Yes I've got a scope and I also have a spare 2716 so I already made a ROM with a pettester.bin I've found on zimmers.net I think.

The problem is that I don't know where this EPROM should be placed.
I think I've read I need to make an adapter for it but maybe I misunderstood.
Is the 2716 going straight in the PET ?!
If yes should it be installed with the other ROMS removed?
Sorry if this info is already elsewhere but since you wrote it you can certainly briefly guide me how to use it.

1) I've only checked 5V and the transformer AC rails.
I think the CRT should be good voltage wise since it syncs and displays stuff.
Haven't really messed with the CRT yet.
​​​​​​2)CPU clock seems correct it's siney but transitions are clean although there's a bit of extra harmonics on the lower half of the wave. I'd say that's normal.
3) reset goes HI after a sec or so after power on.
I'd guess that's also normal.
4) interrupt IRQ pin is high when the computer is on but haven't yet checked it at power on. will do and report back.
5) sync has narrow pulses IIRC but will recheck.

Do you want me to provide any screenshots of any pins?
 
With the good RAM at position J8,I8 and J7,I7 the computer goes past the character screen but seems to freeze at black screen.
No sync pulse and no pulsing address lines.
The voltages are there so there's no direct short of a rail or something but the sockets are not to be trusted.
I guess it tries to boot since it goes past the character screen?!
It could also be a glue logic IC at those chip select lines maybe?
​​​​​​Without ANY ram installed I get the character screen as before.
With only one or two chips on J7 or J7&I7 still garbage.
Only one chip in I8 still garbage.

With only J8 I get different garbage!!
The screen is kind of compressed, still character stuff but there's some dancing around.
So it's definitely having to do with the J8 position.
If I populate J7 and J8 only I will get past the character screen and go to black screen.
 
Update:
with the PIA chips removed I get a white square character on the lower part screen.
 
Sorry for triple posting.
I got it to boot by firmly pressing the 6522 chip to it's socket!!
1023 bytes free:)
But there still is a square character.
Is this because of the PIA ICs missing?!?
(yes it was because of the lower PIA was missing)

But unfortunately this didn't last...

After the machine booted I got all hyped to try to get the keyboard working.

So I've put the lower (next to the KBD connector) PIA chip in there and seemed to boot fine with it.

I thought to myself that's all fine so why don't I also put the upper PIA chip in its place?
I did that and when the machine booted it only recognised 3 Bytes of RAM or whatever so I turned it off and removed the upper PIA thinking it was probably confusing things up.

Then things got a bit wild since I stupidly decided to put the "bad" PIA in the place of the good one to check if it's really the chip that's acting up or its socket that's faulty.

And as it turns out this wasn't very smart cause when I powered it on I got nothing on the screen!!

I then put the good one in the lower position (where it was when the machine was regularly booting before) and still nothing.
I think I must have damaged something putting the bad PIA back in but I'm not really sure cause I didn't get a chance to find out if it's really bad.

I only wanted to see if the one that I marked bad was really bad but I've got no other means to test a 6520 so that's why I've put it back.

Anyway, so now I got consistently nothing on the screen when I power it on.That's good I guess since it's at least stable.

One thing that randomly happened two or three times out of 20 or so power ups is that after I turn it on and off and then *back on* I got it to boot to BASIC.

I don't know what to make of that really because it's inconsistent and a lot of times it won't happen at all.It's like it kind of wakes up the machine but I'm sure there is a problem now that probably wasn't there before because I really got it to boot a lot of times and it booted everytime.

So really back to where I started I guess.

With the black screen I still get all kinds of activity on the CPU so it's not like the computer is really dead but there's no image and no boot of course.
 
Last edited:
A black screen on power-up is generally a good indication of bad RAM in pages 0 or 1. The machine powers up, calls the subroutine within the EDIT ROM to initialise the hardware (and clear the screen). However, the return from subroutine picks up garbage from the stack (in RAM) and it goes into the weeds.

You need to get my PETTESTER running!

Dave
 
Ok, I think I got it running again.
It was bad RAM for some weird reason.
The arduino tester does a good job identifying bad ram but maybe not a 100% certainty that the one identified as good will work.
I replaced the RAM ICs until I find 4 that work.
Now I will re-test any ram ICs all over without touching the first four.
So the machine boots.
I've also placed the two previously "suspect" PIAs and it boots still.
Although I get the odd square character at times.
What's up with that?
And of course the keyboard does not work at all.
I need to give it a good clean in order to properly test it.
No matter the applied force or repeated keystrokes I can't get it to register anything on the screen.

About the pettesterl; I have indeed burn a 2716 as I've mentioned before but since there is this newer version I need to search for a second 2716 or erase that one.
I will certainly use it for a final test of everything before I call this repair completed.
And thanks for making it avalaible of course.

So the problems I now have is the keyboard which is not working and that randomly appearing square character.

My board is not in the best shape and I'd really should replace all the RAM sockets, maybe all the sockets but these are part of the "restoration" I intend to do not the actual repair.
Except if a bad socket is giving me these problems..
 
Keyboard registers characters after some cleaning and reassembling although characters "L" and "K" seem to confuse the system because after pressing either of these I get vertical squares on the screen.
It might be a bad trace or something or maybe double triggering of sorts.
I may need to do a further clean of the carbon contacts and inspection of all PCB traces to determine if it's actually the keyboard that's going mad.
I guess if a PIA chip was malfunctioning I'd get some different behavior??
What I mean is that since most contacts register fine that means PIAs are also fine?
 
Any idea why my post are "unapproved" and green? I wrote a couple of very lengthy posts that are still green somehow.
 
Keyboard registers characters after some cleaning and reassembling although characters "L" and "K" seem to confuse the system because after pressing either of these I get vertical squares on the screen.
It might be a bad trace or something or maybe double triggering of sorts.
I may need to do a further clean of the carbon contacts and inspection of all PCB traces to determine if it's actually the keyboard that's going mad.
I guess if a PIA chip was malfunctioning I'd get some different behavior??
What I mean is that since most contacts register fine that means PIAs are also fine?

If you are fairly convinced that you have issues with the 6520 PIAs (and not with the sockets, etc.) replacements are one of the easiest PET replacement parts to come by. WDC still makes new, fully compatible 6521 PIAs, their part number W65C21N6TPG-14. Mouser stocks them. They should be about $6 each.
 
I don't think the PIAs have a problem after all.
My keyboard contacts seem to be all over the place even after carefully cleaning them.
I've put a liquid graphite coating on them to enhance their conductivity and I'm waiting for it to dry.
The weird character randomly appearing on the screen I've wrote about earlier was due to a faulty video RAM IC.
This is also sorted now.
So the computer now boots every time, recognises the RAM installed and from brief checks with BASIC seem to execute commands.

What I need to do now is clean the tape assembly and replace the belt drive.
Possibly make a pet2sd disk clone for it.


Of course I need to run the PETTEST program but I'm still unsure where the ROM should be installed.
I'm positive the manual does not state it at least explicitly.
From what I've got from reading around it should be at location of the "EDIT" ROM which seems to be H3.
I wasn't able to find the names of the ROM locations only their start and end hex address.
I've also read that H1 should be the KERNAL? And the one ending in -08 in the other side of the board is the character ROM.
Don't really know the names of the other ROMs.

So about the PETTESTER V04 EPROM:
I've already installed it in position H3 and H1 but it doesn't seem to work properly in either of those locations.

At location H3 which I think might be the correct place it just fills the screen with numbers and letters but does not move past it.
And it's not clean output.
Seems like the video signal is overlapped somehow.
 
The PETTESTER works at position H3.
It was the socket not making contact again...
Are those sockets really that bad?!?
 
MEM fail not men fail:p
Upon reading the manual (sorry but I always do that last) I think this actually doesn't mean that's anything faulty in my 2001 PET since there's not actually any DRAM installed in it.
So since the test tests (static) RAM first I would suppose the memory is good since it would attempt to retest if it found anything bad, right?

I'm only asking cause the "ggg...gg" pattern is very fast on power up and I can't really see it.
Maybe I could wait to take a photo of it.

ROM checksums are B=7800 C=CD5D (I've read in the manual that this should be okay) d=5045 F=0CA4 (this should be 0CA4 as stated in the manual).
Does this mean my ROM is bad?Or just a different version?
 
MEM fail not men fail:p
Upon reading the manual (sorry but I always do that last) I think this actually doesn't mean that's anything faulty in my 2001 PET since there's not actually any DRAM installed in it.

There is no difference in testing the RAM. Test does not care if your RAM is static or dynamic.

ROM checksums are B=7800 C=CD5D (I've read in the manual that this should be okay) d=5045 F=0CA4 (this should be 0CA4 as stated in the manual).
Does this mean my ROM is bad?Or just a different version?

The H4 or H7 ROM is bad. It should read 0CD4. This test only checks in blocks of 4K ROM so we cannot tell which 2K ROM is bad.

-dave_m
 
Oh okay, I didn't catch that in the manual.
I thought memory check is performed before the ROM check.

So I still have RAM errors and as it turns out I have a ROM error as well.
I've actually dumped my ROMs one by one and compared their checksums against the 901447 images posted on zimmers.net.
I thought all my ROMs are good..
Is it possible the pettest to have a different checksum for that particular ROM and we're both right!?

And I was thinking to close it up:)

Okay, so I have to pass the pettest diagnostic without ANY error in the DRAM test , right?

Does the test runs and report "gggg" in the first screen if there's any errors in the lower 4 chips at positions J/I 7&8?
Because I think I've got an all "gggg" screen with only those installed and then the MEM fail error.
 
It is just possible there is a version of BASIC out there that we haven't got the correct checksums for. I think we did find one not too long ago. But they are relatively rare now.

I wouldn't bother too much about the ROM checksums for now - concentrate on the RAM errors.

DRAM is in all of the later PETs (apart from the very earliest). I called it a DRAM test. It is (more correctly) a plain old RAM test. However, it follows the MARCH-C test - which is designed to find some weird effects in DRAM. So, it is most likely performing tests on your static RAM that will not fail... But, the more the merrier...

The initial tests (b/g) check out the lower two pages (256*2 = 512 bytes) only. Page 0 is a key area of memory for a 6502 - as is page 1 (the stack). If these don't work - forget it...

First dumb question - how much memory have you got in your PET for my PETTESTER to test?

It specifies the number of K it is going to test on the very first page of the memory test. Does it align with the amount of memory you actually have fitted? If not, it has detected an error with the RAM and we need to have a look to see why. $0800 is 2048 bytes or 2K. I think my PETTESTER may make some assumption about the smallest amount of memory in a PET - and if you don't have that much it will assume (wrongly) and error...

EDIT: I read my PETTESTER manual and it states on page 13 that it works with 4K, 8K, 16K and 32K of RAM. 4K (the minimum) is $0000 to $0FFF. This is now why I used the term DRAM. The smallest DRAM PET uses 4K chips, so 4K is the smallest size of DRAM PET. If you add some more 2114 RAMS (up to the 4K limit) you should be good-to-go.

The PETTESTER doesn't have a knowledge of what ROM checksums are right or wrong. It just calculates the checksum and displays what it finds. Simple as. The manual - however, has the list of known ROM checksums to date.

Dave
 
Last edited:
Back
Top