Friday, October 27, 2017

Testing Memory or "What did I come in here for?"

**DISCLAIMER - I am not an electronics expert. Some explanations here may not be 100% accurate. Purists/pedants, feel free to write in the comments with corrections if you feel the urge! Thank you.***

A little while ago I acquired a faulty A501. This is the official Commodore A500 memory expansion but, sadly, it just does not work. When plugged into my A500+ it just does not register that it is there. There are many reasons why this might be and I have done my best to work out what the problem is. Despite there being some battery damage (curse you Varta!) this wasn't too bad and there are no damaged tracks despite it looking a bit crappy.

Faulty A501 - Bottom Chips Removed

I have come to the conclusion that there must be one or more faulty memory chips on this board. There are 16 memory chips on this particular revision of the A501 (Rev 5). Later revisions had eight chips as they were twice the memory capacity.

Our chips are Sanyo LM33256G-12 (the -12 means 120ns which is the 'speed' of the memory. The lower the number the better. These ones are average.)  I couldn't find the datasheet for these exact chips but I did find an equivalent, the NTE 21256, which, after much poring over the A501 and A500+ schematics, seems to be pin and functionally equivalent to the LM33256G.

Now to the point of all this. I wondered if there was any way to test the RAM chips and, if possible, identify which ones were faulty. After some Googling, it became clear that I was not the only one to have had this thought. A couple of sites showed Arduinos running relatively simple software to test each bit of vintage RAM chips.

I have in my drawer an Arduino Nano clone that I bought from China a year or two ago. They were so cheap, they didn't even sell them singly, I had to buy two, hence why I have a spare. The other sites had used Arduino Uno (the original style/size) or just the microprocessors on their own but I was sure that the Nano could do everything required.

There is one important thing about this type of memory. It's actually called DRAM or Dynamic Random Access Memory. The 'D' bit means that the contents need to be continually refreshed to keep hold of their data. Typically, this is required every few milliseconds. Having read through the information I can find, executing loops to continually read/write data should mean I don't actually have to worry about this since the act of reading or writing provides refreshes to the rows/columns. We shall see...

First problem, the pin numbering of the Arduino Nano seems to bear no relation to the physical pins. While trying to shamelessly blag the code of one of the other chaps who has done this I noticed that the pin allocation for the 'DONE' LED seemed to already have been used. A lot of googling and staring at images of Arduino Uno and Nano later I worked out that on the Nano, the pin outs can be described in many, many different ways. I had assumed the numbers I was looking at were the physical pin numbers, starting from top left with the USB port at the bottom. Not so. The numbers refer to the pins on an ATMega 328 microcontroller. And, they were not the actual physical pin numbers but the 'port' pin numbers for the Dx pins. So pin 2 was actually PD2 (shown as D2 on the Nano). After this penny dropped it became a little easier to work out the connections between the Nano and the 33256 chip.

In any case, here's a professional grade* drawing of the actual pinout for an Arduino Nano to the 33256 (or equivalent).

Pin Diagram 

*may not look professional

The 'C' program I used came from here. I pretty much used it exactly as it came. It uses a couple of for-next loops to write the column address and row address and then write either '1' or '0'. The act of writing (or reading) the bits in this way does have the effect of refreshing the rows and columns so that it's not necessary to provide separate refresh code. Thank goodness for that.

Finally wired up

Having wired everything up I took the first chip that I had extracted and plugged it in. After turning it on, the 'L' LED on the nano flashes. What should happen is, when all tests are completed, one of the discrete LEDs flashes - the one on the furthest right on the white breadboard. I only used red LEDs but the code says what colours the original author used. If the tests fail then the 'RED' LED lights constantly - which is what happened.

I couldn't believe that the first chip I had was faulty so I wired up the data lines (A0 to A8 from the nano to the RAM) to some other LEDs. They counted up in binary - very quickly - as expected. I rewired it back to accept a chip but modified the code by commenting out all tests except the 'fillzero'. At least this would be start.

Same result.

I went through eight chips and finally found one where the LED flashed to indicate tests were completed. After de-commenting the other tests and reloading the nano, I ran the code again with the same chip.

Success! All tests completed and the LED flashes indicating a working chip.

I was finding it difficult to believe that I had only one working chip out of eight so I got out my DIY oscilloscope which I built from a kit. I hooked it up to the 'DOUT' line on the RAM as I knew that this was where the check was made in the code to see if the address being read contained what was expected. If the DOUT didn't have what was expected, then the LED would be lit constantly.

On the working chip it was easy to see what was happening. Pulses on the DOUT line could be seen indicating '1' output. On the alternating '1' and '0' fill it was obvious that there were '1's followed by '0's. And it was very cool seeing it in action too.

Working DRAM - DOUT Line

Reading the all '1's test 

Reading the alternate '0's and '1's test

Reading the '0's test - not much to see but no '1's!

So I then picked a chip that had been failed by the code and tried the same. This chips DOUT stayed resolutely at 0V, even when it should have been pulsing '1's. Dead chip.

On to another one. This was more interesting because there were some '1's shown during the fill test but there were also random '0's too. This indicates that there is potentially an issue with this one giving read errors.

Of the remaining five chips, two more came out working (yay!) while the others were variations of the above. One just seemed completely dead while the others each show missing '1's on the fill test to varying degrees. A hit rate of 5/8 faulty chips seems high but, to be fair, the three chips that worked just keep working - every time.

I will post updates on this if I find out any more once I get the other eight chips off the A501 board. :)

Below is a badly written explanation of what goes on in these chips (this was originally at the start of this blog but I though would put a lot of people off):

Each chip on this board has 262,144 word x 1 bit RAM which basically means (262,144 / 8 ) x 1 bytes of memory i.e 32,768 bytes or 32kb per chip. 32 times 16 equals the 512Kb of expansion memory.

(A quick note on terminology here. When I talk about kilobytes I actually mean 1024 bytes. This is the way I learned in the early eighties. Any talk of 'kibibytes' will result in a tantrum. A kilobyte is 1024 bytes to me and always will be even if it is not totally accurate to IEC, ISO or IEEE or whoever decides this stuff. So there.)

So, to access this memory, we need a way to address each bit. With 262,144 bits, dividing by 512 give 512. So, imagine 512 rows and 512 columns. Each intersection (bit) can be described by a row and column address (simple enough). To write a '1' in the chip we tell it we want to write and then where to write it with the correct row and column addresses. But you may have noticed that the chips on the A501 don't have hundreds of pins. They have 16 pins. So how do you get 512 x 512 out of sixteen pins?


And do everything twice.

Let me explain.

You can represent numbers in base 2 (for anyone under the age of about 45, number bases were removed from school maths lessons in the early 80's). Base 2 only has two digits, 0 or 1. So to represent the number one we just say '1'. But to represent the number two we need to carry over to the next column. So number 2 becomes 10. Number 3 becomes 11 since we just add 1 to 2. When we hit number four we need to move to the next column again so it becomes 100. Five is 101 since we just add 1 to 4. There are loads of resources about binary (and other number bases such as octal) on the internet which explain it far better than I ever can. Google is your friend..

Back to our chip. If we want to represent the number 512, how many binary digits would we need? The simplest way is to keep taking powers of 2. 2^0 is 1, 2^1 is 2, 2^2 is 4 etc up to 2^9 is 512. So we need 9 binary digits to count to 512. These could easily be allocated to 9 pins on a chip. But the chips we have are only 16 pins. Don't we need 9 for rows and 9 for columns?

Yes. This is why I said we do things twice (not strictly true but there are two operations). Imagine a little man in the chip. You send him the row address using 9 lights. He puts a little marker next to it on his 512x512 grid and clears the lights. Then you send the column address and he puts a little marker next to that. Finally, you tell him either to place a '1' or a '0' at that row and column location.When we want to write to a memory address we send the row address to the 9 address pins on the chip. Then we send it a signal to store that. Then we send the column address and a signal to store that. Finally, we say what we want to write - either a '0' or '1' via a different pin.

To read it back we do the same but instead send a signal that we want to read rather than write to the row/column address.

Tuesday, September 19, 2017

I Killed it....

Well, that was unexpected.

So, I was playing with my current system which comprises an A500+ motherboard in the case of the 'Scarlet Amiga'. It also has two external floppies (featured here) and an external hard disk, an AlfaData AlfaPower IDE drive. And you know what IDE means don't you? Yep, Compact Flash cards.

My current setup. Small but perfectly formed.
This one has (had) a 4Gb card running Workbench 2.1 with Kickstart 2.04. No problemo. I had to install a driver on the RDB using Oktapussy which worked fine to allow me to use the card properly and I split the card into 2 x 2Gb partitions without any problem.

So far, so good.

Back to the story. I was faffing under the desk and when I sat up I somehow managed to nudge the corner of the A500, hard (it was in a slightly different position to the photo). I dislodged the external drive and sent the thing into meltdown... Screen flashed purple, lines at the top and a distinct sense of 'something's going badly wrong!'. Immediately I unplugged it and then tried not to panic.

External hard disks for the Amiga are not that common and can be quite expensive when they appear on places like eBay (pah).

I carefully reinserted the drive, checked it wasn't overhanging the edge again and then turned it on. The LEDs on the Amiga and on the drive came on as expected. Then it went to the purple boot screen. The good news is this meant that the Amiga was OK. The bad news, something went wrong with the drive. Oh....

Flailing around like a lunatic I managed to find a test disk to see if the RAM was OK in the external drive (it comes with 4Mb). It booted OK but then it would only show me the trapdoor memory - it was too early a version of the test disk. More flailing. I found a copy of Install 2.1 and slammed it into the drive. The Amiga booted and told me I had 4Mb. Phew! Then promptly crashed. Then went red screen (kickstart failure). AAARGGHH!! Turned it off then on. Yellow screen (CPU error). AAARRRGRGHHH!!

Turned it off. Went for a brief lie down and a cuppa.

When I came back I removed the CF card from the drive. The cable is just long enough for the card to sit outside the drive in the CF adaptor allowing easy swap out when needed. Turn on. Purple boot screen. OK, back to square one.

By this time I had located a later version of the test disk which would look at all RAM on the system. It found the 4Mb. That was a big relief because the memory in this drive is in ZIP format - ZIP stands for Zigzag Inline Package. This type of RAM is now more difficult to find than Unobtainium, Youllneverfindthatinamillionyearsium and Sellakidneyforebaypricesium. The test disk also had a RAM test which I started and left running for several hours. No faults found. Phew.

4Mb Memory Found!
So without the CF card everything seems OK. Wondering if the problem was with the card I plugged it into my PC. This normally prompts Windows 10 to say it needs formatting because it's not intelligent enough to know what a Rigid Disk Block type disk is. But now, nothing happens. Running fdisk just confirmed that the PC was not detecting the CF card.

After puzzling over this for a while I decided to take the cover off the card and have a look inside. I've never seen the inside of a CF card so it would be interesting whatever happened. A couple of minutes with a small screwdriver and I found this:

A burn mark - hmmmm.
Well, there's a clue. There's a great big burn mark on the inside cover. Maybe if I look closely I can see what may have caused this...

Well, there's your problem.
Oh. That component looks:

a) like a voltage regulator
b) dead

Here's wide angle shot to give some idea of where this bit is located.

Wide angle...
It's that slightly lumpy mess underneath the square chip.

So I grabbed a spare 8Mb (yes, megabyte) CF card that, by coincidence, I had installed Workbench 2.1 onto as a test some months ago. I plugged it into the CF adaptor and switched on the A500. And it just worked. It booted into workbench with no problem at all. Thank goodness* for that.

*Substitute the word 'goodness' for any dockyard expletive you feel appropriate.

The question is, what the heck happened? Well, one theory from the FB group is that the sudden disconnection of the edge connector upset the grounding of the CF and allowed a large voltage/current through it (apparently that's why hot-swappable stuff has longer ground pins so there's no confusion). I suppose it's also possible that the edge connector pins may have shorted 12v to a rail that shouldn't have 12v on it. I just don't know. Either way, I am extremely lucky to have just destroyed a CF card, that is cheap and easily replaceable, and not my external A500 hard disk controller, which isn't....

Saturday, July 22, 2017

Unintentional Floppy Drive Repair

In my quest to collect as much Amiga stuff as possible (not to annoy Mrs Crashed despite what she says), I acquired a box of used floppy drives. All but one have been sold and it is this last one that this post will focus on.

It's an RF-332C which, if I am remembering correctly, was a popular and well regarded model at the time. Well, this one has a problem. It doesn't work. The disks don't spin and there's no sign of life other than a sad little 'chunck' when the Amiga is turned on. I thought that it was beyond repair so I started to strip it down to have a look inside.

The case is easy to remove. Six screws undo and the drive unit slides out of the front of the main case and the controller slides out of the back.

Six Screws
Outer case removed
The drive unit has a metal cover held on by a single screw and a few clips.

Drive Unit Cover Removed

Next, I took out the two screws holding the upper head. This folded over nicely to reveal the bottom head. Both were surprisingly clean. It was at this point I realised I had made a minor error. My assumption had been that the drive didn't spin because the motor was dead.


The drive didn't spin because the DRIVE BELT had perished. Yes, this unit has a drive belt. A bit of googling revealed a very useful youtube video which showed how to replace the belt but more importantly revealed that these belts are still available for a a couple of quid. Yay! A few days later the postman delivered an envelope containing said drive belt.

Dismantled - Awaiting new drive belt

Then the enormity of what I had done hit me. I had removed the top head.


Floppy drives may seem primitive and a bit quaint in comparison to the storage options we have now but they are actually quite sophisticated bits of equipment. For example, the drive heads must be aligned correctly, to the merest fraction of a millimetre or they just won't read disks - or at least, disks written on other floppy drives including commercially produced disks. And I'd removed that carefully calibrated bit without a care in the world. No matter how hard I tried I was never going to get it back in the right, calibrated place. The drive belt was dead easy to fit without the top head being in place but that's not the point... Re-assembling the drive was also a piece of cake, just make sure everything goes back in the order it came off. Easy.

Does it now work?


That's not quite true. The disks now spin as they should. The drive also attempts to read the disks but, rather unsurprisingly, doesn't.

In a previous post I detailed how I'd used the app by Tobias Richter to 'tune' the head of the floppy disk in the scarlet Amiga. Well, this time I used a combination of that, and X-Copy. It took a couple of hours to get the top head to read anything but then, all of a sudden, I found the spot where it just worked. Excellent.

This got me thinking. Although the slimline drive now works, I wondered if it would actually read all disks, including those formatted by another drive. Would disks formatted in this drive work in another one. Well, as it turns out, by accident I now have three re-tuned floppy drives and a calibration disk written from a known 'good' drive that I no longer have....

Are all three drives now correctly calibrated? Let's do some tests and we'll find out! It'll be fun!*

*Will not be that much fun.

First up, write an ADF file to the internal floppy drive. Then run X-Copy CHECKDISK+ on it. Note that an 'ADF' file is an exact copy of a 'real' floppy disk but held as one file. Using an app on the Amiga I can write these to a disk to give an exact reproduction of the original floppy disk. Here's the result of CHECKDISK+ on DF0: where green 'O's are correctly read data.

Written in DF0 - Checked in DF0.
No problem. Now lets see if this will be read in the slimline drive which is DF1:.

Written in DF0 - Checked in DF1
Again - no problemo!

And now, in the enormous Cumana drive that came with the scarlet Amiga.

Written in DF0 - Checked in DF2
Ah. Not perfect. There are three block checksum errors (the red '6's). Not too bad but still enough that the game may not load properly through DF2:.

So, let's try that again but this time I'll write the ADF using DF1: which, if you remember, is the slimline re-calibrated drive from above. First screenshot, checking the written disk in DF0:.

Written in DF1 - Checked in DF0
No errors. This is a good sign and means that the DF0: and DF1: drives are in a similar state. Next up, checking the disk in DF1 which has just written this disk:

Written in DF1 - Checked in DF1
As expected, no errors but then DF1: did just write this disk! Next is the same disk but checked in DF2, the humongous Cumana drive:

Written in DF1 - Checked in DF2
Oh. That does not look good. Because all of the errors are on the topside I can only assume the heads on DF1 are not in the best position to write the data in a way that can be read by DF2.

Let's move on. Time to write that ADF file to the same disk but now in drive DF2. First check in DF0: picture below:

Written in DF2 - Checked in DF0
Oh dear. Far more problems here than I would have expected. Checksum errors, sync errors, header checksum errors... DF0 does not like DF2 written disks.

Next is the same disk checked in DF1. Based on the results of DF0 I'm not holding out much hope.

Written in DF2 - Checked in DF1
Well, crap. That seems to confirm that DF1s top heads aren't in the best position and may need re-calibrating again. Although, DF0s issues all seemed to be on the top too. Hmmm.

Finally (well done if you made it this far), the same disk checked in DF2.

Written in DF2 - Checked in DF2
This should have been error free but for some reason DF2 says there's a checksum error on the topside. At least that's the only one.

So what have we learned from this? Basically, none of my drives appear to be calibrated correctly but DF0 and DF1 (internal A500+ drive and slimline drive) seem to play together better than DF2.

Any other suggestions welcomed below!

Saturday, June 03, 2017

Amiga A1200 in a Micronik Tower

This post is primarily to show my pride and joy - that I am now looking to sell. I am an Amiga nut and always have been but sometimes real life takes precedence...

UPDATE 4th July 2017 -

After failing to attract any interest on the Facebook page or eBay as a complete unit, I dismantled this and sold it piece by piece. I made more money that way but I was disappointed that the complete system could not go to someone who would appreciate it as it was.  Cest la vie.


On with the show.

When the A1200 was launched it was a capable machine but, even in 1992, the PC  was starting it's rise as more than a boring green screen spreadsheet generator. The expandability of the A1200 was a bit limited, being restricted to a (somewhat pointless) 16 bit pcmcia slot, an ide interface and a trapdoor expansion slot. But the trapdoor does allow access to all of the input/output lines and is essentially a Zorro slot with AutoConfig. 

Just as an aside, AutoConfig allowed pretty much any expansion to be hitched up to the Amiga and it would just work. Windows would not get this equivalent functionality until 1995 but the Amiga had it almost from day 1 (c.1986!).

I digress.

By shoving the A1200 into a tower case, this allows more expansions to be added via additional boards known as Mediator boards. These connect to the expansion slot and act as an interface to standard PC PCI or Amiga A2000 cards such as graphics cards or sound cards or even ethernet cards. It was for this purpose that I bought the Micronik tower. Sadly, these 'Mediator' boards are even more rare than rocking horse droppings (and more expensive).

Tower Loveliness

This is a Micronik tower which is built from plastic modules that fit together around a minimal metal frame. It includes slots on the back for accommodating any installed PCI or Zorro type cards (additional Mediator board required to install PCI or Zorro cards). It has a Rev 1A A1200 motherboard installed. This board was re-capped in 2014 (see here) and the audio fix was applied at the same time. For more info on the audio fix see RetroGameModz youtube video here.

Rev 1A - Channel Z

There is a single floppy disk installed although there are two slots which should allow a second unit to be included if necessary (you'd need to find another plastic frame to accommodate this). I currently have a standard external floppy plugged into the socket on the back and the unit just rests on the top without any problem.

There are three bays for CD-ROMs etc and there is a SCSI CD-ROM installed.

CD-ROM's Butt

The power supply is 200W which is more than enough to drive whats currently installed and should be ample for most Mediator boards with a couple of cards installed.


There is no Mediator board included with the tower.

There is an ACT Apollo 1220 accelerator board installed with a full 68020 at 25Mhz with 4Mb of RAM. This is the maximum this particular board can handle but it does mean it stays PCMCIA friendly and still does a pretty good job of zipping things along.

68020 Accelerator
Cowabunga indeed...

This particular case also comes with a couple of caveats. The previous, previous owner had cut off the plastic plug that linked the power supply into the keyboard adaptor board. The previous owner (who I bought this from) just used a standard Amiga power supply brick to drive the motherboard. I did try to find a replacement connector but it proved harder than I expected. To allow the whole system to be switched on from one button, i.e. the red button on the front, I soldered short cable lengths to the connector in the case (see photos), and then linked to the power supply by a simple connector block. (I should point out that I had not intended to sell this, hence the slightly unorthodox solution.) Then I inserted the power port adaptor at the base of the rear of the tower. The next owner might have more luck in finding the right internal connector. Either way, what I did is easily reversible.

Power Connector Block

Wires Soldered to Power Connector
Power connector adaptor - the whole reason I soldered the wires internally!

The top panel of the case is a simple loose fit on top. Despite having obtained a PDF of the case construction instructions it's not clear if this is the way it's supposed to be. I added two small screws to stop the 'lid' from being pushed off too easily.

Top Cover
There is a right angle PCMCIA adaptor that allows the PCMCIA connector of the SCSI interface to connect to slot without any problems.

PCMCIA Right Angle Slot

The A1200 keyboard is contained in an external case with a coiled cable that has a PS2 style plug. This also means that it's possible to use any PS2 style keyboard and, to be fair, they do actually work quite well. The existing A1200 keyboard is fully working. Note that the keycaps show some sign of blooming after a couple of attempts at retrobrighting them...

Bloomin' Keys (See what I did there?)

Keyboard underside

To allow the CD and Amiga audio to mix I have a 'home brew' audio mix cable which takes phono cables from the CD audio out and also from the Amiga audio out and combines them into a single pair of standard phono cables. It's not just cut the cables and join them together. It has resistors in series to generate the right impedance. (Audio purists might be outraged by this - but tough.) The levels produced are comparable enough to make playing games like Liberation perfectly OK.

One of the smaller back cover panels is missing but this gives a handy exit point for the CD audio connectors. :)

In summary this is what you get:

A1200 Rev 1A in Micronik tower
A1200 keyboard in external Micronik keyboard case (with cable)
Kickstart 3.1
68020 4Mb Accelerator card
External 3.5 inch floppy drive
Logic 3 SpeedMouse
Power cable
Squirrel PCMCIA SCSI interface
CF IDE adaptor with 4GB card (pre-installed with WB3.1 and WHDLoad)

So there you have it. The price I'm asking for this is shown on the Amiga Facebook group. See you there.

Monday, May 01, 2017

The Scarlet Amiga - Where is he now?

My regular readers will remember the horror that was the Scarlet Amiga. He had endured a tough life and one that no 16-bit 1990's home computer should have to suffer. Having rescued him from eBay, I set about making things right.

I didn't quite finish his story so this post brings an end to that and gives some closure to this tale of betrayal and intrigue*.

*does not contain betrayal or intrigue.

Firstly, all of the red abomination has gone. After picking off the gloss red paint I spent some considerable time sanding the case to remove all remaining traces. If you look closely in the 'vents' and ridges at the back you might see a few specks but in normal use, this Amiga is now beige. You might also notice that the top section of the case is rather lighter than the bottom section. It's not clear of this is as a result of my sanding or if the paint layer on the top case actually offered some protection to the colour and prevented the dreaded yellowing effect.

Almost looks completely normal. Almost. 
Two tone case - Note also chip in top case
near the numpad 'Enter' key.

I could sand the bottom section so that it would match the top but a) that would remove the original surface patterns etc from the bottom case and b) I'm far too lazy to do that. The case is clear of the red paint. It's time to move on....

One final point on the case. The plastic material for it seems very brittle in comparison to the A500+ that I used to have. The later 500+ seemed to be a more 'oily' plastic that was more flexible and, bizarrely, felt softer. Perhaps the age of this particular case means that it's just naturally that bit more brittle. Perhaps the production material was changed as time went on. Feel free to comment below if you know (or have an opinion!).

I've kept the keyboard. Its dual membrane loveliness stays with me. So there.

Why am I obsessed with the dual membrane keyboards?

Without KB or shielding - note Rev 8 board

Faithful A501 - survived the Varta onslaught

The more eagle eyed amongst you may have noticed that this is actually a Rev 8 motherboard. In fact, it is the same motherboard that I repaired here. The original 1.3 motherboard went to eBay after I replaced its mouse port. I have always had a thing for the A500+ as it was my first Amiga. There's something comforting about watching the little blue disk disappear into the drive on the purple background. Much nicer than a plain white screen with a picture of a floppy disk on it. And I know that the consensus is that KS1.3 is the most compatible for games etc but, to be honest, I've found very few games that didn't work with the A500+. I certainly have far more trouble with the A1200 and games...

Along with the scarlet Amiga I also got a scarlet external drive. The case of this has also been relieved of most of its ghastly red covering but the results have not been as satisfactory. Underneath the red was the original cream paint and, in my rush to rid myself of red I managed to scrape through some of that too. It needs a really good sanding down, almost all the way to the bare metal before I spray it a more appropriate colour. I'm sensing beige. Or maybe beige. Possibly beige. No, wait. I know. Beige.

That case still needs some work...

More upsetting was that the drive would not read any pre-written disks. Not Workbench2.04, Extras, Fonts or even Workbench1.3. Another job of aligning the heads was in order which took some considerable time because of the way the drive is held in the case. To be able to adjust the read head I need to have the drive 'floating' but this causes problems because the platen underneath the drive is not covered. It was all too easy to knock the drive and then hear the scraping of the platen on the case underneath... It was, to put it simply, a major pain in the rear. After a lot of faffing I managed to get it to read 99% of disks but more importantly, disks formatted and written to on this drive were readable by my other drives. The one exception was an original Workbench1.3 disk I had. No matter what I did the drive just would NOT read it at all. I have no idea why. The disk works in my other drives but not in this one. But all the other original disks I have do now work in this drive. I will just have to put it down to the vagaries of floppy disks in general.

To be fair, this drive is nearly 30 years old...

...and needs some new feet too. :)

And here, gentle reader, ends the tale of the scarlet Amiga.

Calling All Original Xbox Owners

Lots of vintage computers and consoles suffer from a problem of leakage due to age. This type of leakage is a little more damaging than a weak bladder though. Batteries leak their acid over motherboards or logic boards, destroying PCB traces and components. Capacitors leak their electrolyte and do the same although normally at a slower pace.

It turns out that even more 'modern' consoles are not immune. If you are an Xbox owner, and I mean the ORIGINAL Xbox, not the 360 or Xbone, then you need to act now. Inside the Xbox is a capacitor that was used as a way of retaining the time and date while the console was switched off. Well guess what. The caps used weren't that good a quality and now they are starting to leak and destroy Xboxes, quietly and without any fuss.

Later Xboxes actually had an improved capacitor and are not affected by this problem. A quick way to check is to look at the bottom of the console and find the manufacturing date. If it is 2004 then you are probably OK. If it's 2003 or earlier then you need to do something NOW.

Here's my Xbox looking a bit dusty but, otherwise, in fine working order.

Dusty - But good.
First things first, this one was made in early 2003 so almost certainly has the dodgy clock capacitor. Lets get that top off.

Topless - insides not seen in nearly 15 years
There are the DVD drive and hard disk on top. It's a simple matter of disconnecting the cables then undoing three screws to remove both units. 

Yup - it's a hard disk

Phillips DVD - has a non-standard power connector though

Logic board to the left (green) - Power supply right (brown)

The capacitor is located in a little gaggle near the front and is labelled C7G3 with a C7G2 label nearby. In the picture below there is a suspicious 'shadow' around the capacitor..uh-oh.

Has it leaked?

Yes, why yes, it has.

It has definitely been leaking. Fortunately, there looks to be no obvious damage but the thing has to come out. I tried the 'wiggle' removal method but the cap was soldered tight into the board and I just couldn't get enough movement going. Break out the soldering iron....

To get at the pads I had to remove the entire motherboard. It wasn't too difficult but there are quite a few screws and they are all the 'torx' variety. Have a set of multi-sized torx screwdrivers handy when you do this.

Cap legs marked - don't want to get that wrong!

It was a 30 second job to get it out with the soldering iron. Hit each leg in turn and pull. Eventually, the cap 'walks' off the board. You can see the corrosion on one leg of it in the picture below caused by the highly acidic electrolyte.

Another bad cap.

A quick clean up and it seems there's no lasting damage. It's worth noting that these earlier versions of the Xbox do not need this capacitor to work. However, later versions do so if you try this on a 2004 onward model you will need to replace the cap with an equivalent..

Before cleaning - the spillage is obvious

After cleaning - the spillage is gone

I re-assembled the Xbox and tested it just to make sure I hadn't affected anything else. The only difference is that it will not retain the date and time now but he's safe for now (until the other caps decide to leak....).

There is a lot of information on this issue across the internet including here, here and here. There's also a great teardown by iFixit. If you have an original Xbox, take note and don't delay. Do it now! Go on. What are you waiting for?