mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-10 15:39:43 +00:00
A2osX-1.00 PREVIEW : major code factorization & bugfixes in BIN/cmds (cont.)
This commit is contained in:
parent
59d383b6e0
commit
9f0e6f58b9
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -315,8 +315,8 @@ CS.RUN.CheckErr bcs .1
|
||||
rts
|
||||
|
||||
.1 pha
|
||||
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
|
@ -70,7 +70,7 @@ CS.INIT clc
|
||||
CS.RUN lda #S.FI.A.FULL+S.FI.A.B+S.FI.A.I
|
||||
sta AttrAND
|
||||
|
||||
inc ArgIndex
|
||||
.10 inc ArgIndex
|
||||
lda ArgIndex
|
||||
>LIBC ArgV
|
||||
bcs .8
|
||||
@ -84,7 +84,7 @@ CS.RUN lda #S.FI.A.FULL+S.FI.A.B+S.FI.A.I
|
||||
bne .4
|
||||
|
||||
.1 jsr CS.RUN.CheckSwitch
|
||||
bcc CS.RUN
|
||||
bcc .10
|
||||
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>LIBC PutS
|
||||
@ -97,7 +97,7 @@ CS.RUN lda #S.FI.A.FULL+S.FI.A.B+S.FI.A.I
|
||||
|
||||
>LDYA ZPPtr1
|
||||
jsr X.InitSrcDirYA
|
||||
bcc CS.RUN
|
||||
bcc .10
|
||||
rts
|
||||
|
||||
.8 >LDA.G pSrcBasePath+1
|
||||
@ -249,7 +249,7 @@ CS.RUN.SetAttr >SS
|
||||
|
||||
ldy #S.STAT.P.ACCESS
|
||||
lda (ZPFileStat),y
|
||||
|
||||
|
||||
and AttrAND
|
||||
ora AttrORA
|
||||
>PUSHA
|
||||
@ -319,7 +319,7 @@ CS.RUN.CheckSwitch
|
||||
sta $0,y
|
||||
clc
|
||||
rts
|
||||
|
||||
*--------------------------------------
|
||||
.4 iny
|
||||
lda (ZPPtr1),y
|
||||
bne .9
|
||||
@ -341,6 +341,7 @@ CS.RUN.CheckSwitch
|
||||
|
||||
.6 dex
|
||||
bpl .5
|
||||
|
||||
sec
|
||||
rts
|
||||
|
||||
|
@ -231,10 +231,12 @@ CS.RUN.CheckErr bcs .1
|
||||
>LIBC PutS
|
||||
rts
|
||||
|
||||
.1 tay
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
txa
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LIBC PrintF
|
||||
@ -243,6 +245,7 @@ CS.RUN.CheckErr bcs .1
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -232,26 +232,35 @@ CS.RUN.CheckErr bcs .1
|
||||
rts
|
||||
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
pla
|
||||
pha
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LIBC PrintF
|
||||
>LDA.G bContinue
|
||||
>SR
|
||||
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetFilePath
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW.G pSrcBasePath
|
||||
>LIBC StrCpy
|
||||
>SR
|
||||
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPFileName
|
||||
>LIBC StrCat
|
||||
>SR
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.SIG sec
|
||||
|
@ -266,31 +266,41 @@ CS.RUN.Str2Mode >LIBC ArgV
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckErr bcs .1
|
||||
|
||||
>LDYA L.MSG.OK
|
||||
>LIBC PutS
|
||||
rts
|
||||
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
pla
|
||||
pha
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LIBC PrintF
|
||||
>LDA.G bContinue
|
||||
>SR
|
||||
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetFilePath
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW.G pSrcBasePath
|
||||
>LIBC StrCpy
|
||||
>SR
|
||||
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPFileName
|
||||
>LIBC StrCat
|
||||
>SR
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.SIG sec
|
||||
|
@ -232,11 +232,12 @@ CS.RUN.CheckErr bcs .1
|
||||
>LIBC PutS
|
||||
rts
|
||||
|
||||
.1 >SS
|
||||
pha
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
pla
|
||||
pha
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LIBC PrintF
|
||||
@ -250,13 +251,17 @@ CS.RUN.CheckErr bcs .1
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetFilePath
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW.G pSrcBasePath
|
||||
>LIBC StrCpy
|
||||
>SR
|
||||
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPFileName
|
||||
>LIBC StrCat
|
||||
>SR
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.SIG sec
|
||||
|
@ -229,10 +229,12 @@ CS.RUN.CheckErr bcs .1
|
||||
>LIBC PutS
|
||||
rts
|
||||
|
||||
.1 tay
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
txa
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LIBC PrintF
|
||||
@ -241,6 +243,7 @@ CS.RUN.CheckErr bcs .1
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -15,6 +15,7 @@ X.COPY.TO.DEST .EQ 1
|
||||
X.DELETE.SOURCE .EQ 0
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.cpmvrm.s
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.fileenum.s
|
||||
.INB usr/src/shared/x.checkctrl.s
|
||||
*--------------------------------------
|
||||
|
@ -227,7 +227,7 @@ Ctrl.LF jsr BUF.GetNextLine
|
||||
Ctrl.VT >LDA.G FileY+1
|
||||
tax
|
||||
dey
|
||||
>DEBUG
|
||||
|
||||
ora (pData),y
|
||||
beq .8
|
||||
|
||||
|
@ -231,6 +231,7 @@ CS.RUN.CheckErr bcs .1
|
||||
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
@ -242,6 +243,7 @@ CS.RUN.CheckErr bcs .1
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -27,13 +27,13 @@ ZPFullPath .BS 2
|
||||
ZPRelPath .BS 2
|
||||
ZPFileBuf .BS 2
|
||||
|
||||
ArgIndex .BS 1
|
||||
hFile .BS 1
|
||||
pFile .BS 2
|
||||
|
||||
FilePos .BS 4
|
||||
|
||||
ByteCnt .BS 2
|
||||
|
||||
ArgIndex .BS 1
|
||||
bPause .BS 1
|
||||
bContinue .BS 1
|
||||
bRecurse .BS 1
|
||||
@ -45,19 +45,20 @@ ZS.END .ED
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START Code Size (without Constants)
|
||||
.DA DS.END-DS.START Data SegmentSize
|
||||
.DA #2 BIN Layout Version 2
|
||||
.DA #0
|
||||
.DA #0
|
||||
.DA CS.END
|
||||
.DA ID.END
|
||||
.DA DS.END
|
||||
.DA #64 Stack Size
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.SIG
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.CRLF .DA MSG.CRLF
|
||||
@ -69,7 +70,7 @@ CS.INIT clc
|
||||
*--------------------------------------
|
||||
CS.RUN inc ArgIndex
|
||||
lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
>LIBC ArgV
|
||||
bcs .5
|
||||
|
||||
>STYA ZPPtr1
|
||||
@ -81,12 +82,13 @@ CS.RUN inc ArgIndex
|
||||
bcc CS.RUN
|
||||
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
>LIBC PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.4 >LDA.G hSrcBasePath
|
||||
.4 >LDYA.G pSrcBasePath
|
||||
cmp #0
|
||||
bne .9
|
||||
|
||||
>LDYA ZPPtr1
|
||||
@ -95,7 +97,7 @@ CS.RUN inc ArgIndex
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
.5 >LDA.G hSrcBasePath
|
||||
.5 >LDA.G pSrcBasePath+1
|
||||
bne .6
|
||||
|
||||
ldy #S.PS.pCWD
|
||||
@ -107,13 +109,12 @@ CS.RUN inc ArgIndex
|
||||
>STYA ZPPtr1
|
||||
|
||||
.6 >LDYAI 256
|
||||
>SYSCALL Malloc
|
||||
>LIBC Malloc
|
||||
bcs .99
|
||||
|
||||
>STYA ZPFullPath
|
||||
|
||||
>LDA.G hSrcBasePath
|
||||
>SYSCALL GetMemPtr
|
||||
>LDYA.G pSrcBasePath
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #$ff
|
||||
@ -131,7 +132,7 @@ CS.RUN inc ArgIndex
|
||||
sta ZPRelPath+1
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL Malloc
|
||||
>LIBC Malloc
|
||||
bcs .99
|
||||
|
||||
>STYA ZPFileBuf
|
||||
@ -228,10 +229,11 @@ CS.RUN.FILE jsr X.IncludeMatch
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.FILE.LOOP
|
||||
.1 >PUSHB hFile
|
||||
.1 >SS
|
||||
>PUSHW pFile
|
||||
>PUSHW ZPFileBuf
|
||||
>PUSHWI 256
|
||||
>SYSCALL FRead
|
||||
>LIBC FRead
|
||||
bcs .8
|
||||
|
||||
>STYA ByteCnt
|
||||
@ -241,10 +243,12 @@ CS.RUN.FILE.LOOP
|
||||
jsr CS.RUN.FSeek
|
||||
bcs .99
|
||||
|
||||
>PUSHB hFile
|
||||
>SS
|
||||
>PUSHW pFile
|
||||
>PUSHW ZPFileBuf
|
||||
>PUSHW ByteCnt
|
||||
>SYSCALL FWrite
|
||||
>LIBC FWrite
|
||||
>SR
|
||||
bcs .99
|
||||
|
||||
lda ByteCnt
|
||||
@ -287,10 +291,16 @@ CS.RUN.FILE.MOD ldy #0
|
||||
CS.RUN.CheckErr bcc .9
|
||||
|
||||
pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>SYSCALL PrintF
|
||||
>LIBC PrintF
|
||||
>SR
|
||||
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
@ -299,63 +309,62 @@ CS.RUN.CheckErr bcc .9
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetFilePath
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>LDA.G hSrcBasePath
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>SYSCALL StrCpy
|
||||
>PUSHW.G pSrcBasePath
|
||||
>LIBC StrCpy
|
||||
>SR
|
||||
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPFileName
|
||||
>SYSCALL StrCat
|
||||
>LIBC StrCat
|
||||
>SR
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.OpenFile >PUSHW ZPFullPath
|
||||
CS.RUN.OpenFile >SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHBI O.RDWR+O.APPEND
|
||||
>PUSHBI 0 Type
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
>LIBC FOpen
|
||||
>SR
|
||||
bcs CS.RUN.FSeek.9
|
||||
|
||||
sta hFile
|
||||
>STYA pFile
|
||||
|
||||
stz FilePos
|
||||
stz FilePos+1
|
||||
stz FilePos+2
|
||||
stz FilePos+3
|
||||
|
||||
CS.RUN.FSeek >PUSHB hFile
|
||||
CS.RUN.FSeek >SS
|
||||
>PUSHW pFile
|
||||
>PUSHL FilePos
|
||||
>PUSHBI SEEK.SET
|
||||
>SYSCALL fseek
|
||||
>LIBC fseek
|
||||
>SR
|
||||
|
||||
CS.RUN.FSeek.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CloseFile
|
||||
lda hFile
|
||||
>SYSCALL FClose
|
||||
>LDYA pFile
|
||||
>LIBC FClose
|
||||
bcs .9
|
||||
|
||||
stz hFile
|
||||
stz pFile+1
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
CS.SIG sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT jsr X.LeaveSubDir
|
||||
bcc CS.QUIT
|
||||
|
||||
>LDA.G hInclude
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.1 >LDYA ZPFileBuf
|
||||
>SYSCALL Free
|
||||
CS.QUIT jsr X.Quit
|
||||
|
||||
.2 >LDYA ZPFullPath
|
||||
>SYSCALL Free
|
||||
beq .8
|
||||
|
||||
>LIBC Free
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
@ -386,20 +395,19 @@ CS.RUN.CheckOpt ldy #1
|
||||
CS.END .EQ *
|
||||
*--------------------------------------
|
||||
OptionList .AS "CRcr"
|
||||
OptionVars .DA #bContinue,#bRecurse
|
||||
.DA #bContinue,#bRecurse
|
||||
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .CS "Usage : MAC2UNIX File(s) (*,? wildcards allowed)\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CS " -R : Recurse subdirectories\r\n"
|
||||
MSG.CRLF .CZ "\r\n"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
*--------------------------------------
|
||||
ID.END .EQ *
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
.INB usr/src/shared/x.fileenum.g
|
||||
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -14,8 +14,9 @@ X.ENTER.SUBDIR .EQ 0
|
||||
X.COPY.TO.DEST .EQ 1
|
||||
X.DELETE.SOURCE .EQ 1
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.checkctrl.s
|
||||
.INB usr/src/shared/x.cpmvrm.s
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.checkctrl.s
|
||||
.INB usr/src/shared/x.fileenum.s
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
|
@ -319,8 +319,8 @@ CS.RUN.CheckErr bcs .1
|
||||
rts
|
||||
|
||||
.1 pha
|
||||
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
|
@ -14,8 +14,9 @@ X.ENTER.SUBDIR .EQ 0
|
||||
X.COPY.TO.DEST .EQ 0
|
||||
X.DELETE.SOURCE .EQ 1
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.checkctrl.s
|
||||
.INB usr/src/shared/x.cpmvrm.s
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.checkctrl.s
|
||||
.INB usr/src/shared/x.fileenum.s
|
||||
*--------------------------------------
|
||||
CS.END .EQ *
|
||||
|
@ -1,261 +0,0 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/rpcdump
|
||||
*--------------------------------------
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/eth.i
|
||||
.INB inc/libtcpip.i
|
||||
.INB inc/net.tcpip.i
|
||||
*--------------------------------------
|
||||
TIMEOUT.MAX .EQ 40 40*100ms = 4 sec.
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPIPCfgPtr .BS 2
|
||||
ZPFrameBase .BS 2
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA #S.PS.F.EVENT
|
||||
.DA #0
|
||||
.DA CS.END-CS.START Code Length To Relocate
|
||||
.DA DS.END-DS.START Data Segment to Allocate
|
||||
.DA #16 SS
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.Socket .DA Socket
|
||||
L.Socket.Dst.Addr .DA Socket.Dst.Addr
|
||||
L.RPC.Request .DA RPC.Request
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.UNKNOWN .DA MSG.UNKNOWN
|
||||
L.MSG.TIMEOUT .DA MSG.TIMEOUT
|
||||
L.MSG.DUMP0 .DA MSG.DUMP0
|
||||
L.MSG.DUMP1 .DA MSG.DUMP1
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT ldy #S.PS.ARGC
|
||||
lda (pPS),y
|
||||
beq .99
|
||||
|
||||
>LDYA L.LIBTCPIP
|
||||
>LIBC LoadLib
|
||||
sta hLIBTCPIP
|
||||
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
bcs .99
|
||||
>STYA ZPIPCfgPtr
|
||||
lda (ZPIPCfgPtr) Configured ?
|
||||
bpl .99
|
||||
ldx #3
|
||||
ldy #S.IPCFG.IP+3
|
||||
.1 lda (ZPIPCfgPtr),y
|
||||
sta Socket.Src.Addr,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
clc
|
||||
rts
|
||||
.99 >LDYA L.MSG.USAGE
|
||||
>LIBC PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN jsr Init.TimeOut
|
||||
.1 >PUSHW L.Socket.Dst.Addr
|
||||
lda #1
|
||||
>LIBC ArgV
|
||||
>PUSHYA
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GetByName
|
||||
bcc .2
|
||||
|
||||
>SLEEP
|
||||
jsr Wait.TimeOut
|
||||
bcc .1
|
||||
lda #1
|
||||
>LIBC ArgV
|
||||
>PUSHYA
|
||||
>PUSHBI 2
|
||||
>LDYA L.MSG.UNKNOWN
|
||||
>LIBC PrintF
|
||||
sec
|
||||
rts
|
||||
.2 >PUSHW L.Socket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
|
||||
bcs .91
|
||||
>STA.G hSocket
|
||||
ldx #3
|
||||
.21 lda A2osX.T16,x
|
||||
sta RPC.Request,x
|
||||
dex
|
||||
bpl .21
|
||||
.3 >PUSHWI RPC.Request.End-RPC.Request
|
||||
>PUSHW L.RPC.Request
|
||||
>LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
bcc .4
|
||||
>SLEEP
|
||||
jsr Wait.TimeOut
|
||||
bcc .3
|
||||
.91 bra .99
|
||||
.4 jsr Init.TimeOut
|
||||
|
||||
.5 >LDA.G hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv
|
||||
bcc .6
|
||||
>SLEEP
|
||||
jsr Wait.TimeOut
|
||||
bcc .5
|
||||
bra .99
|
||||
|
||||
.6 ldy #hFrame
|
||||
sta (pData),y
|
||||
>LIBC GetMemPtr
|
||||
>STYA ZPFrameBase
|
||||
jsr DumpRPCFrame
|
||||
|
||||
ldy #hFrame
|
||||
lda (pData),y
|
||||
>LIBC FreeMem
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
.99 lda #1
|
||||
>LIBC ArgV
|
||||
>PUSHYA
|
||||
>PUSHBI 2
|
||||
>LDYA L.MSG.TIMEOUT
|
||||
>LIBC PrintF
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
bpl .9 is it a TIMER event?
|
||||
|
||||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
beq .9
|
||||
dec
|
||||
sta (pData),y
|
||||
.9 sec do not discard TIMER event
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT ldy #hSocket
|
||||
lda (pData),y
|
||||
beq .1
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
.1 lda hLIBTCPIP
|
||||
beq .8
|
||||
>LIBC UnloadLib
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
Init.TimeOut ldy #TimeOut
|
||||
lda #TIMEOUT.MAX
|
||||
sta (pData),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
Wait.TimeOut sec
|
||||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
beq .9
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
DumpRPCFrame lda #S.UDP+24
|
||||
clc
|
||||
adc ZPFrameBase
|
||||
sta ZPFrameBase
|
||||
lda /S.UDP+24
|
||||
adc ZPFrameBase+1
|
||||
sta ZPFrameBase+1
|
||||
|
||||
>LDYA L.MSG.DUMP0
|
||||
>LIBC PutS
|
||||
.1 ldy #3
|
||||
lda (ZPFrameBase),y Value follows?
|
||||
beq .9
|
||||
ldy #18 port
|
||||
>PUSHB (ZPFrameBase),y
|
||||
iny
|
||||
>PUSHB (ZPFrameBase),y
|
||||
|
||||
ldy #15 proto
|
||||
>PUSHB (ZPFrameBase),y
|
||||
|
||||
ldy #11 version
|
||||
>PUSHB (ZPFrameBase),y
|
||||
ldy #4 program
|
||||
.7 >PUSHB (ZPFrameBase),y
|
||||
iny
|
||||
cpy #8
|
||||
bne .7
|
||||
|
||||
>PUSHBI 8
|
||||
>LDYA L.MSG.DUMP1
|
||||
>LIBC PrintF
|
||||
lda #20
|
||||
clc
|
||||
adc ZPFrameBase
|
||||
sta ZPFrameBase
|
||||
bcc .1
|
||||
inc ZPFrameBase+1
|
||||
bra .1
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.USAGE .AZ "Usage : RPCDUMP <ip|host>"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
MSG.TIMEOUT .AZ "No response from %s\r\n"
|
||||
MSG.DUMP0 .AZ "Program Ver Proto:Port"
|
||||
MSG.DUMP1 .AZ "%10L %2d %2d:%D\r\n"
|
||||
*--------------------------------------
|
||||
Socket .DA #S.SOCKET.T.DGRAM
|
||||
.BS 3
|
||||
Socket.Src.Addr .BS 4
|
||||
Socket.Src.Port .DA 0 Dynamic
|
||||
Socket.Dst.Addr .BS 4
|
||||
Socket.Dst.Port .DA UDP.PORT.PMAP
|
||||
*--------------------------------------
|
||||
RPC.Request .BS 4 XID
|
||||
.HS 00000000 0=CALL
|
||||
.HS 00000002 RPCVERS
|
||||
.HS 000186A0 PROG=portmapper
|
||||
.HS 00000002 VERS
|
||||
.HS 00000004 PMAPPROC_DUMP
|
||||
.HS 00000000 CRED
|
||||
.HS 00000000
|
||||
.HS 00000000 VERF
|
||||
.HS 00000000
|
||||
RPC.Request.End .EQ *
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
hSocket .BS 1
|
||||
hFrame .BS 1
|
||||
TimeOut .BS 1
|
||||
DS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/rpcdump.s
|
||||
ASM
|
@ -1,467 +0,0 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF root/tuitest
|
||||
*--------------------------------------
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/libtui.i
|
||||
*--------------------------------------
|
||||
EV.SAVE .EQ $C0
|
||||
EV.QUIT .EQ $C1
|
||||
EV.CHECKBOX .EQ $C2
|
||||
EV.RADIO .EQ $C3
|
||||
EV.LBOX1.CHANGED .EQ $C4
|
||||
EV.LBOX1.PRESSED .EQ $C5
|
||||
EV.OK .EQ $CE
|
||||
EV.CANCEL .EQ $CF
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPPtr1 .BS 2
|
||||
|
||||
hCTX .BS 1
|
||||
hSCRN .BS 1
|
||||
|
||||
hTBOX1 .BS 1
|
||||
hRADIO1 .BS 1
|
||||
|
||||
hDLGSAVE .BS 1
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA #0 S.PS.F.EVENT
|
||||
.DA #0
|
||||
.DA CS.END-CS.START Code Size (without Constants)
|
||||
.DA DS.END-DS.START Data Segment Size
|
||||
.DA #64 Stack Size
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBTUI .DA LIBTUI
|
||||
*--------------------------------------
|
||||
L.SCRN.Title .DA SCRN.Title
|
||||
|
||||
L.TBOX1.Title .DA TBOX1.Title
|
||||
L.TBOX1.Status .DA TBOX1.Status
|
||||
|
||||
L.LBOX1.List .DA LBOX1.List
|
||||
L.LABEL.Label .DA LABEL.Label
|
||||
L.TLINE.Default .DA TLINE.Default
|
||||
L.CBOX1.Label .DA CBOX1.Label
|
||||
L.RADIO1.List .DA RADIO1.List
|
||||
L.BUTQ.Label .DA BUTQ.Label
|
||||
L.BUTS.Label .DA BUTS.Label
|
||||
L.DLGSAVE.Title .DA DLGSAVE.Title
|
||||
L.BUT.OK .DA BUT.OK
|
||||
L.BUT.Cancel .DA BUT.Cancel
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBTUI
|
||||
>SYSCALL LoadLib
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
sta hLIBTUI
|
||||
|
||||
* clc
|
||||
|
||||
CS.INIT.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN >LIBCALL hLIBTUI,LIBTUI.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
sta hCTX
|
||||
|
||||
jsr CS.SCRN.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.TBOX1.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.LBOX1.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.TLINE1.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.CBOX1.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.RADIO1.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.BUT.Init
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
jsr CS.SCRN.Draw Will Call SCRN.Draw
|
||||
|
||||
lda hTBOX1
|
||||
>LIBCALL hLIBTUI,LIBTUI.Activate
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP lda hSCRN
|
||||
>LIBCALL hLIBTUI,LIBTUI.Exec
|
||||
bcs .9
|
||||
|
||||
cmp #EV.RESIZE
|
||||
bne .1
|
||||
|
||||
jsr CS.SCRN.Draw
|
||||
bcs .9
|
||||
|
||||
bra CS.RUN.LOOP
|
||||
|
||||
.1 cmp #EV.SAVE
|
||||
bne .2
|
||||
|
||||
jsr CS.RUN.DLGSAVE
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
rts
|
||||
|
||||
.2 cmp #EV.CHECKBOX
|
||||
bne .3
|
||||
|
||||
>LDA.G CBOX1.Var
|
||||
bne .20
|
||||
|
||||
lda hRADIO1
|
||||
>LIBCALL hLIBTUI,LIBTUI.Hide
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
rts
|
||||
|
||||
.20 lda hRADIO1
|
||||
>LIBCALL hLIBTUI,LIBTUI.Show
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
rts
|
||||
|
||||
.3 cmp #EV.LBOX1.CHANGED
|
||||
bne .8
|
||||
|
||||
>PUSHB hSCRN
|
||||
>PUSHBI S.OBJ.pSTATUS
|
||||
>PUSHW.G LBOX1.Var
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
bra CS.RUN.LOOP
|
||||
|
||||
.8 cmp #EV.QUIT
|
||||
bne CS.RUN.LOOP
|
||||
|
||||
lda hSCRN
|
||||
>LIBCALL hLIBTUI,LIBTUI.Destroy
|
||||
|
||||
lda #0
|
||||
sec
|
||||
.9
|
||||
CS.RUN.RTS rts
|
||||
*--------------------------------------
|
||||
CS.SCRN.Init >PUSHB hCTX hParent
|
||||
>PUSHBI S.OBJ.F.bTitle+S.OBJ.F.bStatus
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewScrn
|
||||
bcs .9
|
||||
|
||||
sta hSCRN
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI S.OBJ.pTITLE
|
||||
>PUSHEA.G SCRN.TitleBuf
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
|
||||
>PUSHB hSCRN
|
||||
>PUSHBI S.OBJ.pSTATUS
|
||||
>PUSHW L.LBOX1.List
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.TBOX1.Init >LDYAI 1024
|
||||
>SYSCALL GetMem
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
>STYA ZPPtr1
|
||||
|
||||
txa
|
||||
>STA.G TBOX1.hBuf
|
||||
|
||||
lda #0
|
||||
sta (ZPPtr1)
|
||||
|
||||
>PUSHB hSCRN hParent
|
||||
>PUSHBI 1 X1
|
||||
>PUSHBI 1 Y1
|
||||
>PUSHBI 44 W
|
||||
>PUSHBI 20 H
|
||||
>LDA.G TBOX1.hBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHWI 1024
|
||||
>PUSHBI S.OBJ.F.bHBorder+S.OBJ.F.bVBorder+S.OBJ.F.bTitle+S.OBJ.F.bStatus+S.OBJ.F.bEdit
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewTBox
|
||||
bcs .9
|
||||
|
||||
sta hTBOX1
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI S.OBJ.pTITLE
|
||||
>PUSHW L.TBOX1.Title
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
|
||||
>PUSHB hTBOX1
|
||||
>PUSHBI S.OBJ.pSTATUS
|
||||
>PUSHW L.TBOX1.Status
|
||||
>LIBCALL hLIBTUI,LIBTUI.SetProp
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.LBOX1.Init >PUSHB hSCRN hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 1 Y1
|
||||
>PUSHBI 20 W
|
||||
>PUSHBI 9 H
|
||||
>PUSHBI EV.LBOX1.CHANGED
|
||||
>PUSHBI EV.LBOX1.PRESSED
|
||||
>PUSHW L.LBOX1.List
|
||||
>PUSHEA.G LBOX1.Var
|
||||
>PUSHBI S.OBJ.F.bHBorder+S.OBJ.F.bVBorder
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewLBox
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.TLINE1.Init >PUSHB hSCRN hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 11 Y1
|
||||
>PUSHW L.LABEL.Label
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewLabel
|
||||
bcs .9
|
||||
|
||||
>PUSHB hSCRN hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 12 Y1
|
||||
>PUSHBI 25 W
|
||||
>PUSHEA.G TLINE.Buf
|
||||
>PUSHWI 65 Len
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewTLine
|
||||
|
||||
>PUSHEA.G TLINE.Buf
|
||||
>PUSHW L.TLINE.Default
|
||||
>SYSCALL StrCpy
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.CBOX1.Init >PUSHB hSCRN hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 14 Y1
|
||||
>PUSHBI 0
|
||||
>PUSHBI EV.CHECKBOX
|
||||
>PUSHW L.CBOX1.Label
|
||||
>PUSHEA.G CBOX1.Var
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewCBox
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RADIO1.Init >PUSHB hSCRN hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 16 Y1
|
||||
>PUSHBI 0
|
||||
>PUSHBI EV.RADIO
|
||||
>PUSHW L.RADIO1.List
|
||||
>PUSHEA.G RADIO1.Var
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewRadio
|
||||
bcs .9
|
||||
|
||||
sta hRADIO1
|
||||
|
||||
>LIBCALL hLIBTUI,LIBTUI.Hide
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.BUT.Init >PUSHB hSCRN hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 20 Y1
|
||||
>PUSHBI 19 Ctrl-S
|
||||
>PUSHBI EV.SAVE
|
||||
>PUSHW L.BUTS.Label
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
||||
bcs .9
|
||||
|
||||
>PUSHB hSCRN hParent
|
||||
>PUSHBI 65 X1
|
||||
>PUSHBI 20 Y1
|
||||
>PUSHBI 17 Ctrl-Q
|
||||
>PUSHBI EV.QUIT
|
||||
>PUSHW L.BUTQ.Label
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
||||
.9
|
||||
CS.BUT.Init.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN.DLGSAVE >PUSHB hCTX hParent
|
||||
>PUSHBI 70 W
|
||||
>PUSHBI 11 H
|
||||
>PUSHW L.DLGSAVE.Title
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewDlg
|
||||
bcs CS.BUT.Init.RTS
|
||||
|
||||
sta hDLGSAVE
|
||||
|
||||
>PUSHA
|
||||
* >PUSHB hDLGSAVE hParent
|
||||
>PUSHBI 50 X1
|
||||
>PUSHBI 7 Y1
|
||||
>PUSHBI C.CR
|
||||
>PUSHBI EV.OK
|
||||
>PUSHW L.BUT.OK
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
||||
bcs .9
|
||||
|
||||
sta ZPPtr1
|
||||
|
||||
>PUSHB hDLGSAVE hParent
|
||||
>PUSHBI 57 X1
|
||||
>PUSHBI 7 Y1
|
||||
>PUSHBI 3 Ctrl-C
|
||||
>PUSHBI EV.CANCEL
|
||||
>PUSHW L.BUT.Cancel
|
||||
>PUSHBI 0
|
||||
>LIBCALL hLIBTUI,LIBTUI.NewBut
|
||||
bcs .9
|
||||
|
||||
lda hDLGSAVE
|
||||
>LIBCALL hLIBTUI,LIBTUI.Draw
|
||||
bcs .9
|
||||
|
||||
lda ZPPtr1
|
||||
>LIBCALL hLIBTUI,LIBTUI.Activate
|
||||
|
||||
.1 lda hDLGSAVE
|
||||
>LIBCALL hLIBTUI,LIBTUI.Exec
|
||||
|
||||
.9 php
|
||||
pha
|
||||
lda hDLGSAVE
|
||||
>LIBCALL hLIBTUI,LIBTUI.Destroy
|
||||
|
||||
lda hSCRN
|
||||
>LIBCALL hLIBTUI,LIBTUI.Draw
|
||||
pla
|
||||
plp
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec do not discard TIMER event
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT >LDA.G TBOX1.hBuf
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.1 lda hCTX
|
||||
beq .2
|
||||
|
||||
>LIBCALL hLIBTUI,LIBTUI.Close
|
||||
|
||||
.2 lda hLIBTUI
|
||||
beq .8
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.SCRN.Draw lda hSCRN
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
>PUSHEA.G SCRN.TitleBuf
|
||||
>PUSHW L.SCRN.Title
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
|
||||
.1 lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
iny
|
||||
cpy #S.OBJ.InnerH+1
|
||||
bne .1
|
||||
|
||||
>PUSHBI 10
|
||||
>SYSCALL sprintf
|
||||
|
||||
lda hSCRN
|
||||
>LIBCALL hLIBTUI,LIBTUI.Draw
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
LIBTUI .AZ "libtui"
|
||||
hLIBTUI .BS 1
|
||||
*--------------------------------------
|
||||
SCRN.Title .AZ "Window: X1=%d,Y1=%d, W=%d,H=%d, X2=%d,Y2=%d, iX=%d,iY=%d, iW=%d,iH=%d"
|
||||
*--------------------------------------
|
||||
TBOX1.Title .AZ "Text Box Title"
|
||||
TBOX1.Status .AZ "Text Box Status"
|
||||
*--------------------------------------
|
||||
LBOX1.List .CZ "Item 1"
|
||||
.CZ "Item 2"
|
||||
.CZ "Item 3"
|
||||
.CZ "Item 4"
|
||||
.CZ "Item 5"
|
||||
.CZ "Item 6 very long line"
|
||||
.CZ "Item 7"
|
||||
.CZ "Item 8"
|
||||
.CZ "Item 9"
|
||||
.CZ "Item 10"
|
||||
.CZ "Item 11"
|
||||
.CZ "Item 12"
|
||||
.CZ "Item 13"
|
||||
.CZ "Item 14 last one"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
LABEL.Label .AZ "This is a label."
|
||||
*--------------------------------------
|
||||
TLINE.Default .AZ "This is a Line."
|
||||
*--------------------------------------
|
||||
RADIO1.List .CZ "\e[91mRed"
|
||||
.CZ "\e[92mGreen"
|
||||
.CZ "\e[96mBlue"
|
||||
.HS 00
|
||||
*--------------------------------------
|
||||
CBOX1.Label .AZ "Check Me"
|
||||
*--------------------------------------
|
||||
BUTS.Label .AZ "(^S)ave..."
|
||||
BUTQ.Label .AZ "(^Q)uit"
|
||||
DLGSAVE.Title .AZ "Save As..."
|
||||
BUT.OK .AZ " OK "
|
||||
BUT.Cancel .AZ "Cancel"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
SCRN.TitleBuf .BS 80
|
||||
TLINE.Buf .BS 65
|
||||
CBOX1.Var .BS 1
|
||||
RADIO1.Var .BS 1
|
||||
LBOX1.Var .BS 2
|
||||
TBOX1.hBuf .BS 1
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE root/tuitest.s
|
||||
ASM
|
@ -231,6 +231,7 @@ CS.RUN.CheckErr bcs .1
|
||||
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
@ -242,6 +243,7 @@ CS.RUN.CheckErr bcs .1
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -229,10 +229,12 @@ CS.RUN.FILE jsr X.IncludeMatch
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.FILE.LOOP
|
||||
.1 >PUSHW pFile
|
||||
.1 >SS
|
||||
>PUSHW pFile
|
||||
>PUSHW ZPFileBuf
|
||||
>PUSHWI 256
|
||||
>LIBC FRead
|
||||
>SR
|
||||
bcs .8
|
||||
|
||||
>STYA ByteCnt
|
||||
@ -242,10 +244,12 @@ CS.RUN.FILE.LOOP
|
||||
jsr CS.RUN.FSeek
|
||||
bcs .99
|
||||
|
||||
>SS
|
||||
>PUSHW pFile
|
||||
>PUSHW ZPFileBuf
|
||||
>PUSHW ByteCnt
|
||||
>LIBC FWrite
|
||||
>SR
|
||||
bcs .99
|
||||
|
||||
lda ByteCnt
|
||||
@ -288,32 +292,45 @@ CS.RUN.FILE.MOD ldy #0
|
||||
CS.RUN.CheckErr bcc .9
|
||||
|
||||
pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LIBC PrintF
|
||||
>SR
|
||||
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetFilePath
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW.G pSrcBasePath
|
||||
>LIBC StrCpy
|
||||
>SR
|
||||
|
||||
>SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPFileName
|
||||
>LIBC StrCat
|
||||
>SR
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.OpenFile >PUSHW ZPFullPath
|
||||
CS.RUN.OpenFile >SS
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHBI O.RDWR+O.APPEND
|
||||
>PUSHBI 0 Type
|
||||
>PUSHWZ Aux type
|
||||
>LIBC FOpen
|
||||
>SR
|
||||
bcs CS.RUN.FSeek.9
|
||||
|
||||
>STYA pFile
|
||||
@ -323,10 +340,12 @@ CS.RUN.OpenFile >PUSHW ZPFullPath
|
||||
stz FilePos+2
|
||||
stz FilePos+3
|
||||
|
||||
CS.RUN.FSeek >PUSHW pFile
|
||||
CS.RUN.FSeek >SS
|
||||
>PUSHW pFile
|
||||
>PUSHL FilePos
|
||||
>PUSHBI SEEK.SET
|
||||
>LIBC fseek
|
||||
>SR
|
||||
|
||||
CS.RUN.FSeek.9 rts
|
||||
*--------------------------------------
|
||||
@ -345,6 +364,8 @@ CS.SIG sec
|
||||
CS.QUIT jsr X.Quit
|
||||
|
||||
.2 >LDYA ZPFullPath
|
||||
beq .8
|
||||
|
||||
>LIBC Free
|
||||
|
||||
.8 clc
|
||||
@ -376,8 +397,7 @@ CS.RUN.CheckOpt ldy #1
|
||||
CS.END .EQ *
|
||||
*--------------------------------------
|
||||
OptionList .AS "CRcr"
|
||||
OptionVars .DA #bContinue,#bRecurse
|
||||
.DA #bContinue,#bRecurse
|
||||
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .CS "Usage : UNIX2MAC File(s) (*,? wildcards allowed)\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
|
@ -322,6 +322,7 @@ CS.RUN.CheckErr bcc .9
|
||||
|
||||
pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
@ -333,6 +334,7 @@ CS.RUN.CheckErr bcc .9
|
||||
lda bContinue
|
||||
eor #$80
|
||||
asl
|
||||
|
||||
pla
|
||||
|
||||
.9 rts
|
||||
|
@ -320,20 +320,23 @@ CS.RUN.FILTER lda (pBuf)
|
||||
rts
|
||||
.FIN
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckErr pha
|
||||
|
||||
bcs .1
|
||||
CS.RUN.CheckErr bcs .1
|
||||
|
||||
>LDYA L.MSG.OK
|
||||
>LIBC PutS
|
||||
pla
|
||||
rts
|
||||
|
||||
.1 >PUSHW L.MSG.ERR
|
||||
pla
|
||||
pha
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
tya
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>LIBC PrintF
|
||||
>SR
|
||||
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
|
@ -440,13 +440,11 @@ CS.RUN.CheckErr bcs .1
|
||||
|
||||
>LDYA L.MSG.OK
|
||||
>LIBC PutS
|
||||
|
||||
.8 rts
|
||||
|
||||
.1 tay
|
||||
clc
|
||||
beq .8 SKIP
|
||||
|
||||
pha
|
||||
.1 pha
|
||||
tay
|
||||
|
||||
>SS
|
||||
>PUSHW L.MSG.ERR
|
||||
|
Loading…
x
Reference in New Issue
Block a user