From 1e628dcd1bd4c3a9ed8e832066a63c4d8f5980e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 24 Jan 2017 14:49:20 +0100 Subject: [PATCH] Kernel version 0.8 : KM.VSDRIVE, Server detection at boot time --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes SYS/KM.VSDRIVE.S.txt | 44 ++++++++++++++++++++++++++++++------------- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index a3edc22dd70590c090b74c06d54ed548c4d8e7a9..f5c6db119be321bab95c1192556c65710a0dc2ea 100644 GIT binary patch delta 530 zcmXAlPiWI%7>Dz9q)nWV)`K0CGVrv>5Yleh zk}1SNCLxF6cPK`8C znJa0rUH9r-aA>6jixF&UJ0*~R+l)Z|sALbnUQ)d{i98+p;BXF|uA4c3V zzignf6Gz3Ri!ay7eq6=bZTE`i@EepV)}gF5z@{u6EF)|XjQHnBVJ(C~{{o>aIw-q( zw?E*fvOSss%6EU9B+EPl%6Y#?Qsuw=5qMzSgk^#fQw@-sb&zC-nwte}1}qJ%Ik4to z)Zq?}&p>__7@NwhYH(MBMGcrWuZskkb@KJ2L)mm&11a0Xx{C{-mZM+q;7^tN(KH}P z;$-2M0Z&#Jz;}aWA*y!FqXQP(IUP6}yXMLYN}H2!(c?3hCn~k;H)^*lxA;rNYs1wE Xexy{LELHRQeCy;p^fa;j0ge6#L<8Nx delta 480 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 Z$mH3Ftt?r0L*EMuTI%0j+>IHIc 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 diff --git a/SYS/KM.VSDRIVE.S.txt b/SYS/KM.VSDRIVE.S.txt index 89cefc12..d47a699a 100644 --- a/SYS/KM.VSDRIVE.S.txt +++ b/SYS/KM.VSDRIVE.S.txt @@ -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"