mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-14 04:31:11 +00:00
Kernel 0.94+
This commit is contained in:
parent
5939ec4615
commit
cfa13a36bb
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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 "="
|
||||
|
@ -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
|
||||
|
@ -576,6 +576,7 @@ CS.RUN.BuildCat jsr .7
|
||||
.1 sta (ZPPtr1),y
|
||||
iny
|
||||
bne .1
|
||||
|
||||
inc ZPPtr1+1
|
||||
dex
|
||||
bne .1
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -874,6 +874,7 @@ SKT.Recv clc
|
||||
|
||||
.3 cmp #S.IP.PROTOCOL.TCP
|
||||
beq .6
|
||||
|
||||
cmp #S.IP.PROTOCOL.UDP
|
||||
bne .8
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
*--------------------------------------
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user