Re: [hatari-devel] Small bug in Hatari Falcon emulation

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 24/11/2020 à 00:46, Roger Burrows a écrit :
On 23 Nov 2020 at 10:39, Nicolas Pomarède wrote:

Le 22/11/2020 à 23:47, Roger Burrows a écrit :
When the "STe Bus Emulation" bit (0x20) in the Falcon Bus Control Register
at
$ff8007 is zero, "STe Bus Emulation" mode is set.  This affects bus error
handling.  Hatari already models this as far as the I/O memory area is
concerned (I haven't attempted to check how accurately yet).  But it also
affects bus errors when accessing RAM, which Hatari does NOT model.
Basically,
on a real Falcon with "STe Bus Emulation" enabled, there are NO bus errors
generated for the whole $0 to $dfffff region, even in user state.  Even if
RAM
isn't present at an address, no bus error occurs.

This should be easy for any of the developers to verify, but I can post a
copy
of the test program I used if you would like.

Hi

did you test also for RAM < 0x800 ? Because even on STF/STE accessing
these addresses requires supervisor mode, else you get a bus error.

Yes, with "STe Bus Emulation" enabled, you can read and write locations under
$800 in user state without getting a bus error.

also on TT/Falcon, the default MMU tables are stored at addresses <
0x800 to avoid that some user programs could write garbage in these
tables and crash the computer.

So, it would be strange that < 0x800 can be accessed without supervisor
mode in STE mode.

Yes, it's strange.  Obviously that isn't meant to be a normal operating mode,
but if Hatari is trying to emulate real hardware ...


Hi

thanks for the confirmation, this will need to be updated in next hatari version, but it shouldn't be too difficultt

a+




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/