|Re: [hatari-devel] Assigning GEMDOS HD to unused drive?|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
Am Sun, 5 Oct 2014 22:48:07 +0300
schrieb Eero Tamminen <oak@xxxxxxxxxxxxxx>:
> On perjantai 03 lokakuu 2014, Thomas Huth wrote:
> > schrieb Eero Tamminen <oak@xxxxxxxxxxxxxx>:
> > > I changed Hatari code to count the real (primary) partitions
> > > also in IDE case, not just assume 4 per image. As DOS MBR is
> > > nowadays more common than Atari one, I added:
> > > - support for that too (selected with MBR end 0x55AA signature)
> > > - partition table printing when IDE ("ide") or ACSI ("scsi_cmd")
> > >
> > > tracing is enabled.
> > Nice ... but did you also consider that IDE disk can be both,
> > big and little endian?
> Also boot sector / MBR?
> (Current code expects things to be in host order.)
> What indicats the endianess on IDE disk? What about ACSI?
AFAIK the IDE port was a 16-bit bus. The data lines are mapped twice
at location 0xf00000 of the ST's memory space, so you could either read
one 16-bit value or two 16-bit values with a longword access.
Now, these 16-bit values are treated big endian on the ST of course.
But when you then unplugged your IDE drive from your Atari and
connected it to a PC to create a dump, the 16-bit values were treated
little endian of course. So for images that have been created on one
system and dumped on the other system, you have to treat all even and
uneven bytes swapped. For DOS MBRs you could maybe detect that with the
55AA signature, but I am not sure how to automatically detect this for
Concerning ASCI, there never was such a problem, since this bus did not
have a 16-bit interface in the IO memory.