|Re: [hatari-devel] New EmuTOS floppy code causes bus error on (Hatari-emulated) MegaST|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
- To: emutos-devel@xxxxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] New EmuTOS floppy code causes bus error on (Hatari-emulated) MegaST
- From: Thomas Huth <th.huth@xxxxxxxxx>
- Date: Fri, 27 Apr 2018 23:23:09 +0200
- Cc: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1524864191; bh=njCDsHASpVqU5fLhrHdNBQe7aCotVjUQGvhJPfVGUXc=; h=Date:From:To:Cc:Subject:From; b=mcYW4FG+l6ktNuKFq7/Dleb19kEm2uHkczeT+ddj6M364/dSglR3cOwi804l3M9d9 SopI0d58+5zXsIBOcqgBp2IGYPh0GjwqqW8qyM4J7rtKfkg45PgD+AiyQmxqKhd1YI JNb3l3+yf9SlnRYxcnnfrr45qLocv5C0Bs+XpcGaNiW1nVtTn0/bRojRzF5hFVJdqM dKWvWTB7rY1TjG7lHLN3+xzbsQZGT38P3vIpdCWMSDdZnZKGXaJ1PX378PBIs8y0dK AOc0RkfVGT2YQwHdynZjciqUzY1qxg0JpJgK7OXMVjzKkans5ix0yfSmXQ5M6VAe1m kahX7Vh63bzUg==
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  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.