Computers Overview
Commodore PET
    Adverts
    Articles
    Documents
    Options
    Photos
    Projects
    Repairs
        Keyboard
        PIA
        RAM
        RAM (Extended)
    Software
Sinclair ZX80
Sinclair ZX81
BBC Micro
Commodore 64
Sinclair ZXSpectrum
Memotech MTX
Memotech CP/M
Tatung Einstein
Atari ST
Commodore Amiga
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

The Commodore PET (Model : CBM 8096)

Repairs - Peripheral Interface

 

6520 Peripheral Interface Adapter

 

The PET used two MOS Technology MCS6520 PIAs to interface with some of its peripherals, one was used for the IEEE-488 interface and one for the keyboard interface, as well as some other functions.

Keyboard Problem

My CBM 8032 started to fail very shortly after booting, the system would start normally, displaying the expected "*** commodore basic 4.0 ***" and "ready" texts, and the cursor would flash expectantly. After a few seconds, the number “2” would appear on the Edit line and the cursor would start to flash at higher than normal frequency. On other occasions, “2” appeared, but not the cursor. After a few more seconds, the Edit line would clear and the system had hung up.

 To make access to the motherboard easier and to rule out a problem with the 64kB mezzanine board, I removed the RAM board. This just requires disconnecting the power leads and the interface cable from the motherboard CPU socket and installing a 650 CPU in the motherboard. The system should then work as an unexpanded 8032.

The two connectors on the front left of the mezzanine board provide power to the board and connect to keyed mating pin headers at the front and rear left hand side of the motherboard.

The white pull tab at the front of the board is the cable to the CPU socket on the motherboard - the other end connects to a pin header installed in the CPU socket.

At the same time as removing the RAM board, rather than removing the CPU from the RAM board, I fitted a replacement CPU in the motherboard socket. The symptoms were unchanged, so I disconnected the keyboard - again, to no effect. I also replaced my modified Editor ROM with the original Commodore ROM, which also made no difference to the problem.

At this stage, Dave Curran helpfully pointed out that the 8032 uses two 6520 Peripheral Interface Adapters to control some of the I/O; one dedicated to the IEEE-4888 interface, and one for the keyboard and "speaker". The system should boot correctly, though obviously without a working keyboard, speaker or IEEE-488 interface with both 6520s removed. I replaced the keyboard 6520 in board position UB12 with the IEEE-488 interface 6520 from board position UB16.

Success ! - The system booted correctly, did not lock up and had a working keyboard (and speaker) again.

The next problem was sourcing a replacement 6520, they are obsolete, but Dave advised that any 6520 or 6521 or 8520 should work, unfortunately though, I did not have any of them. (Although, as I discovered later, a Motorola MC68B21 that I did have would have worked.)

I did find some Rockwell R6520APs from China on ebay and ordered some for future use, but, needing a replacement 6520 in a hurry so that I could continue testing the petSD+ devices that I had built before I shipped them, to avoid having to meet Mouser UK's minimum order value and to avoid the delivery time from the US, Dave let me have one of his stock at cost.

That should have been the end of the matter, but unfortunately, the machine developed an unrelated fault shortly afterwards which again delayed shipment of the petSD+ orders. More details soon . . . . . . . .

 

IEEE-488 Interface Problem

Recording this one as a separate problem is a bit of a cheat, but I thought it worthwhile noting it as it could well have been an actual fault if the other 8520 had failed.
With the system working again, I decided to see how the fault on the 6520 would have revealed itself if it had been installed in board position UB16 for the IEEE-488 interface. This time, the system booted fine and, as might have been expected, operated without issue until the IEEE-488 interface was used.

With my petSD+ connected though, issuing a command to get the status of the device resulted in the system displaying the screen shown - scrolling screenfulls of gibberish.
   

 

 

.

mailto: Webmaster

 Terms & Conditions