Forgive me if I'm wrong, but I thought the whole point of MapROM's approach was to avoid sticky patches like that.exxos wrote: ↑Wed Jul 28, 2021 5:07 pmI don't remember exactly, but i think TOS does jumps to specific ROM locations , rather than jumps to labels or whatever. So the patch table has a list of addresses to patch.. Which varies on TOS version, language etc so it pretty much renders maprom useless as it uses the patch tables PP created.
It uses the MMU to redirect the processor directly to the 'real' address even when the code thinks it's in ROM-space.
So TOS asks for 00E00030 (say). The CPU transparently serves what's at 00010074030 (for example). TOS is none the wiser nor does it need to be.
The crucial thing is that the data at (the real) 00E00030 to the DMA controller is what's at (the virtual) 00E00030 (really 00010073030) to the CPU, else confusion abounds. Because MapROM actually copies from 00E00000 to AltRAM, that shouldn't be a problem, though.
BW