Re: [hatari-devel] defaulting to SMALL_MEM

[ Thread Index | Date Index | More Archives ]


On 13.2.2022 18.14, Christian Zietz wrote:
Eero Tamminen schrieb:
There was recent discussion on EmuTOS devel list that non-existent RAM
can be *read* without exception on *Atari* machines in certain cases. [1]

Christian Zietz:

Yes, the STE has some additional unused ROM decodes, that allow reads
from 0xD0xxxx.

I would call it "non-existent *RAM*", though. The STE simply has some
ROM select lines that are unused (i.e. not connected to anything).
Reading from these addresses does not cause a bus error but returns
"garbage", i.e., often something similar to the last instruction due to
the data bus capacitance.

Of course, Hatari should not crash when something reads any memory;
regardless of whether there is a bus error or not.

But I think my remark (as quoted by Eero above) w.r.t. STE ROM select
lines is not connected with the Hatari crashes that we discussed.

If there's a non-existing Atari RAM area that some Atari program could read, or cause Atari HW to read it, without causing exception, that is relevant for the discussion of how the Hatari crashed should be fixed.

Should the Hatari fixes, in addition to ignoring / faking the reads [1], also skip all the normal side-effects happening those reads happen to existing memory?

I.e. if screen pointer would be in such RAM area, should the other video related counters still change or not?

And should there be any additional exceptions happening if screen pointer is set to non-existing RAM?

And does that behavior differ between different Atari machines and memory addresses?

	- Eero

Mail converted by MHonArc 2.6.19+