It was a good idea to check the SRAM datasheet[1] for a startup time, but heck if I can find one on there. It looks like stable voltage on OE(grounded permanently) and CE might be the deciding factor?
I checked the datasheet for the actual SHARP chips used in the amiga, and they are 500us + 8 refresh cycles.
Surely the SRAM would be faster than this?
I don't see the power up time mentioned on that datasheet either. While you'd certainly expect the SRAM to power up in plenty of time, it's bad practice to make bold assumptions. I've seen some modern devices that take an eternity to become usable after power up in comparison to what you'd normally expect.
Another potential problem is the +5V supply line to the SRAM taking a while to stabilise. Most of these modern devices have in-built brownout detection where the device is internally held in a reset state until the supply is fully stable. Use a digital storage scope on the V+ supply pin of the SRAM to look at the rise time and check for any significant overshoot or ringing. The problem with using logic analysers is that they usually won't show this level of detail, unless they include mixed signal (analogue) capability.
How's this for a quick idea that won't cost you any time or money:
1. Find any convenient access to the A500 reset line (_RST) and manually short it to ground using a pair of tweesers, this is 100% safe to do as the line is not actively driven high at any time.
2. Power on the A500 normally.
3. After a second or so, remove the tweesers and see if the machine always boots reliably or you still get the white screen thing.
If that works, there's probably an issue with supply settling time or device power up durations. If it makes no difference, ignore my suggestions.
Do you know if kickstart has disabled the rom at $0 when it dies?
You might want to patch a copy of kickstart to output more of an indication where it's up to.
To answer your other question, this poster is talking about the fact that soon after power up, the system changes the ROM address (location) in the system memory map. At power on it's located at 0x000000, then early on during startup it gets moved to 0xF00000 - if I recall correctly. Or is it 0xF80000? Whatever. When this happens, the Overlay line (OVL) which is an output from CIA U7 (in the A500) pin 2 which goes either high or low (can't remember which direction), which then connects to the system address decoder (Gary) to change the _ROMEN address generation. This happens before the chip memory boundary tests are done, so it's a good suggestion to see if your white screen issues are before or after this event.
Failing that, it might be worthwhile finding out exactly where in the A500 ROM the screen is set to white. I think it may be when exec is started (don't quote me on that), which is after the chip memory tests are complete. Keep in mind that the chip memory test is NOT a thorough test, it only writes a longword every 16kB and checks it can be read back and isn't mirrored at address 0x000000.
I have a description of the ROM boot procedure detail
here, see the bottom of the page.
Yes, you'd have to change the ROM to make it give you any better detail. If you're able to configure your logic analyser to trigger on specific address words, I can send you an A4000 ROM image which has this level of debugging. Normally it's used with some special hardware I developed which captures special debugging data sent out on the address bus, but you may be able to do bits of this with your logic analyser. While it would fail at some point because the A4000 ROM won't run properly on A500 hardware, all of the initial stuff should work. But again that requires you to be able to write a ROM image into something and boot from that, so probably not so helpful.