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

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


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 ...

Roger




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