André's 8-bit Pages  Projects  Code  Resources  Tools  Forum
browser
Site has been tested with a number of browsers and systems. Javascript required for advanced menu, but degrades gracefully without Javascript. IE6 not supported anymore!
search

(Google, in new window)
share
follow
Follow my 8-bit tweets on
Twitter
(In new window)
discuss

Discuss my site on this 6502.org forum thread

(Forum registration required to post)

Hot!

Dive into the retro feeling and build yourself a Commodore PET replica

Need more speed? Speed up your 6502 computer with this 10 MHz 6502 CPU replacement board

Interested in electronics design? Look at the design lesson I got from Bil Herd, the hardware designer of the C128

Want 64bit? - pimp the 6502 with the 65k processor design!

You are using an old MS Internet Explorer as browser. This version is not supported anymore. Please use a more modern browser, like Internet Explorer 8 or later, Firefox, Google Chrome, or Opera.

Commodore PET repair info

This page contains an overview over hardware defects, how to detect them and how to fix them.

Note: this is a work in progress!

  •  
    2010-04-12 Added the vertical lines screen problem with link to the solution.
  •  
    2006-12-21 Started this page
This section contains generic advice.
  • Tools In general you should have good tools if you endeavor to analyze and fix a hardware problem (not only(!)) with your PET ...
    • Generic Tools:

      My trusty old Oscilloscope I got in used condition in 1986 from a swap for then 160DM (about 80€) - all tubes and still works :-)
      My main tool is a Voltmeter, and I regularly use an old oscilloscope. A logic probe is also very helpful if you don't have an oscilloscope. It should at least be able to detect hi, lo, open, and clocking.

      Here a comment from William Levak:

      I used to repair PET's with an oscilloscope and voltmeter. The kind of oscilloscope used on old analog TV's is perfect, because the video circuits are similar. These oscilloscopes were available in kit form from Heathkit, Knight, RCA, and a number of other sources. These oscilloscope kits were sold in the millions, and can still be found on the used electronics market. If you get a used one, the capacitors will probably need to be replaced, as they were the old paper type capacitors. They tend to go bad, especially if left sitting unused for years.

      Even without an oscilloscope or logic probe you can use the Voltmeter to check lines like Phi2 or address lines. If the Voltmeter shows Phi2 at constant 5V, it's dead. Same for 0V. Instead the Voltmeter should be somewhere around 2-3V, as it averages Phi2 high and low.

    • 6502 and PET Specific Tools: Here some more specific tools, that you can actually build yourself if needed:

      I have a simple "CPU emulator": A small board to plug into the CPU socket, where I can set all address lines and the R/-W line with dip switches. I use this to check address line decoding.

      A reset switch comes in handy as well.

      Quote from Olaf Seibert from the PETdoc document:

      If you hold down the diagnostic sense line (user port pin 5), you'll end up in the monitor instead of doing the full reset thingie. A PET at our school's computer club had a smart thing with a switch wired to reset, and diag through a condensator. If you flicked it quicky it would reset; if you kept the switch in the alternate position a few seconds it would decharge the condensator, pull down diag, and when switched back you came back in the monitor.

      Another comment from William:

      Commodore made a diagnostic device for the PET. It consisted of a 40 pin clip that attached to the CPU. This was connected by ribbon cable to a small circuit board that contained a ROM and a reset switch. When pressed, the address bus was forced to $9xxx, causing the computer to initialize from the ROM on the diagnostic device. A diagnostic routine was then loaded to low memory on the computer and the 40 pin clip removed.

      This device is not very complicated. I have never traced out the circuit, but it should not be difficult to do. I think the ROM images are in the CBM archive. There are two of these devices, one for PET's with the CRTC, and one for those without the CRTC. This device was not intended for the original PET's (which have their own built in diagnostic routine), but with a few changes to the system board, it will run on those too.

      There are connectors with jumpers on them that need to be put on the keyboard and user ports. These are simple enough to be made by almost anyone.

      Note: the diagnostic devices and their use are described in the "Testing the PET Computer" manual, unfortunately the manual assumes you already have them, so it lacks the details. I could find the diagnostic connectors on the CBM archive. For the original PET, these are all you need. The original ROMs have a diagnostic routine in the ROM. You install the connectors, and turn on the PET, and runs through a self diagnostic. When it finishes, the red LED on the system board lights up. On later models the diagnostic routine has been replaced with the machine language monitor.

      So far I don't have the schematics for the CPU connector, nor the ROMs and test programs, sorry. So if you can provide this info, this would be very helpful!

  • Be Careful: If handled improperly the PET electronics can be damaged. So please minimize the risk of static electricity.
    The monitor can be damaged by switching it on and off very often during testing. Consider using a separate monitor with the signal
  • Prepare: Prepare for your job. Read all about the symptoms you find on the net, so you don't start in the wrong place.
    Print out the schematics. That helps.
  • First Job: When you get a PET to repair, first see if there is any apparent damage. This includes the inside. Check that all necessary ROMs are present.
    PETs are notoriously known for socketed chips moving out of their sockets. So one thing to do is to take the chips out and reseat them properly. Take care to put them back in in the correct place and orientation.
This section describes situations where the PET seems to be "dead".
Apparently the new "CRTC" PET are more difficult than the older ones, as the CRTC must be programmed to generate a valid video signal. Older PET would show at least garbage even if the CPU was dead.
  • Initial Check: Before you check anything else, check that there is power on the board e.g. by measuring 5V on the userport, then check Phi2. If both are ok, then check what the CPU interrupt lines (IRQ, NMI, RES) do, and then the address lines. This should give you an idea if it is a very basic problem or maybe something with the ROMs for example.
  • CRTC PET: In the CRTC PET a "dead" PET may not be completely dead. The CPU must program the CRTC to actually generate a valid video signal. So if the CPU is running and the PET still does not work, check the ROM contents and the address decoding (either with the CPU emulator or by monitoring the ROM select lines, esp. after reset.
  • 8296(D): The 8296 and 8296-D (that use the same board, so I'll use 8296 only) are notoriously known for broken PLA chips. To check that measure the output pins of UE5 and UE6 with the scope. If they are constant around 1-3V, but not clean TTL signals (0V or 5V) they are broken. Build a replacement e.g. as described on this page (in German, but should be easy to understand in english as well). Or use the info on this page, including a GAL replacement of the UE5 PLA.
This section has descriptions of symptoms with "funny characters" on the screen and other video problems.
  • Non-CRTC-PET: Here the screen displays the screen memory content even without the CPU doing anything. Therefore a "working" screen with constant funny characters only says that the video circuitry seems to work.
    It might be a video or general memory problem. This can for example be checked by swapping memory chips around. See also the first link below.
    If that does not help, go to the "PET's dead" section.
  • Flickering screen: If the screen is flickering in the sense that characters are changing shape all the time, i.e. their pixel representation is not constant or does not correspond to any know CBM character, then there is a problem with the character generation. Try to reseat the character ROM, check its content.
  • Vertical lines on the screen:

    Vertical lines from a broken character ROM
    A more specific case is that of constant vertical lines all over the screen, in the same position for each character row. An example can be seen on this page. The specific problem could have been the character ROM or the shift register receiving the data from the character ROM. In this case it was the character ROM. Note that the vertical lines only show where characters should be, not the borders and even not in between the characters. That would be a different error. Thanks to Alasdair Macdonald for reporting this and providing the picture!
  • Video board: A comment by William Levak:

    When you get to the video board, there were 2 capacitors on the original version of the video board for the original PET that went bad frequently.

This section has an assorted list of symptoms...
  • Monitor after reset: When the PET comes up with the built-in monitor (TIM) instead of the BASIC prompt, check the value of the stack pointer. If it is very low (e.g. "01") then there is a stack overflow, probably caused by too many interrupts. Check the "VDRIVE" signal on the keyboard PIA or VIA IC. If it shows the vertical sync video signal, only that it is not between 0V and 5V, but between around 0V and 1V, then the VIA may be broken and pulling the signal low, so that the PIA has problems detecting the interrupt.
  • No 'chirp' after reset: The 12" models have a piezo beeper and since BASIC4 they "chirp" when reset. If such a model does not do this, check the beeper signal. If it does not exist, there may be problems with the VIA.
    In my case I had the 8296 boot either with chirp into the TIM monitor or without chirp into the BASIC prompt, and I found a broken VIA.
  • SYNTAX ERROR on every command and screen scrolling problems: I read of a case where on every command entered the system reacted with a "SYNTAX ERROR". Also when scrolling the screen, some characters change. This is a problem when the main CPU reads the video screen. When a command is entered, it is read from screen, not from some buffer memory. Also when the screen is scrolled, the data is read from the screen and written back to it. So both problems came from the same source, the bus driver that separated the video RAM from the CPU bus. It had a broken driver in one of the lines.
This section has links to descriptions of how hardware issues with the PET have been resolved.
  • Vintage Computer Forum Very(!) helpful people in this forum.
  • Diagnostic Manuals commodore.ca has a number of diagnostic manuals.
  • PET memory test program commodore.ca has memory test program for an 8k PET, which could probably be adapted for larger memory sizes.
  • PET restoration: of an original PET 2001-8 by Dave Gostelow - 20100103 obviously gone, if you know its new home, let me know
  • Larry's portcommodore 8-bit troubleshooting list
  • Description of a PET repair Interesting description to solve several problems with a non-working PET
  • Reparing a Japanese PET with a strange video problem

    The PET described here had (among other problems) a nasty video problem. Each screen character line increased the screen address only by 36 even though 40 characters were shown. This was finally lead back to the character clock being weak, and when the raster line started, it became even weaker so that the single actual pulse there was missed. This caused the counter to not overflow to 40 on the last character, and as the lowest two address bits were reset, the next line started at 36 (instead of 39 as you would expect by a missed clock pulse). The cause for the weak clock pulse finally was that the reset for the JK-flipflop that produced the pulse was too early. And the cause of this was the the NAND that produced the reset signal only used one input and did not obey the clock input. So the video pulse actually reset itself, thus becoming very short and weak.

  • Vintage Computer Forum on that machine
 

Disclaimer

All Copyrights are acknowledged. The information here is provided under the terms of the GNU Public License version 2 unless noted otherwise.

Return to Homepage