There's a possibility that opening up the MMU tables of the other machines so that the full 2 MB of ROM is mapped might magically fix the Quadra AV ROM's compatibility with the older machines, but I wouldn't hold my breath.
Good news: I hacked the erase and program functions of Flasher for compatibility with the Micron M29F160FB chip tonight. Remarkably, the assembly code I cobbled together for those two functions worked on the first try. I guess I had a bit of an advantage because I could look at the C code for my SIMM programmer to understand the algorithm for writing to the flash chip though!
So with those hacks in place, I can now program the first megabyte of the second half of
@Jockelill's prototype 8 MB SIMM in-system in my Performa 630! Programming 1 MB of flash on the modern SIMM is...super fast! It only takes like 3 or 4 seconds. Kind of puts my USB SIMM programmer to shame, if I'm being honest.
Bad news: In its current form, it's kind of useless because I only have access to write to the second half of the SIMM due to the limitation of 0x40400000 being the write base address. And yes, I made a little utility to test write cycles and verified that only the upper 4 MB of the 8 MB of available ROM address space can physically do write cycles. If I write to 0x40800000 (or any of its numerous repetitions like 0x41000000) the /WE pin never goes low. I tested the crap out of it and verified it with my oscilloscope. The only way I can even verify that my in-system erase/write code works is to yank the SIMM out of the logic board afterward, put it in my programmer instead, and manually dump it. I can see whatever my hacked Flasher program wrote to the SIMM starting at the offset 0x400000.
If I were to hack
@Jockelill's prototype so that the chips had their highest address lines tied to GND instead of A22 on the SIMM edge connector, I believe that would effectively turn it into a 4 MB SIMM and it would fully work for in-system flashing. Going forward, it probably makes more sense to only use two of the M29F160FB chips for a 4 MB SIMM though.
Alternatively, we could rig up something like what
@Phipli discussed earlier in the thread about giving it two separate 4 MB halves and provide some way to select which half you're working with.