Some of you might know that I'm designing (designed?) a new A501 replacement memory card using SRAM instead of DRAM.
I have some custom logic that glues the RAS/CASs to the CE of the SRAM chip.
The prototype PCB has been produced, and I've done literally billions(!) of test-accesses using both my own assembly routines, and normal off-the-shelf memory software available from aminet. These tests all pass without error! (which I'm pretty happy about)
The one issue that remains is that on startup, the amiga hangs on a WHITE screen. Occasionally(say, 1 in 5 cold starts), the amiga boots fine, recognizes the new memory card, and all is kosher.
If I temporarily disable the memory card, boot, re-enable the card, use the "addmem" command, then everything is also kosher.
Now I've looked at the descriptions of the POST, and even looked at the EXEC disassembly that's available online. Nothing jumps out at me --- normal accesses to the few locations (slightly under every 256k block during detection phase) should function fine. I've provably tested that reads/writes to these exact locations pass with flying colors.
I'm doing proper filtering on the +5v power supply(10uf), and decouple at each IC (.1uf). I doubt it's noise because there's billions of reads/writes done back to back (including interleaving with internal memory reads/writes) without an issue. I'm aware of the heavy duty factory shielding and other DIY attempts that have required such shielding to function --- but it's my firm belief that a (non-RF) design that requires shielding to operate normally hasn't been designed very well. Now for FCC certification, this is another matter.
As most of you probably know, the internal memory and my new SRAM card share the databus, and if my SRAM is active at ANY TIME the internal memory is, it will cause a conflict, and the 68K will latch corrupted data. I haven't spent much time yet looking at this, but that's my current plan for detecting the corruption.
My hopes is that the hanging white screen is a tell-tale symptom that someone recognizes. Note that this isn't simply a failure to recognize the memory --- this is characterized by the machine booting, but no fast ram being inserted into the memory pool. There are also things that can cause a guru crash, but that's not happening either.
Any help would be appreciated.
Thanks
P.S. This project is detailed at
http://techtravels.org , and is completely open source/hardware.