I read some parameters to set for each frequency from ROM:
BIOSConfig 0x50F1800
Those aren't 53C96 registers. Those are for the "TurboSCSI" implementation, which inserts wait states when accessing the 53C96.
Bits 8 and 9 are the read wait states (0 and 1 = 5, 2 = 4, 3 = 3), and bits 11 and 12 are the write wait states (same units).
BIOSTimeout is the delay for deciding the 53C96 has died if it stops responding.
Thank you for the reply.
ROM is writing only bit 0 to register 0x50F1800 (BIOSConfig) and register seems to be 8 bit long. I'm confused because things don't fit together.
LEA BIOSAddr,A2 ; get base of BIOS
MOVE.L BIOS_Config(A2),d0 ; get Config register value
andi.b #$F7,d0 ; drop old D0{0:0} value
or.b (@BIOS_Config,d3.w),d0 ; only change bit 0 of this register
MOVE.L d0,BIOS_Config(A2) ; and write it out (only bottom 8-bits "stick")
...
; BIOS Configuration Register initialization values <h28>
@BIOS_Config
@BIOS_Config20 dc.b %00000001 ; BCLK_25 = 1 <H28>
@BIOS_Config25 dc.b %00000001 ; BCLK_25 = 1 <H28>
@BIOS_Config33 dc.b 0 ; BCLK_25 = 0 <H28>
@BIOS_Config40 dc.b 0 ; BCLK_25 = 0 <H28>