Sunday, 17 May 2026

PET 2001 Repair and Dealing with Bad 6540 and 6550 Chips

I have covered this sort of thing before as part of other posts, but I thought it would be worth expanding on it in a dedicated post, with all the pictures and information in one place.

I will start with a statement of facts (as I see them).

This related to the original PET 2001, by which I mean the one with the built in datasette, and not any of the models with no datasette and a full size keyboard as they have a different main board.

One day, it stops working. You get a screen full of random characters that does not clear.

Or a blank screen, or maybe part of the boot message, or even a READY prompt with a minimal amount of RAM displayed.

This is almost always caused by bad ROM or RAM. It is particularly an issue on these models as most of them have MOS's own 6540 ROM chips and 6550 RAM chips.

Loads of them.

And these chips are a neat idea, but sadly a bit of an evolutionary dead end. The later 2001s and every other computer Commodore made afterwards used industry standard ROM and RAM types.

The issue with them is simple. They have multiple enable lines, some active high, some active low. This allows them to be wired up into banks with little or no decoding logic, you just wire them up to a bunch of address lines and then the appropriate combination comes up, the chip is active.

However, what seems to happen is this fails, and it fails in a way that either never enables the chip, and makes is chip appear dead (which is good), or enables it more often that in should (which is bad).

When the later of those cases occurs, it can be enabled at the same time as other ROM or RAM chips, or other devices on the PET address bus. There is bus contention. Things get hot. Eventually one or the other of the devices in contention fails.

If that happens to be another 6540 or 6550, that can also fail in a way that makes it appear when it shouldn't. And so begins the chain reaction.

There is more information in this post

Each 6550 chip is a 4-bit static RAM, so they are arranged in pairs to make 8-bit wide RAM.

This pair of chips should be enabled only when A12, A11 and A10 are all low.

These should be enabled when A10 is low.

These when A11 is low.

And these when A12 is low.

But with all these chips effectively wired in parallel, it is easy to see what can happen if part of this enable logic fails, all of these chips are in danger.

Everything runs hot and it may sort of work. If it doesn't, you can try to replace the bad chip or chips, but it is a losing battle. They will all fail eventually.

If you do still want to try to keep a PET 2001 running on original chips, well, then good luck, you may as well stop reading now. I cannot help you.

However, please bookmark this page for the time when you finally give up buying used chips or EPROM adapters and decided to get a PET ROM/RAM.


There are no adverts on this blog other than my stuff, so permit me to continue to pepper this post with a few links. I make no money from these posts, so it is only through selling these things and my Patreon supporters that I am able to keep doing this.

(by the way, I re-read that and it implied that I was selling my Patreon supporters. so far, it has not come to that, although I have got a few quotes for bulk kidney extractions.....)


Those of you that are left, well done, and thank you.

I did try substituting bad ROMs a few times in my early days of 2001 repairs, and have provided remote (unpaid) support for many people with the same idea, and it never works for any length of time. You just get it working, but there is an ever-present threat that another one is going to fail next time you power one.

I am very much of the opinion that your best option is simple:

Remove all the 6540 system ROMs and 6550 main RAM and fit a PET ROM/RAM board.

(and I am not just saying that because I sell them)

Note there are two 6550 RAM chips providing the video RAM and one 6540 as the character ROM. These are usually OK as they do not share a bus with anything, and are always enabled.

I do have replacements for those if they have failed, or you want to rid yourself of all the 6540 and 6550 chips.

Once you have removed all the chips, keep them safe. You want to keep any remaining working 6550 RAM chips to use as spares for the video RAM.

If you are lucky enough to have a complete working set of ROM and / or RAM, then put them away safe to keep for Sunday best, if you want to show off or sell the PET.

Or sell them for a small fortune, there are still people who are trying to keep PETs running using those chips, but they will have stopped reading by now, so we are OK.

Remember, they may be working today, they might last another 40 years, or they might only last another 40 minutes, it is sadly a ticking time bomb.


Now onto today's patient, a case in point.

It was bought as a working PET, and I understand was demonstrated as working, but the next time the new owner powered it on, it wouldn't boot.

In this case, it was a blank screen with a single underscore.

Inside in a nice layer of genuine barn find dust.

I am not suggesting any impropriety on the part of the seller, I am sure it was working fine, but now it isn't.

PET ROM/RAM board at the ready, I removed the 6502 CPU and installed it in the PET ROM/RAM board. I then fitted the PET ROM/RAM board back into the 6502 socket, noting the orientation, the notch to the right hand side of the case.

At first, I set the switches to 1, 2 and 5 on. This is the default state that I ship all units it, after they complete testing.

This sets it to replace the RAM with a full 32K of RAM, and replaces the ROMs with the latest BASIC 4.0.

I powered that on, and saw the prompt.

Success!

But let's just check what had failed.

I turned switch 1 off and pressed reset.

Back to the blank screen.

That disabled the RAM replacement, so at least some of the 8K of 6550 RAM is bad. Either one of the chips on the far right of the set, or one of the others conflicting with them.

I turned switch 1 back on and switches 2 and 5 off and pressed reset again. This replaces only the RAM.

That booted.

Wow, the ROMs work.

BASIC 1.0 with 32K of RAM.

I don't want to run this for very long, the chips were already at 33 degrees C (which is an amount of Fahrenheit) after a few minutes.

The best thing for the working ROM set is to preserve it when it is working, it is a rare thing.

The best thing for the faulty RAM is it get it out before it causes any (more) damage. I don't really want to do any further testing at this stage, as I previously explained, these faults can be contagious.

(they can be used as spares for the video RAM)

I removed all sixteen 6550 RAM chips (1K x 4 bits = 8K x 8 bits) and all seven 6540 ROM chips (7 x 2K = 14K ROM) from the front of the board (leaving the video RAM and character ROM, which were working).

I set the PET ROM/RAM board back to 1, 2 and 5 on and booted up.

You now have a 32K, BASIC 4.0 PET with considerably lower power consumption and improved reliability.

BASIC 4 also fixes bugs in BASIC 1, and adds proper support for IEEE-488 disk drives (like the SD2PET) and extra disk commands (DIRECTORY, DLOAD etc.)

The SD2PET will not work with BASIC 1 as support for IEEE-488 disks is broken.

The 32K of RAM also allows you to make use of a lot more software, ancient and modern for the PET range.

This first things I did was the clean the IEEE-488 edge connector and plug in an SD2PET.

I then ran an old BASIC memory test program I wrote many years ago (2014 according to the REM statements).

This is written in BASIC and takes a while to run, but I think it is a useful test as it is switching back and forth between RAM and ROM all the time.

That passed and I tried a few more things, all seemed to be working well, including the obligatory test of Space Invaders.

And the now obligatory Perilous Swamp.

The final test was with the built in datasette.

(N.B., yes, that's a bit dusty. It's not my job to clean and detail these computers, I am just here to repair and test them, and in the past I have been reprimanded by customers for cleaning things, so I usually only clean enough that I don't need to wear a hazmat suit)

I loaded 3D Monster Maze, and it loaded first time, the same with Tut-Tut.

Commodore really got cassette loading right (as long as you clean the heads every now and then and replace the belt every decade or so, and never fiddle with the azimuth adjust).

I have been banging my head against a wall trying to improve tape loading on another system recently, so I certainly appreciate a system that just works.

Due to the nature of the 2001, the screen is a bit flickery in some games, as the current pixel being drawn goes black if the video RAM is being accessed by the 6502. Invaders cleverly moves the characters during the vertical sync, when the electron gun is moving from the bottom right back to the top left, so you get no flickering.

There wasn't enough time to do all the maze drawing in that time, so 3D Monster Maze will flicker a bit when things are moving.

Aarrggghh!

Note also the thin spikes that can be seen on the walls in 3D Monster Maze.

Or the blood that appears to be dripping from Rex's fangs.

This is an artefact of the way the display is generated, and only appears when you have an inverted character next to a non-inverted one with pixels in the left hand column.

I have developed a fix for that, which involves replacing one logic chip with a small module which includes a flip-flop which adds pixel synchronisation to the video output and removes that glitch.

More info in a previous post:

That is all as expected from a PET 2001, everything I have tried all seems to be working nicely.

I think I can call that PET done.


Bonus RAM Testing

I didn't want to mess around with the owner's PET, so I used my test board to try out the RAM chips that been removed.

I had already seen the ROMs booted (once), and didn't want to push it. They are "working when removed".

The minimum amount of RAM the PET will boot with is 2K, so I tried fitting 2K's worth of RAM to my test board.

It did not initially boot. You can use switch 2 on and the rest off to enable to PET Tester ROM. This sill show results of testing the first 1000 bytes of RAM (40 columns, 25 rows), showing G or B for good or bad test results.

I had to swap the chips out one by one until I found a set that worked. Only one bad chip (so far).

There we go, 2K RAM shows 1023 bytes free in BASIC 1, the OS reserves the memory up to $0400, and $0401 is always $00, so you have $0401 up to the end of installed RAM for BASIC programs.

The next 4 chips worked, giving 4K of RAM. That was one of the initially planned configurations for the PET 2001, but I don't know if any were actually sold like that.

Another six good chips and we have 7K.

The remaining chip was OK, but there was one that had failed, so there wasn't a pair to make it up to 8K.

I could have fitted a spare 6550 to make that up to 8K.

But I know that is a very short term fix.

One bad chip .... for now.

8K does limit what you can load, I did manage to make Perilous Swamp fit in 8K using a few BASIC tricks.

However, BASIC 1 means you can only load from tape, and TFW8b haven't released that on tape yet (hint, hint Rod, get a move on)


Adverts

Lots of the repair parts I referred to in this post can be found in my Tindie Store:

(not I have not mentioned PET Diagnostics as the 6540/6550 have non-standard timing, and so the PET Diagnostics does not always work on 2001 boards, so that mode is not supported)

There is also the option of a Mini PET replacement board if you want all the upgrades and reliability and want to put your PET 2001 board in a glass case on the wall (or on ebay)

If you don't want to use Tindie, you can always contact me using the link at the top of the page and let me know what you want and which country you are in, and I will get you a price if you want to buy direct.

The SD2PET and games on tapecan be found at TFW8b.com

(and if you have an 80 column PET or Mini PET)


Patreon

If you enjoy posts like these, you can support me via Patreon, and get access to advance previews of blog posts (except when I am running behind, like today, sorry), and exclusive posts (like the update I just posted).

You also get progress updates on new projects and other behind the scenes updates, as well as access to my Patreon only Discord server for even more regular updates, and to discuss your own projects.

There is now a free trial on the Patreon, if you want to find out what goes on in there, and I hope you will want to stick around.