Alright, first the tl;dr:
- Good news: I managed to hack the ROM to, I believe, successfully add the video mode entries.
- Bad news: It doesn't fix compatibility with 7.5.3+, which probably confirms my theory the problem with these cards is in the driver, or both the driver and the lack of the video modes.
Putting together decltools and the NuBus reference manual, I was able to hand-edit the ROM to insert the video mode entries within the resource directory.
To accomplish this I discovered a convenient property: the last directory entry for the display sResource (4 bytes) referenced a 4 byte value directly proceeding the directory itself. This meant that instead of moving the entire directory and fixing the offsets, I could move that specific 4-byte value to a new location, slide the final entry back by 4 bytes, and modify it’s offset to point at the new location where the data was stored.
This gave me one more position to insert a directory entry, meaning I could insert the new modes data into a blank space in the ROM, add the new directory entry in the new spot, and add a directory entry pointing to it. (Don't forget to update the CRC after!)
I picked up an AT28C256 which is pin compatible with the original ST27C64A (the board also claims to support ST27C256, so extra address lines don't cause problems), flashed the ROM onto it, and to my surprise the system booted up the first time with the card still working...but only in 7.5.1.
So my belief now is the driver itself isn't responding to a call DM 2.0 expects, at least not properly. The video modes may also
be a requirement, but they don't itself fix the problem, even if they are. Unfortunately the NuBus manual predates DM 2.0 and I've been unable to find any manual for the DM 2.0 requirements for drivers, which might shine a light on the spec changes that break compatibility with older cards.
I suspect all cards which hang in 7.5.3+ are the same root cause as the Lapis issues.