Hi,
The main thing is to protect the emulation process i.e. prevent
Hatari itself doing invalid memory access.
What else driver does in such a corner case is less of a concern
from my point of view. For now, you could log an error and
later once it's checked on real HW, add proper error response.
Thinking more about this, even with real hardware there is no
well-defined behavior. Even with SCSI/ACSI DMA you often also need PIO,
or data transferred via DMA have to be copied to their final address, e.g.
for SCSI transfers to/from ST-RAM and for transfers to/from odd addresses.
Only for IDE it's always PIO, at least on original Atari machines. The
Milan supports IDE DMAE, but there is no DMA-capable IDE driver for it.
The attached patch allows writes from RAM and ROM and reads to RAM only.
This should be fine, at least it does not contract any documented behavior.
Best regards
Uwe