Welcome, Guest. Please login or register.

Author Topic: Amiga 600 Boot Problem  (Read 3262 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Castellen

Re: Amiga 600 Boot Problem
« on: January 01, 2017, 10:57:12 PM »
Quote from: Pat the Cat;818636
Flashing red is usually a sympton of a bad onboard memory chip, as I recall. Certainly some kind of hardware issue with exec not starting up properly... so the processor and ROM are probably good.

I guess in theory a bad keyboard MIGHT do it, but on the A600 the keyboard is just a set of switches on a VERY fiddly cable. Probably no need to unplug it, if a switch is bad, it doesn't stop a boot from happening. So leave that alone, for the time being.

EDIT: Oh yeah, ROMs. The 3.1 version has to specifically be for an A600. They are not very swappable between Amigas, as a rule of thumb.



Red indicates a ROM checksum failure.  One of the first things the system does on power up is build a checksum of the entire ROM and compares it to the checksum stored in ROM.  If they're different, it throws a red screen.  The ROM is usually something that generally works fine or not at all, so most of the time if you have an actual ROM issue, the CPU will end up executing garbage right away, then fail within the first few instructions to the point you'll only ever see a black screen.

Therefore most of the time when you see a red screen, it's often something screwing with the CPU data bus causing the checksum calculation to be wrong.


Agreed, a keyboard fault won't cause this problem.


The 16-bit ROMs are exchangeable between A500, A2000 and A600.


Most of the symptoms so far point to a chip memory problem.  Despite popular belief, the power up memory test (which makes the green screen) is not very thorough.  It's kept brief in order to keep boot times practically short.

What happens during boot in terms of memory is essentially:
- Write exception vector table (46 words) to bottom of memory
- Read them all back, if any aren't as expected then do a green screen
- Do a single word write+read test of chip memory every 16k, if there's a failure in the first 256(?)k then do a green screen
- Set up exec in chip memory - if something breaks here due to bad memory which wasn't detected in the previous test, you'll usually get a yellow screen (exception error)


I'd suggest replacing either/both DRAM ICs in the A600 and see if that fixes the problem.  As I recall, the system should boot normally without U17 fitted, but U16 always needs to be present and working correctly.  Failing that look at the 16 CPU data bus lines with an oscilloscope and see if any lines don't have a clean 0-5Vp-p waveform.  Could also be a CIA fault, both 8520s live on the CPU data bus and people plugging stupid things into the Centronics port can often damge U7, which can then proceed to mess up the data bus and cause similar symptoms as described here.
 

Offline Castellen

Re: Amiga 600 Boot Problem
« Reply #1 on: January 02, 2017, 01:19:51 AM »
Quote from: Gary335;818661
How would one go about replacing U16 and 17? These appear to be soldered directly to the board. Also, where would I obtain these replacement parts?



The original DRAM is a Hitachi HM514260 which are usually easy to find on popular auction sites.  Be sure to get the SOJ package (JP suffix on the part number), so specifically you'll need the HM514260JP-8 or -7 for the right package with either 80 or 70nSec timing.

And obviously it's surface mount soldered, so a couple of minutes work for someone with a rework station.


Likewise, the 8520s are both PLCC44 packages, which can be found on the second hand market.  I've even got a bunch in stock.



Quote from: Pat the Cat;818660
It's  a bi-directional port but it's very limited compared to where parallel ports went. I never knew the data bus could be damaged by silly connections but  it's very easy to plug the wrong thing in there.
 


It met the design requirement of meeting the Centronics standard at the time and generally worked fine.  Unfortunately there was little protection on the I/O lines, which are handled directly by both 8520s, and lots of things happen to use 25-pin D-range connectors.  So you ended up with people jamming any random 25-way connector into the port which could do varying degrees of damage.  Worst case it would damage U7 or U8 to the point where they'd interfere with the CPU data/address busses, then you'd have no booting, or you'd have memory test failures, etc.

The serial port is a lot more tolerant as the 1488/1489 RS232 line drivers offer reasonable protection to the 5V I/O.



Quote from: Pat the Cat;818662
Pretty much everything on the A600 is soldered apart from the ROM. ROHS standards came in 1992. Lead free solder, so count your blessings that fixing it isn't going to cause health damage.



These machines were all built with standard 60/40 tin/lead solder.  Though unless you mistake it for a pork chop and start eating it, or go huffing the lead fumes for years, a one-off repair job such as this is very unlikely to pose a health issue.