Friday, November 29, 2019

My Second Apple Foray

Ebay. Love it or hate, it can be a source of some good stuff. In the past I've managed to get two CPCs and a Commodore Plus4 for less than £50 amongst other things. But recently, it's been hard to find anything that i would consider to be a 'decent' price.

Plenty of Amiga A500s but at £90 - £120? No thanks. What about an Amiga A1200? For three hundred quid?? That's almost back to it's original retail price (untested, worked when I put it away..)..

So imagine my surprise when I won an eBay auction for two iMac G3 computers from the late 90's for the princely sum of five of your English pounds. Yes, a fiver. Five knicker. The cost of a couple of large coffees. To be fair, they were collection only, as they are so heavy, and I was fortunate that they were located only about 25 minutes away.

A Right Pair of Beauties
Although the two models outwardly look the same, they are two different versions. There's a 'bondi blue' first generation model, and the next variation which is 'blueberry'. Outwardly there are a couple of more noticeable differences, starting with the CD drive. On the early model the CD drive has a drawer, similar to a drive you might find in any laptop from the early to mid 2000s (but not so much nowadays). The blueberry though, is a 'slot loader'.

My first investigation focused on the bondi blue model. This one is actually an early version of the first generation and I had a vain hope it may include an accelerator card. Sadly, it did not. However, it certainly contained a surprise - but I'm getting ahead of myself.

So, the first thing I did was plug it in and switch it on. I had half expected either nothing, or a loud bang. Fortunately, the only sound was a happy 'bong' that indicated a correct initial startup. The screen lit up and the machine proceeded to boot. Unfortunately, this one had Mac OSX installed which requires a password, long since forgotten by the previous owner. I googled how to sort this out but the method refused to work. In fact, on restarting the machine, it failed to boot, leaving me with a black screen. After a couple of hours of leaving it unplugged I tried again, and it booted!

But then I also noticed that the screen would 'tick' every now again and the screen would flicker slightly. This is bad news as it almost certainly means that the flyback transformer is on the way out, which is a major known issue with these things. There is a slight chance it could be capacitors on the analogue board but this is unlikely. In any case I decided to strip it down to have a look inside.

And then the horror began....

First, the rear cover was removed which revealed....a perfectly clean arrangement of CD and hard drive tray, power cables and monitor cable.

Nothing unusual here

OK. So next, remove the drive bay unit and see what's HOLY MOTHER OF GOD!

WHAT. THE. HELL.
Getting closer doesn't make it look any better..

Oh. My. Goodness.
Well, that was unexpected. The only hint that something might be wrong was that water dripped out of the rear shell. In hindsight, that should probably have given some clue as to the awfulness contained inside. Ok, I suppose I should take the lid off the drive bays and check the OH NO!!

Battery. Feckin' battery...

Graphic image. Discretion advised.
Well, I suppose I should not have been surprised. I suspect what has happened is that the unit has been stored underneath a water source. A leaky roof or something similar. With a heavy heart I started to clean up the board. The batter holder literally fell off in my hand.

The worst battery I've ever seen..
After a couple of hours of cleaning, I was stunned to find that, other than some slight lightening of the solder mask, there was no damage. Really.

Wow. It cleaned up OK.

After wiping and drying out everything that was wet, I decided to dig deeper and see if there was any obvious (!) issues on the analog board. This required me to discharge the CRT and dig much deeper into the guts and is a story for next time....

Tuesday, October 15, 2019

Problems, Problems, Problems

The classic format of a three act play is that part 1 is the setup, in part 2 everything goes to hell and a handbasket and part 3 provides redemption, closure, happy ending etc. My three part story follows similar lines but, in my case, everything goes wrong in this part....

So my A500++ purple beast is complete. I just need to pop him in the A500 case (which my regular readers may recognise as the scarlet Amiga case) and we're done.

First I need to get the current board out. Fetch me the screwdriver!

Get your top off!

Original A500+ Goodness

My favourite - removing hex bolts...

After half an hour of unscrewing, wiggling, more unscrewing, tea drinking and then screwing in many, many screws, I have the purple beast in a proper A500 case with a newly cleaned floppy drive. With gay abandon I plug everything in and switch it on expecting to be greeted by the familiar grey blue Workbench 2.04 as loaded from my external hard disk.

I was to be disappointed.

Dark grey, light grey....yellow. Arse. A yellow screen. What the heck is this? I've seen many yellow screens while repairing Amiga A500s, both Rev6 and Rev8. From my experience this means that there is either a faulty CIA or there is a problem with one of the pins on Agnus. So I undid all the screws, lifted out the floppy drive and swapped the CIAs.

This time I got a guru. I tried turning it on and off again. Yellow screen. Arrghhh!!

Guru, A500+ style...

So, not the CIAs. What about Agnus? I had thought that the socket I had was fine, even though it had been recovered from the old A500+ board. I raised Agnus in the socket slightly by delicate use of a small screwdriver (being careful not to damage the socket). Then went for another switch on. Purple boot screen! Yay!

I had solved all the problems. (Can you see what's coming?)

Except, I hadn't. Every third boot or so from cold resulted in a guru. And if I so much as looked at Agnus the wrong way I was guaranteed to receive a yellow screen at next boot for my trouble. There was nothing else to do, I had to find a different socket. Being the impatient person I am, I basically pinched the Agnus socket from a Rev6 board I have lying around. It was not as deep as the previous socket but Agnus sat down with a satisfying 'click' as I pushed her into its embrace.

Now I have solved all the problems..

Nope. No more yellow screen (so I was confident I was correct about the socket). But every third boot or so I would still get a guru message. This lead me to research what the heck the message was trying to tell me (see HERE for the results of that). Eventually I determined that two main gurus were appearing, one telling me that the CPU received an invalid instruction. This is usually caused by accidentally trying to execute data as the system is looking at the wrong memory location. The other was to do with incorrect crossing of odd byte boundaries which is not permitted on the 16 bit 68000 (it is allowed on later 68k series processors).

The common theme here was memory. So I took out the trapdoor 512 KB expansion and tried again. This time I got a green screen. FFS.

Green screen means that the system cannot initialise the first batch of chip memory. This is normally a failed RAM chip or an issue with the logic between Agnus and the RAM. But I'd already checked the logic chips and replaced one faulty one. To have a RAM chip fail as I put on the A500 case seems too much of a coincidence.

So I took the top case off, removed the keyboard and tried again. It booted. What. The. Heck.

I got hold of a Diagrom from eBay for a few quid to see if that would give me some clue as to what was going on at startup. Unfortunately, it didn't. All system parameters were fine and the RAM was reported as OK.

Your friendly neighbourhood DiagROM
I even tried hooking up the serial output from DiagROM to another Amiga to read the output and see if that would tell me anything extra. Sadly, it didn't but I did learn a lot about DiagROM in the process. :)

Two Amiga 500s ready to talk..
Heath-Robinson Null Modem Cable

Now we're talking...

Despite this I wasn't convinced that there were no issues (guru says otherwise) and decided to look more closely at the RAM. I removed half the RAM and had the thing boot as a 512KB chip RAM machine. Then I spent an hour swapping RAM chips around, putting them into all the possible combinations, trying to see of there was one dodgy chip or socket but to no avail.

As I put the keyboard and case back on I realised that the keyboard was fouling the RAM which I had put into sockets that were, on closer inspection, a bit tall...  After a bit of pushing and prodding I worked out that the left most RAM chip would lift out of its socket when the keyboard was put into place, presumably disconnecting far enough to prompt the green screen. Dangnabbit.

I took the decision to solder the first 512KB i.e. alternate chips, directly to the board. This would guarantee that the RAM would be connected and, having spent a joyful hour chip swapping I was confident that all of the RAM was fine anyway.

Half the RAM soldered direct

This made a difference and it booted without any more issues. So then I re-inserted the trap-door expansion, buttoned up the case and re-booted. Straight into a guru. WHhhhhaaaaattt?

A501 - Ready for action! Or not...

Re-booting brought up the purple boot screen so I tried the Amiga Test Kit which started without any problem. Despite my having the trapdoor 512KB and 512KB onboard the system would only see 512KB. After some headscratching I did a bit of research (via Google) and noticed a lot of advice to check that the _EXTICK (or _EXRAM) signal was present at the trapdoor connector. In my case it wasn't but could be connected via means of JP 7A. Which I did. Which was a mistake. It didn't work and caused me to have a mild panic as I was presented with a dark grey screen on boot followed by nothing... I removed the connection from JP 7A.

I tried cleaning the trapdoor connector as I had recovered it from the original A500+. Sure enough, several pins were dirty or had flux on them from its removal. A bit of IPA and a wipe was all that was needed to get them back to shiny again.

Despite this, nothing changed. The system would still not see the A501. So I put all of the RAM back on to the board making the full 1Mb with half socketed and half soldered. This time, I got a green screen. What. The. Heck.

While disassembling I noticed that one of the socketed RAM chips was making a bid for freedom. This was the final straw. I decided that I would solder ALL of the RAM to the main board.

And that solved it. It has been rock solid since then. I have had no gurus, no yellow screens, no green screens. The lesson here is that sockets are not always good. In my case I suspect that the 'competitively priced' product I ordered and received had a little too much height. Others have reported that good quality turned pin (i.e. round holes) sockets allowed the RAM to be installed without fouling the keyboard. Either way, my problems were solved and I can now enjoy my brand new purple beast.


In summary, the faults I had were:

1) Yellow screen - dodgy Agnus socket; different socket fitted
2) Random gurus - assumed to be a dirty trapdoor connector; cleaned
3) Green screen - RAM chips popping out of sockets; soldered the buggers to the board

Incidentally, I believe that the reason I could only see 512KB with half the RAM on the board and 512KB added via the trapdoor may be down to the system expecting the full 1MB in place before adding the trapdoor memory. That's an assumption on my part but both my 512KB expansions behaved exactly the same way, hence my decision to solder all of the on-board RAM directly to the board.

If you'd like to get your hands on a purple beast, head over to the following link:

https://www.tindie.com/stores/bobsbits/

In conclusion, this board is an awesome achievement by Rob Taylor. Kudos to him and the others who have the passion and dedication to keep the Amiga alive. In more ways than one...

Note: Post edited 24/01/21 to add revised URL for Rob's Tindie store where you can now also buy new C64 motherboards!




Sunday, September 29, 2019

It's Still Awesome - And Now It's Complete!

Brand New A500+ Part 2


It's nice to have new things. A new phone, a new shirt, even a new pair of budgie smugglers (urgh!). It's even nicer when the new thing you have is high quality and better than what you had before. And the A500++ board is very high quality and better than the original in several ways.

First, and most obviously, it's brand new with no Varta acid death and is very good quality - gold plated contacts and a shiny purple finish. Almost too nice to solder anything to.

A Thing of Beauty

Next, any A500+ owner will know that there is an annoying fudge near the 'Audio Filter' section of the board where a diode is soldered at an odd angle. It's a factory mod that corrects a cock-up in the board that was obviously too costly to correct. It stayed that way for the (short) life of the A500+. But the purple beauty solves that issue too.

Other useful things to know are that it has a space for header pins to allow the selection of internal or external drives being connected as DF0, handy for all you Gotek'ers out there. And, best of all, the silkscreen includes many more details not included on the original, of both the component values and also including a subtle nod to the plight of the most vulnerable custom chip when Varta spews forth its poison. 'Poor Gary' indeed.

Improved Silk Screen. :)

Back to my board. One thing I mentioned in the first part was that I was intending to complete this project with as little expense as possible by a) using anything that I had 'in stock' already and b) de-soldering anything else from the donor board. Large items like the power socket, video socket etc are a given. But then there are lots and lots of passive components (resistors, capacitors etc) as well as logic chips and other ICs that I could buy brand new, but the cost of this could quickly add up.

As luck would have it, I had a little bonus from work, and I'd treated myself to a Duratool de-soldering workstation from CPC Farnell just a few weeks ago. And I am glad I did. If you plan to do anything like this, you really should consider getting one of these or something similar. De-soldering a few hundred component legs using a manual pump or de-solder braid would  have taken months. The tool itself is a soldering iron with a hollow core that links to an air pump so, when solder is heated, pressing the trigger activates the pump which sucks the solder into the glass container on the de-soldering gun. I have to tell you now, it took a beating during this project.

That'll need a clean...
Removing components with the tool still took some time. My initial runs with the de-solder gun resulted in many blockages and frustrating delays as I had to keep clearing the glass chamber and the small metal pipe that runs from the tip of the gun into the body. After a while I got quite adept at removing the glass, spring and filter almost one handed, and the delays became fewer and shorter. Some components still required the assistance of a soldering iron to allow their removal. This took a toll on the tips of my iron and I ended up replacing it twice during the removal phase..

That'll need a replacement...
At the back of the main board there is a long row of what looks like ceramic capacitors. They look like that because, in actual fact, they ARE ceramic capacitors but each one has three legs. They are a specific type of cap that (I have to be honest) I had not seen before, known as Feedthrough Capacitors, designed to have an almost ideal insertion loss apparently. Ahem. In any case, removing these took a significant amount of time as they got very, very hot, even with a very small dwell time on the legs. Heat does not do these components any good and I did actually end up with the centre leg of one cap just falling off, and another one nearly splitting in two. The one with the gammy leg was replaced by a willing volunteer from an old Rev6 board I have. Despite this, I managed to get pretty much everything de-soldered without too many problems other than my lack of patience. :)

Some items that I fitted to the new board I did eventually cheat on, and some, as mentioned, I already had. New items I either bought or already had were:


  • New IC sockets* - essential when the custom chips have been removed from a battery damaged board
  • New resistors - I'd intended to use the old ones but then realised how cheap they were and relented
  • New ceramic caps - I already had a box of various values (expect 330nf) so used these
  • New electrolytic caps - already had them all in stock from previous repairs :)

*I didn't have a socket big enough for the CPU so I de-soldered the old one and removed the manky pins. Then I removed shiny new pins from some of the new sockets I had and inserted them into the old socket. I've done this before and it's lots of fun (no it isn't).


Shiny new pins for the CPU

Everything else came from the original A500+ board.

Box 'o bits (one of several)
In all I spent about £10 on new sockets and resistors. Note that to aid future maintenance, every chip got a socket, including the Video Hybrid. This socket was made from slicing a bigger socket in half. :)


Almost done stripping the donor..
The following sequence of pictures shows the steady progression over a couple of weeks....









So, after about three weeks of component swapping, finger burning, de-soldering station unblocking fun, I ended up with this:

Finished! Yay!

Would it work first time?

No.

First test. Board appeared completely dead. I'd forgotten to plug the power supply into the wall.

Second test. Keyboard light stays dim. No display output at all. Then I realised I'd left the Video Hybrid chip unplugged (doh!).

Video Hybrid (the tall thin dude near the back)
Third test. Green screen followed by reset. Bugger.

At least with a green screen, something was happening and it indicated that the system was trying to start up. So, back to diagnosing green screens and an Amiga.... My immediate suspicion was on chips U10, U11, U12 and U13. These are the ones that normally take a big hit from Varta and frequently need to be replaced. I started by swapping them out one by one. Sure enough, the last one I swapped at U13 solved the issue. The SN74LS373 at that location had died, and with a new one the board booted but with an odd colour tinge.

Hmmm. Not quite right...

It was obvious there was a colour problem. In fact, all blue was missing from the image. After a bit of jiggling of the Video Hybrid and other chips I tried again. This time I was missing blue AND green. Everything was red. Dammit.

I removed the modulator and tried the built in composite output which is just black and white but it was crystal clear. So I plugged the modulator back in and tried again. This time I had all the right colours and ended up at the familiar purple boot screen. Yes!

What had happened was that the video socket that was harvested from the old board had acquired a healthy dollop of flux on its pins. Wiggling the modulator in and out a couple of times removed it allowing a full connection and the correct colours to be displayed. Nice.

Ahh! That's better!

So, next test. I plugged in my trusty AlfaPower external hard drive.

Old Faithful!

Would it work?

Success!
Yes. Yes it does work.

Now all I need to do is pop it in the case and everything will be fine.

     Or will it? (hint - it wasn't)

To be continued.....



Saturday, September 28, 2019

Guru Meditation

Way back in 1982 or 1983, a small company named Amiga designed and built a peripheral for computers known as the 'joy board'. Imagine a very early Wii Balance Board and you wouldn't be too far wrong.

Amiga Joyboard
The developers of the Amiga took to sitting on one of these boards and playing a simple game that required the user to sit as still as possible to achieve maximum zen and attain a state of nirvana. This normally occurred after a programming session had resulted in another inevitable crash. And thus the Amiga's famous 'Guru Meditation' error was born.

A flashing red box with unhelpfully cryptic text would appear when the software on the Amiga crashed. More useful than the PCs dead black screen (this is prior to Windows and its blue screen of death) and it was inspired by the Apple Mac which, when it crashed, would display a picture of a bomb i.e. the software bombed...

A Classic Guru

But the code in the box can be more helpful than you'd think. It gives some clue as to what the heck happened. Below is a compilation of information that I gathered from the internet after I had problems with my A500++. I realised that there is no easy description of the codes I was encountering. So here it is. No warranty implied yadda, yadda, yadda etc.

For information the Guru I kept getting was one of the following:

     80000003.0000xxxx
     80000004.00003E78

Guru numbers are made up of two 8 digit numbers where the numbers are hex values. The first part is most useful as it contains information on the actual error. The second part is usually the address in memory of the task where the problem occurred.


      Specific error code -----+         +--- Task Address
                               |         |
                       02 01 0008 . 00007250      
                        |  |
      Subsystem number -+  +--- General error code

Guru - General Format


The first part of the number can be grouped by splitting up the first eight hexadecimal digits. Each digit is made of four bits allowing up to 16 values (0 to 9 and A to F). The first two digits show the part of the operating system that caused the error (or subsystem ID), the next two digits the general error codes and the final four digits the specific error code.

If the first digit, reading left to right, has it's most significant bit set i.e. binary '1xxx', this is the value 8. This means that this is a 'Dead End' error and that there is no way back for the task to recover. Those 'dead end' errors detected by the CPU have '80' as their first two digits. See more details of this later on in the post.

Note that the most significant bit being set can apply to any of the subsystem IDs so, for example, an error in the Graphics Library which is subsystem ID '02' would be indicated as 'dead end' by being set to '82'. (But, let's be honest. If the system has reached the point that it is displaying the red alert box then you're not really going back from that!)

If it so happens that the first digit of the Guru is greater than 7 (in hex) then simply subtract 8 from it. For example, if the first two digits are A1 then take 8 away from the first digit i.e. A - 8 = 2 so the error would be on subsystem ID 21 or Disk Resource.

Just a note that at the bottom of this list of codes I talk about CPU traps. It's important so don't think you've reached the end just because of the lists!

Subsystem ID Codes

Exec Library        01     Console Device      11
Graphics Library    02     GamePort Device     12
Layers Library      03     Keyboard Device     13
Intuition Library   04     TrackDisk Device    14
Maths Library       05     Timer Device        15
CList Library       06     CIA Resource        20
DOS Library         07     Disk Resource       21
RAM Library         08     Misc Resource       22
Icon Library        09     BootStrap           30
Audio Device        10     Workbench           31

Following on from the subsystem ID is the 'general' error code. For many cases this is a simple '00' as the final four digits will give more 'specialised' information. General error codes are:

Insufficient memory   01    OpenDevice error    04
MakeLibrary error     02    OpenResource error  05
OpenLibrary error     03    I/O error           06

The final four digits describe the specific error code relating to the subsystem which encountered the error. Shown below are some of the specific error codes for the different subsystems:

Exec Library
ExcptVect      0001    CPU trap vector checksum
BaseChkSum     0002    ExecBase checksum error
LibChkSum      0003    library checksum failure
LibMem         0004    no memory to make library
MemCorrupt     0005    corrupted free memory list
IntrMem        0006    no memory for interrupt servers
               0009    attempt to free already free memory
               000C    total memory mismatch free space plus used

Graphics Library
CopDisplay     0001    copper display list, no memory
CopInstr       0002    copper instruction list, no mem.
CopListOver    0003    copper list too long
CopIListOver   0004    copper intermediate list too long
CopListHead    0005    copper list head, no memory
LongFrame      0006    long frame, no memory
ShortFrame     0007    short frame, no memory
FloodFill      0008    flood fill, no memory
TextTmpRas     0009    text, no memory for TmpRas
BltBitMap      000A    BltBitMap, no memory

Intuition Library
GadgetType     0001    unknown gadet type
CreatePort     0002    create port, no memory
ItemAlloc      0003    item plane alloc, no memory
SubAlloc       0004    sub alloc, no memory
PlaneAlloc     0005    plane alloc, no memory
ItemBoxTop     0006    item box top < RelZero
OpenScreen     0007    open screen, no memory
OpenScrnRast   0008    OpenScreen's AllocRast, no mem.
SysScrnType    0009    open sys screen, unknown type
AddSWGadget    000A    add SW gadgets, no memory
OpenWindow     000B    open window, no memory
BadState       000C    Bad State Return entering Int.
BadMessage     000D    Bad Message received by IDCMP
WeirdEcho      000E    Weird echo causing problem
NoConsole      000F    couldn't open the Console Device

DOS Library
StartMem       0001    no memory at startup
EndTask        0002    EndTask didn't
QPktFail       0003    Qpkt failure
AsyncPkt       0004    Unexpected message received
FreeVec        0005    Freevec failed
DiskBlkSeq     0006    Disk block sequence error
BitMap         0007    Bitmap corrupt
KeyFree        0008    Key already free
BadChkSum      0009    Invalid checksum
DiskError      000A    Disk Error
KeyRange       000B    Key out of range
BadOverlay     000C    Bad overlay

TrackDisk Device
TDCalibSeek    0001    calibrate: seek error
TDDelay        0002    delay: error on timer wait

Timer Device
TMBadReq       0001    bad request
Disk Resource
DRHasDisk      0001    get unit: already has disk
DRIntNoAct     0002    interrupt: no active unit

BootStrap
BootError      0001    boot code returned an error


There is a 'special' type of Guru that is not caused by the operating system (or more accurately the ROM Kernel) but is as a result of the CPU trapping an error. When these happen, the subsystem ID and general error code will both be set to zero (but bear in mind the '8' indicating a 'dead end' error!). The 'specific' error describes the error that has been trapped by the CPU. It's worth remembering that the error numbers here are part of the 68000 CPU and are not assigned by the ROM Kernel.

The possible CPU traps are:

80000002 - Bus error - accessing non-existent RAM or hardware
80000003 - Address error - word stored on odd memory boundary
80000004 - Illegal Instruction 
80000005 - Division by zero - a bad idea
80000006 - CHK instruction
80000007 - TRAPV (overflow)
80000008 - Privilege violation
80000009 - Instruction trace
8000000A - Line A Exception (4096 opcodes not used in Amiga)
8000000B - Line F Exception - inappropriate FPU or MMU opcode


So, going right back to my initial problem, the two Guru codes I keep getting are telling me that in the case of 80000003 there is an address error, in that data is being written across an inappropriate memory boundary and that in the case of 80000004 an illegal instruction has been detected which is possibly the CPU attempting to execute data. This points to a potential memory problem, either in the memory chips themselves or in the configuration of the memory at startup.


My Guru.

My Guru Generator...

I need to go and meditate on what exactly my problem is. Anyone got a Joy Board spare?

Friday, September 06, 2019

New and Improved! New and Improved! New AND Improved!

Whatever happened to old and inferior?


Brand New A500+ - Part 1


My regular readers (hi Dad!) will know that I have had many A500+ motherboards pass through my hands. All of them were faulty in some way, caused by the liquid acid death, spilled over the board and components by the installed rechargeable battery. Many of these were Varta but my original A500+ (long since sold) had a GP battery. In any case, A500+'s die due to battery acid. 

In some cases, it's a simple repair. In some cases there is nothing else to do but harvest the parts and dispose of the board (sob!) at the appropriate recycling centre - check local listings.

But now, there is an alternative. How about a brand new motherboard? OK. Thanks to a most excellent chap called Rob, it is now possible to get a brand new motherboard for an A500+. And I have one. Specifically, I have a Rev2.1 board which is an usual, but surprisingly fabulous looking, purple. Previous versions were red (V1.7) and "baby shit yellow" (V2.0).

Phooar!!!

WARNING - INCOMING GUSH

This is a real thing of beauty. Removing it from the simple jiffy bag, it almost felt like I shouldn't solder anything to it. It's too smooth and shiny. The lines of the traces, the pin sharp markings on the solder mask. The colour. The COLOUR! It. Is. Awesome.

END OF GUSH

I was fortunate to get one of these from the first batch of V2.1 boards following a recommendation from the most excellent @game_whisperer. 

Although I have a new motherboard, it's not a simple case of poddling along to PC World to pick up a new set of ECS chips. Some things are still available new; resistors and capacitors are the same as they've always been so no problems there. Some of the smaller chips are also still available like the MC1488 and MC1489 for the serial port stuff and the 555 timer will be around forever, as well as the 74xxx logic chips. At a push, you could probably even find someone with DIP package 68000 processors too. But you'll need a donor board for Gary, Agnus, Paula and Denise. Also, the CIAs must come from a donor board, along with the power and video connectors. 

Strictly speaking, the power connector does not need to be harvested since the new board can take a standard round DIN socket rather than the irritatingly no-longer-available square type. This would require changing the cable on your Amiga power supply brick.

But the 23 pin D-sub video connector is a must harvest. The 23 pin version was unusual even in the 80's and 90's with the far more popular 25 pin connector being in much wider use, to the point that 25 pin connectors are still easily available. The 23 pin version is almost impossible to get now, unless you stumble across someone with some new old stock. Some suppliers will even sell a 25 pin connector which has literally had the end two pins sawn off to make it 23 pins...

Obtaining a donor board was simple. I reached into my cupboard and pulled out the board I repaired HERE. Sadly, although I got it to boot and it works, it's not very reliable. With the number of jumper wires it's not really suitable for selling on either. With that in mind, I have my donor board. 

It works - but not very well

More jumpers than a branch of M&S
In any case, the ultimate aim of this exercise, for me, is to have a fully functional, reliable Amiga A500+ that I can have as a daily driver and that I know will keep going for many, many years to come. To get there I intend to spend as little as possible. In other words, pretty much everything from my donor board will be transferred straight over to the new board.

Let's get on with it!

As luck would have it, I managed to get hold of a Duratool desoldering station. Something like this is vital if you're planning on doing any large scale desoldering project. It removed the power connector, video connector and other bits in sort order. 

And then I soldered them to the new board.

Video, Power and Floppy connectors in place..

With hundreds of components on these boards, I may be some time.

Stay tuned...





Monday, June 03, 2019

I Forgot to Write This Post - Another A500+

I was working on this A500+ motherboard before Christmas (yes, over six months ago - oops). I swapped a working A500+ board for this board, plus a small contribution, with a chap who had bought an A500+ without realising the potential for disaster.


So here it is:


"What's in the box?!"

Oh. My. Goodness.

Let's have a slightly closer look at the board and the extent of that damage. If you are of a nervous disposition, look away now.

Argh! The Horror!

I can safely say that this is by far the worst A500+ motherboard I've had on my bench. The battery acid has spread from the end of the battery and engulfed U12, U10, Agnus and who knows what else. It really is pretty bad. Have I met my match?

First things first. Gary. What does the socket look like? Bizarrely, Gary was untouched. This is really unusual and could indicate that this A500+ was stored standing on its side.

OK. So, on to Agnus. Oh. Dear.

Looks bad.

Yep. It's bad.

So, a new socket required. The actual Agnus chip was OK and just needed a bit of a clean. The chip also had a chunk of the printing on it's top removed, presumably by the action of the battery acid...

Printing wiped from Agnus
(Taken before I removed the chip)

But, oh boy, that socket really is destroyed. I've not seen one with ALL of the pins corroded. Time to get the socket dispersion apparatus (a pair of cutters) on to it.

Socket nearly gone - damage marked with Sharpie

I removed the ROM chip and CPU to keep them safe. The corrosion had also hit the ROM socket. I took some time to clean this up as I didn't have any other sockets. The damage to the contacts was largely superficial so I think I got away with it other than a couple of pins. More on those later.

Socket begone.

With Agnus' socket removed I cleaned up the rest of the board. A dash of vinegar and then a gentle scrape with a screwdriver to remove the damaged solder mask, followed by a rub down with some IPA to get rid of anything left behind.

Clean and..err...bright.

I had one Agnus socket left. I bought a pack of six originally. So that means that, over the last few years I've saved at least six A500s from a fate worse than recycling. Crikey.

Anyway. 84 pins later, Agnus has a new home.

Action shot! Agnus being replaced.

Oooh! Fancy lighting...

Now, that ROM socket. Two of the contacts actually broke off as I was cleaning it. The others were fine so I don't know what made these two susceptible to the battery acid but, cest la vie. To repair these I de-soldered just the single affected pins and pulled them out of the socket. Then I cleaned the holes out and, using a couple of new pins that had been pulled from a good socket I just pushed them back down into the socket and re-soldered the pin. It was a surprisingly simple and relatively easy fix. Unfortunately I didn't take any pictures with my camera but I hope my description gives a hint as to what I was doing. Note that this would probably only work on dual wipe sockets where the entire spring contact assembly can be removed relatively easily. Moving on.

First smoke test. Does it work?

No.

Green Screen. Not a surprise.

So, the next thing. Replace U10 and U12. These provide a data path for memory access and, as mentioned in many previous posts, this would be a very likely source of the green screen. The corrosion on these two chips was very bad, to the point where I didn't even bother trying to de-solder them, I just cut them off the board and cleaned up the areas affect. I had a couple of spares from a previous repair.

It did not look good...

Disappearing pads and traces...

Out came the multimeter on continuity mode. Check. Beep. Check. Beep. Check. No beep. Note it down. Beep. Check. Beep. Check. No beep. Note it down. And so on for many, many traces. I ended up with a list of about nine missing traces.

To get the chips back on the board I installed sockets. The problem with this was that, as should be obvious from the picture above, there were several pads missing. To solve this I used fine single core wire and hooked a small piece down through each affected hole. Then I soldered it to the existing trace on one side of the board before gently pulling it tight and soldering it to the trace on the other side. Then, when a socket was inserted the leg had something to solder to. It worked quite well but was very, very fiddly..

Two repairs on this side.

Three repairs on this side.

And a close up..

So now I was confident that the replacement chips in their sockets would work but there was still a long list of broken traces to deal with. This time I used coated copper wire which I think came from an old electronics kit. It's pretty fine but stiff enough to shape if needed. Here's the first attempt.


Spaghetti repair.
I had to label the underside of the board as my simple brain kept losing track of which chip was which and which way around the pins are. It's harder than it looks when it's on the other side! And this was only about half way through....

Are we there yet?

With all those wires attached, I tried a second smoke test.

It's ALIVE!
That is a result. :)

I wasn't happy with the wires underneath though so I carefully re-worked them, taking extra care not to dislodge any of the pad/socket repairs. This was the final result.

Much better.
And now a few tests, just to prove it was reliable.

Memory test

Picture test

Another A500+ lives to see another day.

Fin.