Kernel version 0.9 : Try other SSCs if ping failed (useful if ADTPro is connected to //c port #2)

This commit is contained in:
Rémy GIBERT 2017-02-18 23:21:43 +01:00
parent 245a6e7711
commit 1cfa4f8122

View File

@ -12,12 +12,12 @@ AUTO 6
.INB /A2OSX.DEV/INC/IO.I .INB /A2OSX.DEV/INC/IO.I
.INB /A2OSX.DEV/INC/MONITOR.I .INB /A2OSX.DEV/INC/MONITOR.I
.INB /A2OSX.DEV/INC/PRODOS.I .INB /A2OSX.DEV/INC/PRODOS.I
.INB /A2OSX.DEV/INC/MLI.ERR.I
.INB /A2OSX.DEV/INC/COM.6551.I
*-------------------------------------- *--------------------------------------
TmpPtr1 .EQ $0 TmpPtr1 .EQ $0
VS.CMD .EQ $C5 "E": Virtual Drive Command Envelope VS.CMD .EQ $C5 "E": Virtual Drive Command Envelope
DRV.EntryPoint .EQ $BF41 DRV.EntryPoint .EQ $BF41
*--------------------------------------
.INB DRV/X.SER.6551.S
*-------------------------------------- *--------------------------------------
VSDRIVE.Init >LDAXI VSDRIVE.MSG0 VSDRIVE.Init >LDAXI VSDRIVE.MSG0
jsr PrintCStrAX jsr PrintCStrAX
@ -29,6 +29,8 @@ VSDRIVE.Init >LDAXI VSDRIVE.MSG0
jsr PrintCStrAX jsr PrintCStrAX
rts rts
lda #$C1
.1 jsr SSC.Detect .1 jsr SSC.Detect
bcc .2 bcc .2
@ -50,6 +52,17 @@ VSDRIVE.Init >LDAXI VSDRIVE.MSG0
>LDAXI VSDRIVE.SRVKO >LDAXI VSDRIVE.SRVKO
jsr PrintCStrAX jsr PrintCStrAX
lda DRV+2 DRV.Slotn0
lsr
lsr
lsr
lsr
ora #$C0
inc
cmp #$C8
bne .1 Go try next SSC....
rts rts
.3 >LDAXI VSDRIVE.SRVOK .3 >LDAXI VSDRIVE.SRVOK
@ -90,7 +103,6 @@ VSDRIVE.Check bit RRAMWRAMBNK2
rts rts
*-------------------------------------- *--------------------------------------
SSC.Detect stz TmpPtr1 SSC.Detect stz TmpPtr1
lda #$C1
sta TmpPtr1+1 sta TmpPtr1+1
.1 ldx #DEVSIG.Value-DEVSIG.Offset-1 .1 ldx #DEVSIG.Value-DEVSIG.Offset-1