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!




No comments: