Re: [hatari-devel] TOS 3.06 does not boot from ACSI |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] TOS 3.06 does not boot from ACSI
- From: Uwe Seimet <Uwe.Seimet@xxxxxxxxx>
- Date: Wed, 5 Oct 2016 21:08:58 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1475694538; l=1396; s=domk; d=seimet.de; h=In-Reply-To:Content-Disposition:Content-Type:MIME-Version: References:Subject:To:From:Date; bh=mDH32Id0JNJsa01RcHFUu5PS+C+kfCdfVNz8ceNnB/s=; b=FniE7O+6uWbBc+rGStSMC+BvpZFftjTCnMcOXnwCL+5DVKWp+4ZvAdbf9yKJAtbWI4k SGBaXMnU1EnGS0WAJFQSCB2LzulustdQ43H/Y03xyfzME21PhIBbOMeTOggkoLgFsp9KJ 0ArOKbWnAjkSnc2NXhEcWSOmfSj8iFq1iG4=
Hi Thomas,
Thank you for checking this. Now it works as it should.
> Apparently TOS 3.06 uses the value of the first VME bus GPIO register
> and passes this value as some kind of partition selector to the hard
> disk driver code in the boot sector of the ACSI disks:
> 00E00B14 1038 8e09 MOVE.B $ffff8e09,D0
> 00E00B18 c07c 00f8 AND.W #$00f8,D0
> 00E00B1C 31c0 0a00 MOVE.W D0,$00000a00
> ... (omitted loading of the boot sector and checksum calculation) ...
> 00E00B94 2078 04c6 MOVEA.L $000004c6,A0
> 00E00B98 263c 444d 4172 MOVE.L #$444d4172,D3
> 00E00B9E 3e04 MOVE.W D4,D7
> 00E00BA0 eb47 ASL.W #$00000005,D7
> 00E00BA2 3a38 0a00 MOVE.W $00000a00,D5
> 00E00BA6 2f04 MOVE.L D4,-(A7)
> 00E00BA8 2f39 0000 0476 MOVE.L $00000476,-(A7)
> 00E00BAE 4e90 JSR (A0)
>
> The AHDI boot sector code then uses the value in D5 for the selection
> of the partition, as far as I can see.
Actually, D5 contains the boot preference bitmask (e.g. TOS or Atari's SVR4
for the TT), and this value is read from the NVM. 0x00 = no preference,
0x80 = TOS, 0x40 = SVR4, other bits are not used.
This (documented somewhere) mechanism is not related to ACSI, it's a
feature in general in order to be able to boot from different types of
partitions.
With some tools like HDDRUTIL or BOOTCONF (http://www.seimet.de/atari/de/)
one can configure the NVM accordingly.
Take care
Uwe