mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-16 03:32:13 +00:00
REPO Cleanup, 2x 6-pack earned :-)
This commit is contained in:
parent
f2f170660a
commit
a336e2122f
Binary file not shown.
@ -35,7 +35,7 @@ CS.START cld
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.EVENT
|
||||
.DA CS.EVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.MSG.IPKO .DA MSG.IPKO
|
||||
@ -63,7 +63,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
>LDYA L.MSG.IPKO
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
sec
|
||||
rts
|
||||
|
||||
CS.RUN.IPOK ldy #S.PS.ARGC
|
||||
@ -87,7 +87,7 @@ CS.RUN.ADD lda #2
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHW L.SSCANF.IP
|
||||
|
||||
|
||||
>PUSHEA.G DST.IP
|
||||
>PUSHEA.G DST.IP+1
|
||||
>PUSHEA.G DST.IP+2
|
||||
@ -104,7 +104,7 @@ CS.RUN.ADD lda #2
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.DNS.Add
|
||||
bcs .99
|
||||
|
||||
lda #0 tell TSKMGR that all done ok, but
|
||||
lda #0 tell TSKMGR that all done ok, but
|
||||
sec we do not want to stay in memory
|
||||
rts
|
||||
|
||||
@ -130,14 +130,14 @@ CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GetCache
|
||||
|
||||
asl
|
||||
tax
|
||||
|
||||
|
||||
.5 >PUSHW L.MSG1.Status,x
|
||||
|
||||
ldy #S.DNSCACHE.ID
|
||||
>PUSHB (ZPPTR1),y
|
||||
iny
|
||||
>PUSHB (ZPPTR1),y
|
||||
|
||||
|
||||
ldy #S.DNSCACHE.hNAME
|
||||
lda (ZPPTR1),y
|
||||
>SYSCALL GetMemPtr
|
||||
@ -168,7 +168,7 @@ CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GetCache
|
||||
sta ZPPTR1
|
||||
bcc .7
|
||||
inc ZPPTR1+1
|
||||
|
||||
|
||||
.7 dec EntryCount
|
||||
bne .1
|
||||
|
||||
@ -185,7 +185,7 @@ CS.QUIT lda hLIBTCPIP
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
|
@ -71,7 +71,7 @@ CS.RUN ldy #S.PS.ARGC
|
||||
|
||||
.1 inc ArgIndex
|
||||
lda ArgIndex
|
||||
|
||||
|
||||
>SYSCALL ArgV
|
||||
plx
|
||||
bcs .8
|
||||
|
@ -52,7 +52,7 @@ CS.START cld
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.DIR .DA MSG.DIR
|
||||
@ -98,7 +98,7 @@ s1
|
||||
.1 pla
|
||||
.11 jsr CS.RUN.OpenArc
|
||||
bcs .9
|
||||
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcc .15
|
||||
@ -150,7 +150,7 @@ CS.RUN.SetupPath
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #$ff
|
||||
|
||||
|
||||
.2 iny
|
||||
lda (ZPPtr1),y
|
||||
sta (ZPFullPathPtr),y
|
||||
@ -178,17 +178,19 @@ CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||
|
||||
jsr CS.RUN.GetFileName
|
||||
bcs .99
|
||||
|
||||
ldx #0
|
||||
jsr CS.RUN.PrintFN
|
||||
|
||||
jsr CS.RUN.CheckDir
|
||||
bcs .99
|
||||
|
||||
lda ZPProgress
|
||||
bne CS.RUN.LOOP
|
||||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
bra CS.RUN.LOOP
|
||||
clc
|
||||
|
||||
.99 rts
|
||||
|
||||
.9 jmp CS.RUN.E.IARC
|
||||
@ -208,23 +210,27 @@ CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||
bcs .99
|
||||
*--------------------------------------
|
||||
jsr CS.RUN.GetByte DATA
|
||||
bcs .8 eof
|
||||
bcs CS.RUN.Exit eof
|
||||
.2 cmp #CHNK.T.DATA
|
||||
bne .3 Could be a 0 byte file
|
||||
|
||||
.20 lda ZPProgress
|
||||
beq .21
|
||||
|
||||
jsr CS.RUN.Spinner
|
||||
bra .22
|
||||
|
||||
.21 lda #'.'
|
||||
>SYSCALL PutChar
|
||||
|
||||
.22 jsr CS.RUN.GetByte DataLen LO
|
||||
bcs .99
|
||||
|
||||
sta ZPInBufLen
|
||||
|
||||
jsr CS.RUN.GetByte DataLen HI
|
||||
bcs .99
|
||||
|
||||
sta ZPInBufLen+1
|
||||
|
||||
jsr CS.RUN.ReadData
|
||||
@ -233,7 +239,7 @@ CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||
ldy #1
|
||||
lda (ZPInBufPtr),y
|
||||
sta ZPOutBufLen
|
||||
|
||||
|
||||
iny
|
||||
lda (ZPInBufPtr),y
|
||||
sta ZPOutBufLen+1
|
||||
@ -241,31 +247,32 @@ CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||
>LDA.G hOutBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPOutBufPtr
|
||||
|
||||
|
||||
jsr X.Unpak
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr CS.RUN.WriteFile
|
||||
bcs .99
|
||||
|
||||
jsr CS.RUN.GetByte
|
||||
bcs .8
|
||||
bcs CS.RUN.Exit
|
||||
|
||||
cmp #CHNK.T.DATA
|
||||
beq .20
|
||||
|
||||
.3 pha
|
||||
jsr .8
|
||||
jsr CS.RUN.Exit
|
||||
pla
|
||||
jmp .10
|
||||
|
||||
.8 >LDA.G hFile
|
||||
jmp .10
|
||||
*--------------------------------------
|
||||
CS.RUN.Exit >LDA.G hFile
|
||||
>SYSCALL FClose
|
||||
LDA ZPProgress
|
||||
bne S1
|
||||
lda ZPProgress
|
||||
bne .9
|
||||
|
||||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
S1 rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PrintFN lda ZPProgress
|
||||
bne .9
|
||||
@ -307,10 +314,10 @@ CS.RUN.TidyUp lda ZPProgress
|
||||
CS.RUN.OpenArc >PUSHYA
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI $CF PAK
|
||||
>PUSHWZ Aux type
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
|
||||
>STA.G hArcFile
|
||||
>PUSHA
|
||||
>PUSHW ZPInBufPtr
|
||||
@ -351,7 +358,7 @@ CS.RUN.GetFileName
|
||||
jsr CS.RUN.GetByte
|
||||
bcs .9
|
||||
pha
|
||||
|
||||
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHW ZPRelPathPtr
|
||||
|
||||
@ -387,7 +394,7 @@ CS.RUN.CheckDir >PUSHW ZPFullPathPtr
|
||||
|
||||
>PUSHW ZPFullPathPtr
|
||||
>PUSHWI S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU
|
||||
>SYSCALL MKDir
|
||||
>SYSCALL MKDir
|
||||
|
||||
rts
|
||||
|
||||
@ -444,7 +451,7 @@ CS.QUIT >LDA.G hFile
|
||||
.4 >LDA.G hArcFile
|
||||
beq .8
|
||||
>SYSCALL FClose
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -14,9 +14,7 @@ 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
|
||||
|
@ -18,7 +18,7 @@ CIFS.Stat >STYA pPath resolved path
|
||||
|
||||
jsr ClearSocket
|
||||
|
||||
jsr GetGTX
|
||||
jsr GetCTX
|
||||
|
||||
jsr MakeTrans2Req
|
||||
|
||||
@ -35,18 +35,7 @@ CIFS.Stat >STYA pPath resolved path
|
||||
|
||||
jsr AppendPathPtr2
|
||||
|
||||
tya
|
||||
|
||||
inc +1 for \0
|
||||
|
||||
clc
|
||||
adc ZPReqLen
|
||||
sta ZPReqLen
|
||||
bcc .2
|
||||
|
||||
inc ZPReqLen+1
|
||||
|
||||
.2 jsr SetT2ReqLen
|
||||
jsr SetT2ReqLen
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
@ -59,17 +48,10 @@ CIFS2.Stat jsr ReadSocket
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
beq .1
|
||||
jsr CheckSMBStatus
|
||||
bcs .90
|
||||
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
lda #MLI.E.FNOTFND
|
||||
bra .99
|
||||
|
||||
.1 jsr GetRespDataOffset
|
||||
jsr GetRespDataPtr1
|
||||
jsr FileInfo2StatBuf
|
||||
|
||||
>PULLW ZPPtr2 Stat Buffer
|
||||
@ -79,32 +61,18 @@ CIFS2.Stat jsr ReadSocket
|
||||
|
||||
jsr StatBuf2Ptr2
|
||||
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
jmp Exit.OK
|
||||
|
||||
stz CIFS.Status
|
||||
clc
|
||||
rts
|
||||
.9 jsr Exit.NODATA
|
||||
beq .99
|
||||
|
||||
.90 >POP 4
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .90
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.90 lda #MLI.E.IO
|
||||
|
||||
.99 sec
|
||||
stz CIFS.Status
|
||||
>RET 4
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CIFS.MKDir >STYA pPath resolved path
|
||||
|
||||
jsr GetGTX
|
||||
jsr GetCtx
|
||||
|
||||
jsr MakeTrans2Req
|
||||
|
||||
@ -137,34 +105,17 @@ CIFS2.MKDir jsr ReadSocket
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
beq .8
|
||||
jsr CheckSMBStatus
|
||||
bcs .90
|
||||
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
jmp Exit.OK
|
||||
|
||||
.8 jsr FreeRespData
|
||||
.9 jsr Exit.NODATA
|
||||
beq .99
|
||||
|
||||
.90 >POP 4
|
||||
|
||||
stz CIFS.Status
|
||||
>RET 4
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .98
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.98 lda #MLI.E.IO
|
||||
|
||||
.99 sec
|
||||
stz CIFS.Status
|
||||
>RET 4
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CIFS.OpenDir >STYA pPath resolved path
|
||||
|
||||
@ -205,7 +156,7 @@ CIFS.ReadDir jsr GetPFD
|
||||
|
||||
jsr ClearSocket
|
||||
|
||||
jsr GetGTX
|
||||
jsr GetCtx
|
||||
|
||||
ldy #S.FD.DIR.EPB
|
||||
lda (pFD),y
|
||||
@ -290,19 +241,14 @@ CIFS.ReadDir.Send
|
||||
CIFS2.ReadDir jsr GetPFD
|
||||
|
||||
jsr ReadSocket
|
||||
bcs .90
|
||||
bcs .9
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
beq .1
|
||||
jsr CheckSMBStatus
|
||||
bcs .90
|
||||
|
||||
.91 sec
|
||||
lda #MLI.E.IO
|
||||
bra .9
|
||||
|
||||
.1 ldy #S.FD.DIR.FC
|
||||
ldy #S.FD.DIR.FC
|
||||
lda (pFD),y
|
||||
iny
|
||||
ora (pFD),y
|
||||
@ -314,7 +260,7 @@ CIFS2.ReadDir jsr GetPFD
|
||||
tax
|
||||
dey
|
||||
ora (ZPRespPtr),y
|
||||
beq .91
|
||||
beq .90
|
||||
|
||||
lda (ZPRespPtr),y
|
||||
|
||||
@ -324,11 +270,11 @@ CIFS2.ReadDir jsr GetPFD
|
||||
txa
|
||||
sta (pFD),y
|
||||
|
||||
.2 jsr GetRespDataOffset
|
||||
.2 jsr GetRespDataPtr1
|
||||
jsr CIFS2.ReadDir.GetBuf
|
||||
bcs .9
|
||||
bcs .99
|
||||
|
||||
jsr GetRespDataOffset
|
||||
jsr GetRespDataPtr1
|
||||
jsr CIFS2.ReadDir.FillBuf
|
||||
|
||||
lda hResp
|
||||
@ -339,27 +285,11 @@ CIFS2.ReadDir jsr GetPFD
|
||||
|
||||
stz CIFS.Status
|
||||
clc
|
||||
rts
|
||||
.90 rts
|
||||
|
||||
.9 stz CIFS.Status
|
||||
.9 jmp Exit.NODATA
|
||||
|
||||
jmp FreeRespData
|
||||
|
||||
.90 cmp #E.NODATA
|
||||
bne .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .98
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.98 lda #MLI.E.IO
|
||||
|
||||
.99 stz CIFS.Status
|
||||
sec
|
||||
rts
|
||||
.99 jmp Exit.KO
|
||||
*--------------------------------------
|
||||
CIFS2.ReadDir.GetBuf
|
||||
ldy #S.NETBIOS+S.SMB.H+S.TRANS2.H Search Count
|
||||
@ -533,7 +463,7 @@ CIFS2.ChOwn
|
||||
*--------------------------------------
|
||||
CIFS.FOpen >STYA pPath resolved path
|
||||
|
||||
jsr GetGTX
|
||||
jsr GetCtx
|
||||
|
||||
ldx #S.SMB.H.CMD.NT.CREATE.ANDX
|
||||
jsr RequestSetupX
|
||||
@ -561,14 +491,7 @@ CIFS.FOpen >STYA pPath resolved path
|
||||
ldy ByteCountOfs
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
clc
|
||||
adc ZPReqLen
|
||||
sta ZPReqLen
|
||||
bcc .2
|
||||
|
||||
inc ZPReqLen+1
|
||||
|
||||
.2 lda #0
|
||||
lda #0
|
||||
ror
|
||||
iny ByteCountOfs+1
|
||||
sta (ZPReqPtr),y
|
||||
@ -605,18 +528,12 @@ CIFS2.FOpen jsr ReadSocket
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
beq .8
|
||||
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
bra .80
|
||||
|
||||
.8 >LDYAI S.FD.REG
|
||||
jsr CheckSMBStatus
|
||||
bcs .90
|
||||
>DEBUG
|
||||
>LDYAI S.FD.REG
|
||||
>SYSCALL2 GetMem
|
||||
bcs .99
|
||||
bcs .91
|
||||
|
||||
>STYA pFD
|
||||
|
||||
@ -651,30 +568,19 @@ CIFS2.FOpen jsr ReadSocket
|
||||
>PUSHA
|
||||
>SYSCALL2 mknod
|
||||
|
||||
.80 jsr FreeRespData
|
||||
.91 jsr FreeRespData
|
||||
|
||||
bra .90
|
||||
|
||||
stz CIFS.Status
|
||||
>RET 6
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .98
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.98 lda #MLI.E.IO
|
||||
|
||||
.99 sec
|
||||
stz CIFS.Status
|
||||
>RET 6
|
||||
.9 jsr Exit.NODATA
|
||||
beq .99
|
||||
|
||||
.90 >POP 6
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CIFS.FClose jsr GetPFD
|
||||
|
||||
jsr GetGtx
|
||||
jsr GetCtx
|
||||
|
||||
ldx #S.SMB.H.CMD.CLOSE
|
||||
jsr RequestSetupX
|
||||
@ -719,40 +625,20 @@ CIFS2.FClose sta hFILE
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
beq .8
|
||||
jsr CheckSMBStatus
|
||||
bcs .99
|
||||
|
||||
lda #MLI.E.DUPFILE
|
||||
sec
|
||||
bra .80
|
||||
|
||||
.8 lda hFILE
|
||||
lda hFILE
|
||||
jsr CIFS.CloseDir
|
||||
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
clc
|
||||
jmp Exit.OK
|
||||
|
||||
.80 jsr FreeRespData
|
||||
.9 jmp Exit.NODATA
|
||||
|
||||
stz CIFS.Status
|
||||
rts
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .98
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.98 lda #MLI.E.IO
|
||||
|
||||
.99 sec
|
||||
stz CIFS.Status
|
||||
rts
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CIFS.FRead
|
||||
clc
|
||||
@ -767,7 +653,7 @@ CIFS.FWrite ldy #4 hNod
|
||||
|
||||
jsr GetPFD
|
||||
|
||||
jsr GetGTX
|
||||
jsr GetCtx
|
||||
|
||||
ldx #S.SMB.H.CMD.WRITE.ANDX
|
||||
jsr RequestSetupX
|
||||
@ -865,40 +751,33 @@ CIFS.FWrite ldy #4 hNod
|
||||
lda (pStack),y
|
||||
beq .7
|
||||
|
||||
dec
|
||||
dec DataLen - $100
|
||||
sta (pStack),y
|
||||
|
||||
ldy #3 DataPtr HI
|
||||
lda (pStack),y
|
||||
inc
|
||||
inc DataPtr + $100
|
||||
sta (pStack),y
|
||||
|
||||
bra .8
|
||||
jmp Sleep
|
||||
|
||||
.7 lda #0
|
||||
sta (pStack) DataLen LO
|
||||
sta (pStack) DataLen = 0
|
||||
|
||||
.8 jmp Sleep
|
||||
jmp Sleep
|
||||
|
||||
.9 >RET 5
|
||||
*--------------------------------------
|
||||
CIFS2.FWrite ldy #4
|
||||
lda (pStack),y
|
||||
|
||||
jsr ReadSocket
|
||||
CIFS2.FWrite jsr ReadSocket
|
||||
bcs .9
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
beq .8
|
||||
jsr CheckSMBStatus
|
||||
bcs .90
|
||||
|
||||
lda #MLI.E.IO
|
||||
sec
|
||||
|
||||
.8 jsr FreeRespData
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
@ -908,23 +787,11 @@ CIFS2.FWrite ldy #4
|
||||
|
||||
jmp Sleep2
|
||||
|
||||
.9 cmp #E.NODATA
|
||||
bne .99
|
||||
.9 jsr Exit.NODATA
|
||||
beq .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .98
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.98 lda #MLI.E.IO
|
||||
|
||||
.99 sec
|
||||
|
||||
.90 stz CIFS.Status
|
||||
|
||||
>RET 5
|
||||
.90 >POP 5
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CIFS.FFlush
|
||||
CIFS2.FFlush
|
||||
@ -933,15 +800,136 @@ CIFS2.FSeek
|
||||
CIFS.FTell
|
||||
CIFS2.FTell
|
||||
CIFS.FEOF
|
||||
CIFS2.FEOF
|
||||
CIFS.Remove
|
||||
CIFS2.Remove
|
||||
CIFS.Rename
|
||||
CIFS2.Rename >DEBUG
|
||||
CIFS2.FEOF >DEBUG
|
||||
lda #MLI.E.BADCALL
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CIFS.Remove >STYA pPath resolved path
|
||||
|
||||
jsr ClearSocket
|
||||
|
||||
jsr GetCTX
|
||||
|
||||
ldx #S.SMB.H.CMD.DELETE
|
||||
jsr RequestSetupX
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda SMB.ComDelete.H,x
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
inx
|
||||
cpx #SMB.ComDelete.H.Len
|
||||
bne .1
|
||||
|
||||
jsr ReqSetupPtr2
|
||||
|
||||
lda #$04 BufferFormat
|
||||
jsr PutBytePtr2
|
||||
|
||||
jsr AppendPathPtr2
|
||||
|
||||
tya
|
||||
inc +1 for BufferFormat
|
||||
inc +1 for \0
|
||||
|
||||
jsr Add2ByteCount
|
||||
|
||||
jsr SetReqLen
|
||||
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CIFS2.Remove jsr ReadSocket
|
||||
bcs .9
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
jsr CheckSMBStatus
|
||||
bcs .99
|
||||
|
||||
jmp Exit.OK
|
||||
|
||||
.9 jmp Exit.NODATA
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CIFS.Rename >STYA pPath resolved src path
|
||||
|
||||
jsr ClearSocket
|
||||
|
||||
jsr GetCTX
|
||||
|
||||
ldx #S.SMB.H.CMD.RENAME
|
||||
jsr RequestSetupX
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda SMB.ComRename.H,x
|
||||
sta (ZPReqPtr),y
|
||||
iny
|
||||
inx
|
||||
cpx #SMB.ComRename.H.Len
|
||||
bne .1
|
||||
|
||||
jsr ReqSetupPtr2
|
||||
|
||||
lda #$04 BufferFormat
|
||||
jsr PutBytePtr2
|
||||
|
||||
jsr AppendPathPtr2
|
||||
|
||||
tya
|
||||
inc +1 for BufferFormat
|
||||
inc +1 for \0
|
||||
jsr Add2ByteCount
|
||||
|
||||
lda (pStack)
|
||||
sta pPath
|
||||
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
sta pPath+1
|
||||
|
||||
lda #$04 BufferFormat
|
||||
jsr PutBytePtr2
|
||||
|
||||
jsr AppendPathPtr2
|
||||
|
||||
tya
|
||||
inc +1 for BufferFormat
|
||||
inc +1 for \0
|
||||
|
||||
jsr Add2ByteCount
|
||||
|
||||
jsr SetReqLen
|
||||
|
||||
jsr WriteSocket
|
||||
bcs .9
|
||||
|
||||
jmp Sleep
|
||||
|
||||
.9 >RET 4
|
||||
*--------------------------------------
|
||||
CIFS2.Rename jsr ReadSocket
|
||||
bcs .9
|
||||
|
||||
jsr GetRespData
|
||||
|
||||
jsr CheckSMBStatus
|
||||
bcs .99
|
||||
|
||||
jmp Exit.OK
|
||||
|
||||
.9 jmp Exit.NODATA
|
||||
|
||||
.99 >RET 4
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libcifs.io.s
|
||||
LOAD usr/src/lib/libcifs.s
|
||||
|
@ -570,7 +570,7 @@ GetPFD tax
|
||||
>STYA pFD
|
||||
rts
|
||||
*--------------------------------------
|
||||
GetGTX lda MountTable+2
|
||||
GetCTX lda MountTable+2
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPCtxPtr
|
||||
rts
|
||||
@ -635,6 +635,19 @@ ReqT2SetupPtr2 sty ZPReqLen
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
PutBytePtr2 sta (ZPPtr2)
|
||||
inc ZPPtr2
|
||||
bne .1
|
||||
|
||||
inc ZPPtr2+1
|
||||
|
||||
.1 inc ZPReqLen
|
||||
bne .8
|
||||
|
||||
inc ZPReqLen+1
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
AppendPathPtr2 ldx #0
|
||||
|
||||
ldy #$ff
|
||||
@ -657,10 +670,41 @@ AppendPathPtr2 ldx #0
|
||||
|
||||
dey
|
||||
|
||||
.5
|
||||
* lda #0
|
||||
sta (ZPPtr2),y
|
||||
.5 sta (ZPPtr2),y A = 0
|
||||
|
||||
tya
|
||||
|
||||
sec +1 for \0
|
||||
|
||||
adc ZPReqLen
|
||||
sta ZPReqLen
|
||||
bcc .6
|
||||
|
||||
inc ZPReqLen+1
|
||||
|
||||
.6 tya
|
||||
|
||||
sec +1 for \0
|
||||
|
||||
adc ZPPtr2
|
||||
sta ZPPtr2
|
||||
bcc .8
|
||||
|
||||
inc ZPPtr2+1
|
||||
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
Add2ByteCount ldy ByteCountOfs
|
||||
clc
|
||||
adc (ZPReqPtr),y
|
||||
sta (ZPReqPtr),y
|
||||
|
||||
iny ByteCountOfs+1
|
||||
|
||||
lda #0
|
||||
adc (ZPReqPtr),y
|
||||
sta (ZPReqPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
AppendPath ldx #0
|
||||
@ -760,6 +804,38 @@ Sleep2 stz CIFS.Retries
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
Exit.OK lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
stz CIFS.Status
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
Exit.KO pha
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
pla
|
||||
|
||||
stz CIFS.Status
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
Exit.NODATA cmp #E.NODATA
|
||||
bne .99
|
||||
|
||||
dec CIFS.Retries
|
||||
beq .98
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
||||
.98 lda #MLI.E.OFFLINE
|
||||
|
||||
.99 stz CIFS.Status
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
GetRespData sta hResp
|
||||
>SYSCALL2 GetMemPtr
|
||||
|
||||
@ -773,8 +849,48 @@ GetRespData sta hResp
|
||||
sta ZPRespPtr+1
|
||||
rts
|
||||
*--------------------------------------
|
||||
GetRespDataOffset
|
||||
ldy #S.NETBIOS+S.SMB.H+15 Data Offset
|
||||
CheckSMBStatus ldy #S.NETBIOS+S.SMB.H.STATUS
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
beq FreeRespData.RTS
|
||||
|
||||
stz CIFS.Status
|
||||
|
||||
cmp #2 SRV
|
||||
bcs .9
|
||||
|
||||
iny
|
||||
iny
|
||||
|
||||
lda (ZPRespPtr),y ERR CODE
|
||||
ldx #MLIERR01-SMBERR01
|
||||
|
||||
.1 cmp SMBERR01-1,x
|
||||
beq .2
|
||||
|
||||
dex
|
||||
bne .1
|
||||
|
||||
sec
|
||||
bra .9
|
||||
|
||||
.2 lda MLIERR01-1,x
|
||||
sec
|
||||
bra FreeRespData
|
||||
|
||||
.9 lda #MLI.E.IO
|
||||
*--------------------------------------
|
||||
FreeRespData php
|
||||
pha
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
pla
|
||||
plp
|
||||
|
||||
FreeRespData.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
GetRespDataPtr1 ldy #S.NETBIOS+S.SMB.H+15 Data Offset
|
||||
lda (ZPRespPtr),y
|
||||
clc
|
||||
adc ZPRespPtr
|
||||
@ -794,16 +910,6 @@ GetRespDataOffset
|
||||
adc /S.NETBIOS
|
||||
sta ZPPtr1+1
|
||||
|
||||
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
FreeRespData php
|
||||
pha
|
||||
lda hResp
|
||||
>SYSCALL2 FreeMem
|
||||
pla
|
||||
plp
|
||||
rts
|
||||
*--------------------------------------
|
||||
FileInfo2StatBuf
|
||||
@ -945,6 +1051,9 @@ CIFS.BADCALL lda #MLI.E.BADCALL
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
SMBERR01 .DA #2,#3,#32
|
||||
MLIERR01 .DA #MLI.E.FNOTFND,#MLI.E.PNOTFND,#MLI.E.OPEN
|
||||
*--------------------------------------
|
||||
NETBIOS .DA #0 DIRECT TCP TRANSPORT
|
||||
.DA #0 24 BITS LENGTH
|
||||
.DA /SMB.NegReq.end-SMB.H
|
||||
|
@ -28,7 +28,7 @@ PFT.CheckPathYA >PUSHYA
|
||||
beq .8
|
||||
|
||||
sta ZPPtr1+1
|
||||
|
||||
|
||||
lda Flt.Table.pftLO-1,x
|
||||
sta ZPPtr1
|
||||
|
||||
@ -56,9 +56,9 @@ PFT.CheckPathYA >PUSHYA
|
||||
|
||||
lda Flt.Table.cbHI-1,x
|
||||
sta .7+2
|
||||
|
||||
|
||||
stx hHandler
|
||||
|
||||
|
||||
pla discard JSR return @
|
||||
pla
|
||||
|
||||
@ -117,10 +117,10 @@ PFT.CheckNodeA stx .80+1 Save SYSCALL #
|
||||
sta .7+1
|
||||
|
||||
lda Flt.Table.cbHI-1,x
|
||||
sta .7+2
|
||||
|
||||
sta .7+2
|
||||
|
||||
stx hHandler
|
||||
|
||||
|
||||
pla discard JSR return @
|
||||
pla
|
||||
ldx .80+1 restore SYSCALL #
|
||||
|
@ -10,7 +10,7 @@ NEW
|
||||
* `>PUSHB stream`
|
||||
* `>PUSHB character`
|
||||
* `>SYSCALL fputc`
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.FPutC lda (pStack) character
|
||||
@ -22,7 +22,7 @@ K.FPutC lda (pStack) character
|
||||
|
||||
jsr STDIO.Put1
|
||||
bcc .8
|
||||
|
||||
|
||||
tay
|
||||
beq .9 BLOCKING, keep parms on stack
|
||||
|
||||
@ -38,7 +38,7 @@ K.FPutC lda (pStack) character
|
||||
* **In:**
|
||||
* `lda character`
|
||||
* `>SYSCALL putchar`
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.PutChar sta K.IOBuf character
|
||||
@ -72,7 +72,7 @@ STDIO.Write jsr K.FWrite
|
||||
* ## ASM
|
||||
* `>LDYAI str`
|
||||
* `>SYSCALL PutS`
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.PutS >STYA .1+1
|
||||
@ -119,18 +119,18 @@ K.PutS >STYA .1+1
|
||||
* `>PUSHB stream`
|
||||
* `>PUSHW str`
|
||||
* `>SYSCALL fputs`
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
K.FPutS lda (pStack)
|
||||
sta ZPPtr1 Get String
|
||||
sta ZPPtr2
|
||||
|
||||
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
sta ZPPtr1+1
|
||||
sta ZPPtr2+1
|
||||
|
||||
|
||||
ldy #0
|
||||
ldx #0
|
||||
|
||||
@ -151,7 +151,7 @@ K.FPutS lda (pStack)
|
||||
>PUSHA
|
||||
|
||||
>PUSHW ZPPtr2
|
||||
|
||||
|
||||
txa
|
||||
>PUSHA push len HI
|
||||
|
||||
@ -160,8 +160,8 @@ K.FPutS lda (pStack)
|
||||
|
||||
jsr STDIO.Write
|
||||
bcs K.FPutS.RTS
|
||||
|
||||
.8 >POP 2
|
||||
|
||||
.8 >POP 2
|
||||
|
||||
K.FPutS.RTS rts
|
||||
*/--------------------------------------
|
||||
@ -178,8 +178,8 @@ K.FPutS.RTS rts
|
||||
* `>PUSHW s`
|
||||
* `>PUSHW n`
|
||||
* `>SYSCALL fgets`
|
||||
* ## RETURN VALUE
|
||||
* Y,A: s
|
||||
* ## RETURN VALUE
|
||||
* Y,A: s
|
||||
* CC = success
|
||||
*\--------------------------------------
|
||||
* (pStack)+4 h
|
||||
@ -192,10 +192,10 @@ K.FGetS ldy #3
|
||||
sta ZPPtr1,y
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
|
||||
lda ZPPtr1+1
|
||||
bmi .4 already something in buffer
|
||||
|
||||
|
||||
.2 ldy #4
|
||||
lda (pStack),y
|
||||
jsr STDIO.Get1
|
||||
@ -218,7 +218,7 @@ K.FGetS ldy #3
|
||||
eor #$ff
|
||||
adc #0
|
||||
sta ZPPtr1+1
|
||||
|
||||
|
||||
bra .5
|
||||
*--------------------------------------
|
||||
.4 ldy #4
|
||||
@ -229,19 +229,19 @@ K.FGetS ldy #3
|
||||
.5 lda K.IOBuf
|
||||
cmp #C.CR
|
||||
beq .8
|
||||
|
||||
|
||||
jsr SHARED.PutCP2
|
||||
|
||||
inc ZPPtr1
|
||||
bne .4
|
||||
inc ZPPtr1+1
|
||||
bne .4
|
||||
|
||||
|
||||
beq .8 Buffer full
|
||||
|
||||
|
||||
.6 tay
|
||||
beq .70
|
||||
|
||||
|
||||
cmp #MLI.E.EOF
|
||||
beq .8 String terminated by EOF
|
||||
|
||||
@ -272,12 +272,12 @@ K.FGetS ldy #3
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `>SYSCALL getchar`
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
* A = char
|
||||
*\--------------------------------------
|
||||
K.GetChar ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
lda (pPS),y
|
||||
*/--------------------------------------
|
||||
* # getc (BLOCKING)
|
||||
* Get char from Node
|
||||
@ -287,13 +287,13 @@ K.GetChar ldy #S.PS.hStdIn
|
||||
* **In:**
|
||||
* `lda stream`
|
||||
* `>SYSCALL getc`
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
* A = char
|
||||
*\--------------------------------------
|
||||
K.GetC jsr STDIO.Get1
|
||||
bcc .8
|
||||
|
||||
|
||||
tay
|
||||
bne .9 I/O error
|
||||
|
||||
@ -322,7 +322,7 @@ STDIO.Get1 >PUSHA
|
||||
* `>PUSHB c`
|
||||
* `>PUSHB stream`
|
||||
* `>SYSCALL ungetc`
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC = success
|
||||
* A = char
|
||||
*\--------------------------------------
|
||||
@ -354,20 +354,20 @@ K.UngetC clc
|
||||
* + a+ = O_RDWR | O_CREAT | O_APPEND
|
||||
* + ,t=123 or t=$ff or t=TXT
|
||||
* + ,x=12345 or x=$ffff
|
||||
* ## RETURN VALUE
|
||||
* ## RETURN VALUE
|
||||
* CC : A = hFILE
|
||||
* CS : A = EC
|
||||
*\--------------------------------------
|
||||
K.FOpen jsr PFT.CheckPath4
|
||||
bcs .9
|
||||
|
||||
|
||||
>PULLW IO.Open.AUXTYPE
|
||||
>PULLB IO.Open.TYPE
|
||||
>PULLB IO.Open.FLAGS
|
||||
|
||||
|
||||
inc pStack discard filename
|
||||
inc pStack
|
||||
|
||||
|
||||
jmp UNISTD.Open
|
||||
|
||||
.9 >POP 6
|
||||
@ -407,7 +407,7 @@ K.FRead jsr PFT.CheckNode4
|
||||
jsr UNISTD.Read
|
||||
bcs K.FWrite.9
|
||||
|
||||
K.FRead.RTS rts
|
||||
K.FRead.RTS rts
|
||||
*/--------------------------------------
|
||||
* # FWrite (BLOCKING)
|
||||
* Write bytes to file
|
||||
@ -424,7 +424,7 @@ K.FRead.RTS rts
|
||||
*\--------------------------------------
|
||||
K.FWrite jsr PFT.CheckNode4
|
||||
bcs K.FWrite.RET5
|
||||
|
||||
|
||||
jsr UNISTD.Write
|
||||
bcc K.FRead.RTS
|
||||
|
||||
@ -482,10 +482,10 @@ K.FSeek ldy #5
|
||||
|
||||
.11 lda (pFD)
|
||||
bne STDIO.IOERR
|
||||
|
||||
|
||||
>PULLA whence
|
||||
tax
|
||||
|
||||
|
||||
>PULLL ACC32
|
||||
cpx #SEEK.END
|
||||
beq .30
|
||||
@ -522,7 +522,7 @@ K.FSeek ldy #5
|
||||
eor #3
|
||||
bne .81
|
||||
|
||||
bcs .99 Offset out of range!
|
||||
bcs .99 Offset out of range!
|
||||
|
||||
.82 >MLICALL MLISETMARK
|
||||
bcc .9
|
||||
@ -547,7 +547,7 @@ K.FSeek.RTS rts
|
||||
* `lda stream`
|
||||
* `>SYSCALL feof`
|
||||
* ## RETURN VALUE
|
||||
* CC :
|
||||
* CC :
|
||||
* A = $ff EOF
|
||||
* A = 0 NOT EOF
|
||||
* CS :
|
||||
@ -627,11 +627,11 @@ K.Rename jsr PFT.CheckPath2
|
||||
|
||||
lda (pStack)
|
||||
sta ZPPtr1
|
||||
|
||||
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
sta ZPPtr1+1
|
||||
|
||||
|
||||
dey ldy #0
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
@ -659,20 +659,20 @@ K.Rename jsr PFT.CheckPath2
|
||||
* `int sprintf ( char *str, const char *format, ... );`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* PrintF : (example is for printing Y,A as integer : format="%I", 2 bytes)
|
||||
* PrintF : (example is for printing Y,A as integer : format="%I", 2 bytes)
|
||||
* `>PUSHW format`
|
||||
* `>PUSHW i`
|
||||
* `...`
|
||||
* `>PUSHBI 2` #bytecount
|
||||
* `>SYSCALL PrintF`
|
||||
* FPrintF :
|
||||
* FPrintF :
|
||||
* `>PUSHB hFILE`
|
||||
* `>PUSHW format`
|
||||
* `>PUSHW i`
|
||||
* `...`
|
||||
* `>PUSHBI 2` #bytecount
|
||||
* `>SYSCALL fprintf`
|
||||
* SPrintF :
|
||||
* SPrintF :
|
||||
* `>PUSHW str`
|
||||
* `>PUSHW format`
|
||||
* `>PUSHW i`
|
||||
@ -683,7 +683,7 @@ K.Rename jsr PFT.CheckPath2
|
||||
* CC : success, Y,A = bytes sent
|
||||
* CS : error, A = code from Output
|
||||
* Specifiers :
|
||||
* + %b : pull 1 byte to Print BIN
|
||||
* + %b : pull 1 byte to Print BIN
|
||||
* + %d : pull 1 byte unsigned DEC 0..255
|
||||
* + %D : pull 2 bytes unsigned DEC 0..65535
|
||||
* + %u : pull 4 bytes long unsigned DEC 0..4294967295
|
||||
@ -706,11 +706,11 @@ K.Rename jsr PFT.CheckPath2
|
||||
* + \xHH : Print byte with hexadecimal value HH (1 to 2 digits)
|
||||
* + \\\\ : Print \
|
||||
* + \\% : Print %
|
||||
* Modifiers for len and padding :
|
||||
* Modifiers for len and padding :
|
||||
* + %d : '9' '12'
|
||||
* + %2d : ' 9' '12'
|
||||
* + %02d : '09' '12'
|
||||
* + %11s : 'ABCDEFGH '
|
||||
* + %11s : 'ABCDEFGH '
|
||||
* + %011s : 'ABCDEFGH000'
|
||||
* + %2f : '3.14'
|
||||
*\--------------------------------------
|
||||
@ -799,7 +799,7 @@ K.PrintF.1 sec format string->ptr2
|
||||
bra .99
|
||||
.7 lda #'%'
|
||||
bra .20
|
||||
*--------------------------------------
|
||||
*--------------------------------------
|
||||
.10 cmp #'\'
|
||||
bne .20
|
||||
|
||||
@ -841,7 +841,7 @@ K.PrintF.1 sec format string->ptr2
|
||||
|
||||
tay
|
||||
bne .9
|
||||
|
||||
|
||||
>RET 5 0=BLOCKING
|
||||
|
||||
.80 ldy PrintF.Cnt A=0, Writing to buffer, append \0
|
||||
@ -918,10 +918,10 @@ PrintF.NUM sty .2+1
|
||||
sta ACC32-1,y PULL 4,2 or 1
|
||||
dey
|
||||
bne .1
|
||||
|
||||
|
||||
bit ACC32.Sign
|
||||
bpl .4
|
||||
|
||||
|
||||
.2 ldy #$ff SELF MODIFIED
|
||||
|
||||
lda ACC32-1,y Get highest Byte
|
||||
@ -935,17 +935,17 @@ PrintF.NUM sty .2+1
|
||||
iny
|
||||
sta ACC32-1,y
|
||||
bra .3
|
||||
|
||||
|
||||
.4 ldx K.PrintF.PadL
|
||||
ldy K.PrintF.PadC
|
||||
|
||||
rol ACC32.Sign get back signed/unsigned flag
|
||||
jsr MATH.ACC322STR10
|
||||
bra PrintF.StrNum
|
||||
*--------------------------------------
|
||||
*--------------------------------------
|
||||
* EXP(8) 1(s) 1significants(31)
|
||||
* http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/GS.TECH.INFO/AppleSoft/
|
||||
*--------------------------------------
|
||||
*--------------------------------------
|
||||
PrintF.E sec Force "E+12"
|
||||
.HS 90 BCC
|
||||
PrintF.F clc
|
||||
@ -965,7 +965,7 @@ PrintF.F clc
|
||||
ldy #FOUTBuf+1 FOUT.1 will do a DEY
|
||||
ldx #FPU.FOUT
|
||||
jsr GP.ROMCALL
|
||||
|
||||
|
||||
PrintF.StrNum ldy #0
|
||||
.2 lda FOUTBuf,y
|
||||
beq .8
|
||||
@ -987,7 +987,7 @@ PrintF.S ldy #$ff CSTR
|
||||
PrintF.SS ldy #$00 PSTR
|
||||
|
||||
sty .1+1
|
||||
|
||||
|
||||
jsr STDIO.GetStkB
|
||||
bcs .9
|
||||
|
||||
@ -996,24 +996,24 @@ PrintF.SS ldy #$00 PSTR
|
||||
bcs .9
|
||||
|
||||
sta ZPPtr1
|
||||
|
||||
|
||||
lda (ZPPtr1) if CSTR:last char=0, if PSTR:len=0
|
||||
beq .8
|
||||
|
||||
|
||||
ldy .1+1
|
||||
|
||||
|
||||
.1 lda #$ff Self Modified
|
||||
bne .11 CSTR
|
||||
|
||||
tya PSTR
|
||||
cmp (ZPPtr1) len check
|
||||
|
||||
|
||||
beq .2
|
||||
|
||||
|
||||
.11 iny
|
||||
lda (ZPPtr1),y
|
||||
beq .2
|
||||
|
||||
|
||||
jsr PrintF.PutC
|
||||
bcs .9
|
||||
|
||||
@ -1023,17 +1023,17 @@ PrintF.SS ldy #$00 PSTR
|
||||
bne .1
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
|
||||
.2 lda K.PrintF.PadL
|
||||
beq .8
|
||||
|
||||
|
||||
.3 cpy K.PrintF.PadL
|
||||
beq .8
|
||||
|
||||
|
||||
lda K.PrintF.PadC
|
||||
jsr PrintF.PutC
|
||||
bcs .9
|
||||
|
||||
|
||||
iny
|
||||
bne .3
|
||||
|
||||
@ -1079,7 +1079,7 @@ PrintF.PutC phy
|
||||
|
||||
.9 lda #E.BUF
|
||||
sec
|
||||
STDIO.RTS rts
|
||||
STDIO.RTS rts
|
||||
*/--------------------------------------
|
||||
* # ScanF (BLOCKING)
|
||||
* # FScanF (BLOCKING)
|
||||
@ -1128,7 +1128,7 @@ STDIO.RTS rts
|
||||
K.ScanF ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
sta PrintF.hFILE
|
||||
|
||||
|
||||
ldx #1
|
||||
.HS 2C BIT ABS
|
||||
*--------------------------------------
|
||||
@ -1144,21 +1144,21 @@ K.SScanF.1 clc format string->ptr1
|
||||
sta ZPPtr2+1 Output buffer->ZPPtr2
|
||||
|
||||
sty STDIO.PopCnt Total bytes to POP
|
||||
|
||||
|
||||
ldx PrintF.hFILE
|
||||
beq .1
|
||||
|
||||
|
||||
txa
|
||||
>PUSHA
|
||||
>PUSHW pIOBuf
|
||||
>PUSHWI 256
|
||||
>PUSHWI 256
|
||||
jsr K.FGetS
|
||||
bcc .1
|
||||
|
||||
|
||||
tax
|
||||
bne STDIO.RTS
|
||||
>RET 4
|
||||
|
||||
|
||||
.1 jsr SHARED.GetCP1 End Of format?
|
||||
beq .8
|
||||
|
||||
@ -1167,26 +1167,26 @@ K.SScanF.1 clc format string->ptr1
|
||||
|
||||
cmp #C.SPACE Space ?
|
||||
beq .12
|
||||
|
||||
|
||||
sta .11+1
|
||||
|
||||
|
||||
jsr SHARED.GetCP2
|
||||
beq .9
|
||||
|
||||
|
||||
.11 cmp #$ff Same char in string?
|
||||
beq .1
|
||||
|
||||
|
||||
bra .9
|
||||
|
||||
.12 jsr SHARED.GetCP2
|
||||
beq .9
|
||||
cmp #C.SPACE
|
||||
bne .9
|
||||
|
||||
|
||||
.13 jsr SHARED.GetCP2
|
||||
cmp #C.SPACE another space ?
|
||||
beq .13
|
||||
|
||||
|
||||
bra .1
|
||||
|
||||
.2 jsr SHARED.GetCP1 Get specifier after %
|
||||
@ -1210,7 +1210,7 @@ K.SScanF.1 clc format string->ptr1
|
||||
jsr STDIO.GetStkB
|
||||
bcs .9
|
||||
sta ZPPtr3
|
||||
|
||||
|
||||
jsr .5
|
||||
bcs .9 out of Ptr on stack
|
||||
|
||||
@ -1234,8 +1234,8 @@ K.SScanFJMP .DA K.SScanF.I
|
||||
.DA K.SScanF.HH
|
||||
.DA K.SScanF.S
|
||||
*--------------------------------------
|
||||
K.SScanF.I
|
||||
K.SScanF.D
|
||||
K.SScanF.I
|
||||
K.SScanF.D
|
||||
K.SScanF.II
|
||||
K.SScanF.DD
|
||||
K.SScanF.L
|
||||
@ -1253,7 +1253,7 @@ K.SScanF.H lda K.SScanFTBL+1,x Get VAR size
|
||||
|
||||
K.SScanF.GetVAL jsr SHARED.AddY2P2 Y=char count parsed
|
||||
|
||||
.1 ply get back VAL size
|
||||
.1 ply get back VAL size
|
||||
|
||||
.2 lda ACC32-1,y
|
||||
dey
|
||||
@ -1268,13 +1268,13 @@ K.SScanF.S ldy #$ff
|
||||
lda (ZPPtr2),y Get char in string to scan
|
||||
sta (ZPPtr3),y store in param ptr
|
||||
beq K.SScanF.Fwd end of string to scan ?
|
||||
|
||||
cmp (ZPPtr1) match format next char ?
|
||||
|
||||
cmp (ZPPtr1) match format next char ?
|
||||
beq .2
|
||||
|
||||
|
||||
cmp #C.SPACE is it a space ?
|
||||
bne .1
|
||||
|
||||
|
||||
.2 lda #0 add \0 to param ptr
|
||||
sta (ZPPtr3),y
|
||||
|
||||
@ -1296,7 +1296,7 @@ STDIO.GetParams stz PrintF.Cnt
|
||||
stz PrintF.Cnt+1
|
||||
|
||||
lda (pStack) Bytecount
|
||||
|
||||
|
||||
tay
|
||||
sty STDIO.iStkB
|
||||
|
||||
@ -1307,7 +1307,7 @@ STDIO.GetParams stz PrintF.Cnt
|
||||
iny
|
||||
lda (pStack),y format HI
|
||||
bcs .10
|
||||
|
||||
|
||||
sta ZPPtr1+1
|
||||
pla
|
||||
sta ZPPtr1
|
||||
@ -1316,22 +1316,22 @@ STDIO.GetParams stz PrintF.Cnt
|
||||
.10 sta ZPPtr2+1
|
||||
pla
|
||||
sta ZPPtr2
|
||||
|
||||
|
||||
.11 dex
|
||||
beq .1
|
||||
|
||||
|
||||
dex
|
||||
beq .2
|
||||
|
||||
|
||||
.3 stz PrintF.hFILE
|
||||
|
||||
|
||||
iny
|
||||
lda (pStack),y str LO
|
||||
tax
|
||||
|
||||
iny
|
||||
lda (pStack),y str HI
|
||||
|
||||
|
||||
rts
|
||||
|
||||
.2 iny
|
||||
@ -1340,7 +1340,7 @@ STDIO.GetParams stz PrintF.Cnt
|
||||
|
||||
.1 ldx #K.IOBuf
|
||||
lda /K.IOBuf
|
||||
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
STDIO.GetStkB phy
|
||||
@ -1363,12 +1363,12 @@ STDIO.GetStkB phy
|
||||
*--------------------------------------
|
||||
STDIO.Exit php
|
||||
pha
|
||||
|
||||
|
||||
lda pStack
|
||||
sec
|
||||
adc STDIO.PopCnt
|
||||
sta pStack
|
||||
|
||||
|
||||
pla
|
||||
plp
|
||||
rts
|
||||
|
Loading…
x
Reference in New Issue
Block a user