|Re: [hatari-devel] TOS 3.06 does not boot from ACSI|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
On 05.10.2016 21:08, Uwe Seimet wrote:
> 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.
OK, thanks, that's good to know ... but apparently, TOS 3.06 also reads
the value from the VME bus GPIO register ... maybe as a fall back if the
NVRAM is not containing a sane value?