mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-09 00:29:28 +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
|
bcs .9
|
||||||
|
|
||||||
>PUSHW L.MSG.GETINFO
|
>PUSHW L.MSG.GETINFO
|
||||||
>PUSHB.G P.GetInfo+$09 THIS-NET
|
|
||||||
>PUSHB.G P.GetInfo+$08 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+$0E NODE
|
||||||
|
|
||||||
>PUSHB.G P.GetInfo+$0A BRIDGE
|
>PUSHB.G P.GetInfo+$0A BRIDGE
|
||||||
|
|
||||||
>PUSHB.G P.GetInfo+$0D HARDWARE ID
|
|
||||||
>PUSHB.G P.GetInfo+$0C HARDWARE ID
|
>PUSHB.G P.GetInfo+$0C HARDWARE ID
|
||||||
|
>PUSHB.G P.GetInfo+$0D HARDWARE ID
|
||||||
>PUSHB.G P.GetInfo+$0B ROM VERSION
|
>PUSHB.G P.GetInfo+$0B ROM VERSION
|
||||||
|
|
||||||
>PUSHBI 7
|
>PUSHBI 7
|
||||||
|
@ -226,9 +226,9 @@ CS.QUIT lda hBuf
|
||||||
CS.END
|
CS.END
|
||||||
MSG.NOATK .AZ "AppleTalk Not Loaded."
|
MSG.NOATK .AZ "AppleTalk Not Loaded."
|
||||||
MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n"
|
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"
|
.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"
|
MSG.MYZONE .AZ "Zone Name :%S\r\n"
|
||||||
SEARCH.STRING >PSTR "="
|
SEARCH.STRING >PSTR "="
|
||||||
>PSTR "="
|
>PSTR "="
|
||||||
|
|
|
@ -42,10 +42,14 @@ CS.START cld
|
||||||
.DA CS.RUN
|
.DA CS.RUN
|
||||||
.DA CS.DOEVENT
|
.DA CS.DOEVENT
|
||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
|
L.MSG.USAGE .DA MSG.USAGE
|
||||||
L.MSG.NOATK .DA MSG.NOATK
|
L.MSG.NOATK .DA MSG.NOATK
|
||||||
L.MSG.ATKERR .DA MSG.ATKERR
|
L.MSG.ATKERR .DA MSG.ATKERR
|
||||||
L.MSG.USAGE .DA MSG.USAGE
|
|
||||||
L.MSG.GETINFO .DA MSG.GETINFO
|
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
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT clc
|
CS.INIT clc
|
||||||
|
@ -64,6 +68,9 @@ CS.RUN ldy #S.PS.ARGC
|
||||||
jsr CS.RUN.GetParms
|
jsr CS.RUN.GetParms
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
jsr CS.RUN.GetStatus
|
||||||
|
bcs .9
|
||||||
|
|
||||||
jsr CS.RUN.FILogin
|
jsr CS.RUN.FILogin
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -85,14 +92,14 @@ CS.RUN.GetInfo >LEA.G P.GetInfo
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>PUSHW L.MSG.GETINFO
|
>PUSHW L.MSG.GETINFO
|
||||||
>PUSHB.G P.GetInfo+$09 THIS-NET
|
|
||||||
>PUSHB.G P.GetInfo+$08 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+$0E NODE
|
||||||
|
|
||||||
>PUSHB.G P.GetInfo+$0A BRIDGE
|
>PUSHB.G P.GetInfo+$0A BRIDGE
|
||||||
|
|
||||||
>PUSHB.G P.GetInfo+$0D HARDWARE ID
|
|
||||||
>PUSHB.G P.GetInfo+$0C HARDWARE ID
|
>PUSHB.G P.GetInfo+$0C HARDWARE ID
|
||||||
|
>PUSHB.G P.GetInfo+$0D HARDWARE ID
|
||||||
>PUSHB.G P.GetInfo+$0B ROM VERSION
|
>PUSHB.G P.GetInfo+$0B ROM VERSION
|
||||||
|
|
||||||
>PUSHBI 7
|
>PUSHBI 7
|
||||||
|
@ -115,11 +122,6 @@ CS.RUN.LookupName
|
||||||
>STYA ZPPTR2
|
>STYA ZPPTR2
|
||||||
>STYA.G P.LookupName+$08
|
>STYA.G P.LookupName+$08
|
||||||
|
|
||||||
lda #1
|
|
||||||
jsr CS.RUN.PutPtr2
|
|
||||||
lda #'='
|
|
||||||
jsr CS.RUN.PutPtr2
|
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
|
@ -138,18 +140,23 @@ CS.RUN.LookupName
|
||||||
dex
|
dex
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
lda #1
|
ldx #SEARCH.STRING.Len
|
||||||
jsr CS.RUN.PutPtr2
|
ldy #0
|
||||||
lda #'*'
|
|
||||||
|
.4 lda SEARCH.STRING,y
|
||||||
jsr CS.RUN.PutPtr2
|
jsr CS.RUN.PutPtr2
|
||||||
|
iny
|
||||||
|
dex
|
||||||
|
bne .4
|
||||||
|
|
||||||
lda #4
|
lda #4
|
||||||
>STA.G P.LookupName+$C RetInt
|
>STA.G P.LookupName+$C RetInt
|
||||||
>STA.G P.LookupName+$D RetCnt
|
>STA.G P.LookupName+$D RetCnt
|
||||||
>LDYAI 64
|
|
||||||
|
>LDYAI 5+99
|
||||||
>STYA.G P.LookupName+$10 BufLen
|
>STYA.G P.LookupName+$10 BufLen
|
||||||
>LDYA.G LookupBuf
|
|
||||||
|
|
||||||
|
>LEA.G LookupBuf
|
||||||
>STYA.G P.LookupName+$12 BufPtr
|
>STYA.G P.LookupName+$12 BufPtr
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
|
@ -157,7 +164,33 @@ CS.RUN.LookupName
|
||||||
|
|
||||||
>LEA.G P.LookupName
|
>LEA.G P.LookupName
|
||||||
ldx #AT.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
|
CS.RUN.GetParms >LEA.G P.GetParms
|
||||||
ldx #AT.GetParms
|
ldx #AT.GetParms
|
||||||
|
@ -180,6 +213,47 @@ CS.RUN.GetParms >LEA.G P.GetParms
|
||||||
|
|
||||||
.9 rts
|
.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
|
CS.RUN.FILogin >LDYA.G LookupBuf
|
||||||
>STYA ZPPTR1
|
>STYA ZPPTR1
|
||||||
>LEA.G P.FILogin+$4
|
>LEA.G P.FILogin+$4
|
||||||
|
@ -192,10 +266,10 @@ CS.RUN.FILogin >LDYA.G LookupBuf
|
||||||
dey
|
dey
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
>LDYA.G P.GetParms+$4
|
>LDYAI FPLogin.Len
|
||||||
>STYA.G P.FILogin+$8 Cmd buffer length
|
>STYA.G P.FILogin+$8 Cmd buffer length
|
||||||
|
|
||||||
>LDYA ZPCmdBuf
|
>LDYA L.FPLogin
|
||||||
>STYA.G P.FILogin+$A
|
>STYA.G P.FILogin+$A
|
||||||
|
|
||||||
>LDYA.G P.GetParms+$6
|
>LDYA.G P.GetParms+$6
|
||||||
|
@ -243,6 +317,7 @@ CS.RUN.GOATLK >STYA ZPAtlkParams
|
||||||
CS.RUN.PutPtr2 sta (ZPPTR2)
|
CS.RUN.PutPtr2 sta (ZPPTR2)
|
||||||
inc ZPPTR2
|
inc ZPPTR2
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
inc ZPPTR2+1
|
inc ZPPTR2+1
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -263,12 +338,26 @@ CS.QUIT lda hReplyBuf
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
|
MSG.USAGE .AZ "Usage : ATLOGON <SERVER> [USER] [PASSWORD]"
|
||||||
MSG.NOATK .AZ "AppleTalk Not Loaded."
|
MSG.NOATK .AZ "AppleTalk Not Loaded."
|
||||||
MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n"
|
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"
|
.AS "Bridge : %h\r\n"
|
||||||
.AZ "HWID/ROMVER :%h%h/%h\r\n"
|
.AZ "HWID/ROMVER :%H/%h\r\n"
|
||||||
MSG.USAGE .AZ "Usage : ATLOGON <SERVER> [USER] [PASSWORD]"
|
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
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
|
@ -276,6 +365,7 @@ DS.START
|
||||||
P.GetInfo .BS $0F
|
P.GetInfo .BS $0F
|
||||||
P.LookupName .BS $17
|
P.LookupName .BS $17
|
||||||
P.GetParms .BS $07
|
P.GetParms .BS $07
|
||||||
|
P.GetStatus .BS $14
|
||||||
P.FILogin .BS $19
|
P.FILogin .BS $19
|
||||||
NameBuf .BS 36
|
NameBuf .BS 36
|
||||||
lookupBuf .BS 5+99
|
lookupBuf .BS 5+99
|
||||||
|
|
|
@ -576,6 +576,7 @@ CS.RUN.BuildCat jsr .7
|
||||||
.1 sta (ZPPtr1),y
|
.1 sta (ZPPtr1),y
|
||||||
iny
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
dex
|
dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
|
@ -39,7 +39,6 @@ pStack .EQ $DC
|
||||||
pBase .EQ $DE 8 Bytes
|
pBase .EQ $DE 8 Bytes
|
||||||
|
|
||||||
ZPBIN .EQ $E0 32 bytes
|
ZPBIN .EQ $E0 32 bytes
|
||||||
ZPBIN.SIZE .EQ 32
|
|
||||||
PSCTX.SIZE .EQ $100-pCode
|
PSCTX.SIZE .EQ $100-pCode
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
A2osX.ZCALL .EQ $0000
|
A2osX.ZCALL .EQ $0000
|
||||||
|
|
|
@ -10,6 +10,7 @@ AT.GetMyZone .EQ $1A
|
||||||
AT.GetZoneList .EQ $1B
|
AT.GetZoneList .EQ $1B
|
||||||
|
|
||||||
AT.GetParms .EQ $1C
|
AT.GetParms .EQ $1C
|
||||||
|
AT.GetStatus .EQ $1D
|
||||||
|
|
||||||
AT.FILogin .EQ $2B
|
AT.FILogin .EQ $2B
|
||||||
AT.FILoginCont .EQ $2C
|
AT.FILoginCont .EQ $2C
|
||||||
|
@ -21,4 +22,3 @@ AT.FIGetSVersion .EQ $3A
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE inc/appletalk.i
|
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
|
ldx BB.Slotn0 will do a ph0 off
|
||||||
ldy BB.Slotn0
|
ldy BB.Slotn0
|
||||||
|
|
||||||
.1 sta IO.D2.Ph0Off,x
|
.1 pha
|
||||||
|
|
||||||
|
sta IO.D2.Ph0Off,x
|
||||||
sta IO.D2.Ph0Off,y
|
sta IO.D2.Ph0Off,y
|
||||||
|
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
@ -322,8 +323,6 @@ BB.Seek lda BB.HdrTrk get track we're on
|
||||||
|
|
||||||
sta BB.CurrentQTrack
|
sta BB.CurrentQTrack
|
||||||
|
|
||||||
pha
|
|
||||||
|
|
||||||
and #6
|
and #6
|
||||||
ora BB.Slotn0
|
ora BB.Slotn0
|
||||||
tax
|
tax
|
||||||
|
@ -333,27 +332,13 @@ BB.Seek lda BB.HdrTrk get track we're on
|
||||||
bcs .3
|
bcs .3
|
||||||
|
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
|
||||||
inc
|
inc
|
||||||
|
inc
|
||||||
.HS B0 BCS
|
|
||||||
|
.3 and #6
|
||||||
* Current > Target, must move out
|
|
||||||
|
|
||||||
.3 dec
|
|
||||||
|
|
||||||
and #6
|
|
||||||
ora BB.Slotn0
|
ora BB.Slotn0
|
||||||
|
tay
|
||||||
bcc .4
|
|
||||||
|
|
||||||
* move out : invert 2 phases
|
|
||||||
|
|
||||||
phx
|
|
||||||
tax
|
|
||||||
pla
|
|
||||||
|
|
||||||
.4 tay
|
|
||||||
|
|
||||||
sta IO.D2.Ph0On,x
|
sta IO.D2.Ph0On,x
|
||||||
sta IO.D2.Ph0On,y
|
sta IO.D2.Ph0On,y
|
||||||
|
@ -363,7 +348,6 @@ BB.Seek lda BB.HdrTrk get track we're on
|
||||||
|
|
||||||
.6 lda BB.CurrentQTrack
|
.6 lda BB.CurrentQTrack
|
||||||
cmp BB.TargetQTrack
|
cmp BB.TargetQTrack
|
||||||
|
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
|
|
@ -83,8 +83,10 @@ D2MoveHead.SEI ldx Slotn0
|
||||||
cmp MoveTo
|
cmp MoveTo
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
sta IO.D2.Ph0Off,y
|
pha
|
||||||
|
|
||||||
sta IO.D2.Ph0Off,x
|
sta IO.D2.Ph0Off,x
|
||||||
|
sta IO.D2.Ph0Off,y
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
@ -99,8 +101,6 @@ D2MoveHead.SEI ldx Slotn0
|
||||||
|
|
||||||
sta MoveFrom
|
sta MoveFrom
|
||||||
|
|
||||||
pha
|
|
||||||
|
|
||||||
and #6
|
and #6
|
||||||
ora Slotn0
|
ora Slotn0
|
||||||
tax
|
tax
|
||||||
|
@ -110,30 +110,17 @@ D2MoveHead.SEI ldx Slotn0
|
||||||
bcs .3
|
bcs .3
|
||||||
|
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
|
||||||
|
inc
|
||||||
inc
|
inc
|
||||||
|
|
||||||
.HS B0 BCS
|
.3 and #6
|
||||||
|
|
||||||
* Current > Target, must move out
|
|
||||||
|
|
||||||
.3 dec
|
|
||||||
|
|
||||||
and #6
|
|
||||||
ora Slotn0
|
ora Slotn0
|
||||||
|
tay
|
||||||
bcc .4
|
|
||||||
|
|
||||||
* move out : invert 2 phases
|
|
||||||
|
|
||||||
phx
|
|
||||||
tax
|
|
||||||
pla
|
|
||||||
|
|
||||||
.4 tay
|
|
||||||
|
|
||||||
sta IO.D2.Ph0On,x
|
sta IO.D2.Ph0On,x
|
||||||
sta IO.D2.Ph0On,y
|
sta IO.D2.Ph0On,y
|
||||||
|
|
||||||
lda #IO.D2.SeekTimeF
|
lda #IO.D2.SeekTimeF
|
||||||
jsr D2.Wait100usecA
|
jsr D2.Wait100usecA
|
||||||
|
|
||||||
|
@ -141,8 +128,8 @@ D2MoveHead.SEI ldx Slotn0
|
||||||
|
|
||||||
.8 jsr D2.Wait25600usec
|
.8 jsr D2.Wait25600usec
|
||||||
|
|
||||||
sta IO.D2.Ph0Off,y
|
|
||||||
sta IO.D2.Ph0Off,x
|
sta IO.D2.Ph0Off,x
|
||||||
|
sta IO.D2.Ph0Off,y
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
D2.Wait25600usec
|
D2.Wait25600usec
|
||||||
|
|
|
@ -48,6 +48,8 @@ CS.START cld
|
||||||
.DA CIFS.Mount
|
.DA CIFS.Mount
|
||||||
.DA CIFS.UMount
|
.DA CIFS.UMount
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
L.CALLBACK .DA CIFS.CallBack
|
||||||
|
*--------------------------------------
|
||||||
J.CIFS .DA CIFS.ChTyp
|
J.CIFS .DA CIFS.ChTyp
|
||||||
.DA CIFS.ChMod
|
.DA CIFS.ChMod
|
||||||
.DA CIFS.FStat
|
.DA CIFS.FStat
|
||||||
|
@ -69,17 +71,17 @@ L.SMB.TRANSPORT .DA SMB.TRANSPORT
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIB.LOAD >LDYA L.LIBTCPIP
|
LIB.LOAD >LDYA L.LIBTCPIP
|
||||||
>SYSCALL LoadLib
|
>SYSCALL2 LoadLib
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta hLIBTCPIP
|
sta hLIBTCPIP
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
>STYA aLIBTCPIP
|
>STYA pLIBTCPIP
|
||||||
|
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL2 GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
stx hReq
|
stx hReq
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
|
@ -87,25 +89,25 @@ LIB.LOAD >LDYA L.LIBTCPIP
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIB.UNLOAD lda hReq
|
LIB.UNLOAD lda hReq
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
>SYSCALL FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
.1 lda hLIBTCPIP
|
.1 lda hLIBTCPIP
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>SYSCALL UnloadLib
|
>SYSCALL2 UnloadLib
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* >PUSHB hSocket
|
* >PUSHB hSocket
|
||||||
* >PUSHB 0
|
* >PUSHBI 0
|
||||||
* >LIBCALL Negotiate
|
* >LIBCALL Negotiate
|
||||||
* A = hSMBContext
|
* A = hSMBContext
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.Negotiate lda (pStack)
|
CIFS.Negotiate lda (pStack)
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
dec
|
dec
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
|
||||||
|
@ -115,8 +117,7 @@ CIFS.Negotiate lda (pStack)
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
|
||||||
ldx #LIBTCPIP.Send
|
ldx #LIBTCPIP.Send
|
||||||
jsr GO.LIBTCPIP
|
jsr GO.LIBTCPIP
|
||||||
|
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -131,7 +132,7 @@ CIFS.Negotiate lda (pStack)
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
|
||||||
ldx #LIBTCPIP.Recv
|
ldx #LIBTCPIP.Recv
|
||||||
jsr GO.LIBTCPIP
|
jsr GO.LIBTCPIP
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
cmp #E.NODATA
|
cmp #E.NODATA
|
||||||
|
@ -140,24 +141,24 @@ CIFS.Negotiate lda (pStack)
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 jsr GetRespData
|
.3 jsr GetRespData
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
bne .97
|
bne .97
|
||||||
|
|
||||||
ldy #3
|
ldy #3
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
|
|
||||||
clc
|
clc
|
||||||
adc #4 + NETBIOS header
|
adc #4 + NETBIOS header
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
tay
|
tay
|
||||||
lda #0
|
lda #0
|
||||||
|
|
||||||
>SYSCALL GetMem
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
>STYA ZPCtxPtr
|
|
||||||
|
|
||||||
|
>SYSCALL2 GetMem
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>STYA ZPCtxPtr
|
||||||
ldy ZPPtr1
|
ldy ZPPtr1
|
||||||
|
|
||||||
.4 dey
|
.4 dey
|
||||||
|
@ -170,17 +171,17 @@ CIFS.Negotiate lda (pStack)
|
||||||
sta (ZPCtxPtr),y
|
sta (ZPCtxPtr),y
|
||||||
|
|
||||||
phx
|
phx
|
||||||
|
|
||||||
lda hResp
|
lda hResp
|
||||||
>SYSCALL FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
pla
|
pla
|
||||||
|
|
||||||
clc
|
clc
|
||||||
>RET 2
|
>RET 2
|
||||||
|
|
||||||
.97 lda hResp
|
.97 lda hResp
|
||||||
>SYSCALL FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
.98 lda #MLI.E.IO
|
.98 lda #MLI.E.IO
|
||||||
|
|
||||||
|
@ -190,40 +191,23 @@ CIFS.Negotiate lda (pStack)
|
||||||
* >PUSHB hSMBContext
|
* >PUSHB hSMBContext
|
||||||
* >PUSHW username
|
* >PUSHW username
|
||||||
* >PUSHW password
|
* >PUSHW password
|
||||||
* >PUSHB 0
|
* >PUSHBI 0
|
||||||
* >LIBCALL SessionSetup
|
* >LIBCALL SessionSetup
|
||||||
* (SMBContext updated with UID)
|
* (SMBContext updated with UID)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.SessionSetup
|
CIFS.SessionSetup
|
||||||
lda (pStack)
|
lda (pStack)
|
||||||
beq .10
|
bne .5
|
||||||
jmp .5
|
|
||||||
|
|
||||||
.10 dec
|
dec
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
|
||||||
ldy #5 hSMBContext
|
|
||||||
jsr GetSMBCtx
|
|
||||||
|
|
||||||
lda hReq
|
ldy #5 hSMBContext
|
||||||
>SYSCALL GetMemPtr
|
jsr GetSMBContext
|
||||||
>STYA ZPReqPtr
|
|
||||||
|
|
||||||
ldx #S.SMB.H.CMD.SESSION.SETUP.ANDX
|
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
|
ldx #0
|
||||||
|
|
||||||
.2 lda SMB.SessionSetup.H,x
|
.2 lda SMB.SessionSetup.H,x
|
||||||
|
@ -232,20 +216,20 @@ CIFS.SessionSetup
|
||||||
inx
|
inx
|
||||||
cpx #SMB.SessionSetup.H.Len
|
cpx #SMB.SessionSetup.H.Len
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
phy save Y = LEN
|
phy save Y = LEN
|
||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.3 lda SMB.SessionSetup.Guest,x
|
.3 lda SMB.SessionSetup.Guest,x
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
iny
|
iny
|
||||||
inx
|
inx
|
||||||
cpx #SMB.SessionSetup.Guest.Len
|
cpx #SMB.SessionSetup.Guest.Len
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.4 lda SMB.SessionSetup.T,x
|
.4 lda SMB.SessionSetup.T,x
|
||||||
|
@ -254,9 +238,9 @@ CIFS.SessionSetup
|
||||||
inx
|
inx
|
||||||
cpx #SMB.SessionSetup.T.Len
|
cpx #SMB.SessionSetup.T.Len
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
pla
|
pla
|
||||||
|
|
||||||
jsr SetReqLenYAtA
|
jsr SetReqLenYAtA
|
||||||
|
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
@ -265,12 +249,12 @@ CIFS.SessionSetup
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
|
||||||
ldx #LIBTCPIP.Send
|
ldx #LIBTCPIP.Send
|
||||||
jsr GO.LIBTCPIP
|
jsr GO.LIBTCPIP
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.5 dec
|
.5 dec
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
@ -279,7 +263,7 @@ CIFS.SessionSetup
|
||||||
ldy #6 hSocket
|
ldy #6 hSocket
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
ldx #LIBTCPIP.Recv
|
ldx #LIBTCPIP.Recv
|
||||||
jsr GO.LIBTCPIP
|
jsr GO.LIBTCPIP
|
||||||
bcc .6
|
bcc .6
|
||||||
|
|
||||||
cmp #E.NODATA
|
cmp #E.NODATA
|
||||||
|
@ -292,51 +276,43 @@ CIFS.SessionSetup
|
||||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
bne .97
|
bne .97
|
||||||
|
|
||||||
ldy #5 hSMBContext
|
ldy #5 hSMBContext
|
||||||
jsr GetSMBCtx
|
jsr GetSMBContext
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H.UID
|
ldy #S.NETBIOS+S.SMB.H.UID
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
sta (ZPCtxPtr),y
|
sta (ZPCtxPtr),y
|
||||||
iny
|
iny
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
sta (ZPCtxPtr),y
|
sta (ZPCtxPtr),y
|
||||||
|
|
||||||
.8 lda hResp
|
.8 lda hResp
|
||||||
>SYSCALL FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
clc
|
clc
|
||||||
>RET 7
|
>RET 7
|
||||||
|
|
||||||
.97 lda hResp
|
.97 lda hResp
|
||||||
>SYSCALL FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
.98 lda #MLI.E.IO
|
.98 lda #MLI.E.IO
|
||||||
sec
|
sec
|
||||||
.99 >RET 7
|
.99 >RET 7
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* >PUSHB hSocket
|
* >PUSHB hSocket
|
||||||
* >PUSHB hSMBContext
|
* >PUSHB hSMBContext
|
||||||
* >PUSHW pathname
|
* >PUSHW pathname
|
||||||
* >PUSHB 0
|
* >PUSHBI 0
|
||||||
* >LIBCALL TreeConnect
|
* >LIBCALL TreeConnect
|
||||||
* (SMBContext updated with TID)
|
* (SMBContext updated with TID)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.TreeConnect
|
CIFS.TreeConnect
|
||||||
lda (pStack)
|
lda (pStack)
|
||||||
beq .10
|
bne .5
|
||||||
jmp .5
|
|
||||||
|
|
||||||
.10 dec
|
dec
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
|
||||||
ldy #3 hSMBContext
|
|
||||||
jsr GetSMBCtx
|
|
||||||
|
|
||||||
lda hReq
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>STYA ZPReqPtr
|
|
||||||
|
|
||||||
ldy #1 pathname
|
ldy #1 pathname
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
@ -345,49 +321,40 @@ CIFS.TreeConnect
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
sta ZPPtr1+1
|
sta ZPPtr1+1
|
||||||
|
|
||||||
|
iny hSMBContext
|
||||||
|
jsr GetSMBContext
|
||||||
|
|
||||||
ldx #S.SMB.H.CMD.TREE.CONNECT.ANDX
|
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
|
ldx #0
|
||||||
|
|
||||||
.2 lda SMB.TreeConnect.H,x
|
.1 lda SMB.TreeConnect.H,x
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
iny
|
iny
|
||||||
inx
|
inx
|
||||||
cpx #SMB.TreeConnect.H.Len
|
cpx #SMB.TreeConnect.H.Len
|
||||||
bne .2
|
bne .1
|
||||||
|
|
||||||
phy save Y = LEN
|
phy save Y = LEN
|
||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPReqPtr),y PASSWORD = "\0"
|
sta (ZPReqPtr),y PASSWORD = "\0"
|
||||||
iny
|
iny
|
||||||
|
|
||||||
.3 lda (ZPPtr1)
|
.2 lda (ZPPtr1)
|
||||||
inc ZPPtr1
|
inc ZPPtr1
|
||||||
bne .31
|
bne .3
|
||||||
|
|
||||||
inc ZPPtr1+1
|
inc ZPPtr1+1
|
||||||
|
|
||||||
.31 sta (ZPReqPtr),y
|
.3 sta (ZPReqPtr),y
|
||||||
iny
|
iny
|
||||||
tax
|
tax
|
||||||
bne .3
|
bne .2
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.4 lda SMB.TreeConnect.T,x
|
.4 lda SMB.TreeConnect.T,x
|
||||||
|
@ -396,9 +363,9 @@ CIFS.TreeConnect
|
||||||
inx
|
inx
|
||||||
cpx #SMB.TreeConnect.T.Len
|
cpx #SMB.TreeConnect.T.Len
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
pla
|
pla
|
||||||
|
|
||||||
jsr SetReqLenYAtA
|
jsr SetReqLenYAtA
|
||||||
|
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
|
@ -407,12 +374,12 @@ CIFS.TreeConnect
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
|
||||||
ldx #LIBTCPIP.Send
|
ldx #LIBTCPIP.Send
|
||||||
jsr GO.LIBTCPIP
|
jsr GO.LIBTCPIP
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.5 dec
|
.5 dec
|
||||||
sta (pStack)
|
sta (pStack)
|
||||||
|
@ -421,6 +388,7 @@ CIFS.TreeConnect
|
||||||
ldy #4 hSocket
|
ldy #4 hSocket
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
ldx #LIBTCPIP.Recv
|
ldx #LIBTCPIP.Recv
|
||||||
|
jsr GO.LIBTCPIP
|
||||||
bcc .6
|
bcc .6
|
||||||
|
|
||||||
cmp #E.NODATA
|
cmp #E.NODATA
|
||||||
|
@ -433,36 +401,64 @@ CIFS.TreeConnect
|
||||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
bne .97
|
bne .97
|
||||||
|
|
||||||
ldy #3 hSMBContext
|
ldy #3 hSMBContext
|
||||||
jsr GetSMBCtx
|
jsr GetSMBContext
|
||||||
|
|
||||||
ldy #S.NETBIOS+S.SMB.H.TID
|
ldy #S.NETBIOS+S.SMB.H.TID
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
sta (ZPCtxPtr),y
|
sta (ZPCtxPtr),y
|
||||||
iny
|
iny
|
||||||
lda (ZPRespPtr),y
|
lda (ZPRespPtr),y
|
||||||
sta (ZPCtxPtr),y
|
sta (ZPCtxPtr),y
|
||||||
|
|
||||||
.8 lda hResp
|
.8 lda hResp
|
||||||
>SYSCALL FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
clc
|
clc
|
||||||
>RET 5
|
>RET 5
|
||||||
|
|
||||||
.97 lda hResp
|
.97 lda hResp
|
||||||
>SYSCALL FreeMem
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
.98 lda #MLI.E.IO
|
.98 lda #MLI.E.IO
|
||||||
sec
|
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
|
CIFS.UMount clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.CALLBACK jmp (J.CIFS,x)
|
CIFS.CallBack jmp (J.CIFS,x)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.ChTyp
|
CIFS.ChTyp
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -470,9 +466,13 @@ CIFS.ChMod
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.FStat
|
CIFS.FStat
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CIFS.Stat >PULLW ZPPtr2 S.STAT
|
CIFS.Stat pha
|
||||||
|
>PULLW ZPPtr2 S.STAT
|
||||||
>PULLW ZPPtr1 PATH
|
>PULLW ZPPtr1 PATH
|
||||||
|
|
||||||
|
pla
|
||||||
|
>SYSCALL2 PutS
|
||||||
|
|
||||||
|
|
||||||
.99 lda #MLI.E.INVPATH
|
.99 lda #MLI.E.INVPATH
|
||||||
sec
|
sec
|
||||||
|
@ -511,20 +511,43 @@ CIFS.ChOwn
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GetSMBCtx lda (pStack),y
|
GetSMBContext lda (pStack),y
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
>STYA ZPCtxPtr
|
>STYA ZPCtxPtr
|
||||||
rts
|
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
|
* Y = LEN from S.NETBIOS.TYPE
|
||||||
* A = Ptr to LEN Word
|
* A = Ptr to LEN Word
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SetReqLenYAtA sty ZPReqLen
|
SetReqLenYAtA sty ZPReqLen
|
||||||
stz ZPReqLen+1
|
stz ZPReqLen+1
|
||||||
|
|
||||||
sta ZPPtr1
|
sta ZPPtr1
|
||||||
pha
|
pha
|
||||||
|
|
||||||
tya
|
tya
|
||||||
dec
|
dec
|
||||||
dec
|
dec
|
||||||
|
@ -536,7 +559,7 @@ SetReqLenYAtA sty ZPReqLen
|
||||||
iny
|
iny
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
lda ZPReqLen
|
lda ZPReqLen
|
||||||
sec
|
sec
|
||||||
sbc #S.NETBIOS
|
sbc #S.NETBIOS
|
||||||
|
@ -544,16 +567,16 @@ SetReqLenYAtA sty ZPReqLen
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
lda ZPReqLen+1
|
lda ZPReqLen+1
|
||||||
sec
|
sec
|
||||||
sbc /S.NETBIOS
|
sbc /S.NETBIOS
|
||||||
dey
|
dey
|
||||||
sta (ZPReqPtr),y
|
sta (ZPReqPtr),y
|
||||||
|
|
||||||
>LDYA ZPReqLen
|
>LDYA ZPReqLen
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GetRespData sta hResp
|
GetRespData sta hResp
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL2 GetMemPtr
|
||||||
|
|
||||||
pha
|
pha
|
||||||
tya
|
tya
|
||||||
* clc
|
* clc
|
||||||
|
@ -564,17 +587,21 @@ GetRespData sta hResp
|
||||||
sta ZPRespPtr+1
|
sta ZPRespPtr+1
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GO.LIBTCPIP jmp (aLIBTCPIP)
|
GO.LIBTCPIP jmp (pLIBTCPIP)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIBTCPIP .AZ "libtcpip"
|
LIBTCPIP .AZ "libtcpip"
|
||||||
hLIBTCPIP .BS 1
|
hLIBTCPIP .BS 1
|
||||||
aLIBTCPIP .BS 2
|
pLIBTCPIP .BS 2
|
||||||
hSocket .BS 1
|
hSocket .BS 1
|
||||||
hReq .BS 1
|
hReq .BS 1
|
||||||
hResp .BS 1
|
hResp .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
MountTable .BS 2 pMountPoint
|
||||||
|
.BS 1 hSMBContext
|
||||||
|
.BS 1 hSocket
|
||||||
|
*--------------------------------------
|
||||||
SMB.TRANSPORT .DA #0 DIRECT TCP TRANSPORT
|
SMB.TRANSPORT .DA #0 DIRECT TCP TRANSPORT
|
||||||
.DA #0 24 BITS LENGTH
|
.DA #0 24 BITS LENGTH
|
||||||
.DA /SMB.NegReq.end-SMB.H
|
.DA /SMB.NegReq.end-SMB.H
|
||||||
|
|
|
@ -874,6 +874,7 @@ SKT.Recv clc
|
||||||
|
|
||||||
.3 cmp #S.IP.PROTOCOL.TCP
|
.3 cmp #S.IP.PROTOCOL.TCP
|
||||||
beq .6
|
beq .6
|
||||||
|
|
||||||
cmp #S.IP.PROTOCOL.UDP
|
cmp #S.IP.PROTOCOL.UDP
|
||||||
bne .8
|
bne .8
|
||||||
|
|
||||||
|
|
|
@ -261,6 +261,9 @@ TCP.IN.JMP.LASTACK
|
||||||
lda (ZPFrameInPtr),y
|
lda (ZPFrameInPtr),y
|
||||||
bit #S.TCP.OPTIONS.ACK
|
bit #S.TCP.OPTIONS.ACK
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
|
lda #S.TCP.OPTIONS.ACK
|
||||||
|
jsr TCP.OUT.SendOptA
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.S
|
ldy #S.SOCKET.TCP.S
|
||||||
lda #S.SOCKET.TCP.S.TIMEWT
|
lda #S.SOCKET.TCP.S.TIMEWT
|
||||||
|
@ -287,7 +290,8 @@ TCP.IN.JMP.FINWT1
|
||||||
|
|
||||||
.1 jsr TCP.IN.ACKTheFIN FIN/ACK
|
.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
|
jsr TCP.OUT.SendOptA FIN received, Send ACK
|
||||||
bcs TCP.IN.JMP.TIMEWT.RTS
|
bcs TCP.IN.JMP.TIMEWT.RTS
|
||||||
|
|
||||||
|
@ -330,6 +334,7 @@ TCP.IN.JMP.TIMEWT.RTS
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.IN.ACKTheSYN
|
TCP.IN.ACKTheSYN
|
||||||
|
TCP.IN.ACKTheFIN
|
||||||
ldy #S.TCP.SEQNUM+3 Get Remote SEQ
|
ldy #S.TCP.SEQNUM+3 Get Remote SEQ
|
||||||
ldx #3
|
ldx #3
|
||||||
|
|
||||||
|
@ -344,7 +349,7 @@ TCP.IN.ACKTheSYN
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.IN.ACKTheFIN
|
TCP.IN.ACKTheFIN.OLD
|
||||||
ldx #3
|
ldx #3
|
||||||
|
|
||||||
.1 inc SKT.Cache+S.SOCKET.TCP.INSEQNUM,x
|
.1 inc SKT.Cache+S.SOCKET.TCP.INSEQNUM,x
|
||||||
|
|
|
@ -364,9 +364,7 @@ XRW.SectorIO lda #2
|
||||||
bne .3 no, try another sector.
|
bne .3 no, try another sector.
|
||||||
|
|
||||||
bit XRW.bWrite
|
bit XRW.bWrite
|
||||||
* bpl .7 branch if write
|
|
||||||
bmi XRW.Write
|
bmi XRW.Write
|
||||||
* jmp XRW.Write
|
|
||||||
|
|
||||||
.7 jsr XRW.Read
|
.7 jsr XRW.Read
|
||||||
bcs .3 if bad read
|
bcs .3 if bad read
|
||||||
|
@ -387,7 +385,7 @@ XRW.SectorIO lda #2
|
||||||
XRW.Write lda IO.D2.ReadProt,x PREWRITE MODE
|
XRW.Write lda IO.D2.ReadProt,x PREWRITE MODE
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
|
||||||
lda IO.D2.ReadMode,x
|
* lda IO.D2.ReadMode,x
|
||||||
|
|
||||||
lda nbuf2
|
lda nbuf2
|
||||||
sta pcl
|
sta pcl
|
||||||
|
@ -521,13 +519,11 @@ wrefd5 ldx #$60 (2) restore slot. warning: modified by prenib
|
||||||
|
|
||||||
clc (2)
|
clc (2)
|
||||||
|
|
||||||
jsr XRW.Write.RTS (6+6)
|
lda #$FF (2)
|
||||||
|
|
||||||
* lda #$FF (2)
|
|
||||||
nop (2)
|
nop (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
|
XRW.ReadMode lda IO.D2.ReadMode,x out of write mode
|
||||||
lda IO.D2.WShift,x to read mode.
|
lda IO.D2.WShift,x to read mode.
|
||||||
|
@ -730,8 +726,10 @@ XRW.Seek ldx XRW.UnitIndex
|
||||||
cmp XRW.TargetQTrack
|
cmp XRW.TargetQTrack
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
sta IO.D2.Ph0Off,y
|
pha
|
||||||
|
|
||||||
sta IO.D2.Ph0Off,x
|
sta IO.D2.Ph0Off,x
|
||||||
|
sta IO.D2.Ph0Off,y
|
||||||
bcs .2
|
bcs .2
|
||||||
|
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
@ -746,8 +744,6 @@ XRW.Seek ldx XRW.UnitIndex
|
||||||
|
|
||||||
sta XRW.CurrentQTrack
|
sta XRW.CurrentQTrack
|
||||||
|
|
||||||
pha
|
|
||||||
|
|
||||||
and #6
|
and #6
|
||||||
ora A2L
|
ora A2L
|
||||||
tax
|
tax
|
||||||
|
@ -759,38 +755,22 @@ XRW.Seek ldx XRW.UnitIndex
|
||||||
* Current < Target, must move in
|
* Current < Target, must move in
|
||||||
|
|
||||||
inc
|
inc
|
||||||
|
inc
|
||||||
|
|
||||||
.HS B0 BCS
|
.3 and #6
|
||||||
|
|
||||||
* Current > Target, must move out
|
|
||||||
|
|
||||||
.3 dec
|
|
||||||
|
|
||||||
and #6
|
|
||||||
ora A2L
|
ora A2L
|
||||||
|
tay
|
||||||
bcc .4
|
|
||||||
|
|
||||||
* move out : invert 2 phases
|
|
||||||
|
|
||||||
phx
|
|
||||||
tax
|
|
||||||
pla
|
|
||||||
|
|
||||||
.4 tay
|
|
||||||
|
|
||||||
sta IO.D2.Ph0On,x
|
sta IO.D2.Ph0On,x
|
||||||
lda $C0EC
|
|
||||||
sta IO.D2.Ph0On,y
|
sta IO.D2.Ph0On,y
|
||||||
lda $C0EC
|
|
||||||
jsr XRW.WaitSeekTime
|
jsr XRW.WaitSeekTime
|
||||||
|
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.8 jsr XRW.Wait25600usec
|
.8 jsr XRW.Wait25600usec
|
||||||
|
|
||||||
sta IO.D2.Ph0Off,y
|
|
||||||
sta IO.D2.Ph0Off,x
|
sta IO.D2.Ph0Off,x
|
||||||
|
sta IO.D2.Ph0Off,y
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
XRW.WaitSeekTime
|
XRW.WaitSeekTime
|
||||||
|
|
|
@ -96,7 +96,7 @@ CS.RUN lda hSocket
|
||||||
>PUSHB hSocket
|
>PUSHB hSocket
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
>LIBCALL hLIBCIFS,LIBCIFS.Negotiate
|
>LIBCALL hLIBCIFS,LIBCIFS.Negotiate
|
||||||
bcs .9
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
sta hSMBContext
|
sta hSMBContext
|
||||||
|
|
||||||
|
@ -117,18 +117,16 @@ CS.RUN lda hSocket
|
||||||
>LIBCALL hLIBCIFS,LIBCIFS.TreeConnect
|
>LIBCALL hLIBCIFS,LIBCIFS.TreeConnect
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
* lda #3
|
>PUSHB hSocket
|
||||||
* >SYSCALL ArgV
|
>PUSHB hSMBContext
|
||||||
* >PUSHYA
|
lda #3
|
||||||
|
>SYSCALL ArgV
|
||||||
|
>PUSHYA
|
||||||
|
>LIBCALL hLIBCIFS,LIBCIFS.Mount
|
||||||
|
|
||||||
* >PUSHW L.CS.CALLBACK
|
sta hMount
|
||||||
|
|
||||||
* >SYSCALL Mount
|
lda #0
|
||||||
* bcs .9
|
|
||||||
|
|
||||||
* sta hMount
|
|
||||||
|
|
||||||
.8 lda #0
|
|
||||||
clc
|
clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -405,6 +405,7 @@ CORE.PSLeave ldx #PSCTX.SIZE-1
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.PSExec lda (pPS)
|
CORE.PSExec lda (pPS)
|
||||||
|
@ -439,6 +440,7 @@ CORE.PSResume sei
|
||||||
|
|
||||||
inx
|
inx
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.2 ldy #S.PS.PC+1
|
.2 ldy #S.PS.PC+1
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
pha
|
pha
|
||||||
|
|
Loading…
Reference in New Issue
Block a user