Friday, July 20, 2018

Plus 4 Adventures (Part 1)

In my batch of retro computers that I bought from eBay there was a Commodore Plus 4. This is an interesting machine and there are plenty of videos on YouTube describing it's history in more detail than I ever could. I highly recommend watching any of the videos from Bill Herd who actually worked on it (he wasn't the designer though! ;) ). Try this one, or this one from The 8-bit Guy who has also recently covered the Plus 4 as part of his Commodore history series (in which a certain Bill Herd also makes an appearance).

Stock Picture - Mine isn't this clean...
To start, the Plus 4 has a similar power supply to the Commodore 64 but uses a four pin square plug, similar to the C128 or Amiga but with fewer pins. These connectors are impossible to find these days. Fortunately, I already have a power supply that I have checked is OK (for supervised testing) and so I'm ready to rumble.

My purchase included the two manuals, dataset and joystick as well as the computer itself. The only video cable supplied was a standard RF which my monitor won't support so I had to resort to a slightly bodged up arrangement as I don't have any 8-pin DIN plugs..

Wires soldered to strategic points for composite video..

Anyway, I connected everything up, turned on my monitor and hit that 'on' switch. On a positive note, my power supply did not burst into flames / destroy the world / kill any kittens. Sadly though, the only display I could get was a black screen with lines slowly moving down it. Arse.

At this point, we should probably talk about how fragile these things actually are. Let's start at the top.

First of all, the CPU is not a 6502 or even a 6510 as used in the C64. It's a special version of the 6502 called the 8501. Earlier machines had the 7501. Either way, these things die and die quickly. I have read that Commodore didn't care much as long as they lasted over the year warranty period. In some cases they lasted weeks. There is apparently a fault in the design of the chip which focuses heat in one spot, makes it massively overheat and then, well, die. Once that happens, it's all over.

Then there's the TED chip or TExt Display chip. This is the second 'heart' of the machine and drives most of the functions outside the CPUs control such as the video and sound generation. The TED chips also suffer from the problem of heat. They get hot. They die.

Then there's the PLA. This acts like a traffic cop and directs signals and data around the main board. It runs hot. It dies. (Can you see a theme building here?)

In other words, unless you lived somewhere cold and kept your heating off, these things were always going to die and are now mostly dead. I have it on good authority that about 80% of Plus 4's with faults have dead 8501s.

So, what ails my most fragile of machines? Having left it on for about ten minutes I used a sophisticated thermal detection unit (my finger) to determine the relative temperature of each chip. All were getting nice and toasty, except one. One chip remained stone cold. Given the reputation these have I think I can safely say I knew which chip was dead. Can you guess? You have an 80% of being right.

Yep. Dead 8501. Just to verify this I sent my chips off to Mutant Caterpillar who very kindly offered to check them for me for the cost of postage. Sure enough, all chips OK, including TED, ROMs etc, except for the 8501 which is officially dead. It is an ex-cpu. It has shuffled of its mortal coil and joined the choir invisible etc. Double arse.

I need to consider that there may still be other faults on this Plus 4 so what do I do? There are several options here:
  1. Give up, stick it back on eBay as faulty for parts
  2. Scour eBay looking for a donor C16/Plus 4 or used 8501
  3. Fork out for an FPGA replacement 8501
  4. Fork out for a 6510 adaptor board

Option 1 is out. I want to get this working if I can. Option 2 is unlikely to yield any results as working C16 or Plus 4s are way more expensive than Option 3, and non-working machines are likely to have dead 8501s anyway. Option 3 is a fully compatible, modern FPGA replacement for the 8501 that does not suffer from the heat issues of the 8501. It's also £40 plus postage from Poland. Option 4 seems the best compromise between cost and functionality since the 6510 requires a revised Kernal and has some minor incompatibilities which I'll highlight later.

As it turns out, sellmyretro revealed that there were no FPGA boards left anyway so I decided to go for the 6510 board. And it has already arrived. Yay!

There are two steps to fitting this board (possibly three). First, remove the dead 8501 and fit the 6510 board. This has been designed to push the chip backwards thereby allowing it to fit in the existing socket without fouling the keyboard. Earlier versions required the socket to be removed and the board soldered straight to the main board. Next, remove the existing kernal chip and replace it with the supplied EEPROM. This contains a modified kernal that allows the serial port to be driven by the 6510.

New 6510 and modified kernal installed

There are a couple of things with this board. First, the motor in the datasette runs all the time. This is due to the 8501 having one more i/o than the 6510 so, by default, the motor runs all the time. It's fine to run like this or, alternatively, by soldering a diode to the board at a specific location, it turns the motor off unless the buttons are pressed. It does mean the Plus4 can't control the tape deck itself, though. In my case this shouldn't be a problem.

Anyway. It's now installed. Does it work?


And no.

The plus 4  boots. That's a massive improvement. 

It's alive!
Because of this I went on the hunt for some heatsink material that I could install on the precious TED and PLA chips. Having dismantled a couple of old Freeview boxes I found two ideal heatsinks contained within. A dab of thermal paste and the two chips are now protected and should last a bit longer...

Feelin' hot, hot, hot
Feelin' less hot, hot, hot
Moving on. Let's run the internal software and see if it's really that bad. I won't be able to do much as the software only allows files to be saved to disk and not cassette. It doesn't matter too much but it would be interesting to see what it was like. Except I can't. I can press F1 which brings up the command to run the internal software. But as soon as I hit return , the screen goes blank. The colour seems to be white or a very pale grey. Oh, and I have to reset to get back to a working screen...

Next, I tried the datasette. With the 6510 the motor always runs (as mentioned) which should not be a problem but I wanted to double check. I don't have any Plus4 tapes so I typed in a basic program and tried to save it tape. I typed in 'SAVE "CIRCLES" but as soon as I hit return I got a flash of a message "PRESS PLAY AND RECORD" and then a blank screen which could be pale grey or white....
Out of interest I entered the command 'LOAD' and pressed return. The same thing happened. I had a quick view of the message "SEARCHING" and then it locked up and gave me a white/grey screen.


Figuring stuff out...
So now what? Fortunately, I had a conversation with Ian from Mutant Caterpillar on FB. In my ignorance of the Plus4, coupled with the limitations of the 6510 mod, I hadn't realised that the white screen when trying to 'SAVE' or 'LOAD' was normal. You see, when the command 'SAVE' is entered, the computer instructs you to press play/record on the tape deck. But with the 6510 the tape motor is running all the time so it thinks that you pressed the buttons on the tape deck immediately. The Plus4 is the same as the C64 and blanks the screen when performing tape operations. 

To put this to the test, I entered the command 'SAVE "FOO" and pressed return and waited. About a minute later, the screen came back and I had a working Plus4. I am, officially, a dumbass. Oh, and it appears that the 3+1 ROMs are actually faulty but they can be removed with no impact on the Plus4's operation.

So I have a working Plus4 now right? Hang on one second there. You see, when I was entering 'SAVE' I actually noticed that the tape motor was NOT running even though the datasette was plugged in. I turned it off and unplugged the datasette, plugged in back in and tried again. Garbage appeared on the screen for a few seconds, then a black screen. It just died. 

Later on, I came back to it and tried again. It actually seemed to come back to life so I grabbed the camera to record some footage for this blog. In actual fact, I recorded the Plus4 dying, on camera, this time permanently. It is dead. Completely. On switching on, there is only a black screen. So something else has gone wrong with this Plus4.

It's dead.

I told you they were fragile.

No comments: