Tuesday, July 31, 2018

Plus 4 Adventures - Part 2

If you read the Plus4 Facebook group you'll know that I had all but given up on my Plus4. It displayed garbage on the screen at startup. Pressing reset occasionally got back to the boot screen but then garbage would return almost instantly. After a few minutes things would get progressively worse until, after turning it off then back on, only a black screen was displayed. The list of things I did is below for posterity. It was heading for the bin...

Then, in stepped Ian from Mutant Caterpillar...

Ian (not to scale)

Long did I wander, searching for the mystical stranger, known only as 'Ian'. Through valleys and forests, across mountains, down the A44 (turn right at Rhayader), until the distant horizon stretched out before me into the deep, foreboding ocean. Wind whipped around me as my hands clasped the precious package, strange smells emanated from open doors, mixing and polluting the air (the local KFC - well worth a visit). I knew I must continue - after I'd finished my boneless bucket - for the end of my journey offered hope of redemption and a new life. Finally, I came to his door and threw myself on his mercy.


And, Lo! he did take my Plus4 board and it was re-made in the forges of Aberystwyth! And strong was the tape loading, and long was the soak test! And through it all it became known as 'working again'!

My board with 8551 removed
(Pic from Ian on FB)

Loading from tape!
(Pic from Ian on FB)

Yes, Ian at Mutant Caterpillar fixed my Plus4 in less than a day. He traced the fault to the 8551 I/O chip spewing random crap on to the data bus. There was also a dodgy RAM chip (not a surprise). I had thought about that particular chip - the 8551 - at some point early on in the process of all this but I'd not done anything as it didn't really connect to anything that I was going to use..

So, what have I learned in all this?

1) If you have a computer that needs repair you seriously can't do better than Mutant Caterpillar
2) No, really, re-read point 1.
3) Plus4's are delicate beasts but, ultimately, worth the effort as they're getting rare (in a working state)
4) Don't discount anything unless you've tested it!
5) Did I mention how great Mutant Caterpillar are?


My escapades retained for info below:

My Plus4 is faulty and I'm having a hard time finding the fault. Note that it runs a 6510 rather than an 8501. The 8501 was identified as dead early on. I also have a replacement kernal which includes modifications to accept the 6510 (in case you were wondering).

Here's a video of the fault in action:

Although I said it dies, it actually lives... A while after this video was shot I tried turning it on again and it worked for about 5 seconds before I got a repeat performance.

So, things I have done, not necessarily in chronological order:

1) Checked the power supply - there is a steady 5.23v coming from the supply which reads as 5.13v at each of the chips. There is just over 10vac on the other part of the supply which shows up OK on the board. Power supply seems OK.

2) Just in case I ran it with just a straight 5v 3A supply. Same symptom as in the video.

3) Replaced TED socket. The original was a single wipe and I couldn't see the condition of the contacts so I just replaced it with dual wipe socket. No change. Same symptoms as above.

4) Replaced TED. At least, a known more or less working TED. The 'new' one I have does not like joysticks but otherwise operates as expected in a working machine. No change. Same symptoms.

5) Replace CPU socket. Although the 6510 adaptor board has nice turned pins, the original socket was another single wipe affair. I replaced it with a shiny dual wipe socket. No change.

6) Replaced TED socket. Same again really. The original is a single wipe and I replaced it with a dual wipe. No change.

7) Removed 3+1 ROMs. These prompt a white screen when run anyway so I just removed them (but keeping them safe!). No change.

8) Replaced PLA socket. Now out of sockets. No change.

9) Obtained a Diag264 cartridge. This seems to start but then stops after a few seconds presumably because of the fault.

10) The Diag264 cartridge managed to run almost a complete set of tests before the fault appeared. Here's the screenshot:

11) Re-capped it. More or less. This is controversial but at least if with re-capping it then I will not be wondering if an out of spec cap is causing all my trouble.

12) Start looking at the RAM (more unobtanium). The strong suggestion is a RAM fault, so I may do this first. Strangely, the MT4264 chips in my Plus4 are actually 4164 1*64 DRAM which I think I have few of somewhere... I didn't but I managed to get some from Retroleum.co.uk.

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.

Tuesday, July 10, 2018

All Hands on (Tape) Deck! - CPCs Part 2

I am constantly amazed by how quickly time marches by. In the blink of an eye we went from arguing whether the Spectrum or the CBM64 was better (the Speccy obviously - I mean, c'mon) to arguing about whether iPhone or Android is better. The more things change, the more they stay the same...

In the same way, how we handle data storage has changed dramatically. As my brain sees it, this has played out over the last couple of years or so. As reality sees it, this has played out over the last three and a half decades. 

When we got our first computer - a shiny ZX Spectrum Plus - it required programs and games to be loaded via tape. This was fairly standard for most home micros of the time, at least in Europe. Our US cousins tended to use discs instead, the reasons for which are debatable.

Anyway. Tapes. Tapes were generally reliable, they were definitely cheap and absolutely sloooowwww. With a typical data transfer speed of 1535 bits per second, it took about five minutes to fill 48 Kilobytes*

*A note about units. I've said it before, I'll say it again. A kilobyte is 1024 bytes. It is not 1000 bytes. A 'kibibyte' is a steaming pile of horseshit dreamt up by someone who clearly couldn't understand powers of 2. So there.

But tapes were cheap, relatively easy to mass produce and, good news for all us schoolkids, monstrously easy to copy. Not that I ever did that...nope, no siree, not me.  To my 12 year old son it seems quite quaint to have a bulky mechanical extension attached to the side of keyboard. And, oh, the horror of having to wait up to five minutes to play a game (I suspect he has never measured how long it takes to get the average PS4 game up and running).

I digress. The CPC464s that I have, have been re-assembled and had some limited testing. They appear to work based on my 'heath-robinson' video cable (yes it's a couple of bent bits of wire pushed into the correct pins with a phono plug on the other end). On the banged up one (which I shall refer to as 'Bert') a tape will play as soon as 'play' is pressed - sometimes. On the one that is in slightly better condition (which I shall refer to as 'Ernie'), the load sequence has to be initiated before the tape will start to play. Curious.

Nicking a composite output...
Also, Bert's deck sometimes won't rewind unless the button is given an extra stab, and the tape counter reset button on Bert is smashed to pieces. I think we can safely say which end hit the floor first when Bert was clearly dropped.

Ernie's deck seems to be OK in that all functions work without issue. The tape counter is fine on Ernie. I suspect Ernie just needs a new belt.

Time to put my repair pants on.

Getting the tape deck out requires the removal of a lot of screws. And the power switch. And the volume control. And the keyboard... Actually, you can get away with not removing the keyboard if you de-solder the power LED from he cassette control board. So, once you've done that the whole thing lifts out of the case.

Complete unit. LED removed from case (not desoldered)

Both decks needed a darn good clean. Isopropyl alcohol and cotton buds. Enough said on that. To cure the slightly hesitant rewind on Bert I got a small piece of 1000 grit sandpaper and very gently rubbed it between the flexible switches on the unit. This worked surprisingly well and rewind now works first time, every time. It also cured the accidentally intermittent 'play'.

Flexi-switch - now works properly.
There is another definite fault on Bert's tape deck. A previous owner has soldered two wires together from where one the flexible switches makes contact. I tried putting them back the way they should be but then the tape deck didn't play at all, so I put it back the way it was originally. I'll just have to live with it. Strangely, the relay in the deck still clicks when the CPC is trying to start or stop the tape but, with the wiring modified the way it is, it just keeps on playin'.

Blue & Purple wires are linked. Hmmm.
On Ernie, I noticed that the pinch roller had a dent in it. I realised that someone must have pressed the play button and left it in that state for some time. This dent resulted in a distinct wobble to the sound every second or so. It didn't affect the loading of the game I managed to record to tape (Harrier  Attack - purely for testing purposes ;) ) but was very, very noticeable. This was a pain as I intended to sell Ernie on to help re-coup the initial outlay on my bundle. I began to wonder if I could swap the pinch roller over.

After imagining being neck deep in mechanism bits and springs and washers I decided, what the heck. If I could remove it easily enough from Bert then I should be able to do the same with Ernie. Fortunately, I was correct to have a go at this. The pinch roller was held onto a plastic shaft by a simple plastic pin that pushed into the top of the shaft. Gently prising it up allowed it to pop off without any drama. I repeated the same on Ernie and immediately installed the non-dented pinch roller in about ten seconds. Easy. Certainly easier than I originally expected!

While the dented pinch roller was out of the deck I attempted to squish it back into shape before re-installed in Bert. Bert will be staying with me so I have no problem with a bit of a 'wobble' from physical tapes. I managed to make it a little better but then decided to go all out and sand it down a bit. (*Imagines the gasps of horror from CPC aficionados...*). It actually worked quite well. The rubber is starting to perish and so I had to be careful not to take too much off or knock chunks out of it.

Now, the main event. Both decks need new belts and, as luck would have it, the chaps at Retro Computer Shack had a twin pack of belts for only a few pounds. Installing them is relatively straightforward, if a little bit fiddly. On the underside of the deck, simply undo one retaining screw, lift the arm and pull out the old belt. Fitting a new one is the same, in reverse. This took about five minutes on each deck and the new belts are nice and firm and grippy. Nice.


Repair action shot.

The buttons also required some attention as they were really dirty. To get them off is also fairly simple. Remove the circlip at the end of the shaft that runs through the buttons. Carefully remove the shaft and the buttons should drop. Then carefully remove each button from the frame. There a tiny springs, three in total, on the bottom part of the buttons that stops them rattling around when they are 'on'. Try not to lose these! They have a habit of pinging off when you remove the buttons so be careful!

Pingy springs - easy to lose, impossible to find again...

The buttons were soaked in soapy water and cleaned with an old toothbrush. Isn't everything? ;)

While I was at it I decide to have a look at the broken tape counter reset in Bert. The button had snapped off the end of the wedge that pushes against the counter mechanism. I tried to fix this with superglue and a small piece of wire across the previous break to give it some strength. It sort of worked but the mechanism is quite stiff and I suspect that the repair has partially failed. It's OK though, as it's more cosmetic than anything and I intend to use an input mod to load stuff up so I won't actually need the counter to work properly.

Before (partially) successful repair.
At this point Ernie is complete. Captain obvious alert. Re-assembly of the CPC is the reversal of disassembly. No great shakes, just a lot of screws... but Ernie is ready to be sold to his next owner.

Bert is getting a little extra something. The thing is, I have no tapes. Or at least, I only have one tape that I've managed to get a working copy of Harrier Attack on to. To allow me to load tapes when I don't have tapes I shall add an input socket. This is easy enough to do by soldering a couple of wires to the tape head and feeding those wires to a 3.5mm socket. By using a 3.5mm plug to 3.5mm plug cable I can now feed sound directly into the CPC from my PC. See?

Wires connected to the head.

Epoxy'ed into place. 

Exterior view - looks almost factory.

Wide angle view.
Using a simple cable and a piece of software called 'CDT2WAV' I can now load any game. It's not perfect as I have to still press play on the tape deck and, of course, the games still load at uber-slow speed. But at least I can play them!

I've really enjoyed playing with the CPCs. They're surprisingly well built and are refreshingly simple in their construction. I'd highly recommend you get one of these if you're looking to start a retro collection as they are easy to work on and, in the main, the only bits that fail are the tape drive belts.

The Speccy's still best though.