byuu, I understood the ROM mapping when you first explained it two years ago (and MESS code works fine since then).
I'm now interested to understand in which way you handle WRITES to those areas, if there is cartRAM there (notice: RAM and not ROM wink )...
Apparently not, because there is no distinction between reads and writes in my explanation. And thus, no distinction between ROM and RAM.
In my example, if a read from offset 11 returns "B", then a write to offset 11 will overwrite "B". Thus, the next time you read from offset 10, 11, 14 or 15; you will get the new, overwritten value.
Of course, in practice, I have a granularity of 256 bytes; because a 128MB table of 64-bit pointers is a bit ... extreme. But that's more than enough for any official software.