Kernel version 0.8 : KM.VSDRIVE, Server detection at boot time

This commit is contained in:
Rémy GIBERT 2017-01-24 14:49:20 +01:00
parent 77965e5c9d
commit 1e628dcd1b
3 changed files with 31 additions and 13 deletions

Binary file not shown.

Binary file not shown.

View File

@ -14,7 +14,6 @@ AUTO 6
.INB /A2OSX.DEV/INC/PRODOS.I
*--------------------------------------
TmpPtr1 .EQ $0
TmpPtr2 .EQ $2
VS.CMD .EQ $C5 "E": Virtual Drive Command Envelope
DRV.EntryPoint .EQ $BF41
*--------------------------------------
@ -131,27 +130,46 @@ SSC.Detect stz TmpPtr1
*--------------------------------------
VSDRIVE.Ping ldx DRV+2 DRV.Slotn0
.10 lda #$C4 Send "D" (DIR)
sta SSC.DATA,x
.1 lda SSC.STATUS,x
bit #SSC.STATUS.TDRE Ready for transmit?
beq .1
stz VSDRIVE.Ping.TO
stz VSDRIVE.Ping.TO+1
.1 inc VSDRIVE.Ping.TO
ldy #0
.2 inc VSDRIVE.Ping.TO Wait.......
bne .2
inc VSDRIVE.Ping.TO+1
beq .9
bne .2
dey
bne .2
.2 lda SSC.STATUS,x
lda #$C4 Send "D" (DIR)
sta SSC.DATA,x
stz VSDRIVE.Ping.TO
stz VSDRIVE.Ping.TO+1
.3 inc VSDRIVE.Ping.TO
bne .4
inc VSDRIVE.Ping.TO+1
beq .9 Time Out.....
.4 lda SSC.STATUS,x
and #SSC.STATUS.RDRF incoming char?
bne .1
beq .3
lda SSC.DATA,x
bne .2 end of string ?
bne .4 end of string ?
.3 lda SSC.STATUS,x
.5 lda SSC.STATUS,x
and #SSC.STATUS.RDRF incoming char?
bne .3
beq .5
lda SSC.DATA,x
bne .10 end of list ?
bne .1 end of list ?
clc
rts
@ -159,7 +177,7 @@ VSDRIVE.Ping ldx DRV+2 DRV.Slotn0
.9 sec
rts
VSDRIVE.Ping.TO .DA 0
VSDRIVE.Ping.TO .BS 2
*--------------------------------------
* Find 2 free slots in DEVPTRS (D1 & D2)
*--------------------------------------
@ -238,7 +256,7 @@ DEVSIG.Value .HS 38180131
VSDRIVE.MSG0 >CSTR "VSDRIVE (ADTPro Vitual Serial HD) Driver For A2osX\n"
VSDRIVE.DRVKO >CSTR "VSDRIVE (Or other custom Driver) Already Installed.\n"
VSDRIVE.SSCKO >CSTR "SSC Not Detected.\n"
VSDRIVE.SSCOK >CSTR "SCC Found At Slot %d.\n"
VSDRIVE.SSCOK >CSTR "SCC Found At Slot %d.\nContacting ADTPro Server..."
VSDRIVE.SRVKO >CSTR "No Response From ADTPro Server.\n"
VSDRIVE.SRVOK >CSTR "ADTPro Server Is Online.\n"
VSDRIVE.NOSLOT >CSTR "No ProDOS device slot available.\n"