Commodore PET 4000 Series RAM Replacement

The Commodore PET 4000 Series uses 4116 dynamic RAM for its main memory. On the universal dynamic PET board, assemblies 8032090 and 8032080, a 32 KB machine has sixteen 4116s at UA4-UA19 and a 16 KB machine has eight, at the odd positions UA5 to UA19.[1] Each 4116 holds one bit of each byte and needs three supply rails, +12 V, +5 V and −5 V.[2] Tynemouth Software has seen boards with many failed 4116s, and a faulty 4116 that drove the data bus continuously and damaged the chips around it.[3] The procedure below checks the rails, finds the failed chips and replaces them.
Symptoms
[edit | edit source]- A black screen with no sync. These boards generate their picture with a CRT controller that the processor has to set up, so a machine that does not start shows no picture at all, or only a bright dot, where a PET 2001 shows a screen of random characters.[3][4]
- Lock-ups, random key presses or a machine that drops into the monitor. On one 8032 board Tynemouth traced these to two intermittent 4116s, one failing now and then at power-on and one after running for a while. On another the cause was a 4116 driving data line D6 all the time, which kept damaging replacement 6520 and 6522 chips.[3]
- A RAM chip that runs hot.[4]
Faults in the ROMs, the rails and the address decoding give the same black screen. See the Commodore PET 4000 Series Troubleshooting Guide.
Safety
[edit | edit source]Warning: the mains switch, fuse and transformer primary are live whenever the PET is plugged in, and the display board drives the CRT.[5] Unplug the machine before working on it, keep clear of the display board and the CRT, and see the CRT Discharge Procedure.
Tools and parts
[edit | edit source]- Replacement 4116 chips, Commodore part 901470-01.[1] Tynemouth uses new-old-stock 4116s and notes their limited availability.[3]
- 16-pin sockets. Commodore's parts list for the 8032090 board has no sockets for the RAM positions.[1] Tynemouth prefers turned-pin sockets to the original single-wipe type, and has found corroded sockets left by earlier repairs.[6][4]
- A desoldering tool. Boards of this period often have chip legs cut short and bent over, which makes removing the chips slow.[3][4]
- A multimeter, and an oscilloscope or logic probe.[3]
- A way to run the board without its own RAM, such as a PET ROM/RAM board in the processor socket, and a diagnostic ROM such as Tynemouth's PET diagnostics.[4][3]
- A 4116 tester if one is available. Tynemouth uses a ZX Spectrum board with a ZIF socket in one of its RAM positions and a RAM test ROM.[4]
- Two spare 68 Ω resistors for the bank-swap test.[1][4]
Which chip holds which bit
[edit | edit source]
The two blocks share their address, RAS and write lines and differ only in the CAS line on pin 15: the lower block is on CAS0 and the upper block on CAS1.[2] Tynemouth gives the lower bank as 0000-3FFF, with pin 15 of the lower chips fed through R10 and of the upper chips through R11.[4]
| Data bit | Lower 16 KB, CAS0 | Upper 16 KB, CAS1 |
|---|---|---|
| D0 | UA19 | UA18 |
| D1 | UA17 | UA16 |
| D2 | UA15 | UA14 |
| D3 | UA13 | UA12 |
| D4 | UA11 | UA10 |
| D5 | UA9 | UA8 |
| D6 | UA7 | UA6 |
| D7 | UA5 | UA4 |
Commodore's 16 KB builds of the board fit only the lower block, UA5, UA7 and so on to UA19.[1]
| Pin | Signal | Expected |
|---|---|---|
| 1 | VBB | −5 V |
| 8 | VDD | +12 V |
| 9 | VCC | +5 V |
| 16 | VSS | 0 V |
| 4 | /RAS | RAS0, both blocks |
| 15 | /CAS | CAS0 lower block, CAS1 upper block |
| 2 and 14 | Data in and data out | Tied together, one data line per column |
Procedure
[edit | edit source]Check the rails first
[edit | edit source]- Unplug the PET, open it and find the RAM at UA4-UA19 and the regulators: VR1 (7905, −5 V), VR2 (7812, +12 V) and VR4 (LM323, +5 V).[1]
- Power up and measure pins 1, 8 and 9 of a 4116 against pin 16. Expect −5 V, +12 V and +5 V.[2]
- If a rail is missing, fix it before going further. Tynemouth notes that the −5 V and +12 V rails are needed only by the RAM, and that a supply fault is a common cause of many RAM chips failing together.[3] See the Commodore PET 4000 Series Capacitor Guide for the shorted tantalums that can pull a rail down.
- Feel the RAM chips with the power on. Tynemouth replaces chips that run hot and does not test them in his tester, because a chip that pulls down one of the three rails could damage the others.[4]
Find which bank and bit has failed
[edit | edit source]- Run the board with a PET ROM/RAM board in the 6502 socket, UB14, so that it starts without its own RAM.[4][1] Tynemouth then uses a RAM test, his ROM/RAM board's test ROM or PET diagnostics, to show which onboard RAM is failing.[4][3]
- Read the failing data bit and bank from the test, and find the chip in the table above.[2]
- If every bit of one bank fails, check the control lines to that bank before changing chips. On one 4032 board Tynemouth found RAS0 missing and traced it to a faulty 74LS74 flip-flop at UE1.[4] Commodore's list gives UE1 as a 74S74.[1]
Swap the banks
[edit | edit source]- Use the Y and Z links to set the RAM size: Z gives 32 KB and Y gives 16 KB with the upper bank disabled. Make link Y to run the machine on one bank.[4]
- Swap the CAS feeds to the two banks by exchanging the connections of R10 and R11. This makes the upper bank the lower one. Tynemouth fitted new resistors with long legs in sockets so that he could swap them back.[4] Both are 68 Ω in Commodore's list.[1]
- Power up. If the machine now starts as a 16 KB PET, the upper bank works and the fault is in the original lower bank.[4]
- Swap the chips between the two banks. If the same bank still fails, the fault is on the board, not in the chips: Tynemouth found a broken connection under UA15, where one of the corroded sockets had been.[4]
- Put R10, R11 and the Y and Z jumpers back to their original positions when the test is done.[4]
Find a chip that drives the data bus
[edit | edit source]- If replacement 6520 and 6522 chips keep failing, suspect a RAM chip that is driving the data bus. Remove the processor, the other 40-pin chips and any socketed ROMs and bus buffers, then look at each data line with an oscilloscope.[3]
- With nothing else driving the bus the data lines should float. Tynemouth found D6 carrying a steady pulse at about 15.6 kHz while the other lines floated, and linked it to the refresh address counter.[3]
- Remove the two 4116s on that data line, one from each bank, and check that the pulse has gone.[3] For D6 on this board these are UA6 and UA7.[2]
- Retest the 6520, 6522 and other bus chips once the RAM is fixed. On Tynemouth's board most of the ones that had been fitted while the faulty RAM was present had been damaged.[3]
Replace the chips
[edit | edit source]- Desolder the faulty chips. Check the pads and tracks as each one comes out: on one board Tynemouth found pads missing under a RAM position after an earlier repair, and replaced a missing track with a short wire.[6]
- Fit sockets, or solder the new chips directly where the board has been damaged so that each pin can be checked against its track.[6]
- Fit good 4116s with the notch the same way as the others in the row. Tynemouth tests removed chips before reusing them; on one 4032 board two of the ten he could test failed.[4]
- When many chips have failed, a PET ROM/RAM board can replace the main RAM and the ROMs instead. Tynemouth chose this on a board where 12 of the 16 RAM chips had failed.[3]
Testing
[edit | edit source]- Power up and check that the start-up screen appears and reports the memory the machine should have.[4]
- Run a RAM test for a long period. Tynemouth soak-tests with a diagnostics program and with a BASIC memory test that takes about an hour to run.[3][6]
- Leave the machine running and check that no RAM chip gets hot.[4]
- Check the keyboard and the IEEE-488 port, whose 6520 and 6522 chips can be damaged by a RAM fault.[3]
Board revisions
[edit | edit source]The 4000 series technical manual covers three dynamic logic boards: the universal boards 8032090 and 8032080, and the earlier dynamic PET board 320351.[1] Commodore's list for 8032080 gives the 4116s at UA4-UA19, as on 8032090.[1] On the 320351 board they are at UI2-UI9 and UJ2-UJ9, and its list also allows Mostek 4108 chips in these positions on 8 KB builds.[7] Its logic diagram, 320349 sheet 5, puts the I row on CAS0 and the J row on CAS1, buffered onto the data bus by the 74LS244s at I10 and I11; the data bits run from D7 at I2 and J2 to D0 at I9 and J9.[8] Trace the bits in between on the drawing before changing a chip on that board.
The static RAM boards of the original Commodore PET 2001 are covered by Commodore PET 2001 RAM Replacement.
Related pages
[edit | edit source]- Commodore PET 4000 Series
- Commodore PET 4000 Series Troubleshooting Guide
- Commodore PET 4000 Series Maintenance Guide
- Commodore PET 4000 Series Capacitor Guide
- Commodore PET 4000 Series Technical Manual
- Commodore PET 2001 RAM Replacement
- CRT Discharge Procedure
References
[edit | edit source]- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 Commodore Business Machines, PET 4000 Series Technical Manual, P/N 990438, hosted at Commodore PET 4000 Series Technical Manual. Parts list for the universal dynamic PET board, drawing 8032090 Rev H (PDF pp. 3-7): 4116 RAM UA4-UA19, 901470-01, with UA5, UA7, UA9, UA11, UA13, UA15, UA17 and UA19 only on the 16 KB dash numbers; 2114 video RAM at UC4-UC7 or UC4 and UC5; R10 and R11 68 Ω; UE1 74S74; 6502 at UB14; regulators VR1 7905, VR2 7812 and VR4 LM323; the socket list. Drawing 8032080 Rev J (PDF pp. 20-24): 4116 RAM UA4-UA19.
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 Commodore Business Machines, logic diagram 8032087 Rev C, Universal Dynamic PET, sheet 5 of 11, "Main RAM", in the PET 4000 Series Technical Manual (PDF p. 13), hosted at Commodore PET 4000 Series Technical Manual; cropped as File:Commodore PET universal board logic diagram 8032087 sheet 5, main RAM UA4-UA19.png. Upper and lower RAM blocks, CAS0 and CAS1, RAS0, data lines by column and the 4116 supply pins.
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 3.15 Tynemouth Software (Dave Curran), "Commodore PET 8032 Repairs - Killer RAM Chips!", January 2018: the black screen, the supply rails needed only by the RAM, short bent-over chip legs, the 4116 driving D6, the damaged 6520 and 6522 chips, and the soak test.
- ↑ 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 Tynemouth Software (Dave Curran), "Commodore PET Repair Part 7 - DRAM repairs", September 2014: a 4032 built on an 8032 board; the bright dot with the CRTC not set up, the ROM/RAM board test, the UE1 fault, hot chips, the 4116 tester, the bank swap with R10 and R11, the Y and Z jumpers and the broken connection under UA15.
- ↑ Commodore Business Machines, PET 4000 Series Technical Manual, drawing 8032051, Power Supply Assy, parts list and wiring diagram (PDF pp. 39-40): the mains fuse, fuse holder, rocker switch, filter power connector and transformer.
- ↑ 6.0 6.1 6.2 6.3 Tynemouth Software (Dave Curran), "Commodore PET 3032 Repairs - Intermittent problems", January 2018: single-wipe and turned-pin sockets, a 4116 position with missing pads after an earlier repair, and the BASIC memory test.
- ↑ Commodore Business Machines, PET 4000 Series Technical Manual, parts list for the dynamic PET board, drawing 320351 Rev AL (PDF pp. 64 and 66): 4116 RAM at UI2-UI9 and UJ2-UJ9, 901470-01, and Mostek 4108 8K dynamic RAM in the same positions for 8 KB versions.
- ↑ Commodore Business Machines, logic diagram 320349 Rev E, Dynamic PET, sheet 5 of 9, "RAMs", in the PET 4000 Series Technical Manual (PDF p. 72).