Is there any place where I can find a systematic approach to troubleshooting A3000 power-up behavior? Or a list of points where specific voltages or signals must be measurable?
Would be useful to connect a known good 15kHz monitor to see if you get any error colour screen (yellow or green) which would give a few clues of where to look next. Don't rely on the 31kHz video port yet since there's a good chance that the scandoubler won't be working as a result of the battery corrosion. Test/repair that separately once the rest of the machine is working.
If it's just a black screen, and if you don't know the history of the board, it would be worth checking the various jumpers, particularly J100 - J104 as the system will fail to boot as you've described with any of these incorrect. Notes around jumper configuration on my webserver:
http://amiga.serveftp.net/A3000_HardwareGuide/jumpers.htmlFailing that, you need to begin by seeing what's happening during the first stages of booting, which is:
1. See if the system is coming out of reset state, this happens a few hundred milliseconds after +5V is stable, Gary will de-assert _KBRST, causing all of the various reset signals such as _CPURST, _RESET, etc, to go from low to high state, after which the CPU will begin executing instructions from ROM. Don't quote me on the exact signal names, I'm too lazy to get the schematic out.
2. Look at the activity on _ROMEN, easiest location is pin 12 of either ROM. Just to state the obvious, you need to do this with an oscilloscope with a timebase of around 1uSec/division. There should be constant activity there all the time with the system active. If you never see any activity (_ROMEN always high) immediately after reset, it means that either the CPU isn't executing anything (e.g. system is in reset state, no clock, etc), or there's some kind of major address bus error where Gary isn't able to see any address data in the ROM address range. If you see a few milliseconds of activity on _ROMEN then it stops, then the CPU is likely executing garbage. Which can be caused by address or data bus faults, ROM faults, and my favourite - when customers exchange the two ROMs in the sockets and/or bend/snap off some of the ROM pins.
3. Look at what's happening on the overlay line (_OVL) which should always be high at 5V immediately at power on. The CPU sets this active (low) very early during booting from ROM to change the ROM address from $0 to $F80000. If overlay is low at power on, then CPU will only execute garbage. If overlay stays high all of the time, the CPU probably isn't asserting overlay, usually because it's executing garbage instead of good ROM data. A bad CIA can cause this too, but less likely in this case.
4. If it's working normally as described up to this point, then the hardware is probably working enough to run DiagROM. So replace the system ROMs with DiagROM, then monitor the 9600 baud serial port data with a VT100 terminal to see what clues it provides.
Just remembered I wrote this many years ago, which isn't super helpful given the fact there's a huge number of things that can cause a non-booting fault, but might provide a few more hints:
http://amiga.serveftp.net/A3000_HardwareGuide/booting-problems.htmlLastly, if the U400/Paula IC socket looks even slightly corroded, i.e. contacts not all clean and shiny, replace it.
Or send me the board for repair if you prefer. International freight prices for a 2.2kg board to New Zealand isn't the cheapest, though it's probably your best option if you can't sort it out yourself.
http://amiga.serveftp.net