Re: [hatari-devel] New EmuTOS floppy code causes bus error on (Hatari-emulated) MegaST

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


Am Fri, 27 Apr 2018 18:13:15 +0200
schrieb Christian Zietz <czietz@xxxxxxx>:
[...]
> While doing some (unrelated) tests with EmuTOS on Hatari, I noticed
> that when I run EmuTOS on an emulated MegaST, it crashes early during
> boot with an bus error accessing $FFFF860F. It runs on an emulated
> ST, though.
> 
> This register is the floppy density selection registers ('modectl')
> that is always been written to after Roger's recent changes to the
> floppy code. This register exists neither on the ST nor on the
> MegaST. The reason why this only crashes on the emulated MegaST is
> easily found: A section of code [1] with a comment saying "Normal ST
> has two address which don't generate a bus error when compared to the
> Mega-ST. Mark them as void handlers here."
> 
> The comment is very specific, so I think this behavior has been tested
> on a real MegaST. Can someone from the Hatari developers confirm this?

Yes, I can confirm this. Bus error behavior is different between normal
ST and Mega ST. And bus error emulation is pretty accurate for ST, Mega
ST, STE and Mega STE in Hatari (but not for TT and Falcon mode yet).
We've got a bus error tester in the tests/buserror/ directory where we
also have got some result files that have been taken on real hardware.
In the file tests/buserror/results/mst4_b.txt you can see that
there are bus errors in the interval [$FF860E, $FF8800) - at least for
reading from the register. But I do not expect a difference between
reading and writing here, so I assume there will also be a bus error
when writing to that location.

 Thomas



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