Kernel 0.94+

This commit is contained in:
Rémy GIBERT 2021-01-17 22:48:54 +01:00
parent 5939ec4615
commit cfa13a36bb
16 changed files with 315 additions and 241 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -68,14 +68,14 @@ CS.RUN.GetInfo >LEA.G P.GetInfo
bcs .9
>PUSHW L.MSG.GETINFO
>PUSHB.G P.GetInfo+$09 THIS-NET
>PUSHB.G P.GetInfo+$08 THIS-NET
>PUSHB.G P.GetInfo+$09 THIS-NET
>PUSHB.G P.GetInfo+$0E NODE
>PUSHB.G P.GetInfo+$0A BRIDGE
>PUSHB.G P.GetInfo+$0D HARDWARE ID
>PUSHB.G P.GetInfo+$0C HARDWARE ID
>PUSHB.G P.GetInfo+$0D HARDWARE ID
>PUSHB.G P.GetInfo+$0B ROM VERSION
>PUSHBI 7
@ -226,9 +226,9 @@ CS.QUIT lda hBuf
CS.END
MSG.NOATK .AZ "AppleTalk Not Loaded."
MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n"
MSG.GETINFO .AS "Network/Node:%h%h/%h\r\n"
MSG.GETINFO .AS "Network/Node:%H/%h\r\n"
.AS "Bridge : %h\r\n"
.AZ "HWID/ROMVER :%h%h/%h\r\n"
.AZ "HWID/ROMVER :%H/%h\r\n"
MSG.MYZONE .AZ "Zone Name :%S\r\n"
SEARCH.STRING >PSTR "="
>PSTR "="

View File

@ -42,10 +42,14 @@ CS.START cld
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.NOATK .DA MSG.NOATK
L.MSG.ATKERR .DA MSG.ATKERR
L.MSG.USAGE .DA MSG.USAGE
L.MSG.GETINFO .DA MSG.GETINFO
L.MSG.NETNODPORT .DA MSG.NETNODPORT
L.MSG.NOTFOUND .DA MSG.NOTFOUND
L.MSG.SRVINFO .DA MSG.SRVINFO
L.FPLogin .DA FPLogin
.DA 0
*--------------------------------------
CS.INIT clc
@ -64,6 +68,9 @@ CS.RUN ldy #S.PS.ARGC
jsr CS.RUN.GetParms
bcs .9
jsr CS.RUN.GetStatus
bcs .9
jsr CS.RUN.FILogin
bcs .9
@ -85,14 +92,14 @@ CS.RUN.GetInfo >LEA.G P.GetInfo
bcs .9
>PUSHW L.MSG.GETINFO
>PUSHB.G P.GetInfo+$09 THIS-NET
>PUSHB.G P.GetInfo+$08 THIS-NET
>PUSHB.G P.GetInfo+$09 THIS-NET
>PUSHB.G P.GetInfo+$0E NODE
>PUSHB.G P.GetInfo+$0A BRIDGE
>PUSHB.G P.GetInfo+$0D HARDWARE ID
>PUSHB.G P.GetInfo+$0C HARDWARE ID
>PUSHB.G P.GetInfo+$0D HARDWARE ID
>PUSHB.G P.GetInfo+$0B ROM VERSION
>PUSHBI 7
@ -115,11 +122,6 @@ CS.RUN.LookupName
>STYA ZPPTR2
>STYA.G P.LookupName+$08
lda #1
jsr CS.RUN.PutPtr2
lda #'='
jsr CS.RUN.PutPtr2
ldy #$ff
.1 iny
@ -138,18 +140,23 @@ CS.RUN.LookupName
dex
bne .3
lda #1
jsr CS.RUN.PutPtr2
lda #'*'
ldx #SEARCH.STRING.Len
ldy #0
.4 lda SEARCH.STRING,y
jsr CS.RUN.PutPtr2
iny
dex
bne .4
lda #4
>STA.G P.LookupName+$C RetInt
>STA.G P.LookupName+$D RetCnt
>LDYAI 64
>LDYAI 5+99
>STYA.G P.LookupName+$10 BufLen
>LDYA.G LookupBuf
>LEA.G LookupBuf
>STYA.G P.LookupName+$12 BufPtr
lda #1
@ -157,7 +164,33 @@ CS.RUN.LookupName
>LEA.G P.LookupName
ldx #AT.LookupName
jmp CS.RUN.GOATLK
jsr CS.RUN.GOATLK
bcs .9
>LDA.G P.LookupName+$17
beq .99
>PUSHW L.MSG.NETNODPORT
ldy #LookupBuf
ldx #4
.5 lda (pData),y
>PUSHA
iny
dex
bne .5
>PUSHBI 4
>SYSCALL PrintF
.9 rts
.99 >LDYA L.MSG.NOTFOUND
>SYSCALL PutS
lda #MLI.E.IO
sec
rts
*--------------------------------------
CS.RUN.GetParms >LEA.G P.GetParms
ldx #AT.GetParms
@ -180,6 +213,47 @@ CS.RUN.GetParms >LEA.G P.GetParms
.9 rts
*--------------------------------------
CS.RUN.GetStatus
>LDYA.G LookupBuf
>STYA ZPPTR1
>LEA.G P.GetStatus+$8
>STYA ZPPTR2
ldy #3
.1 lda (ZPPTR1),y copy NETWORK/NODE/SOCKET
sta (ZPPTR2),y
dey
bpl .1
>LDYA.G P.GetParms+$6
>STYA.G P.GetStatus+$C Reply buffer length
>LDYA ZPReplyBuf
>STYA.G P.GetStatus+$E
>LEA.G P.GetStatus
ldx #AT.GetStatus
jsr CS.RUN.GOATLK
bcs .9
>PUSHW L.MSG.SRVINFO
lda (ZPReplyBuf) Offset to Machine Type
clc
adc ZPReplyBuf
tay
lda #0
adc ZPReplyBuf+1
>PUSHYA
>PUSHBI 2
>SYSCALL PrintF
.9 rts
*--------------------------------------
CS.RUN.FILogin >LDYA.G LookupBuf
>STYA ZPPTR1
>LEA.G P.FILogin+$4
@ -192,10 +266,10 @@ CS.RUN.FILogin >LDYA.G LookupBuf
dey
bpl .1
>LDYA.G P.GetParms+$4
>LDYAI FPLogin.Len
>STYA.G P.FILogin+$8 Cmd buffer length
>LDYA ZPCmdBuf
>LDYA L.FPLogin
>STYA.G P.FILogin+$A
>LDYA.G P.GetParms+$6
@ -243,6 +317,7 @@ CS.RUN.GOATLK >STYA ZPAtlkParams
CS.RUN.PutPtr2 sta (ZPPTR2)
inc ZPPTR2
bne .8
inc ZPPTR2+1
.8 rts
*--------------------------------------
@ -263,12 +338,26 @@ CS.QUIT lda hReplyBuf
rts
*--------------------------------------
CS.END
MSG.USAGE .AZ "Usage : ATLOGON <SERVER> [USER] [PASSWORD]"
MSG.NOATK .AZ "AppleTalk Not Loaded."
MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n"
MSG.GETINFO .AS "Network/Node:%h%h/%h\r\n"
MSG.GETINFO .AS "Network/Node:%H/%h\r\n"
.AS "Bridge : %h\r\n"
.AZ "HWID/ROMVER :%h%h/%h\r\n"
MSG.USAGE .AZ "Usage : ATLOGON <SERVER> [USER] [PASSWORD]"
.AZ "HWID/ROMVER :%H/%h\r\n"
MSG.NETNODPORT .AZ "Server Address : %H/%h:%h\r\n"
MSG.NOTFOUND .AZ "Server not found"
MSG.SRVINFO .AS "Server Type : %S\r\n"
.DA #0
SEARCH.STRING >PSTR "AFPServer"
>PSTR "*"
SEARCH.STRING.Len .EQ *-SEARCH.STRING
*--------------------------------------
FPLogin .DA #12
.DA #0
>PSTR "AFPVersion 1.1"
>PSTR "No User Authent"
.DA #0
FPLogin.Len .EQ *-FPLogin
*--------------------------------------
.DUMMY
.OR 0
@ -276,6 +365,7 @@ DS.START
P.GetInfo .BS $0F
P.LookupName .BS $17
P.GetParms .BS $07
P.GetStatus .BS $14
P.FILogin .BS $19
NameBuf .BS 36
lookupBuf .BS 5+99

View File

@ -576,6 +576,7 @@ CS.RUN.BuildCat jsr .7
.1 sta (ZPPtr1),y
iny
bne .1
inc ZPPtr1+1
dex
bne .1

View File

@ -39,7 +39,6 @@ pStack .EQ $DC
pBase .EQ $DE 8 Bytes
ZPBIN .EQ $E0 32 bytes
ZPBIN.SIZE .EQ 32
PSCTX.SIZE .EQ $100-pCode
*--------------------------------------
A2osX.ZCALL .EQ $0000

View File

@ -10,6 +10,7 @@ AT.GetMyZone .EQ $1A
AT.GetZoneList .EQ $1B
AT.GetParms .EQ $1C
AT.GetStatus .EQ $1D
AT.FILogin .EQ $2B
AT.FILoginCont .EQ $2C
@ -21,4 +22,3 @@ AT.FIGetSVersion .EQ $3A
*--------------------------------------
MAN
SAVE inc/appletalk.i

View File

@ -305,9 +305,10 @@ BB.Seek lda BB.HdrTrk get track we're on
ldx BB.Slotn0 will do a ph0 off
ldy BB.Slotn0
.1 sta IO.D2.Ph0Off,x
.1 pha
sta IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,y
bcs .2
* Current < Target, must move in
@ -322,8 +323,6 @@ BB.Seek lda BB.HdrTrk get track we're on
sta BB.CurrentQTrack
pha
and #6
ora BB.Slotn0
tax
@ -333,27 +332,13 @@ BB.Seek lda BB.HdrTrk get track we're on
bcs .3
* Current < Target, must move in
inc
.HS B0 BCS
* Current > Target, must move out
.3 dec
and #6
inc
.3 and #6
ora BB.Slotn0
bcc .4
* move out : invert 2 phases
phx
tax
pla
.4 tay
tay
sta IO.D2.Ph0On,x
sta IO.D2.Ph0On,y
@ -363,7 +348,6 @@ BB.Seek lda BB.HdrTrk get track we're on
.6 lda BB.CurrentQTrack
cmp BB.TargetQTrack
bne .1
lda #0

View File

@ -83,8 +83,10 @@ D2MoveHead.SEI ldx Slotn0
cmp MoveTo
beq .8
sta IO.D2.Ph0Off,y
pha
sta IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,y
bcs .2
* Current < Target, must move in
@ -99,8 +101,6 @@ D2MoveHead.SEI ldx Slotn0
sta MoveFrom
pha
and #6
ora Slotn0
tax
@ -110,30 +110,17 @@ D2MoveHead.SEI ldx Slotn0
bcs .3
* Current < Target, must move in
inc
inc
.HS B0 BCS
* Current > Target, must move out
.3 dec
and #6
.3 and #6
ora Slotn0
bcc .4
* move out : invert 2 phases
phx
tax
pla
.4 tay
tay
sta IO.D2.Ph0On,x
sta IO.D2.Ph0On,y
lda #IO.D2.SeekTimeF
jsr D2.Wait100usecA
@ -141,8 +128,8 @@ D2MoveHead.SEI ldx Slotn0
.8 jsr D2.Wait25600usec
sta IO.D2.Ph0Off,y
sta IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,y
rts
*--------------------------------------
D2.Wait25600usec

View File

@ -48,6 +48,8 @@ CS.START cld
.DA CIFS.Mount
.DA CIFS.UMount
*--------------------------------------
L.CALLBACK .DA CIFS.CallBack
*--------------------------------------
J.CIFS .DA CIFS.ChTyp
.DA CIFS.ChMod
.DA CIFS.FStat
@ -69,17 +71,17 @@ L.SMB.TRANSPORT .DA SMB.TRANSPORT
.DA 0
*--------------------------------------
LIB.LOAD >LDYA L.LIBTCPIP
>SYSCALL LoadLib
>SYSCALL2 LoadLib
bcs .9
sta hLIBTCPIP
>SYSCALL GetMemPtr
>STYA aLIBTCPIP
>SYSCALL2 GetMemPtr
>STYA pLIBTCPIP
>LDYAI 256
>SYSCALL GetMem
>SYSCALL2 GetMem
bcs .9
stx hReq
* clc
@ -87,25 +89,25 @@ LIB.LOAD >LDYA L.LIBTCPIP
*--------------------------------------
LIB.UNLOAD lda hReq
beq .1
>SYSCALL FreeMem
>SYSCALL2 FreeMem
.1 lda hLIBTCPIP
beq .8
>SYSCALL UnloadLib
>SYSCALL2 UnloadLib
.8 clc
rts
*--------------------------------------
* >PUSHB hSocket
* >PUSHB 0
* >PUSHBI 0
* >LIBCALL Negotiate
* A = hSMBContext
*--------------------------------------
CIFS.Negotiate lda (pStack)
bne .1
dec
sta (pStack)
@ -115,8 +117,7 @@ CIFS.Negotiate lda (pStack)
lda (pStack),y
ldx #LIBTCPIP.Send
jsr GO.LIBTCPIP
jsr GO.LIBTCPIP
bcs .99
lda #0
@ -131,7 +132,7 @@ CIFS.Negotiate lda (pStack)
lda (pStack),y
ldx #LIBTCPIP.Recv
jsr GO.LIBTCPIP
jsr GO.LIBTCPIP
bcc .3
cmp #E.NODATA
@ -140,24 +141,24 @@ CIFS.Negotiate lda (pStack)
rts
.3 jsr GetRespData
ldy #S.NETBIOS+S.SMB.H.STATUS
lda (ZPRespPtr),y
bne .97
ldy #3
lda (ZPRespPtr),y
clc
adc #4 + NETBIOS header
sta ZPPtr1
tay
lda #0
>SYSCALL GetMem
bcs .99
>STYA ZPCtxPtr
>SYSCALL2 GetMem
bcs .99
>STYA ZPCtxPtr
ldy ZPPtr1
.4 dey
@ -170,17 +171,17 @@ CIFS.Negotiate lda (pStack)
sta (ZPCtxPtr),y
phx
lda hResp
>SYSCALL FreeMem
>SYSCALL2 FreeMem
pla
clc
>RET 2
.97 lda hResp
>SYSCALL FreeMem
>SYSCALL2 FreeMem
.98 lda #MLI.E.IO
@ -190,40 +191,23 @@ CIFS.Negotiate lda (pStack)
* >PUSHB hSMBContext
* >PUSHW username
* >PUSHW password
* >PUSHB 0
* >PUSHBI 0
* >LIBCALL SessionSetup
* (SMBContext updated with UID)
*--------------------------------------
CIFS.SessionSetup
lda (pStack)
beq .10
jmp .5
bne .5
.10 dec
dec
sta (pStack)
ldy #5 hSMBContext
jsr GetSMBCtx
lda hReq
>SYSCALL GetMemPtr
>STYA ZPReqPtr
ldy #5 hSMBContext
jsr GetSMBContext
ldx #S.SMB.H.CMD.SESSION.SETUP.ANDX
jsr RequestSetupX
ldy #0
.1 lda (ZPCtxPtr),y
cpy #S.NETBIOS+S.SMB.H.CMD
bne .11
txa
.11 sta (ZPReqPtr),y
iny
cpy #S.NETBIOS+S.SMB.H
bne .1
ldx #0
.2 lda SMB.SessionSetup.H,x
@ -232,20 +216,20 @@ CIFS.SessionSetup
inx
cpx #SMB.SessionSetup.H.Len
bne .2
phy save Y = LEN
iny
iny
ldx #0
.3 lda SMB.SessionSetup.Guest,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.SessionSetup.Guest.Len
bne .3
ldx #0
.4 lda SMB.SessionSetup.T,x
@ -254,9 +238,9 @@ CIFS.SessionSetup
inx
cpx #SMB.SessionSetup.T.Len
bne .4
pla
jsr SetReqLenYAtA
>PUSHYA
@ -265,12 +249,12 @@ CIFS.SessionSetup
lda (pStack),y
ldx #LIBTCPIP.Send
jsr GO.LIBTCPIP
jsr GO.LIBTCPIP
bcs .99
lda #0
sec
rts
rts
.5 dec
sta (pStack)
@ -279,7 +263,7 @@ CIFS.SessionSetup
ldy #6 hSocket
lda (pStack),y
ldx #LIBTCPIP.Recv
jsr GO.LIBTCPIP
jsr GO.LIBTCPIP
bcc .6
cmp #E.NODATA
@ -292,51 +276,43 @@ CIFS.SessionSetup
ldy #S.NETBIOS+S.SMB.H.STATUS
lda (ZPRespPtr),y
bne .97
ldy #5 hSMBContext
jsr GetSMBCtx
jsr GetSMBContext
ldy #S.NETBIOS+S.SMB.H.UID
lda (ZPRespPtr),y
sta (ZPCtxPtr),y
iny
iny
lda (ZPRespPtr),y
sta (ZPCtxPtr),y
.8 lda hResp
>SYSCALL FreeMem
>SYSCALL2 FreeMem
clc
>RET 7
.97 lda hResp
>SYSCALL FreeMem
>SYSCALL2 FreeMem
.98 lda #MLI.E.IO
sec
.99 >RET 7
.99 >RET 7
*--------------------------------------
* >PUSHB hSocket
* >PUSHB hSMBContext
* >PUSHW pathname
* >PUSHB 0
* >PUSHBI 0
* >LIBCALL TreeConnect
* (SMBContext updated with TID)
*--------------------------------------
CIFS.TreeConnect
lda (pStack)
beq .10
jmp .5
bne .5
.10 dec
dec
sta (pStack)
ldy #3 hSMBContext
jsr GetSMBCtx
lda hReq
>SYSCALL GetMemPtr
>STYA ZPReqPtr
ldy #1 pathname
lda (pStack),y
@ -345,49 +321,40 @@ CIFS.TreeConnect
lda (pStack),y
sta ZPPtr1+1
iny hSMBContext
jsr GetSMBContext
ldx #S.SMB.H.CMD.TREE.CONNECT.ANDX
jsr RequestSetupX
ldy #0
.1 lda (ZPCtxPtr),y
cpy #S.NETBIOS+S.SMB.H.CMD
bne .11
txa
.11 sta (ZPReqPtr),y
iny
cpy #S.NETBIOS+S.SMB.H
bne .1
ldx #0
.2 lda SMB.TreeConnect.H,x
.1 lda SMB.TreeConnect.H,x
sta (ZPReqPtr),y
iny
inx
cpx #SMB.TreeConnect.H.Len
bne .2
bne .1
phy save Y = LEN
iny
iny
lda #0
sta (ZPReqPtr),y PASSWORD = "\0"
iny
.3 lda (ZPPtr1)
.2 lda (ZPPtr1)
inc ZPPtr1
bne .31
bne .3
inc ZPPtr1+1
.31 sta (ZPReqPtr),y
.3 sta (ZPReqPtr),y
iny
tax
bne .3
bne .2
ldx #0
.4 lda SMB.TreeConnect.T,x
@ -396,9 +363,9 @@ CIFS.TreeConnect
inx
cpx #SMB.TreeConnect.T.Len
bne .4
pla
jsr SetReqLenYAtA
>PUSHYA
@ -407,12 +374,12 @@ CIFS.TreeConnect
lda (pStack),y
ldx #LIBTCPIP.Send
jsr GO.LIBTCPIP
jsr GO.LIBTCPIP
bcs .99
lda #0
sec
rts
rts
.5 dec
sta (pStack)
@ -421,6 +388,7 @@ CIFS.TreeConnect
ldy #4 hSocket
lda (pStack),y
ldx #LIBTCPIP.Recv
jsr GO.LIBTCPIP
bcc .6
cmp #E.NODATA
@ -433,36 +401,64 @@ CIFS.TreeConnect
ldy #S.NETBIOS+S.SMB.H.STATUS
lda (ZPRespPtr),y
bne .97
ldy #3 hSMBContext
jsr GetSMBCtx
jsr GetSMBContext
ldy #S.NETBIOS+S.SMB.H.TID
lda (ZPRespPtr),y
sta (ZPCtxPtr),y
iny
iny
lda (ZPRespPtr),y
sta (ZPCtxPtr),y
.8 lda hResp
>SYSCALL FreeMem
>SYSCALL2 FreeMem
clc
>RET 5
.97 lda hResp
>SYSCALL FreeMem
>SYSCALL2 FreeMem
.98 lda #MLI.E.IO
sec
.99 >RET 5
.99 >RET 5
*--------------------------------------
CIFS.Mount
* >PUSHB hSocket
* >PUSHB hSMBContext
* >PUSHW MountPoint
* >LIBCALL Mount
*--------------------------------------
CIFS.Mount ldy #1
lda (pStack),y MP HI
>PUSHA
lda (pStack),y MP LO
>PUSHA
>PUSHW L.CALLBACK
>SYSCALL2 Mount
bcs .9
pha hMount
ldx #0
.1 >PULLB MountTable,x
inx
cpx #4
bne .1
clc
pla
.9 >RET 4
*--------------------------------------
CIFS.UMount clc
rts
*--------------------------------------
CS.CALLBACK jmp (J.CIFS,x)
CIFS.CallBack jmp (J.CIFS,x)
*--------------------------------------
CIFS.ChTyp
*--------------------------------------
@ -470,9 +466,13 @@ CIFS.ChMod
*--------------------------------------
CIFS.FStat
*--------------------------------------
CIFS.Stat >PULLW ZPPtr2 S.STAT
CIFS.Stat pha
>PULLW ZPPtr2 S.STAT
>PULLW ZPPtr1 PATH
pla
>SYSCALL2 PutS
.99 lda #MLI.E.INVPATH
sec
@ -511,20 +511,43 @@ CIFS.ChOwn
sec
rts
*--------------------------------------
GetSMBCtx lda (pStack),y
>SYSCALL GetMemPtr
GetSMBContext lda (pStack),y
>SYSCALL2 GetMemPtr
>STYA ZPCtxPtr
rts
*--------------------------------------
RequestSetupX phx
lda hReq
>SYSCALL2 GetMemPtr
>STYA ZPReqPtr
plx
ldy #0
.1 lda (ZPCtxPtr),y
cpy #S.NETBIOS+S.SMB.H.CMD
bne .2
txa
.2 sta (ZPReqPtr),y
iny
cpy #S.NETBIOS+S.SMB.H
bne .1
rts
*--------------------------------------
* Y = LEN from S.NETBIOS.TYPE
* A = Ptr to LEN Word
*--------------------------------------
SetReqLenYAtA sty ZPReqLen
stz ZPReqLen+1
sta ZPPtr1
pha
tya
dec
dec
@ -536,7 +559,7 @@ SetReqLenYAtA sty ZPReqLen
iny
lda #0
sta (ZPReqPtr),y
lda ZPReqLen
sec
sbc #S.NETBIOS
@ -544,16 +567,16 @@ SetReqLenYAtA sty ZPReqLen
sta (ZPReqPtr),y
lda ZPReqLen+1
sec
sbc /S.NETBIOS
sbc /S.NETBIOS
dey
sta (ZPReqPtr),y
>LDYA ZPReqLen
rts
*--------------------------------------
GetRespData sta hResp
>SYSCALL GetMemPtr
>SYSCALL2 GetMemPtr
pha
tya
* clc
@ -564,17 +587,21 @@ GetRespData sta hResp
sta ZPRespPtr+1
rts
*--------------------------------------
GO.LIBTCPIP jmp (aLIBTCPIP)
GO.LIBTCPIP jmp (pLIBTCPIP)
*--------------------------------------
CS.END
*--------------------------------------
LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
aLIBTCPIP .BS 2
pLIBTCPIP .BS 2
hSocket .BS 1
hReq .BS 1
hResp .BS 1
*--------------------------------------
MountTable .BS 2 pMountPoint
.BS 1 hSMBContext
.BS 1 hSocket
*--------------------------------------
SMB.TRANSPORT .DA #0 DIRECT TCP TRANSPORT
.DA #0 24 BITS LENGTH
.DA /SMB.NegReq.end-SMB.H

View File

@ -874,6 +874,7 @@ SKT.Recv clc
.3 cmp #S.IP.PROTOCOL.TCP
beq .6
cmp #S.IP.PROTOCOL.UDP
bne .8

View File

@ -261,6 +261,9 @@ TCP.IN.JMP.LASTACK
lda (ZPFrameInPtr),y
bit #S.TCP.OPTIONS.ACK
beq .8
lda #S.TCP.OPTIONS.ACK
jsr TCP.OUT.SendOptA
ldy #S.SOCKET.TCP.S
lda #S.SOCKET.TCP.S.TIMEWT
@ -287,7 +290,8 @@ TCP.IN.JMP.FINWT1
.1 jsr TCP.IN.ACKTheFIN FIN/ACK
lda #S.TCP.OPTIONS.FIN+S.TCP.OPTIONS.ACK
* lda #S.TCP.OPTIONS.FIN+S.TCP.OPTIONS.ACK
lda #S.TCP.OPTIONS.ACK
jsr TCP.OUT.SendOptA FIN received, Send ACK
bcs TCP.IN.JMP.TIMEWT.RTS
@ -330,6 +334,7 @@ TCP.IN.JMP.TIMEWT.RTS
rts
*--------------------------------------
TCP.IN.ACKTheSYN
TCP.IN.ACKTheFIN
ldy #S.TCP.SEQNUM+3 Get Remote SEQ
ldx #3
@ -344,7 +349,7 @@ TCP.IN.ACKTheSYN
rts
*--------------------------------------
TCP.IN.ACKTheFIN
TCP.IN.ACKTheFIN.OLD
ldx #3
.1 inc SKT.Cache+S.SOCKET.TCP.INSEQNUM,x

View File

@ -364,9 +364,7 @@ XRW.SectorIO lda #2
bne .3 no, try another sector.
bit XRW.bWrite
* bpl .7 branch if write
bmi XRW.Write
* jmp XRW.Write
.7 jsr XRW.Read
bcs .3 if bad read
@ -387,7 +385,7 @@ XRW.SectorIO lda #2
XRW.Write lda IO.D2.ReadProt,x PREWRITE MODE
.LIST OFF
lda IO.D2.ReadMode,x
* lda IO.D2.ReadMode,x
lda nbuf2
sta pcl
@ -521,13 +519,11 @@ wrefd5 ldx #$60 (2) restore slot. warning: modified by prenib
clc (2)
jsr XRW.Write.RTS (6+6)
* lda #$FF (2)
lda #$FF (2)
nop (2)
nop (2)
* jsr wnibl (15,6) write turn off byte.
jsr wnibl (15,6) write turn off byte.
XRW.ReadMode lda IO.D2.ReadMode,x out of write mode
lda IO.D2.WShift,x to read mode.
@ -730,8 +726,10 @@ XRW.Seek ldx XRW.UnitIndex
cmp XRW.TargetQTrack
beq .8
sta IO.D2.Ph0Off,y
pha
sta IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,y
bcs .2
* Current < Target, must move in
@ -746,8 +744,6 @@ XRW.Seek ldx XRW.UnitIndex
sta XRW.CurrentQTrack
pha
and #6
ora A2L
tax
@ -759,38 +755,22 @@ XRW.Seek ldx XRW.UnitIndex
* Current < Target, must move in
inc
inc
.HS B0 BCS
* Current > Target, must move out
.3 dec
and #6
.3 and #6
ora A2L
bcc .4
* move out : invert 2 phases
phx
tax
pla
.4 tay
tay
sta IO.D2.Ph0On,x
lda $C0EC
sta IO.D2.Ph0On,y
lda $C0EC
jsr XRW.WaitSeekTime
bra .1
.8 jsr XRW.Wait25600usec
sta IO.D2.Ph0Off,y
sta IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,y
rts
*--------------------------------------
XRW.WaitSeekTime

View File

@ -96,7 +96,7 @@ CS.RUN lda hSocket
>PUSHB hSocket
>PUSHBI 0
>LIBCALL hLIBCIFS,LIBCIFS.Negotiate
bcs .9
bcs CS.INIT.RTS
sta hSMBContext
@ -117,18 +117,16 @@ CS.RUN lda hSocket
>LIBCALL hLIBCIFS,LIBCIFS.TreeConnect
bcs .9
* lda #3
* >SYSCALL ArgV
* >PUSHYA
>PUSHB hSocket
>PUSHB hSMBContext
lda #3
>SYSCALL ArgV
>PUSHYA
>LIBCALL hLIBCIFS,LIBCIFS.Mount
* >PUSHW L.CS.CALLBACK
sta hMount
* >SYSCALL Mount
* bcs .9
* sta hMount
.8 lda #0
lda #0
clc
.9 rts
*--------------------------------------

View File

@ -405,6 +405,7 @@ CORE.PSLeave ldx #PSCTX.SIZE-1
dey
dex
bpl .1
rts
*--------------------------------------
CORE.PSExec lda (pPS)
@ -439,6 +440,7 @@ CORE.PSResume sei
inx
bne .1
.2 ldy #S.PS.PC+1
lda (pPS),y
pha