• Please review our updated Terms and Rules here

Commodore PET 2001-8K Memory Test Program

AndyG

Experienced Member
Joined
Oct 11, 2016
Messages
396
Location
UK
Just wanted to feed back something I found recently....

I purchased a faulty 2001-8c motherboard that upon inspection had suffered from long term exposure to high/low temps & humidity whilst in storage. Someone had tried to repair the board previously (and failed). I found one of the 5 Volt regulators had failed dumping the input voltage onto the output (never seen that before).

I ended up replacing most of the boards IC's - due to corrosion (the "tinning" was falling off the IC legs) - got it up and running great with the PET ROM/RAM board.

4 of the ROM's were dead as the legs fell off due to corrosion so I replaced those with the 6450 ROM adapters I got from Retro-innovations.

I was also getting random 6550 RAM issues - no surprises there. I tried replacing them with a few I had in the draw. The difficulty was determining which IC's were faulty as the power on screen now showed a full ram complement. I tried the RAM test program in PET Revealed but it said all had passed.I then tried the ROM based program from

http://lc64.blogspot.com/2016/10/pet-2001test-for-65406550.html

but that showed everything was working OK.

Trawling through my stuff of PET downloads (as was now considering writing my own test program), I came across "Testing the PET computer" set of diagnostic programs. There is an 8K RAM poke test program in the set. I dumped it to tape and ran it. Low and behold it identified a faulty RAM chip. I moved this chip around the board the program correctly reported the bad chip. Replaced the RAM chip and now the board loads and runs programs without issues.

This is the only RAM test program I have come across that has found this fault so recommend it to others - provided you can get it dumped to tape.

View attachment 8K MEMORY POKER.prg.zip

I have no idea where I downloaded the "Testing the PET computer set of diag programs" from but is recommended. I could have just stopped at the ROM/RAM board but like to see things running if I can "as intended" configuration.

Andy
 
Last edited:
Most memory test are only look to see if the location can read and write. Address faults can go untested. Early on, many used GALPAT but it grows in exponentially with memory size. Then "March C" was created. It catches just about any possible fault a memory can have. It doesn't always find bit-line cross talk without running a couple different addressing methods but it is much better than the simple test most do. Also, without delays added, it doesn't do retention test well or read disturb test well.
Still, march C is used as the basic production test by most memory manufactures.
I always recommend using a pass with sequential addressing and once with gray code addressing. That makes it a stronger test for these oddball failures.
Dwight
 
Yes ..... great info Dwight

I fell victim to an address fault with one of my SuperPET memory boards. Available Memory test programs said all was well but clearly it wasn't. I found the issue was with a 74ls157 IC rather than RAM chip which was not good !!

I haven't yet reviewed the methods used in the 8k memory poke program - though it sorted the issue. I tried bad 6550 IC's in other locations and it found them....

Andy
 
My PETTESTER code uses the MARCH-C memory test for that very reason.

The only problem I ran into (and plan to fix sometime) is that to access memory and use 16-bit address pointers you have to use page 0. But, page 0 is in RAM so may not work. Catch 22...

I need to do a better test of pages 0 and 1 of RAM in order to ensure that my 16-bit pointer use of page 0 is OK. I think I have identified some suitable testing which involves bit shifting.

Dave
 
Dave

Does your tester code work on the 2001-8C (Chiclet PET) ?

Cheers
Andy



My PETTESTER code uses the MARCH-C memory test for that very reason.

The only problem I ran into (and plan to fix sometime) is that to access memory and use 16-bit address pointers you have to use page 0. But, page 0 is in RAM so may not work. Catch 22...

I need to do a better test of pages 0 and 1 of RAM in order to ensure that my 16-bit pointer use of page 0 is OK. I think I have identified some suitable testing which involves bit shifting.

Dave
 
Last edited:
Andy,

It should do. I designed it to run on all PETs with all versions of BASIC.

It replaces the EDIT ROM (which would normally be in an IC socket).

Dave
 
Back
Top