Re: [hatari-devel] Systematic launch tests

[ Thread Index | Date Index | More Archives ]

On 26/03/2017 à 22:37, Roger Burrows wrote:
IIRC, there's no guaranteed way of detecting a byte-swapped Atari
partition table, so EmuTOS doesn't attempt to guess.

Ahem, this is on my EmuTOS TODO list... for Amiga.
This is because Amiga has a naturally byteswapped IDE port (like PC). When you plug an Atari formatted IDE drive on Amiga, EmuTOS can't use it because of this current limitation: need for software byteswap is not properly detected. It should be, definitely. (as Roger said, EmuTOS works fine in any case for PC-formatted IDE disks)

That being said, there is a second issue, related to Hatari.

It seems that Hatari systematically byteswaps IDE disk images (is this true?). This is good if someone plugs an Atari IDE disk on PC and mount it in Hatari as IDE: it will appear as normal (non-byteswapped) in the Atari OS, which is best for performance. But if the disk image is a clean (non-byteswapped) image (i.e. image of ACSI or SCSI disk), it will appear as byteswapped when mounted on Hatari IDE. Hence bad performance, or even unusable with current EmuTOS.

The solution is to add a "byteswap" option in Hatari when an IDE image is used. If the original image is clean (can be easily checked with xxd), then "byteswap" should be unchecked. If the original image is byteswapped (or simply /dev device of Atari IDE disk plugged on PC), then "byteswap" should be checked. So Hatari will always do the right byteswap, and the emulated IDE disk will always appear non-byteswapped in the Atari OS, for best performance. FYI, ARAnyM has similar option, even if it is IMHO reversed, of not completely buggy for whole disks.

Vincent Rivière

Mail converted by MHonArc 2.6.19+