Over the weekend, the Amiga 1200 I restored picked up an interesting symptom. It started randomly rebooting, sometimes rebooting many times a minute. This is the diagnosis and repair.

The Diagnosis

I was testing the HDMI output of the PiStorm32-Lite and normally an Emu68 logo will show on this port before the RTG is initialised.

This kept showing up and immediately disappearing. Which made it clear that the Pi was being reset for some reason. I pulled out the board from the casing and metal shielding to make sure there was no shorting going on, and it was still misbehaving.

No joy, it still didn’t work correctly. The next step was to remove the PiStorm and try to boot it. When doing this, the machine was completely dead with a black screen.

I, of course, put in some DiagROM EPROMs to see what was going on. These sometimes booted, sometimes did not. When it did boot it often died within a minute.

My first port of call was the reset circuit. I figured that for some reason that something was triggering the reset circuit. I obtained the following schematic for the reset circuit from a site called “Amiga Guides“:

Using this and amigapcb.org I found a good test point for the reset circuit and found that it was indeed being held or triggered when this was happening.

Root Cause

Tracing back, I found that the KB_RESET line was being triggered even without a keyboard plugged in. The 68HC05C is programmed to hold the reset line if the signal from U49 is low.

U49 is a basic Power Management IC. It’s job is to monitor the power coming in, hold low when the voltage is low and go open circuit when a threshold is met (4.3v in this case). The voltage on the “POWER OK” line was measuring a constant 1.8 – 2v. This is not normal. It should either be due to the output of the PMIC, or pulled to 5v by the 10K resistor, with a very short transition (~50ms) between the two due to the resistor/capacitor circuit.

I pulled this IC thinking it was bad, but the voltage was still the same, so I replaced it.

This just leaves the resistor / capacitor circuit. The resistor was easy to test, so the fault was likely to be the capacitor, acting as a resistor and pulling things just low enough to trigger this behaviour.

I replaced the capacitor with a similar value, it is a 0805 instead of the 1206 that was there before, but it is good enough for this circuit. You can see the replacement in position C629 below.

Fixed

When powering on now, the “POWER OK” line goes to 5v, as expected, and after running Frontier for several hours, it has proved to be a lot more stable.

With that, the machine was reassembled. Ready for the task I have planned for it next month.

One response to “Amiga 1200: Fixing Boot Loop”

  1. […] that my new Amiga 1200 has been restored, and the boot loop repaired, I have been having a play with the PiStorm32-Lite. Things have come along leaps and bounds since […]

Leave a Reply

Your email address will not be published. Required fields are marked *