mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-26 18:32:56 +00:00
CIFS:First blood....
This commit is contained in:
parent
09dd4f076d
commit
97acd2e1ce
Binary file not shown.
@ -198,9 +198,11 @@ MSG1.D .AZ "Dynamic"
|
||||
MSG.USAGE .AS "Usage : Add a static entry, DNSINFO <host> <IP>\r\n"
|
||||
.AZ " Dump DNS Cache, DNSINFO\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
DST.IP .BS 4
|
||||
DS.END
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/dnsinfo.s
|
||||
|
@ -11,6 +11,12 @@ S.NETBIOS .EQ 4
|
||||
S.SMB.H.PROTO .EQ 0 \xFF 'SMB'
|
||||
S.SMB.H.CMD .EQ 4
|
||||
S.SMB.H.CMD.CLOSE .EQ $04
|
||||
S.SMB.H.CMD.FLUSH .EQ $05
|
||||
S.SMB.H.CMD.DELETE .EQ $06
|
||||
S.SMB.H.CMD.RENAME .EQ $07
|
||||
|
||||
S.SMB.H.CMD.SEEK .EQ $12
|
||||
|
||||
S.SMB.H.CMD.READ.ANDX .EQ $2E
|
||||
S.SMB.H.CMD.WRITE.ANDX .EQ $2F
|
||||
S.SMB.H.CMD.TRANS2 .EQ $32
|
||||
|
@ -9,17 +9,17 @@ CIFS2.ChMod
|
||||
*--------------------------------------
|
||||
CIFS.FStat
|
||||
*--------------------------------------
|
||||
CIFS2.FStat
|
||||
txa
|
||||
ora #$80
|
||||
|
||||
* lda #MLI.E.BADCALL
|
||||
CIFS2.FStat >DEBUG
|
||||
lda #MLI.E.BADCALL
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CIFS.Stat >STYA pPath resolved path
|
||||
|
||||
jsr ClearSocket
|
||||
|
||||
jsr GetGTX
|
||||
|
||||
jsr MakeTrans2Req
|
||||
|
||||
ldx #0
|
||||
@ -31,14 +31,22 @@ CIFS.Stat >STYA pPath resolved path
|
||||
cpx #SMB.QueryPathInfo.Len
|
||||
bne .1
|
||||
|
||||
jsr AppendPath
|
||||
jsr ReqT2SetupPtr2
|
||||
|
||||
lda #0
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
jsr AppendPathPtr2
|
||||
|
||||
jsr SetT2ReqLenYA
|
||||
tya
|
||||
|
||||
inc +1 for \0
|
||||
|
||||
clc
|
||||
adc ZPReqLen
|
||||
sta ZPReqLen
|
||||
bcc .2
|
||||
|
||||
inc ZPReqLen+1
|
||||
|
||||
.2 jsr SetT2ReqLen
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
@ -55,21 +63,25 @@ CIFS2.Stat jsr ReadSocket
|
||||
lda (ZPRespPtr),y
|
||||
beq .1
|
||||
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
lda #MLI.E.FNOTFND
|
||||
bra .99
|
||||
|
||||
.1 >PULLW ZPPtr2 Stat Buffer
|
||||
.1 jsr GetRespDataOffset
|
||||
jsr FileInfo2StatBuf
|
||||
|
||||
>PULLW ZPPtr2 Stat Buffer
|
||||
|
||||
inc pStack Skip Filename
|
||||
inc pStack
|
||||
|
||||
jsr GetRespDataOffset
|
||||
jsr FileInfo2StatBuf
|
||||
jsr StatBuf2Ptr2
|
||||
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
|
||||
stz CIFS.Status
|
||||
clc
|
||||
rts
|
||||
@ -92,6 +104,8 @@ CIFS2.Stat jsr ReadSocket
|
||||
*--------------------------------------
|
||||
CIFS.MKDir >STYA pPath resolved path
|
||||
|
||||
jsr GetGTX
|
||||
|
||||
jsr MakeTrans2Req
|
||||
|
||||
ldx #0
|
||||
@ -130,7 +144,7 @@ CIFS2.MKDir jsr ReadSocket
|
||||
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
|
||||
|
||||
.8 jsr FreeRespData
|
||||
|
||||
stz CIFS.Status
|
||||
@ -191,6 +205,8 @@ CIFS.ReadDir jsr GetPFD
|
||||
|
||||
jsr ClearSocket
|
||||
|
||||
jsr GetGTX
|
||||
|
||||
ldy #S.FD.DIR.EPB
|
||||
lda (pFD),y
|
||||
beq .1
|
||||
@ -238,7 +254,7 @@ CIFS.ReadDir.Next
|
||||
dey
|
||||
lda (pFD),y
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 Search ID
|
||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 Search ID
|
||||
sta (ZPReqPtr),y
|
||||
txa
|
||||
iny
|
||||
@ -301,7 +317,7 @@ CIFS2.ReadDir jsr GetPFD
|
||||
beq .91
|
||||
|
||||
lda (ZPRespPtr),y
|
||||
|
||||
|
||||
ldy #S.FD.DIR.FC
|
||||
sta (pFD),y
|
||||
iny
|
||||
@ -320,13 +336,13 @@ CIFS2.ReadDir jsr GetPFD
|
||||
|
||||
>LDYA BufPtr
|
||||
ldx hBuf
|
||||
|
||||
|
||||
stz CIFS.Status
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.9 stz CIFS.Status
|
||||
|
||||
|
||||
jmp FreeRespData
|
||||
|
||||
.90 cmp #E.NODATA
|
||||
@ -531,30 +547,51 @@ CIFS.FOpen >STYA pPath resolved path
|
||||
cpx #SMB.ComCreate.H.Len
|
||||
bne .1
|
||||
|
||||
phy save Y = LEN
|
||||
|
||||
jsr GetPathLen
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+6
|
||||
jsr ReqSetupPtr2
|
||||
|
||||
jsr AppendPathPtr2
|
||||
|
||||
tya
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+6 NameLength
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
ply
|
||||
phy
|
||||
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
iny Skip ByteCount
|
||||
iny
|
||||
|
||||
jsr AppendPath
|
||||
inc +1 for \0
|
||||
|
||||
lda #0
|
||||
ldy ByteCountOfs
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
|
||||
pla
|
||||
clc
|
||||
adc ZPReqLen
|
||||
sta ZPReqLen
|
||||
bcc .2
|
||||
|
||||
inc ZPReqLen+1
|
||||
|
||||
jsr SetReqLenYAtA
|
||||
.2 lda #0
|
||||
ror
|
||||
iny ByteCountOfs+1
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
jsr SetReqLen
|
||||
|
||||
ldx #1 FILE_OPEN
|
||||
|
||||
ldy #3 fopen flags
|
||||
lda (pStack),y
|
||||
bpl .3 O.CREATE
|
||||
|
||||
ldx #3 FILE_OPEN_IF
|
||||
|
||||
.3 bit #O.APPEND
|
||||
bmi .4
|
||||
|
||||
ldx #5 FILE_OVERWRITE_IF
|
||||
|
||||
.4 txa
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7 CreateDisposition
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
@ -576,7 +613,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
bra .80
|
||||
|
||||
|
||||
.8 >LDYAI S.FD.REG
|
||||
>SYSCALL2 GetMem
|
||||
bcs .99
|
||||
@ -595,7 +632,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||
pha
|
||||
iny
|
||||
lda (ZPRespPtr),y
|
||||
|
||||
|
||||
ldy #S.FD.REG.REF+1
|
||||
sta (pFD),y
|
||||
dey
|
||||
@ -608,7 +645,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||
>PUSHA
|
||||
lda (pStack),y
|
||||
>PUSHA
|
||||
|
||||
|
||||
>PUSHWZ mod
|
||||
txa hFD
|
||||
>PUSHA
|
||||
@ -638,7 +675,7 @@ CIFS2.FOpen jsr ReadSocket
|
||||
CIFS.FClose jsr GetPFD
|
||||
|
||||
jsr GetGtx
|
||||
|
||||
|
||||
ldx #S.SMB.H.CMD.CLOSE
|
||||
jsr RequestSetupX
|
||||
|
||||
@ -651,28 +688,22 @@ CIFS.FClose jsr GetPFD
|
||||
cpx #SMB.ComClose.H.Len
|
||||
bne .1
|
||||
|
||||
phy save Y = LEN
|
||||
|
||||
sty ZPReqLen
|
||||
stz ZPReqLen+1
|
||||
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
pha
|
||||
iny
|
||||
lda (pFD),y
|
||||
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+2 FileID
|
||||
sta (ZPReqPtr),y
|
||||
pla
|
||||
dey
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
ply
|
||||
|
||||
tya
|
||||
|
||||
iny Skip ByteCount
|
||||
iny
|
||||
|
||||
jsr SetReqLenYAtA
|
||||
jsr SetReqLen
|
||||
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
@ -696,12 +727,12 @@ CIFS2.FClose sta hFILE
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
bra .80
|
||||
|
||||
|
||||
.8 lda hFILE
|
||||
jsr CIFS.CloseDir
|
||||
|
||||
clc
|
||||
|
||||
|
||||
.80 jsr FreeRespData
|
||||
|
||||
stz CIFS.Status
|
||||
@ -731,11 +762,11 @@ CIFS2.FRead
|
||||
clc
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
CIFS.FWrite ldy #4
|
||||
CIFS.FWrite ldy #4 hNod
|
||||
lda (pStack),y
|
||||
|
||||
|
||||
jsr GetPFD
|
||||
|
||||
|
||||
jsr GetGTX
|
||||
|
||||
ldx #S.SMB.H.CMD.WRITE.ANDX
|
||||
@ -750,38 +781,110 @@ CIFS.FWrite ldy #4
|
||||
cpx #SMB.ComWrite.H.Len
|
||||
bne .1
|
||||
|
||||
sty LenOfs
|
||||
jsr ReqSetupPtr2
|
||||
|
||||
iny
|
||||
iny
|
||||
|
||||
sty ZPReqLen
|
||||
stz ZPReqLen+1
|
||||
|
||||
ldy #S.FD.REG.REF
|
||||
lda (pFD),y
|
||||
pha
|
||||
iny
|
||||
lda (pFD),y
|
||||
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+6 FileID
|
||||
sta (ZPReqPtr),y
|
||||
pla
|
||||
dey
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
ldy #3 DataPtr HI
|
||||
lda (pStack),y
|
||||
sta ZPPtr1+1
|
||||
|
||||
dey DataPtr LO
|
||||
lda (pStack),y
|
||||
sta ZPPtr1
|
||||
|
||||
dey DataLen HI
|
||||
lda (pStack),y
|
||||
beq .5
|
||||
|
||||
lda #0
|
||||
ldx #1 write $100
|
||||
|
||||
bra .6
|
||||
|
||||
.5 dey DataLen LO
|
||||
lda (pStack),y
|
||||
ldx #0 write $0xx
|
||||
|
||||
.6 pha
|
||||
ldy #S.NETBIOS+S.SMB.H+21 DataLength
|
||||
clc
|
||||
adc #2
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
iny
|
||||
|
||||
txa
|
||||
adc #0
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
pla
|
||||
pha
|
||||
clc
|
||||
adc ZPReqLen
|
||||
sta ZPReqLen
|
||||
|
||||
txa
|
||||
adc ZPReqLen+1
|
||||
sta ZPReqLen+1
|
||||
|
||||
pla
|
||||
pha
|
||||
ldy ByteCountOfs
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
txa
|
||||
iny
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
ldy #0
|
||||
plx
|
||||
|
||||
.70 lda (ZPPtr1),y
|
||||
sta (ZPPtr2),y
|
||||
iny
|
||||
dex
|
||||
bne .70
|
||||
|
||||
jsr SetReqLen
|
||||
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
ldy #1 DataLen HI
|
||||
lda (pStack),y
|
||||
beq .7
|
||||
|
||||
dec
|
||||
sta (pStack),y
|
||||
|
||||
ldy #3 DataPtr HI
|
||||
lda (pStack),y
|
||||
inc
|
||||
sta (pStack),y
|
||||
|
||||
bra .8
|
||||
|
||||
.7 lda #0
|
||||
sta (pStack) DataLen LO
|
||||
|
||||
.8 jmp Sleep
|
||||
|
||||
.9 >RET 5
|
||||
*--------------------------------------
|
||||
CIFS2.FWrite ldy #4
|
||||
lda (pStack),y
|
||||
|
||||
|
||||
jsr ReadSocket
|
||||
bcs .9
|
||||
|
||||
@ -794,12 +897,16 @@ CIFS2.FWrite ldy #4
|
||||
|
||||
lda #MLI.E.IO
|
||||
sec
|
||||
|
||||
|
||||
.8 jsr FreeRespData
|
||||
|
||||
stz CIFS.Status
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
ora (pStack)
|
||||
clc
|
||||
beq .90
|
||||
|
||||
>RET 5
|
||||
jmp Sleep2
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
@ -814,7 +921,8 @@ CIFS2.FWrite ldy #4
|
||||
.98 lda #MLI.E.IO
|
||||
|
||||
.99 sec
|
||||
stz CIFS.Status
|
||||
|
||||
.90 stz CIFS.Status
|
||||
|
||||
>RET 5
|
||||
*--------------------------------------
|
||||
@ -829,10 +937,8 @@ CIFS2.FEOF
|
||||
CIFS.Remove
|
||||
CIFS2.Remove
|
||||
CIFS.Rename
|
||||
CIFS2.Rename
|
||||
* lda #MLI.E.BADCALL
|
||||
txa
|
||||
ora #$80
|
||||
CIFS2.Rename >DEBUG
|
||||
lda #MLI.E.BADCALL
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -35,7 +35,7 @@ auxtype .BS 2
|
||||
ZPRespPtr .BS 2
|
||||
|
||||
bFlag .BS 1
|
||||
LenOfs .BS 1
|
||||
ByteCountOfs .BS 1
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
@ -536,6 +536,7 @@ CIFS.CallBack bit CIFS.Status
|
||||
|
||||
phy
|
||||
pha
|
||||
|
||||
ldy #S.PS.PID
|
||||
lda (pPS),y
|
||||
cmp CIFS.PID
|
||||
@ -574,9 +575,7 @@ GetGTX lda MountTable+2
|
||||
>STYA ZPCtxPtr
|
||||
rts
|
||||
*--------------------------------------
|
||||
MakeTrans2Req jsr GetGTX
|
||||
|
||||
ldx #S.SMB.H.CMD.TRANS2
|
||||
MakeTrans2Req ldx #S.SMB.H.CMD.TRANS2
|
||||
jsr RequestSetupX
|
||||
|
||||
ldx #0
|
||||
@ -601,15 +600,13 @@ RequestSetupX phx
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPReqPtr
|
||||
|
||||
plx
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 lda (ZPCtxPtr),y
|
||||
cpy #S.NETBIOS+S.SMB.H.CMD
|
||||
bne .2
|
||||
|
||||
txa
|
||||
pla
|
||||
|
||||
.2 sta (ZPReqPtr),y
|
||||
iny
|
||||
@ -618,13 +615,52 @@ RequestSetupX phx
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
GetPathLen ldy #$ff
|
||||
|
||||
ReqSetupPtr2 sty ByteCountOfs
|
||||
|
||||
iny
|
||||
iny +2 for ByteCount
|
||||
|
||||
ReqT2SetupPtr2 sty ZPReqLen
|
||||
stz ZPReqLen+1
|
||||
|
||||
tya
|
||||
|
||||
clc
|
||||
adc ZPReqPtr
|
||||
sta ZPPtr2
|
||||
|
||||
lda ZPReqPtr+1
|
||||
adc #0
|
||||
sta ZPPtr2+1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
AppendPathPtr2 ldx #0
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (pPath),y
|
||||
bne .1
|
||||
|
||||
tya
|
||||
beq .4
|
||||
|
||||
.2 cmp #'/'
|
||||
bne .3
|
||||
|
||||
lda #'\'
|
||||
|
||||
.3 sta (ZPPtr2),y
|
||||
tax
|
||||
bra .1
|
||||
|
||||
.4 cpx #'\'
|
||||
bne .5
|
||||
|
||||
dey
|
||||
|
||||
.5
|
||||
* lda #0
|
||||
sta (ZPPtr2),y
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
AppendPath ldx #0
|
||||
@ -654,21 +690,6 @@ AppendPath ldx #0
|
||||
|
||||
.5 rts
|
||||
*--------------------------------------
|
||||
SetReqLen lda ZPReqLen
|
||||
sec
|
||||
sbc LenOfs
|
||||
|
||||
ldy LenOfs
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
iny
|
||||
|
||||
lda ZPReqLen+1
|
||||
sbc #0
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
bra SetReqLenNETBIOS
|
||||
*--------------------------------------
|
||||
* Y = LEN from S.NETBIOS.TYPE
|
||||
* A = Ptr to LEN Word
|
||||
*--------------------------------------
|
||||
@ -691,12 +712,12 @@ SetReqLenYAtA sty ZPReqLen
|
||||
iny
|
||||
lda #0
|
||||
sta (ZPReqPtr),y
|
||||
bra SetReqLenNETBIOS
|
||||
bra SetReqLen
|
||||
*--------------------------------------
|
||||
SetT2ReqLenYA sty ZPReqLen
|
||||
stz ZPReqLen+1
|
||||
|
||||
tya
|
||||
SetT2ReqLen lda ZPReqLen
|
||||
sec
|
||||
sbc #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+7
|
||||
|
||||
@ -712,13 +733,13 @@ SetT2ReqLenYA sty ZPReqLen
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H+SMB.Trans2.H.Len+2
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
SetReqLenNETBIOS
|
||||
lda ZPReqLen
|
||||
*--------------------------------------
|
||||
SetReqLen lda ZPReqLen
|
||||
sec
|
||||
sbc #S.NETBIOS
|
||||
ldy #S.NETBIOS.LEN+2
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
lda ZPReqLen+1
|
||||
sec
|
||||
sbc /S.NETBIOS
|
||||
@ -733,7 +754,7 @@ Sleep ldy #S.PS.PID
|
||||
|
||||
dec CIFS.Status
|
||||
|
||||
stz CIFS.Retries
|
||||
Sleep2 stz CIFS.Retries
|
||||
|
||||
lda #0
|
||||
sec
|
||||
@ -1008,16 +1029,16 @@ SMB.ComCreate.H .DA #24 WORD COUNT
|
||||
.BS 2 NameLength
|
||||
.HS 00000000 Flags
|
||||
.HS 00000000 RootDirectoryFID
|
||||
.BS 4 DesiredAccess
|
||||
.HS 00000010 DesiredAccess = GENERIC_ALL
|
||||
.HS 0000000000000000 AllocationSize
|
||||
.HS 00000000 ExtFileAttributes
|
||||
.HS 00000000 ShareAccess
|
||||
.BS 4 CreateDisposition
|
||||
.HS 00000000 ShareAccess
|
||||
.BS 4 CreateDisposition
|
||||
.HS 00000000 CreateOptions
|
||||
.HS 00000000 ImpersonationLevel
|
||||
.HS 00 SecurityFlags
|
||||
SMB.ComCreate.H.Len .EQ *-SMB.ComCreate.H
|
||||
* .BS 2 ByteCount
|
||||
SMB.ComCreate.H.Len .EQ *-SMB.ComCreate.H
|
||||
* .BS 2 ByteCount
|
||||
* .AZ "path\file"
|
||||
*--------------------------------------
|
||||
SMB.ComClose.H .DA #3 WORD COUNT
|
||||
@ -1026,6 +1047,27 @@ SMB.ComClose.H .DA #3 WORD COUNT
|
||||
.HS 0000 ByteCount
|
||||
SMB.ComClose.H.Len .EQ *-SMB.ComClose.H
|
||||
*--------------------------------------
|
||||
SMB.ComFlush.H .DA #1 WORD COUNT
|
||||
.BS 2 FID
|
||||
.HS 0000 ByteCount
|
||||
SMB.ComFlush.H.Len .EQ *-SMB.ComFlush.H
|
||||
*--------------------------------------
|
||||
SMB.ComDelete.H .DA #1 WORD COUNT
|
||||
.HS 0000 SearchAttributes
|
||||
SMB.ComDelete.H.Len .EQ *-SMB.ComDelete.H
|
||||
* .BS 2 ByteCount
|
||||
* .HS 04 BufferFormat
|
||||
* .AZ "path\file"
|
||||
*--------------------------------------
|
||||
SMB.ComRename.H .DA #1 WORD COUNT
|
||||
.HS 0000 SearchAttributes
|
||||
SMB.ComRename.H.Len .EQ *-SMB.ComRename.H
|
||||
* .BS 2 ByteCount
|
||||
* .HS 04 BufferFormat
|
||||
* .AZ "oldpath"
|
||||
* .HS 04 BufferFormat
|
||||
* .AZ "newpath"
|
||||
*--------------------------------------
|
||||
SMB.ComRead.H .DA #10 WORD COUNT
|
||||
.HS FF000000 NO MORE CMD
|
||||
.BS 2 FID
|
||||
@ -1042,11 +1084,11 @@ SMB.ComWrite.H .DA #12 WORD COUNT
|
||||
.BS 2 FID
|
||||
.BS 4 Offset
|
||||
.HS 00000000 Timeout
|
||||
.HS 0001 WriteMode=WritethroughMode
|
||||
.HS 0100 WriteMode=WritethroughMode
|
||||
.HS 0000 Remaining
|
||||
.HS 0000 Reserved
|
||||
.BS 2 DataLength
|
||||
.BS 2 DataOffset
|
||||
.DA S.SMB.H+SMB.ComWrite.H.Len DataOffset
|
||||
SMB.ComWrite.H.Len .EQ *-SMB.ComWrite.H
|
||||
* .BS 2 ByteCount
|
||||
* DATA.....
|
||||
|
@ -43,11 +43,15 @@ PFT.CheckPathYA >PUSHYA
|
||||
|
||||
bra .8
|
||||
|
||||
.3 lda K.Buf256,y path is "/FILTER/..." ?
|
||||
cmp #'/'
|
||||
.3 lda K.Buf256,y
|
||||
beq .4 path is "/FILTER" ?
|
||||
|
||||
cmp #'/' path is "/FILTER/..." ?
|
||||
bne .8
|
||||
|
||||
lda Flt.Table.cbLO-1,x
|
||||
iny
|
||||
|
||||
.4 lda Flt.Table.cbLO-1,x
|
||||
sta .7+1
|
||||
|
||||
lda Flt.Table.cbHI-1,x
|
||||
@ -57,9 +61,8 @@ PFT.CheckPathYA >PUSHYA
|
||||
|
||||
pla discard JSR return @
|
||||
pla
|
||||
|
||||
lda /K.Buf256 pass full path to handler
|
||||
iny skip "/"
|
||||
* ldy #K.Buf256
|
||||
|
||||
.6 ldx #$ff SELF MODIFIED SYSCALL #
|
||||
|
||||
|
@ -311,6 +311,7 @@ STDIO.Get1 >PUSHA
|
||||
>PUSHA
|
||||
inc read 1 byte
|
||||
>PUSHA
|
||||
ldx #SYS.FRead
|
||||
jmp K.FRead
|
||||
*/--------------------------------------
|
||||
* # ungetc
|
||||
@ -834,6 +835,7 @@ K.PrintF.1 sec format string->ptr2
|
||||
>PUSHA
|
||||
>PUSHWI K.IOBuf
|
||||
>PUSHW PrintF.Cnt Writing to File/dev...
|
||||
ldx #SYS.FWrite Needed by PFT
|
||||
jsr K.FWrite
|
||||
bcc .81
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user