• Please review our updated Terms and Rules here

Commodore PET 8032 from scratch project

johnq

Experienced Member
Joined
Sep 24, 2022
Messages
186
Location
Manchester UK
(Not sure if mods can move this to the 'PET and CBM' group?)

This is probably going to be a long running thread with my trials and tribulations on getting my Commodore PET working, and more of a documentation process which will no doubt help future me when I come back to this in a few years, and hopefully will help anyone else with troubleshooting. This will also be easier than create separate threads for each problem I run into.

A year or two ago I was given a PET 8032 from a friend who got it from eBay in a unknown state and was told it used to work as some stage. (Boy was this a lie)

I've used PET's back in the 80's but never repaired them (Have been repairing just about every other kind of retro computer so was up for the challenge)

First off after looking at the IC's on the board and receiving info from the members here it turns out the '8032' I had was a franken PET - completely wrong board in it, and even the board had a mix and match of incorrect IC's on it. More on that here:

So the main board was a disaster but the CRT looked to be salvageable so I just needed the correct board. Turns out the main boards on eBay are a absolute fortune now if you can find them.
The power supply/case also looked to be ok - more than that later.

I then decided to build my own 8032 from scratch (Yes, you read that correctly) by building and assembling a universal board to work with the CRT.

Going through the BOM most of the chips are easily available and the MOS chips can also be found (for a price)

First issue was after hours of searching I could not find any CAD schematics or gerbers for this board. I spent a few weeks creating the schematic in KiCad and after obtaining some hires photos of the PCB from the members here I painstakingly created a replica PCB.

(Once I've confirmed everything is working I'll make the gerbers avaialble with BOM etc on github)

Wow did I underestimate this task, but no turning back now. One of the most complex projects I've done on KiCad but was fun and learned a lot.

Screenshot from 2024-10-25 10-38-23.pngScreenshot from 2024-10-25 10-31-34.png

PCB's ordered which came out better than I had hoped. (With a few small silkscreen errors)
20231218_103303.jpg

Then began the long process of sourcing, testing chips and assembling the PCB.
One of the issues I have is with no known working PET to the test chips on it makes it more difficult to troubleshoot. However with my collection of retro computers I was able to test the 6502 and 6522 chips.

I also built a MC3446 testing as had no way to test these. More info here:

After many late night soldering sessions it was finally completed along with few custom ROM adapters.

20241025_100259.jpg


Now for the power on. What can go wrong - you have a untested PCB which could easily have errors, and you have some untested IC's. The CRT also needs a bit of work as there are some rusted/broken components, so will have to tackle that later.
Luckily I found some good documenation online to connect up a RGB2HDMMI to the PET. No need for the CRT just yet.

I don't have a photo but first powered on without any of the chips in case there were power issues. Connect the power cable up and notice the fuse holder is missing. Nooooo!!!

Back to the forum and sourced a new fuse holder. More info here:

Fuse connected up and time to power on again. This time it's got to work....right......right?!
Turns out next failure was the inline noise suppressor. :( Removed it as it's a common faulty and is not really needed. Connected up everything again and this time there's power. :)

+5V, -5V, +12V lines all working and stable.

Connected up all the chips and checked clock, reset, nmi, sync, irq - all good. Can see instructions are being executed as sync is pulsing.

On power up I now get 3 quick beeps so there is still some issue. (I can't find much info on the startup beeps and can't remember is this normal)
Connected up the RBG2HDMI and set the PET 8000 CRTC profile and powered on.


It's alive! It's alive!! Well kind of.
This is the issue I'm now faced with. Cursor is blinking so it's doing something. The garbage on the screen also resembles the startup with RUQTY in place of READY. So maybe some char rom issue. I've tested the char rom on my custom tester and it passes so some other issue here.

20241025_100315.jpg

After a few hours of reading up I thought I'd try Dave's PETTESTER. There is some corruption with what looks like extra pixels inserted all over the place. (I don't think it's the RGB2HDMI but have downloaded the latest version and tried all the PET profile and sub-profile CRTC-333 gives the best results:

The test remains on this screen and does not progress:

20241025_113221.jpg

Now starting to run out of ideas. Any pointers would be appreciated. (I've got all the tools at hand to troubleshoot, scope, logic analyzer, dmm etc)
All logic chips were tested with a TL866 for what it's worth.

I have a original MOS6502, MOS 6522 (Tested) and using replacement MC6821P (PIA) and UM6845 (CRT Controller)
PCB is configured for 40 column.
 
Last edited:
Some progress. Read through the PETTESTER docs and it mentions video RAM. Replaced UC5 (2114) and it's getting a bit further. Still some video corruption but moved on the next screen so will let it run it's tests. Also replaced the other 2114 in UC4 just in case.

20241025_120034.jpg
20241025_120446.jpg

Not 100% sure about the strange characters but booting back with the EDIT ROM and screen looks almost perfect now.
There is a extra pixel in the B (for Basic)

I'm wondering if this is a issue with the RGB2HDMI but from what I've seen on YT the picture is perfect for other users.


20241025_120740.jpg
 
Last edited:
Well that took a turn for the worse. I replaced the ROM with PETTESTER again and reran the tests - all passes. Then put the Edit ROM back and now I get a crash on startup :(

I get the 3 quick beeps, then the video displays all the characters and then I get this:

20241025_212545.jpg

Tried resetting all the chips - rechecked all the voltages. Everything still looks good but PET crashes on every startup now. Always at the same program counter CD68.

Re-tested with PETTESTER and still all good. Im now completely stumped.
 
A few hours later.....

Fixed the crash error. For some reason the ROM in UD9 (BASIC) stopped working. Replaced and it's back to working again.

The strange corruption on some of the letters was the next thing that bothered me - 2114 chips are all good. I ran PETTESTER for 20 passes and no issues found.

The weird thing is there was corruption at the same place every time on bootup. The spaces and d and y from ready was corrupted. But then typing a d and y they looked fine so that ruled out the character ROM, or so I thought.

Took a chance and replace the character ROM. I am using a ROM adapter with 27C256 chips which passes on my custom 2316/2332 reader but when replacing the 27C256 with another one (-150, the previous one was -120) it make things worse...ahh haa. Maybe speed related or the 27C256 chips I have are dodgy and too slow.

I then replaced the charrom with a W27C256-45 and it's working perfectly now. No more video corruption. Very odd as all the other ROMs are happy working with the 27C256 chips I have (with adapters)

Next on the list was the keyboard. I've got a business keyboard with a 40 column PET and 50Hz but can't seem to find a ROM for this. Used the normal keyboard ROM just to verify keys were working.
In the end I converter it to 80 column and installed edit-4-80-b-50Hz.901474-04-0283.

That's now fixed the keyboard layout and video is working.

Next is to check the user/cassette ports and then onto getting it working with the CRT

20241026_104925.jpg
20241026_105141.jpg
 
Well, good work.

Nice job with the PCB!

My PETTESTER generates the checksum for the ROMs. This should have spotted the erroneous ROM (if you checked the manual)!

Did you leave the DRAM test running for a reasonable period of time (say a count of 20)?

If you have used too slow an EPROM in the character generator position, you can get the 'twinklies' as the data bus is not fully stable when the data is latched into the parallel to serial converter to generate the video signal.

Dave
 
Well, good work.

Nice job with the PCB!

My PETTESTER generates the checksum for the ROMs. This should have spotted the erroneous ROM (if you checked the manual)!

Did you leave the DRAM test running for a reasonable period of time (say a count of 20)?

If you have used too slow an EPROM in the character generator position, you can get the 'twinklies' as the data bus is not fully stable when the data is latched into the parallel to serial converter to generate the video signal.

Dave
Thanks. Brought a smile my face seeing the Commodore text on bootup.

I did check the checksum on the ROM's when it was working :) Didn't check again after it died. I left the DRAM test running for 20 counts. I read you recommended this to someone else in a thread so seemed a good number. Took a while but I'm confident the DRAM is all good now.

The 'twinklies' really threw me for a loop. The problem with having so many unknowns is you don't know where to start looking. I first wrote this off as a issue with the RGB2HDMI but after playing around with all the settings I realized it must be some fault on the PET which then lead to the question was it a PCB design error I had make. Thankfully not and it's crystal clear now. Good to have a explanation on why it occurred.

Before I tackle the CRT I need to fix the keyboard. There are a lot of keys that don't work or work intermittently, and that's after a deep clean. The PCB is spotless so it must be a resistance issue with the soft (carbon?) keys

Will do some more reading up on the best way to fix these.
 
Use the PETTESTER keyboard check screen.

Each key should have a unique byte and bit that should change to a '1' when you press a key.

You may find it is individual keys (most likely) or an entire byte of keys or an entire bit of each byte that doesn't work.

The last two issues indicate a logic fault (I can help further with this if you crate a 'matrix' of the byte verses the bit and fill in the key legend at the intersections, identifying which keys do not work. You should then identify a complete row or column is missing).

Dave
 
Use the PETTESTER keyboard check screen.

Each key should have a unique byte and bit that should change to a '1' when you press a key.

You may find it is individual keys (most likely) or an entire byte of keys or an entire bit of each byte that doesn't work.

The last two issues indicate a logic fault (I can help further with this if you crate a 'matrix' of the byte verses the bit and fill in the key legend at the intersections, identifying which keys do not work. You should then identify a complete row or column is missing).

Dave
I've checked with PETTESTER and it's individual keys. Some of them work then pressed really hard and some don't work at all (But do work with the PCB open and the keypad shorted)

So this points to the carbon pads which are not low enough resistance anymore. I've got some carbon conductive keypad repair paint will try.
 
Finally getting some more time to look at this.

Redid the keyboard with some keyboard repair paint. All the keys are working again.

With the universal board looking like it's working it's time to hook it up to the CRT and see if the CRT is working or if I have another dud,

Took the CRT PCB out and it didn't look good. So much corrosion. Fortunately it wasn't too bad. Replaced a few components with corroded legs and a few leaky caps that had seen better days. Also 2 resistors burnt out but that looks like a common issue.

20240518_160759.jpg

Cleaned up pretty well. There is still some corrosion on the pots which I will probably replace anyway.


20250224_120630.jpg

Tested all the caps, diodes, transistors and ready to test.

Connected it all up and got the fire extinguisher ready.

Powered on and.....no smoke. It's working. Was expecting another major fault finding session :)



20250224_120828.jpg

All in all I'm happy is it all seems to be more or less working. Was thinking the tube was damaged but the video is very clear.

There is one small issue with the a jittery screen. I think it's to do with the vert pot that's corroded. If I touch it with plastic poker the screen jumps all over the place.

Hopefully those pots are a standard size and I can find them. Will scour the usual places.
 
What an excellent job you did with the PCB. Do you have considerable CAD experience? I hope you do post the files. I am amazed that most of the parts you sourced worked so well. You must have bought from very reputable vendors. The resistor network UB11 is not encapsulated. Was that from Vishay Dale or self made? I noticed you went without a shield for the oscillator circuit. I wonder if that contributed to the twinkling video character issue? Maybe not, as you solved it with a faster EPROM, although the original Commodore ROMs were very slow. Remember to check out the cassette and IEEE 488 interfaces when you obtain some I/O devices. You did a great job saving that PET!
 
Thanks. I've got a fair amount of experience with KiCad. This was one of the bigger projects I've tackled though so it was with great excitement when it booted up.

The resistor network was self made. I could have bought from eBay but it was more fun to design one, and cheaper too.

So close to the end. I still need to test the I/O devices.

One everything is tested and confirmed working I'll post the files. So far the only issue I've seen is the wrong silkscreen on one or two components but it's cosmetic and will be corrected.
 
Hi, I was wondering if you had any updates to this? Can you provide us with the KiCad files? Thanks
 
Really cool!

if you or anyone else feels like doing this all over, the 8296 board might be a good candidate. It's software backwards compatible with the 8032, but it only uses 64kbit DRAM chips so no need for three voltage rails and also no need for separate SRAM chips for the video part.
 
Back
Top