mirror of
https://github.com/A2osX/A2osX.git
synced 2024-05-31 16:41:30 +00:00
KERNEL:Fixed many memleaks & MEM related problems, FILEENUM BINs: fixes around wildcards search
This commit is contained in:
parent
25c601906e
commit
3007637129
Binary file not shown.
Binary file not shown.
|
@ -15,9 +15,10 @@ NEW
|
||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
ZS.START
|
ZS.START
|
||||||
ZPPtr1 .BS 2
|
ZPPtr1 .BS 2
|
||||||
|
ZPBuf .BS 2
|
||||||
ZPBufPtr .BS 2
|
ZPBufPtr .BS 2
|
||||||
ArgCount .BS 1
|
|
||||||
ArgIndex .BS 1
|
ArgIndex .BS 1
|
||||||
|
ArgFile .BS 1
|
||||||
OptionIdx .BS 1
|
OptionIdx .BS 1
|
||||||
hBuf .BS 1
|
hBuf .BS 1
|
||||||
FieldNum .BS 1
|
FieldNum .BS 1
|
||||||
|
@ -45,7 +46,7 @@ CS.START cld
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 .DA CS.INIT
|
.1 .DA CS.INIT
|
||||||
.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.USAGE .DA MSG.USAGE
|
||||||
L.MSG.CRLF .DA MSG.CRLF
|
L.MSG.CRLF .DA MSG.CRLF
|
||||||
|
@ -64,21 +65,29 @@ CS.RUN lda #C.SPACE
|
||||||
cmp #'-'
|
cmp #'-'
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
lda ArgCount
|
lda ArgIndex
|
||||||
sta ArgIndex
|
sta ArgFile
|
||||||
bra .10
|
bra .10
|
||||||
|
|
||||||
.1 ldy #1
|
.1 ldy #1
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
|
|
||||||
ldx #OptionList.Cnt-1
|
ldx #OptionList.Cnt-1
|
||||||
|
|
||||||
.2 cmp OptionList,x
|
.2 cmp OptionList,x
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
bra .97
|
.97 lda #E.SYN
|
||||||
|
.98 pha
|
||||||
|
>PUSHW L.MSG.USAGE
|
||||||
|
>PUSHBI 0
|
||||||
|
>SYSCALL PrintF
|
||||||
|
pla
|
||||||
|
sec
|
||||||
|
.9 rts
|
||||||
|
|
||||||
.3 txa
|
.3 txa
|
||||||
lsr
|
lsr
|
||||||
|
@ -89,6 +98,7 @@ CS.RUN lda #C.SPACE
|
||||||
|
|
||||||
jsr CS.RUN.NextArg
|
jsr CS.RUN.NextArg
|
||||||
bcs .97
|
bcs .97
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
sta Separator
|
sta Separator
|
||||||
bra .10
|
bra .10
|
||||||
|
@ -106,24 +116,17 @@ CS.RUN lda #C.SPACE
|
||||||
tya
|
tya
|
||||||
ldx OptionIdx
|
ldx OptionIdx
|
||||||
sta FieldNum-1,x
|
sta FieldNum-1,x
|
||||||
bra .10 scan for any other args
|
bra .10 scan for any other args
|
||||||
|
|
||||||
.97 lda #E.SYN
|
|
||||||
.98 pha
|
|
||||||
>PUSHW L.MSG.USAGE
|
|
||||||
>PUSHBI 0
|
|
||||||
>SYSCALL PrintF
|
|
||||||
pla
|
|
||||||
sec
|
|
||||||
.9 rts
|
|
||||||
|
|
||||||
.8 >LDYAI 256
|
.8 >LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>STYA ZPBuf
|
||||||
>STYA ZPBufPtr
|
>STYA ZPBufPtr
|
||||||
stx hBuf
|
stx hBuf
|
||||||
lda ArgIndex
|
|
||||||
|
lda ArgFile
|
||||||
beq .80
|
beq .80
|
||||||
|
|
||||||
>PUSHW ZPBufPtr
|
>PUSHW ZPBufPtr
|
||||||
|
@ -133,7 +136,7 @@ CS.RUN lda #C.SPACE
|
||||||
|
|
||||||
jsr CS.RUN.OUT
|
jsr CS.RUN.OUT
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
lda #0 Exit with no Error
|
lda #0 Exit with no Error
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
@ -147,34 +150,38 @@ CS.RUN lda #C.SPACE
|
||||||
|
|
||||||
lda (ZPPtr1)
|
lda (ZPPtr1)
|
||||||
cmp #S.FD.T.PIPE
|
cmp #S.FD.T.PIPE
|
||||||
bne .97
|
bne CS.RUN.LOOP
|
||||||
|
|
||||||
ldy #S.PS.hStdIn
|
ldy #S.PS.hStdIn
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
sta hToClose
|
sta hToClose
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.LOOP >SLEEP
|
CS.RUN.LOOP >SLEEP
|
||||||
|
|
||||||
ldy #S.PS.hStdIn
|
ldy #S.PS.hStdIn
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHW ZPBufPtr
|
|
||||||
>PUSHWI 256
|
>LDYA ZPBuf
|
||||||
|
>STYA ZPBufPtr
|
||||||
|
>PUSHYA
|
||||||
|
|
||||||
|
>PUSHWI 255
|
||||||
>SYSCALL FGetS
|
>SYSCALL FGetS
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
lda (ZPBufPtr)
|
lda (ZPBufPtr)
|
||||||
beq CS.RUN.LOOP
|
beq CS.RUN.LOOP
|
||||||
|
|
||||||
jsr CS.RUN.OUT
|
jsr CS.RUN.OUT
|
||||||
bcc CS.RUN.LOOP
|
bcc CS.RUN.LOOP
|
||||||
|
|
||||||
.8 cmp #MLI.E.EOF
|
.8 cmp #MLI.E.EOF
|
||||||
bne .90
|
bne .90
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
.90 sec
|
.90 sec
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.OUT ldx FieldNum
|
CS.RUN.OUT ldx FieldNum
|
||||||
beq CS.RUN.OUT.MN
|
beq CS.RUN.OUT.MN
|
||||||
|
@ -244,12 +251,12 @@ CS.RUN.OUT.MN ldy #0
|
||||||
|
|
||||||
cpy EndChar
|
cpy EndChar
|
||||||
beq .4
|
beq .4
|
||||||
|
|
||||||
iny
|
iny
|
||||||
bra .3
|
bra .3
|
||||||
|
|
||||||
.4 lda #0
|
.4 lda #0
|
||||||
sta (ZPBufPtr),y
|
sta (ZPBufPtr),y
|
||||||
|
|
||||||
.8 ldy StartChar
|
.8 ldy StartChar
|
||||||
beq .80
|
beq .80
|
||||||
|
@ -262,10 +269,11 @@ CS.RUN.OUT.MN ldy #0
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.NextArg inc ArgCount
|
CS.RUN.NextArg inc ArgIndex
|
||||||
lda ArgCount
|
lda ArgIndex
|
||||||
>SYSCALL ArgV
|
>SYSCALL ArgV
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -283,7 +291,7 @@ CS.QUIT lda hToClose
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
>SYSCALL FClose Close the pipe
|
>SYSCALL FClose Close the pipe
|
||||||
|
|
||||||
.1 lda hBuf
|
.1 lda hBuf
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
|
|
|
@ -186,7 +186,7 @@ CS.RUN.LOOP stz bPass2
|
||||||
bcs .6
|
bcs .6
|
||||||
|
|
||||||
jsr FilterMatch
|
jsr FilterMatch
|
||||||
bcs .8 no match, skip....
|
bcs .5 no match, skip....
|
||||||
|
|
||||||
bit bAllmostAll
|
bit bAllmostAll
|
||||||
bmi .4
|
bmi .4
|
||||||
|
@ -820,7 +820,7 @@ OptionList .AS "ACFLRacflr"
|
||||||
OptionVars .DA #bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse,#bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse
|
OptionVars .DA #bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse,#bAllmostAll,#bColumn,#bFullPath,#bLong,#bRecurse
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.USAGE .AS "Usage : LS [-A] [-C] [-F] [-L] [-R] [filespec]\r\n"
|
MSG.USAGE .AS "Usage : LS [-A] [-C] [-F] [-L] [-R] [filespec]\r\n"
|
||||||
.AS " -A : Show dot files\r\n"
|
.AS " -A : Show all files\r\n"
|
||||||
.AS " -C : List in multiple columns\r\n"
|
.AS " -C : List in multiple columns\r\n"
|
||||||
.AS " -F : Show full paths\r\n"
|
.AS " -F : Show full paths\r\n"
|
||||||
.AS " -L : Use long listing format\r\n"
|
.AS " -L : Use long listing format\r\n"
|
||||||
|
|
|
@ -17,6 +17,7 @@ ZPPTR1 .BS 2
|
||||||
ZPPTR2 .BS 2
|
ZPPTR2 .BS 2
|
||||||
MEM.COUNT .BS 1
|
MEM.COUNT .BS 1
|
||||||
USED.COUNT .BS 1
|
USED.COUNT .BS 1
|
||||||
|
LINE.COUNT .BS 1
|
||||||
bSTOP .BS 1
|
bSTOP .BS 1
|
||||||
|
|
||||||
ZPReadAux sta SETREADAUX
|
ZPReadAux sta SETREADAUX
|
||||||
|
@ -35,7 +36,7 @@ CS.START cld
|
||||||
.DA #0
|
.DA #0
|
||||||
.DA CS.END-CS.START Code Size (without Constants)
|
.DA CS.END-CS.START Code Size (without Constants)
|
||||||
.DA DS.END-DS.START Data SegmentSize
|
.DA DS.END-DS.START Data SegmentSize
|
||||||
.DA #32 Stack Size
|
.DA #64 Stack Size
|
||||||
.DA #ZS.END-ZS.START Zero Page Size
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -48,10 +49,10 @@ CS.START cld
|
||||||
L.MSG0 .DA MSG0
|
L.MSG0 .DA MSG0
|
||||||
L.MSG1.INV .DA MSG1.INV
|
L.MSG1.INV .DA MSG1.INV
|
||||||
L.MSG1 .DA MSG1
|
L.MSG1 .DA MSG1
|
||||||
L.MSG1X .DA MSG1X
|
|
||||||
L.MSG1.BIN .DA MSG1.BIN
|
L.MSG1.BIN .DA MSG1.BIN
|
||||||
L.MSG1.STR .DA MSG1.STR
|
L.MSG1.STR .DA MSG1.STR
|
||||||
L.MSG1.HEX .DA MSG1.HEX
|
L.MSG1.HEX .DA MSG1.HEX
|
||||||
|
L.MSG1X .DA MSG1X
|
||||||
L.MSG2 .DA MSG2
|
L.MSG2 .DA MSG2
|
||||||
L.MSG3 .DA MSG3
|
L.MSG3 .DA MSG3
|
||||||
.DA 0
|
.DA 0
|
||||||
|
@ -73,18 +74,9 @@ CS.RUN ldx #ZPCodeLen-1
|
||||||
|
|
||||||
CS.RUN.LOOP inc MEM.COUNT skip slot 0
|
CS.RUN.LOOP inc MEM.COUNT skip slot 0
|
||||||
|
|
||||||
lda bSTOP
|
jsr CS.RUN.CheckStop
|
||||||
beq .1
|
|
||||||
|
|
||||||
.10 >SYSCALL GetChar
|
|
||||||
bcs CS.INIT.RTS
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
cmp #3 Ctrl-C
|
|
||||||
beq CS.INIT.RTS
|
|
||||||
|
|
||||||
cmp #$13 Ctrl-S
|
|
||||||
|
|
||||||
stz bSTOP
|
|
||||||
.1 lda (ZPPTR1)
|
.1 lda (ZPPTR1)
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
|
@ -102,26 +94,15 @@ CS.RUN.LOOP inc MEM.COUNT skip slot 0
|
||||||
>CMP.G MemStat+S.MSTAT.MLast
|
>CMP.G MemStat+S.MSTAT.MLast
|
||||||
bne CS.RUN.LOOP
|
bne CS.RUN.LOOP
|
||||||
|
|
||||||
jsr CS.RUN.MSTAT
|
jsr CS.RUN.SUMMARY
|
||||||
|
|
||||||
jsr CS.RUN.INIT
|
jsr CS.RUN.INIT
|
||||||
|
|
||||||
CS.RUN.LOOPX inc MEM.COUNT skip slot 0
|
CS.RUN.LOOPX inc MEM.COUNT skip slot 0
|
||||||
|
|
||||||
lda bSTOP
|
jsr CS.RUN.CheckStop
|
||||||
beq .1
|
|
||||||
|
|
||||||
.10 >SYSCALL GetChar
|
|
||||||
bcs CS.INIT.RTS
|
bcs CS.INIT.RTS
|
||||||
|
|
||||||
cmp #3 Ctrl-C ?
|
|
||||||
beq CS.INIT.RTS
|
|
||||||
|
|
||||||
cmp #$13 Ctrl-S
|
|
||||||
bne .10
|
|
||||||
|
|
||||||
stz bSTOP
|
|
||||||
|
|
||||||
.1 ldy #S.MEM.F
|
.1 ldy #S.MEM.F
|
||||||
jsr ZPReadAux
|
jsr ZPReadAux
|
||||||
bpl .2
|
bpl .2
|
||||||
|
@ -141,39 +122,33 @@ CS.RUN.LOOPX inc MEM.COUNT skip slot 0
|
||||||
>CMP.G MemStat+S.MSTAT.XLast
|
>CMP.G MemStat+S.MSTAT.XLast
|
||||||
bne CS.RUN.LOOPX
|
bne CS.RUN.LOOPX
|
||||||
|
|
||||||
CS.RUN.XSTAT >PUSHW L.MSG2
|
jsr CS.RUN.SUMMARY
|
||||||
>PUSHB USED.COUNT
|
|
||||||
>PUSHB MEM.COUNT
|
|
||||||
>PUSHBI 2
|
|
||||||
>SYSCALL PrintF
|
|
||||||
|
|
||||||
>PUSHW L.MSG3
|
jsr CS.RUN.MSTAT
|
||||||
>PUSHW.G MemStat+S.MSTAT.XH
|
jsr CS.RUN.XSTAT
|
||||||
>PUSHW.G MemStat+S.MSTAT.XF
|
|
||||||
>PUSHW.G MemStat+S.MSTAT.XL
|
|
||||||
>LDA.G MemStat+S.MSTAT.XF
|
|
||||||
sec
|
|
||||||
>SBC.G MemStat+S.MSTAT.XL
|
|
||||||
pha
|
|
||||||
>LDA.G MemStat+S.MSTAT.XF+1
|
|
||||||
>SBC.G MemStat+S.MSTAT.XL+1
|
|
||||||
ply
|
|
||||||
>PUSHYA
|
|
||||||
>PUSHBI 8
|
|
||||||
>SYSCALL PrintF
|
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.MSTAT >PUSHW L.MSG2
|
CS.RUN.INIT >LDYAI Mem.Table+S.MEM skip slot 0
|
||||||
|
>STYA ZPPTR1
|
||||||
|
|
||||||
|
>PUSHW L.MSG0
|
||||||
|
>PUSHBI 0
|
||||||
|
jsr CS.RUN.PrintF
|
||||||
|
|
||||||
|
stz MEM.COUNT
|
||||||
|
stz USED.COUNT
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.SUMMARY >PUSHW L.MSG2
|
||||||
>PUSHB USED.COUNT
|
>PUSHB USED.COUNT
|
||||||
>PUSHB MEM.COUNT
|
>PUSHB MEM.COUNT
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
>SYSCALL PrintF
|
jmp CS.RUN.PrintF
|
||||||
|
*--------------------------------------
|
||||||
>PUSHW L.MSG3
|
CS.RUN.MSTAT >PUSHW L.MSG3
|
||||||
>PUSHW.G MemStat+S.MSTAT.MH
|
>PUSHW.G MemStat+S.MSTAT.MH
|
||||||
>PUSHW.G MemStat+S.MSTAT.MF
|
>PUSHW.G MemStat+S.MSTAT.MF
|
||||||
>PUSHW.G MemStat+S.MSTAT.ML
|
>PUSHW.G MemStat+S.MSTAT.ML
|
||||||
|
@ -186,21 +161,22 @@ CS.RUN.MSTAT >PUSHW L.MSG2
|
||||||
ply
|
ply
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHBI 8
|
>PUSHBI 8
|
||||||
>SYSCALL PrintF
|
jmp CS.RUN.PrintF
|
||||||
|
|
||||||
lda #0
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.INIT >LDYAI Mem.Table+S.MEM skip slot 0
|
CS.RUN.XSTAT >PUSHW L.MSG3
|
||||||
>STYA ZPPTR1
|
>PUSHW.G MemStat+S.MSTAT.XH
|
||||||
|
>PUSHW.G MemStat+S.MSTAT.XF
|
||||||
>LDYA L.MSG0
|
>PUSHW.G MemStat+S.MSTAT.XL
|
||||||
>SYSCALL PutS
|
>LDA.G MemStat+S.MSTAT.XF
|
||||||
|
sec
|
||||||
stz MEM.COUNT
|
>SBC.G MemStat+S.MSTAT.XL
|
||||||
stz USED.COUNT
|
pha
|
||||||
rts
|
>LDA.G MemStat+S.MSTAT.XF+1
|
||||||
|
>SBC.G MemStat+S.MSTAT.XL+1
|
||||||
|
ply
|
||||||
|
>PUSHYA
|
||||||
|
>PUSHBI 8
|
||||||
|
jmp CS.RUN.PrintF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.PRINTMEM >PUSHW L.MSG1
|
CS.RUN.PRINTMEM >PUSHW L.MSG1
|
||||||
|
|
||||||
|
@ -255,9 +231,7 @@ CS.RUN.PRINTMEM >PUSHW L.MSG1
|
||||||
jsr CS.RUN.CHECKPS
|
jsr CS.RUN.CHECKPS
|
||||||
bcc .12
|
bcc .12
|
||||||
|
|
||||||
>PUSHW L.MSG1.INV
|
jsr CS.RUN.PrintINV
|
||||||
>PUSHBI 0
|
|
||||||
>SYSCALL PrintF
|
|
||||||
|
|
||||||
.12 >PUSHBI 9
|
.12 >PUSHBI 9
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
|
@ -296,7 +270,7 @@ CS.RUN.PRINTMEM.DATA
|
||||||
>PUSHW ZPPTR2 String
|
>PUSHW ZPPTR2 String
|
||||||
>PUSHBI 3
|
>PUSHBI 3
|
||||||
|
|
||||||
>SYSCALL PrintF
|
jsr CS.RUN.PrintF
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.2 >PUSHW L.MSG1.HEX
|
.2 >PUSHW L.MSG1.HEX
|
||||||
|
@ -310,7 +284,7 @@ CS.RUN.PRINTMEM.DATA
|
||||||
|
|
||||||
>PUSHBI 16
|
>PUSHBI 16
|
||||||
|
|
||||||
>SYSCALL PrintF
|
jsr CS.RUN.PrintF
|
||||||
rts
|
rts
|
||||||
|
|
||||||
CS.RUN.PRINTMEM.BIN
|
CS.RUN.PRINTMEM.BIN
|
||||||
|
@ -321,7 +295,7 @@ CS.RUN.PRINTMEM.BIN
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
>SYSCALL PrintF
|
jsr CS.RUN.PrintF
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.PRINTMEMX
|
CS.RUN.PRINTMEMX
|
||||||
|
@ -381,12 +355,10 @@ CS.RUN.PRINTMEMX
|
||||||
jsr CS.RUN.CHECKPS
|
jsr CS.RUN.CHECKPS
|
||||||
bcc .12
|
bcc .12
|
||||||
|
|
||||||
>PUSHW L.MSG1.INV
|
jsr CS.RUN.PrintINV
|
||||||
>PUSHBI 0
|
|
||||||
>SYSCALL PrintF
|
|
||||||
|
|
||||||
.12 >PUSHBI 9
|
.12 >PUSHBI 9
|
||||||
>SYSCALL PrintF
|
jsr CS.RUN.PrintF
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.CHECKPS ldx #0
|
CS.RUN.CHECKPS ldx #0
|
||||||
|
@ -403,6 +375,63 @@ CS.RUN.CHECKPS ldx #0
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CS.RUN.CheckStop
|
||||||
|
lda bSTOP
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
.1 >SLEEP
|
||||||
|
|
||||||
|
>SYSCALL GetChar
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cmp #3 Ctrl-C
|
||||||
|
beq .9 CS
|
||||||
|
|
||||||
|
stz bSTOP
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.2 ldy #S.PS.hStdIn
|
||||||
|
lda (pPS),y
|
||||||
|
>SYSCALL FEOF
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
tay
|
||||||
|
bne .8 no char
|
||||||
|
|
||||||
|
>SYSCALL GetChar
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
cmp #3 Ctrl-C
|
||||||
|
beq .9 CS
|
||||||
|
|
||||||
|
cmp #$13 Ctrl-S
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
dec bSTOP
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.PrintINV >PUSHW L.MSG1.INV
|
||||||
|
>PUSHBI 0
|
||||||
|
>SYSCALL PrintF
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.PrintF >SYSCALL PrintF
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
inc LINE.COUNT
|
||||||
|
lda LINE.COUNT
|
||||||
|
cmp #23
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
dec bSTOP
|
||||||
|
stz LINE.COUNT
|
||||||
|
.8
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -416,18 +445,18 @@ ZPCode sta SETREADAUX
|
||||||
rts
|
rts
|
||||||
ZPCodeLen .EQ *-ZPCode
|
ZPCodeLen .EQ *-ZPCode
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG0 .AZ "hMem Flags PID REF PTR LEN BINPATH/DATA"
|
MSG0 .AZ "hMem Flags PID REF PTR LEN BINPATH/DATA\r\n"
|
||||||
MSG1.INV .AZ "\e[7m"
|
MSG1.INV .AZ "\e[7m"
|
||||||
MSG1 .AZ "$%h %s %3d %3d $%H %5D "
|
MSG1 .AZ "$%h %s %3d %3d $%H %5D "
|
||||||
MSG1X .AZ "$%h %s %3d %3d $%H %5D\e[0m\r\n"
|
|
||||||
MSG1.BIN .AZ "{%s}\e[0m\r\n"
|
MSG1.BIN .AZ "{%s}\e[0m\r\n"
|
||||||
MSG1.STR .AZ "[%03d:%s]\e[0m\r\n"
|
MSG1.STR .AZ "[%03d:%s]\e[0m\r\n"
|
||||||
MSG1.HEX .AZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
|
MSG1.HEX .AZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
|
||||||
MSG2 .AZ "\r\nAllocated hMem:%d, Total:%d\r\n"
|
MSG1X .AZ "$%h %s %3d %3d $%H %5D\e[0m\r\n"
|
||||||
MSG3 .AS "High Memory: $%H\r\n"
|
MSG2 .AZ "Allocated hMem:%d, Total:%d\r\n"
|
||||||
|
MSG3 .AS "\r\nHigh Memory: $%H\r\n"
|
||||||
.AS "Free ULimit: $%H\r\n"
|
.AS "Free ULimit: $%H\r\n"
|
||||||
.AS "Low Memory: $%H\r\n"
|
.AS "Low Memory: $%H\r\n"
|
||||||
.AZ "\r\nFree Memory: %D Bytes.\r\n\r\n"
|
.AZ "Free Memory: %D Bytes.\r\n\r\n"
|
||||||
MSG.FLAGS .AS "UZXAfcds"
|
MSG.FLAGS .AS "UZXAfcds"
|
||||||
MSG.FLAGSX .AS "UZXAidep"
|
MSG.FLAGSX .AS "UZXAidep"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
|
@ -442,47 +442,37 @@ CORE.ArgV.Add lda #C.SPACE
|
||||||
iny
|
iny
|
||||||
|
|
||||||
.1 jsr CORE.GetNextChar
|
.1 jsr CORE.GetNextChar
|
||||||
bcs .5
|
bcs .7
|
||||||
|
|
||||||
.2 cmp ZPTmpW
|
.2 cmp ZPTmpW
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
jsr CORE.GetNextChar
|
jsr CORE.GetNextChar
|
||||||
bra .5
|
bra .7
|
||||||
|
|
||||||
.3 ldx ZPTmpW
|
.3 ldx ZPTmpW
|
||||||
cpx #C.SPACE
|
cpx #C.SPACE
|
||||||
bne .40
|
bne .6
|
||||||
|
|
||||||
jsr CORE.IsEndCmd
|
jsr CORE.IsEndCmd
|
||||||
bcc .5
|
bcc .7
|
||||||
|
|
||||||
.40 sta (ZPArgVBufPtr),y
|
.6 sta (ZPArgVBufPtr),y
|
||||||
iny
|
iny
|
||||||
|
|
||||||
.4 jsr CORE.GetNextChar
|
jsr CORE.GetNextChar
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
.5 lda #0
|
.7 lda #0
|
||||||
sta (ZPArgVBufPtr),y
|
sta (ZPArgVBufPtr),y
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
>LDYA ZPArgVBufPtr
|
||||||
>STYA ZPArgVBufPrev
|
>STYA ZPArgVBufPrev
|
||||||
>PUSHYA
|
>PUSHYA
|
||||||
>PUSHWZ
|
>PUSHW ZPArgVBufPtr
|
||||||
>SYSCALL Expand
|
>SYSCALL Expand
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
phx
|
|
||||||
>STYA ZPPtr1
|
|
||||||
|
|
||||||
ldy #$ff
|
|
||||||
|
|
||||||
.7 iny
|
|
||||||
lda (ZPPtr1),y
|
|
||||||
sta (ZPArgVBufPtr),y
|
|
||||||
bne .7
|
|
||||||
|
|
||||||
tya
|
tya
|
||||||
beq .8 Empty string....
|
beq .8 Empty string....
|
||||||
|
|
||||||
|
@ -492,9 +482,9 @@ CORE.ArgV.Add lda #C.SPACE
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
inc ZPArgVBufPtr+1
|
inc ZPArgVBufPtr+1
|
||||||
|
clc
|
||||||
|
|
||||||
.8 pla
|
.8
|
||||||
>SYSCALL FreeMem
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.ArgV.Next lda (ZPArgVBufPtr)
|
CORE.ArgV.Next lda (ZPArgVBufPtr)
|
||||||
|
|
|
@ -226,7 +226,8 @@ CS.RUN.DUMP lda ArgFile
|
||||||
>PUSHW.G StatBuf+S.STAT.GID
|
>PUSHW.G StatBuf+S.STAT.GID
|
||||||
>PUSHL.G StatBuf+S.STAT.SIZE
|
>PUSHL.G StatBuf+S.STAT.SIZE
|
||||||
>PUSHL.G StatBuf+S.STAT.BLOCKS
|
>PUSHL.G StatBuf+S.STAT.BLOCKS
|
||||||
>PUSHBI 12
|
>PUSHW.G StatBuf+S.STAT.BLKSIZE
|
||||||
|
>PUSHBI 14
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
|
|
||||||
>PUSHW L.MSG.CMATimes
|
>PUSHW L.MSG.CMATimes
|
||||||
|
@ -421,7 +422,7 @@ MSG.Mod .AZ "Mod : %s\r\n"
|
||||||
MSG.UIDGIDSIZE .AS "UID : %10D\r\n"
|
MSG.UIDGIDSIZE .AS "UID : %10D\r\n"
|
||||||
.AS "GID : %10D\r\n"
|
.AS "GID : %10D\r\n"
|
||||||
.AS "Size : %10u\r\n"
|
.AS "Size : %10u\r\n"
|
||||||
.AZ "Blocks : %10u\r\n"
|
.AZ "Blocks : %10u (%D)\r\n"
|
||||||
MSG.CMATimes .AS "Created : %s\r\n"
|
MSG.CMATimes .AS "Created : %s\r\n"
|
||||||
.AS "Modified : %s\r\n"
|
.AS "Modified : %s\r\n"
|
||||||
.AZ "Accessed : %s\r\n"
|
.AZ "Accessed : %s\r\n"
|
||||||
|
|
|
@ -13,6 +13,7 @@ DCLK.START php
|
||||||
lda $C400
|
lda $C400
|
||||||
|
|
||||||
stz $C0C0
|
stz $C0C0
|
||||||
|
stz $C0C1
|
||||||
|
|
||||||
ldy #8
|
ldy #8
|
||||||
stz $C0C2
|
stz $C0C2
|
||||||
|
|
|
@ -330,7 +330,9 @@ LDR.ReadRoot lda LDR.MLIOL.P+1 place boot devnum in globals
|
||||||
bcc .1 if ok, read next block.
|
bcc .1 if ok, read next block.
|
||||||
.FIN
|
.FIN
|
||||||
|
|
||||||
.8 jmp $800 jmp to "load interpreter" code
|
.8
|
||||||
|
* >DEBUG
|
||||||
|
jmp $800 jmp to "load interpreter" code
|
||||||
|
|
||||||
.9 ldx #LDR.MSG.ROOTERR
|
.9 ldx #LDR.MSG.ROOTERR
|
||||||
jsr LDR.PrintX
|
jsr LDR.PrintX
|
||||||
|
@ -354,9 +356,9 @@ DS121x.DATA1 .EQ idxl
|
||||||
DS121x.DATA2 .EQ A1L
|
DS121x.DATA2 .EQ A1L
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LDR.ClkDevScan jsr LDR.IsIIc
|
LDR.ClkDevScan jsr LDR.IsIIc
|
||||||
bcc LDR.ClkDevNCLK
|
bcc LDR.ClkDevNCLK //c only
|
||||||
|
|
||||||
php
|
LDR.ClkDevDCLK php
|
||||||
sei
|
sei
|
||||||
|
|
||||||
lda $CFFF
|
lda $CFFF
|
||||||
|
@ -374,9 +376,10 @@ LDR.ClkDevScan jsr LDR.IsIIc
|
||||||
|
|
||||||
ldx #8
|
ldx #8
|
||||||
|
|
||||||
.2 sta $C0C3
|
.2 stz $C0C0
|
||||||
stz $C0C0
|
|
||||||
|
|
||||||
|
sta $C0C3
|
||||||
|
|
||||||
lsr
|
lsr
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2
|
||||||
|
@ -388,6 +391,8 @@ LDR.ClkDevScan jsr LDR.IsIIc
|
||||||
|
|
||||||
.4 ldy #8
|
.4 ldy #8
|
||||||
|
|
||||||
|
stz $C0C0
|
||||||
|
|
||||||
.5 lda $C0C3
|
.5 lda $C0C3
|
||||||
|
|
||||||
lsr
|
lsr
|
||||||
|
@ -398,6 +403,7 @@ LDR.ClkDevScan jsr LDR.IsIIc
|
||||||
dex
|
dex
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
|
stz $C0C0
|
||||||
pla
|
pla
|
||||||
sta $C0C3
|
sta $C0C3
|
||||||
|
|
||||||
|
@ -408,12 +414,12 @@ LDR.ClkDevScan jsr LDR.IsIIc
|
||||||
|
|
||||||
.6 lda DS121x.DATA1-1,x
|
.6 lda DS121x.DATA1-1,x
|
||||||
cmp DS121x.ValidLO-1,x
|
cmp DS121x.ValidLO-1,x
|
||||||
bcc LDR.ClkDevNCLK
|
bcc .9
|
||||||
|
|
||||||
cmp DS121x.ValidHI-1,x
|
cmp DS121x.ValidHI-1,x
|
||||||
bcc .7
|
bcc .7
|
||||||
|
|
||||||
bne LDR.ClkDevNCLK
|
bne .9
|
||||||
|
|
||||||
.7 dex
|
.7 dex
|
||||||
bne .6
|
bne .6
|
||||||
|
@ -424,10 +430,10 @@ LDR.ClkDevScan jsr LDR.IsIIc
|
||||||
ldx PAKME.DCLK
|
ldx PAKME.DCLK
|
||||||
ldy PAKME.DCLK+1
|
ldy PAKME.DCLK+1
|
||||||
jmp LDR.SetupCLK
|
jmp LDR.SetupCLK
|
||||||
*--------------------------------------
|
|
||||||
LDR.ClkDevNCLK cld
|
|
||||||
|
|
||||||
php
|
.9 cld
|
||||||
|
*--------------------------------------
|
||||||
|
LDR.ClkDevNCLK php
|
||||||
sei
|
sei
|
||||||
|
|
||||||
lda RDCXROM
|
lda RDCXROM
|
||||||
|
|
|
@ -275,46 +275,43 @@ CS.RUN.DumpFile >PUSHYA
|
||||||
>PUSHBI S.FI.T.TXT
|
>PUSHBI S.FI.T.TXT
|
||||||
>PUSHWZ Aux type
|
>PUSHWZ Aux type
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .9
|
bcs .99
|
||||||
|
|
||||||
stx ZPhFile
|
stx ZPhFile
|
||||||
|
|
||||||
>LDYAI 256
|
>LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .99
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPBufPtr
|
>STYA ZPBufPtr
|
||||||
stx ZPhBuf
|
stx ZPhBuf
|
||||||
|
|
||||||
.1 >PUSHB ZPhFile
|
.1 >PUSHB ZPhFile
|
||||||
>PUSHW ZPBufPtr
|
>PUSHW ZPBufPtr
|
||||||
>PUSHWI 256
|
>PUSHWI 255
|
||||||
>SYSCALL FGetS
|
>SYSCALL FGetS
|
||||||
bcs .7
|
bcs .8
|
||||||
|
|
||||||
>PUSHW ZPBufPtr
|
>PUSHW ZPBufPtr
|
||||||
>PUSHWZ
|
>PUSHW ZPBufPtr
|
||||||
>SYSCALL Expand
|
>SYSCALL Expand
|
||||||
bcc .2
|
|
||||||
|
|
||||||
.99 php
|
>LDYA ZPBufPtr
|
||||||
pha
|
|
||||||
jsr .8
|
|
||||||
pla
|
|
||||||
plp
|
|
||||||
.9 rts
|
|
||||||
|
|
||||||
.2 phx
|
|
||||||
>SYSCALL PutS
|
>SYSCALL PutS
|
||||||
pla
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.7 lda ZPhBuf
|
.8 lda ZPhBuf
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
|
clc
|
||||||
|
|
||||||
.8 lda ZPhFile
|
.9 php
|
||||||
|
pha
|
||||||
|
lda ZPhFile
|
||||||
>SYSCALL FClose
|
>SYSCALL FClose
|
||||||
rts
|
pla
|
||||||
|
plp
|
||||||
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
rts
|
rts
|
||||||
|
|
|
@ -6,7 +6,7 @@ NEW
|
||||||
.TF sbin/networkd
|
.TF sbin/networkd
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
LIB.MAX .EQ 4
|
LIB.MAX .EQ 4
|
||||||
DBG .EQ 2
|
DBG .EQ 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB inc/macros.i
|
.INB inc/macros.i
|
||||||
.INB inc/a2osx.i
|
.INB inc/a2osx.i
|
||||||
|
@ -21,10 +21,10 @@ DBG .EQ 2
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
ZS.START
|
ZS.START
|
||||||
pNETCFG .BS 2
|
|
||||||
pBuf .BS 2
|
pBuf .BS 2
|
||||||
|
pNETCFG .BS 2
|
||||||
hEtcNetwork .BS 1
|
hEtcNetwork .BS 1
|
||||||
hLineBuf .BS 1
|
hBuf .BS 1
|
||||||
hFrameIn .BS 1
|
hFrameIn .BS 1
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -41,7 +41,7 @@ CS.START cld
|
||||||
.DO DBG=1
|
.DO DBG=1
|
||||||
.DA #128 Stack Size
|
.DA #128 Stack Size
|
||||||
.ELSE
|
.ELSE
|
||||||
.DA #64 Stack Size
|
.DA #32 Stack Size
|
||||||
.FIN
|
.FIN
|
||||||
.DA #ZS.END-ZS.START Zero Page Size
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
.DA 0
|
.DA 0
|
||||||
|
@ -61,7 +61,6 @@ L.MSG.OK .DA MSG.OK
|
||||||
L.MSG.ERR .DA MSG.ERR
|
L.MSG.ERR .DA MSG.ERR
|
||||||
L.DEVNAME .DA DEVNAME
|
L.DEVNAME .DA DEVNAME
|
||||||
L.IOCTL .DA IOCTL
|
L.IOCTL .DA IOCTL
|
||||||
L.DCB.NIC .DA DCB.NIC
|
|
||||||
L.ETCNETWORK .DA ETCNETWORK
|
L.ETCNETWORK .DA ETCNETWORK
|
||||||
.DO DBG=1
|
.DO DBG=1
|
||||||
L.MSG.DBG .DA MSG.DBG
|
L.MSG.DBG .DA MSG.DBG
|
||||||
|
@ -70,18 +69,46 @@ L.MSG.DBG.REJECT .DA MSG.DBG.REJECT
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT lda DevID
|
CS.INIT lda DevID
|
||||||
bne .99
|
bne .8
|
||||||
|
|
||||||
jsr CS.INIT.DEV
|
>LDYAI 64
|
||||||
bcs .9
|
>SYSCALL GetMem
|
||||||
|
bcs .99
|
||||||
|
|
||||||
jsr CS.INIT.LIBS
|
>STYA pBuf
|
||||||
bcs .9
|
stx hBuf
|
||||||
|
|
||||||
jsr CS.INIT.CONF
|
>STYA IOCTL+S.IOCTL.BUFPTR for CS.INIT.DEV
|
||||||
.9 rts
|
|
||||||
|
jsr CS.INIT.DEV
|
||||||
|
bcs .90
|
||||||
|
|
||||||
.99 >LDYA L.MSG.RUNNING
|
lda LibCnt
|
||||||
|
|
||||||
|
.1 inc
|
||||||
|
>SYSCALL ArgV
|
||||||
|
bcs .2
|
||||||
|
|
||||||
|
jsr CS.INIT.LIB
|
||||||
|
bcs .90
|
||||||
|
|
||||||
|
inc LibCnt
|
||||||
|
lda LibCnt
|
||||||
|
cmp #LIB.MAX
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
.2 jsr CS.INIT.CONF
|
||||||
|
|
||||||
|
.90 php
|
||||||
|
pha
|
||||||
|
lda hBuf
|
||||||
|
>SYSCALL FreeMem
|
||||||
|
pla
|
||||||
|
plp
|
||||||
|
|
||||||
|
.99 rts
|
||||||
|
|
||||||
|
.8 >LDYA L.MSG.RUNNING
|
||||||
>SYSCALL PutS
|
>SYSCALL PutS
|
||||||
lda #0
|
lda #0
|
||||||
sec
|
sec
|
||||||
|
@ -110,24 +137,22 @@ CS.INIT.DEV >PUSHW L.DEVNAME
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
|
|
||||||
>LDYA L.DCB.NIC
|
|
||||||
>STYA IOCTL+S.IOCTL.BUFPTR
|
|
||||||
lda #S.IOCTL.S.GETDCB
|
lda #S.IOCTL.S.GETDCB
|
||||||
sta IOCTL+S.IOCTL.S
|
sta IOCTL+S.IOCTL.S
|
||||||
|
|
||||||
>PUSHB DevID
|
ldx #IOCTL.STATUS
|
||||||
>PUSHBI IOCTL.STATUS
|
*--------------------------------------
|
||||||
|
CS.IOCTL lda DevID
|
||||||
|
>PUSHA
|
||||||
|
txa
|
||||||
|
>PUSHA
|
||||||
>PUSHW L.IOCTL
|
>PUSHW L.IOCTL
|
||||||
>SYSCALL IOCTL
|
>SYSCALL IOCTL
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT.LIBS lda LibCnt
|
* pBuf = DCB.NIC
|
||||||
|
*--------------------------------------
|
||||||
.1 inc
|
CS.INIT.LIB phy
|
||||||
>SYSCALL ArgV
|
|
||||||
bcs .8
|
|
||||||
|
|
||||||
phy
|
|
||||||
pha
|
pha
|
||||||
>PUSHW L.MSG.LIB
|
>PUSHW L.MSG.LIB
|
||||||
pla
|
pla
|
||||||
|
@ -141,18 +166,44 @@ CS.INIT.LIBS lda LibCnt
|
||||||
|
|
||||||
>SYSCALL LoadLib
|
>SYSCALL LoadLib
|
||||||
jsr CS.RUN.CheckErr
|
jsr CS.RUN.CheckErr
|
||||||
bcs CS.INIT.LIBS.9
|
bcs .9
|
||||||
|
|
||||||
ldy LibCnt
|
ldy LibCnt
|
||||||
sta hLIBs,y
|
sta hLIBs,y
|
||||||
tay
|
tay
|
||||||
ldx #LIBNET.GETCFG
|
ldx #LIBNET.GETCFG
|
||||||
jsr A2osX.LIBCALL
|
jsr A2osX.LIBCALL
|
||||||
bcs CS.INIT.LIBS.9
|
bcs .9
|
||||||
|
|
||||||
>STYA pNETCFG
|
>STYA pNETCFG
|
||||||
|
|
||||||
jsr CS.INIT.SETUP.NETCFG
|
lda DevID
|
||||||
|
ldy #S.NETCFG.DevID
|
||||||
|
sta (pNETCFG),y
|
||||||
|
|
||||||
|
ldy #S.DCB.NIC.FLAGS
|
||||||
|
lda (pBuf),y
|
||||||
|
|
||||||
|
ldy #S.NETCFG.DevFlags
|
||||||
|
sta (pNETCFG),y
|
||||||
|
|
||||||
|
ldx #6
|
||||||
|
ldy #S.DCB.NIC.MAC
|
||||||
|
|
||||||
|
.2 lda (pBuf),y
|
||||||
|
pha
|
||||||
|
iny
|
||||||
|
dex
|
||||||
|
bne .2
|
||||||
|
|
||||||
|
ldx #6
|
||||||
|
ldy #S.NETCFG.MAC+5
|
||||||
|
|
||||||
|
.3 pla
|
||||||
|
sta (pNETCFG),y
|
||||||
|
dey
|
||||||
|
dex
|
||||||
|
bne .3
|
||||||
|
|
||||||
>PUSHW pNETCFG
|
>PUSHW pNETCFG
|
||||||
|
|
||||||
|
@ -161,59 +212,25 @@ CS.INIT.LIBS lda LibCnt
|
||||||
|
|
||||||
ldx #LIBNET.SETCFG
|
ldx #LIBNET.SETCFG
|
||||||
jsr A2osX.LIBCALL
|
jsr A2osX.LIBCALL
|
||||||
bcs CS.INIT.LIBS.9
|
|
||||||
|
|
||||||
inc LibCnt
|
* clc
|
||||||
lda LibCnt
|
|
||||||
cmp #LIB.MAX
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
.8 clc
|
.9 rts
|
||||||
|
|
||||||
CS.INIT.LIBS.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT.SETUP.NETCFG
|
CS.INIT.CONF >PUSHW L.ETCNETWORK
|
||||||
|
|
||||||
lda DevID
|
|
||||||
ldy #S.NETCFG.DevID
|
|
||||||
sta (pNETCFG),y
|
|
||||||
|
|
||||||
iny S.NETCFG.DevFlags
|
|
||||||
lda DCB.NIC+S.DCB.NIC.FLAGS
|
|
||||||
sta (pNETCFG),y
|
|
||||||
|
|
||||||
ldx #5
|
|
||||||
ldy #S.NETCFG.MAC+5
|
|
||||||
|
|
||||||
.2 lda DCB.NIC+S.DCB.NIC.MAC,x
|
|
||||||
sta (pNETCFG),y
|
|
||||||
dey
|
|
||||||
dex
|
|
||||||
bpl .2
|
|
||||||
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
CS.INIT.CONF >LDYAI 64
|
|
||||||
>SYSCALL GetMem
|
|
||||||
bcs CS.INIT.LIBS.9
|
|
||||||
|
|
||||||
>STYA pBuf
|
|
||||||
stx hLineBuf
|
|
||||||
|
|
||||||
>PUSHW L.ETCNETWORK
|
|
||||||
>PUSHBI O.RDONLY+O.TEXT
|
>PUSHBI O.RDONLY+O.TEXT
|
||||||
>PUSHBI S.FI.T.TXT
|
>PUSHBI S.FI.T.TXT
|
||||||
>PUSHWZ
|
>PUSHWZ
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .98
|
bcs .9
|
||||||
|
|
||||||
sta hEtcNetwork
|
sta hEtcNetwork
|
||||||
|
|
||||||
.1 >PUSHB hEtcNetwork
|
.1 >PUSHB hEtcNetwork
|
||||||
>PUSHW pBuf
|
>PUSHW pBuf
|
||||||
>PUSHWI 64
|
>PUSHWI 63
|
||||||
>SYSCALL FGetS
|
>SYSCALL FGetS
|
||||||
bcs .80
|
bcs .8
|
||||||
|
|
||||||
>PUSHW L.MSG.EXEC
|
>PUSHW L.MSG.EXEC
|
||||||
>PUSHW pBuf
|
>PUSHW pBuf
|
||||||
|
@ -227,25 +244,15 @@ CS.INIT.CONF >LDYAI 64
|
||||||
>SLEEP
|
>SLEEP
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.98 pha
|
.8 lda hEtcNetwork
|
||||||
jsr .81
|
|
||||||
pla
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.80 lda hEtcNetwork
|
|
||||||
>SYSCALL FClose
|
>SYSCALL FClose
|
||||||
|
|
||||||
.81 lda hLineBuf
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
* clc
|
* clc
|
||||||
rts
|
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN >PUSHB DevID
|
CS.RUN ldx #IOCTL.READ
|
||||||
>PUSHBI IOCTL.READ
|
jsr CS.IOCTL
|
||||||
>PUSHW L.IOCTL
|
|
||||||
|
|
||||||
>SYSCALL IOCTL
|
|
||||||
bcs .8 No Frame
|
bcs .8 No Frame
|
||||||
|
|
||||||
sta hFrameIn
|
sta hFrameIn
|
||||||
|
@ -288,12 +295,12 @@ CS.RUN >PUSHB DevID
|
||||||
|
|
||||||
.2 .DO DBG=1
|
.2 .DO DBG=1
|
||||||
jsr CS.RUN.FILTER
|
jsr CS.RUN.FILTER
|
||||||
|
|
||||||
bcs .33
|
bcs .33
|
||||||
|
|
||||||
>LDYA L.MSG.DBG.REJECT
|
>LDYA L.MSG.DBG.REJECT
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
.33 .FIN
|
.33 .FIN
|
||||||
|
|
||||||
lda hFrameIn
|
lda hFrameIn
|
||||||
>SYSCALL FreeMem
|
>SYSCALL FreeMem
|
||||||
jmp CS.RUN
|
jmp CS.RUN
|
||||||
|
@ -305,8 +312,10 @@ CS.RUN >PUSHB DevID
|
||||||
CS.RUN.FILTER lda (pBuf)
|
CS.RUN.FILTER lda (pBuf)
|
||||||
cmp #$ff
|
cmp #$ff
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
dec
|
dec
|
||||||
beq .9
|
beq .9
|
||||||
|
|
||||||
ldy #S.ETH.EII.TYPE+1
|
ldy #S.ETH.EII.TYPE+1
|
||||||
lda (pBuf),y
|
lda (pBuf),y
|
||||||
bne .9
|
bne .9
|
||||||
|
@ -370,10 +379,8 @@ CS.QUIT ldx #0
|
||||||
.7 lda DevID
|
.7 lda DevID
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>PUSHA
|
ldx #IOCTL.CLOSE
|
||||||
>PUSHBI IOCTL.CLOSE
|
jsr CS.IOCTL
|
||||||
>PUSHWZ
|
|
||||||
>SYSCALL IOCTL
|
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
@ -385,8 +392,10 @@ MSG.DEV.KO .AZ "NETWORKD:No Device Found, exiting."
|
||||||
MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n"
|
MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n"
|
||||||
MSG.LIB .AZ "NETWORKD:Loading %s..."
|
MSG.LIB .AZ "NETWORKD:Loading %s..."
|
||||||
MSG.EXEC .AZ "NETWORKD:Running %s..."
|
MSG.EXEC .AZ "NETWORKD:Running %s..."
|
||||||
|
*--------------------------------------
|
||||||
MSG.OK .AZ "[OK]"
|
MSG.OK .AZ "[OK]"
|
||||||
MSG.ERR .AZ "[%h]\r\n"
|
MSG.ERR .AZ "[%h]\r\n"
|
||||||
|
*--------------------------------------
|
||||||
ETCNETWORK .AZ "${BOOT}etc/network"
|
ETCNETWORK .AZ "${BOOT}etc/network"
|
||||||
.DO DBG=1
|
.DO DBG=1
|
||||||
MSG.DBG .AS "FRM ETH:%h%h%h%h%h%h.%h%h%h%h%h%h.%h%h\r\n"
|
MSG.DBG .AS "FRM ETH:%h%h%h%h%h%h.%h%h%h%h%h%h.%h%h\r\n"
|
||||||
|
@ -400,7 +409,6 @@ LibCnt .BS 1
|
||||||
hLIBs .BS LIB.MAX+1 for ending 0 if MAX libs
|
hLIBs .BS LIB.MAX+1 for ending 0 if MAX libs
|
||||||
DEVNAME .AZ "/dev/eth1"
|
DEVNAME .AZ "/dev/eth1"
|
||||||
IOCTL .BS S.IOCTL
|
IOCTL .BS S.IOCTL
|
||||||
DCB.NIC .BS S.DCB.NIC
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
|
|
|
@ -36,20 +36,22 @@ ExcludeMatch sec
|
||||||
|
|
||||||
tax
|
tax
|
||||||
|
|
||||||
beq FilterMatch.RTS No filter....exit with CS excluded
|
beq FilterMatch.RTS No filter....exit with passed carry
|
||||||
|
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
|
|
||||||
ldy #S.STAT.FSID
|
ldy #S.STAT.FSID
|
||||||
lda (ZPFileStat),y
|
lda (ZPFileStat),y if 0, Regular ProDOS....
|
||||||
tax if 0, Regular ProDOS....
|
pha save FSID for comapring later
|
||||||
bne .10
|
bne .10
|
||||||
|
|
||||||
>LDYA ZPPtr2 ... so CI compare
|
>LDYA ZPPtr2 ... so CI compare
|
||||||
>SYSCALL StrUpr
|
>SYSCALL StrUpr
|
||||||
|
|
||||||
.10 lda (ZPPtr2) Get first pattern byte
|
.10 plx get back FSID
|
||||||
|
|
||||||
|
lda (ZPPtr2) Get first pattern byte
|
||||||
beq .8 Match always if empty
|
beq .8 Match always if empty
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
@ -216,7 +218,7 @@ InitSrcDirYA >PUSHYA
|
||||||
>STA.G hFilter
|
>STA.G hFilter
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPPtr2)
|
sta (ZPPtr2) cut path at last '/' to remove wildcards
|
||||||
|
|
||||||
.5 >LDYAI 256
|
.5 >LDYAI 256
|
||||||
>SYSCALL GetMem Get a 256 buffer to store BasePath
|
>SYSCALL GetMem Get a 256 buffer to store BasePath
|
||||||
|
|
|
@ -61,8 +61,10 @@ K.ArgV tax save requested arg#
|
||||||
.1 lda (ZPPtr2) end of ARGV[] ?
|
.1 lda (ZPPtr2) end of ARGV[] ?
|
||||||
|
|
||||||
beq .9 yes, not found....
|
beq .9 yes, not found....
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bmi .7
|
bmi .7
|
||||||
|
|
||||||
.3 jsr SHARED.GetCP2 skip str
|
.3 jsr SHARED.GetCP2 skip str
|
||||||
bne .3
|
bne .3
|
||||||
|
|
||||||
|
@ -115,6 +117,7 @@ K.Arg2ArgV >PULLW ZPPtr2 Get target buffer
|
||||||
|
|
||||||
.3 cmp #C.SPACE
|
.3 cmp #C.SPACE
|
||||||
bne .6 regular char ...store...
|
bne .6 regular char ...store...
|
||||||
|
|
||||||
tya
|
tya
|
||||||
bmi .4 between quotes... store space...
|
bmi .4 between quotes... store space...
|
||||||
|
|
||||||
|
|
|
@ -202,8 +202,7 @@ BIN.Load.1 >PUSHWI K.Buf256
|
||||||
jsr BIN.CompCSEndYA
|
jsr BIN.CompCSEndYA
|
||||||
jsr BIN.RelExe
|
jsr BIN.RelExe
|
||||||
|
|
||||||
>LDYAI K.Buf256 get back bin path
|
jsr STRING.DupBuf256 get back bin path & jsr K.strdup make a copy of this string
|
||||||
jsr K.strdup make a copy of this string
|
|
||||||
bcs BIN.Load.Free
|
bcs BIN.Load.Free
|
||||||
|
|
||||||
jsr Mem.SetOwnerPS0 Make BINPATH owned by PS0
|
jsr Mem.SetOwnerPS0 Make BINPATH owned by PS0
|
||||||
|
|
|
@ -270,7 +270,7 @@ DEV.MkFDy sta .8+1 A = S.FD.T
|
||||||
>STYA pFD
|
>STYA pFD
|
||||||
stx IO.hFD
|
stx IO.hFD
|
||||||
|
|
||||||
pha
|
jsr Mem.SetOwnerPS0
|
||||||
|
|
||||||
txa
|
txa
|
||||||
|
|
||||||
|
@ -282,7 +282,7 @@ DEV.MkFDy sta .8+1 A = S.FD.T
|
||||||
.8 lda #$ff SELF MODIFIED
|
.8 lda #$ff SELF MODIFIED
|
||||||
sta (pFD)
|
sta (pFD)
|
||||||
|
|
||||||
pla Y,A = pFD, X = hFILE
|
>LDYA pFD Y,A = pFD, X = hFILE
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -292,14 +292,14 @@ DEV.GetFreeFD lda #0
|
||||||
DEV.GetFD ldx #1
|
DEV.GetFD ldx #1
|
||||||
|
|
||||||
.1 cmp hFDs-1,x
|
.1 cmp hFDs-1,x
|
||||||
beq .8
|
beq DEV.GetFD.8
|
||||||
|
|
||||||
inx
|
inx
|
||||||
cpx #K.hFD.MAX+1
|
cpx #K.hFD.MAX+1
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
tax
|
tax
|
||||||
beq .9
|
beq DEV.GetFD.8
|
||||||
|
|
||||||
lda #E.INVH
|
lda #E.INVH
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
|
@ -307,16 +307,13 @@ DEV.GetFD ldx #1
|
||||||
* sec
|
* sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 clc
|
DEV.GetFD.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DEV.hFDFree lda IO.hFD
|
DEV.hFDFree lda IO.hFD
|
||||||
beq .8
|
beq DEV.GetFD.8
|
||||||
|
|
||||||
jmp K.FreeMem
|
jmp K.FreeMem
|
||||||
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/sys/kernel.s.dev
|
SAVE usr/src/sys/kernel.s.dev
|
||||||
|
|
|
@ -341,7 +341,10 @@ FS.ClrStat ldx #S.STAT-1
|
||||||
|
|
||||||
lda A2osX.FSID
|
lda A2osX.FSID
|
||||||
sta K.S.STAT+S.STAT.FSID
|
sta K.S.STAT+S.STAT.FSID
|
||||||
|
|
||||||
|
lda #2
|
||||||
|
sta K.S.STAT+S.STAT.BLKSIZE+1 = 512 bytes
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FS.GFI.Src .DA #S.FI.T,#S.FI.AUXTYPE,#S.FI.AUXTYPE+1
|
FS.GFI.Src .DA #S.FI.T,#S.FI.AUXTYPE,#S.FI.AUXTYPE+1
|
||||||
|
|
|
@ -291,7 +291,9 @@ MEM.NextSlot lda ZPMemMgrSPtr
|
||||||
adc #S.MEM
|
adc #S.MEM
|
||||||
sta ZPMemMgrSPtr
|
sta ZPMemMgrSPtr
|
||||||
bcc .8
|
bcc .8
|
||||||
|
|
||||||
inc ZPMemMgrSPtr+1
|
inc ZPMemMgrSPtr+1
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MEM.Init0 phx
|
MEM.Init0 phx
|
||||||
|
@ -351,6 +353,7 @@ K.FreeMem.ERR >PUSHWI .1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.FreeMem tay
|
K.FreeMem tay
|
||||||
beq K.FreeMem.ERR Slot=0, reserved by Kernel
|
beq K.FreeMem.ERR Slot=0, reserved by Kernel
|
||||||
|
|
||||||
cmp Mem.LastSlot
|
cmp Mem.LastSlot
|
||||||
bcc .10
|
bcc .10
|
||||||
|
|
||||||
|
|
|
@ -11,26 +11,8 @@ NEW
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
* A = Child PSID
|
* A = Child PSID
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.ExecL >PULLB PS.Flags
|
K.ExecL clc
|
||||||
|
.HS B0 BCS
|
||||||
>LDYAI 256
|
|
||||||
jsr K.GetMem
|
|
||||||
bcs .99
|
|
||||||
|
|
||||||
stx .90+1
|
|
||||||
>STYA PS.ArgV
|
|
||||||
>PUSHYA
|
|
||||||
jsr K.Arg2ArgV cmdline on stack, push buffer
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
jsr PS.Exec
|
|
||||||
.9 php
|
|
||||||
pha
|
|
||||||
.90 lda #$ff SELF MODIFIED
|
|
||||||
jsr K.FreeMem
|
|
||||||
pla
|
|
||||||
plp
|
|
||||||
.99 rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # ExecV
|
* # ExecV
|
||||||
* ## C / CSH
|
* ## C / CSH
|
||||||
|
@ -42,11 +24,58 @@ K.ExecL >PULLB PS.Flags
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
* A = Child PSID
|
* A = Child PSID
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.ExecV >PULLB PS.Flags
|
K.ExecV sec
|
||||||
>PULLW PS.ArgV
|
php
|
||||||
|
|
||||||
|
>PULLB PS.Flags
|
||||||
|
|
||||||
|
>LDYAI 256
|
||||||
|
jsr K.GetMem
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
stx .90+1
|
||||||
|
>STYA PS.ArgV
|
||||||
|
|
||||||
|
plp
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
>PULLW ZPPtr1 pull arg[] from stack
|
||||||
|
|
||||||
|
ldy #$FF copy to target buffer
|
||||||
|
|
||||||
|
.1 iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta (PS.ArgV),y
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
sta (PS.ArgV),y
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
bra .8
|
||||||
|
|
||||||
|
.2 >PUSHW PS.ArgV
|
||||||
|
jsr K.Arg2ArgV cmdline on stack, push target buffer
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
.8 jsr PS.Exec
|
||||||
|
|
||||||
|
.9 php
|
||||||
|
pha
|
||||||
|
.90 lda #$ff SELF MODIFIED
|
||||||
|
jsr K.FreeMem
|
||||||
|
pla
|
||||||
|
plp
|
||||||
|
rts
|
||||||
|
|
||||||
|
.99 plp
|
||||||
|
sec
|
||||||
|
>RET 2
|
||||||
|
*--------------------------------------
|
||||||
PS.Exec jsr PS.CreateChild A=PID,Child S.PS at PS.NewPSPtr,PS.Load.hMem
|
PS.Exec jsr PS.CreateChild A=PID,Child S.PS at PS.NewPSPtr,PS.Load.hMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta .8+1
|
sta .8+1
|
||||||
|
|
||||||
stz K.IOBuf If !=0 after PS.Load, it's a script
|
stz K.IOBuf If !=0 after PS.Load, it's a script
|
||||||
|
@ -141,14 +170,10 @@ K.Fork jsr PS.CreateChild A=PID,Child S.PS at PS.NewPSPtr,PS.Load.hMem
|
||||||
|
|
||||||
ldy #S.PS.hARGV
|
ldy #S.PS.hARGV
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
dey
|
|
||||||
lda (ZPPtr1),y S.PS.ARGC
|
|
||||||
sta (PS.NewPSPtr),y
|
|
||||||
|
|
||||||
ldy #S.PS.ARGC
|
dey S.PS.ARGC
|
||||||
sta (PS.NewPSPtr),y
|
|
||||||
iny S.PS.hARGV
|
lda (ZPPtr1),y
|
||||||
txa
|
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
ldy #S.PS.A
|
ldy #S.PS.A
|
||||||
|
@ -228,6 +253,7 @@ PS.CreateChild ldx #0
|
||||||
lda CORE.LastPSID
|
lda CORE.LastPSID
|
||||||
ldy #S.PS.PID
|
ldy #S.PS.PID
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
lda #S.PS.F.NOHUP
|
lda #S.PS.F.NOHUP
|
||||||
bit PS.Flags
|
bit PS.Flags
|
||||||
beq .5
|
beq .5
|
||||||
|
@ -244,7 +270,7 @@ PS.CreateChild ldx #0
|
||||||
dey #S.PS.PPID
|
dey #S.PS.PPID
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
ldy #S.PS.hCWD copy hPREFIX...
|
ldy #S.PS.hCWD copy hPREFIX...
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
|
|
||||||
|
@ -290,8 +316,10 @@ PS.CreateChild ldx #0
|
||||||
lda #S.PS.F.HOLD
|
lda #S.PS.F.HOLD
|
||||||
bit PS.Flags
|
bit PS.Flags
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
ora (ZPPtr1)
|
ora (ZPPtr1)
|
||||||
sta (ZPPtr1) HOLD parent PS
|
sta (ZPPtr1) HOLD parent PS
|
||||||
|
|
||||||
lda CORE.LastPSID
|
lda CORE.LastPSID
|
||||||
ldy #S.PS.CPID
|
ldy #S.PS.CPID
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
@ -324,8 +352,8 @@ PS.Load ldy #$ff
|
||||||
>LDYA PS.ArgV found /, some path specified, no search
|
>LDYA PS.ArgV found /, some path specified, no search
|
||||||
jsr PS.STAT.YA
|
jsr PS.STAT.YA
|
||||||
bcc .6 REAL path in K.Buf256
|
bcc .6 REAL path in K.Buf256
|
||||||
|
|
||||||
.99 rts
|
rts file not found
|
||||||
|
|
||||||
.2 >LDYA PS.ArgV
|
.2 >LDYA PS.ArgV
|
||||||
|
|
||||||
|
@ -334,7 +362,7 @@ PS.Load ldy #$ff
|
||||||
|
|
||||||
>LDYA PS.ArgV
|
>LDYA PS.ArgV
|
||||||
jsr PS.Find.CWD
|
jsr PS.Find.CWD
|
||||||
bcs .99
|
bcs PS.RTS
|
||||||
|
|
||||||
.6 lda K.S.STAT+S.STAT.P.TYPE
|
.6 lda K.S.STAT+S.STAT.P.TYPE
|
||||||
cmp #S.FI.T.BIN
|
cmp #S.FI.T.BIN
|
||||||
|
@ -358,7 +386,7 @@ PS.Load ldy #$ff
|
||||||
|
|
||||||
>LDYAI PS.SHUTDOWN
|
>LDYAI PS.SHUTDOWN
|
||||||
jsr PS.Find.PATH
|
jsr PS.Find.PATH
|
||||||
bcs .99
|
bcs PS.RTS
|
||||||
|
|
||||||
.8 jmp PS.LoadBIN
|
.8 jmp PS.LoadBIN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -389,6 +417,7 @@ PS.Load.SCRIPT jsr PS.Buf2IO
|
||||||
.3 lda K.IOBuf+128,y Check HEADER= "#!/"
|
.3 lda K.IOBuf+128,y Check HEADER= "#!/"
|
||||||
cmp PS.Load.HEADER,y
|
cmp PS.Load.HEADER,y
|
||||||
bne PS.Load.IBIN
|
bne PS.Load.IBIN
|
||||||
|
|
||||||
iny
|
iny
|
||||||
cpy #3
|
cpy #3
|
||||||
bne .3
|
bne .3
|
||||||
|
@ -404,14 +433,12 @@ PS.Load.SCRIPT jsr PS.Buf2IO
|
||||||
|
|
||||||
sta K.Buf256-1,x K.Buf256 = "${ROOT}BIN/SHELL\0"
|
sta K.Buf256-1,x K.Buf256 = "${ROOT}BIN/SHELL\0"
|
||||||
|
|
||||||
.5 >LDYAI K.Buf256
|
.5 jsr PS.STAT.256
|
||||||
jsr PS.STAT.YA
|
|
||||||
bcs PS.RTS
|
bcs PS.RTS
|
||||||
|
|
||||||
lda K.S.STAT+S.STAT.P.TYPE
|
lda K.S.STAT+S.STAT.P.TYPE
|
||||||
cmp #S.FI.T.BIN
|
cmp #S.FI.T.BIN
|
||||||
beq PS.LoadBIN
|
bne PS.Load.IBIN
|
||||||
jmp PS.Load.IBIN
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PS.LoadBIN jsr BIN.Load K.Buf256= "${ROOT}BIN/SH\0", K.IOBuf=/.../SCRIPT
|
PS.LoadBIN jsr BIN.Load K.Buf256= "${ROOT}BIN/SH\0", K.IOBuf=/.../SCRIPT
|
||||||
bcs .9
|
bcs .9
|
||||||
|
@ -420,13 +447,13 @@ PS.LoadBIN jsr BIN.Load K.Buf256= "${ROOT}BIN/SH\0", K.IOBuf=/.../SCRIPT
|
||||||
|
|
||||||
phy
|
phy
|
||||||
ldy #S.PS.ZP.CODE+1
|
ldy #S.PS.ZP.CODE+1
|
||||||
sta (PS.NewPSPtr),y save pCode HI...
|
sta (PS.NewPSPtr),y save pCode HI...
|
||||||
dey
|
dey
|
||||||
pla
|
pla
|
||||||
sta (PS.NewPSPtr),y save pCode LO...
|
sta (PS.NewPSPtr),y save pCode LO...
|
||||||
txa
|
txa
|
||||||
ldy #S.PS.hCS
|
ldy #S.PS.hCS
|
||||||
sta (PS.NewPSPtr),y save CS hMem in S.PS
|
sta (PS.NewPSPtr),y save CS hMem in S.PS
|
||||||
|
|
||||||
* jsr MEM.GetMemByID
|
* jsr MEM.GetMemByID
|
||||||
* jsr Mem.SetOwner Set Ownership
|
* jsr Mem.SetOwner Set Ownership
|
||||||
|
@ -434,6 +461,7 @@ PS.LoadBIN jsr BIN.Load K.Buf256= "${ROOT}BIN/SH\0", K.IOBuf=/.../SCRIPT
|
||||||
ldy #H.BIN.F Get Bin S.PS.F
|
ldy #H.BIN.F Get Bin S.PS.F
|
||||||
lda (ZPPtr4),y
|
lda (ZPPtr4),y
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
ldy #S.PS.F update PS S.PS.F
|
ldy #S.PS.F update PS S.PS.F
|
||||||
ora (PS.NewPSPtr),y
|
ora (PS.NewPSPtr),y
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
|
@ -443,7 +471,6 @@ PS.LoadBIN jsr BIN.Load K.Buf256= "${ROOT}BIN/SH\0", K.IOBuf=/.../SCRIPT
|
||||||
tax
|
tax
|
||||||
dey
|
dey
|
||||||
ora (ZPPtr4),y
|
ora (ZPPtr4),y
|
||||||
|
|
||||||
beq .2 DS.SIZE=0...
|
beq .2 DS.SIZE=0...
|
||||||
|
|
||||||
lda (ZPPtr4),y
|
lda (ZPPtr4),y
|
||||||
|
@ -510,9 +537,7 @@ PS.LoadGetHeader
|
||||||
>SYSCALL2 fopen
|
>SYSCALL2 fopen
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
sta .1+1
|
>PUSHA a = hFILE
|
||||||
|
|
||||||
>PUSHA
|
|
||||||
>PUSHWI K.IOBuf+128
|
>PUSHWI K.IOBuf+128
|
||||||
>PUSHWI 128
|
>PUSHWI 128
|
||||||
|
|
||||||
|
@ -520,7 +545,7 @@ PS.LoadGetHeader
|
||||||
|
|
||||||
php
|
php
|
||||||
pha
|
pha
|
||||||
.1 lda #$FF SELF MODIFIED
|
lda IO.hFILE set by fopen / fread
|
||||||
>SYSCALL2 fclose
|
>SYSCALL2 fclose
|
||||||
pla
|
pla
|
||||||
plp
|
plp
|
||||||
|
@ -590,16 +615,15 @@ PS.AddArgV ldy #$ff In both cases, remove ARGV[0]
|
||||||
ldy #S.PS.ARGC
|
ldy #S.PS.ARGC
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
>LDYA PS.ArgSize Add 1 for ending 0
|
lda PS.ArgSize
|
||||||
iny
|
clc
|
||||||
bne .5
|
adc #2 Add 2 for ending \0\0
|
||||||
inc
|
tay
|
||||||
|
|
||||||
.5 iny Add ONE MORE ?????!!!!
|
lda PS.ArgSize+1
|
||||||
bne .51
|
adc #0
|
||||||
inc
|
|
||||||
|
jsr K.GetMem
|
||||||
.51 jsr K.GetMem
|
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA ZPPtr2 Target Buffer
|
>STYA ZPPtr2 Target Buffer
|
||||||
|
@ -607,6 +631,8 @@ PS.AddArgV ldy #$ff In both cases, remove ARGV[0]
|
||||||
ldy #S.PS.hARGV
|
ldy #S.PS.hARGV
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
|
jsr Mem.SetOwner Set Ownership
|
||||||
|
|
||||||
>LDYAI K.Buf256
|
>LDYAI K.Buf256
|
||||||
jsr PS.AddYAToStrV
|
jsr PS.AddYAToStrV
|
||||||
lda K.IOBuf
|
lda K.IOBuf
|
||||||
|
@ -716,7 +742,9 @@ K.Kill.2 ldy #S.PS.hSession
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
beq .12
|
beq .12
|
||||||
|
|
||||||
|
phx
|
||||||
jsr K.FreeMem
|
jsr K.FreeMem
|
||||||
|
plx
|
||||||
|
|
||||||
.12 dex
|
.12 dex
|
||||||
bpl .11
|
bpl .11
|
||||||
|
@ -738,7 +766,9 @@ K.Kill.2 ldy #S.PS.hSession
|
||||||
inx
|
inx
|
||||||
cpx CORE.PSCount
|
cpx CORE.PSCount
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
bra *
|
bra *
|
||||||
|
|
||||||
.3 stz PS.Table.PID,x
|
.3 stz PS.Table.PID,x
|
||||||
lda PS.TABLE.hPS,x
|
lda PS.TABLE.hPS,x
|
||||||
stz PS.TABLE.hPS,x
|
stz PS.TABLE.hPS,x
|
||||||
|
@ -957,9 +987,8 @@ PS.Find.CWD >STYA PS.Find.4+1 filename to find
|
||||||
>STYA PS.Find.2+1
|
>STYA PS.Find.2+1
|
||||||
|
|
||||||
stz PS.Find.98+1
|
stz PS.Find.98+1
|
||||||
|
|
||||||
bra PS.Find
|
bra PS.Find
|
||||||
|
*--------------------------------------
|
||||||
PS.Find.LIB ldx #0
|
PS.Find.LIB ldx #0
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
PS.Find.DRV ldx #2
|
PS.Find.DRV ldx #2
|
||||||
|
@ -1009,8 +1038,7 @@ PS.Find.4 lda $ffff,y Self Modified, Append Filename...
|
||||||
inx
|
inx
|
||||||
bra PS.Find.4
|
bra PS.Find.4
|
||||||
|
|
||||||
PS.Find.5 >LDYAI K.Buf256
|
PS.Find.5 jsr PS.STAT.256
|
||||||
jsr PS.STAT.YA
|
|
||||||
bcs PS.Find.1 Failed...retry next path...
|
bcs PS.Find.1 Failed...retry next path...
|
||||||
|
|
||||||
lda K.S.STAT+S.STAT.MODE+1
|
lda K.S.STAT+S.STAT.MODE+1
|
||||||
|
@ -1022,7 +1050,7 @@ PS.Find.5 >LDYAI K.Buf256
|
||||||
clc
|
clc
|
||||||
PS.Find.RTS rts
|
PS.Find.RTS rts
|
||||||
|
|
||||||
PS.Find.98 lda #$ff SELF MODIFIED : Discard Search list
|
PS.Find.98 lda #$ff SELF MODIFIED : Discard Search list
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
jsr K.FreeMem
|
jsr K.FreeMem
|
||||||
|
@ -1040,6 +1068,8 @@ PS.Buf2IO ldx #$ff
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
PS.STAT.256 >LDYAI K.Buf256
|
||||||
|
|
||||||
PS.STAT.YA >PUSHYA
|
PS.STAT.YA >PUSHYA
|
||||||
>PUSHWI K.S.STAT
|
>PUSHWI K.S.STAT
|
||||||
>SYSCALL2 Stat
|
>SYSCALL2 Stat
|
||||||
|
|
|
@ -69,8 +69,8 @@ K.StrToUL clc Unsigned
|
||||||
|
|
||||||
jsr K.AToL.I
|
jsr K.AToL.I
|
||||||
bcs K.StrToUL.rts
|
bcs K.StrToUL.rts
|
||||||
* clc
|
* clc
|
||||||
|
|
||||||
adc ZPPtr2
|
adc ZPPtr2
|
||||||
sta (ZPPtr1)
|
sta (ZPPtr1)
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -103,7 +103,7 @@ K.AToL.I jsr MATH.Dec2ACC32
|
||||||
dex
|
dex
|
||||||
bpl .3
|
bpl .3
|
||||||
|
|
||||||
tya Y = A = Count processed
|
tya Y = A = Count processed
|
||||||
* clc
|
* clc
|
||||||
.9
|
.9
|
||||||
rts
|
rts
|
||||||
|
@ -159,8 +159,8 @@ K.realpath ldy #3
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
stx .99+1 save expanded buffer hMem
|
stx .99+1 save expanded buffer hMem
|
||||||
|
|
||||||
>PULLW K.realpath.DST resolvedpath
|
>PULLW K.realpath.DST resolved path
|
||||||
|
|
||||||
inc pStack discard path
|
inc pStack discard path
|
||||||
inc pStack
|
inc pStack
|
||||||
|
|
||||||
|
@ -200,7 +200,7 @@ K.realpath ldy #3
|
||||||
* X=LEN, K.Buf256 = /dir1/./../file(/)\0
|
* X=LEN, K.Buf256 = /dir1/./../file(/)\0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ldx #0 will skip leading /
|
ldx #0 will skip leading /
|
||||||
|
|
||||||
.5 ldy #0 reset dot counter=0
|
.5 ldy #0 reset dot counter=0
|
||||||
|
|
||||||
.6 inx
|
.6 inx
|
||||||
|
@ -228,7 +228,7 @@ K.realpath ldy #3
|
||||||
bra .80
|
bra .80
|
||||||
|
|
||||||
.9 dey "/.." ?
|
.9 dey "/.." ?
|
||||||
bne .99 "/..." ??!!...syntax error
|
bne .99 "/..." ??!!...syntax error
|
||||||
|
|
||||||
dex
|
dex
|
||||||
dex
|
dex
|
||||||
|
@ -239,7 +239,7 @@ K.realpath ldy #3
|
||||||
jsr K.RealPath.RemoveAtX remove "/.."
|
jsr K.RealPath.RemoveAtX remove "/.."
|
||||||
|
|
||||||
.10 dex
|
.10 dex
|
||||||
lda K.Buf256,x go to "/dir"
|
lda K.Buf256,x go to "/dir"
|
||||||
cmp #'/'
|
cmp #'/'
|
||||||
bne .10
|
bne .10
|
||||||
|
|
||||||
|
@ -257,11 +257,11 @@ K.realpath ldy #3
|
||||||
>LDYAI MLI.MAXPATH+1
|
>LDYAI MLI.MAXPATH+1
|
||||||
jsr K.getmem
|
jsr K.getmem
|
||||||
bcs .90
|
bcs .90
|
||||||
|
|
||||||
.85 >STYA ZPPtr1
|
.85 >STYA ZPPtr1
|
||||||
|
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
.83 iny
|
.83 iny
|
||||||
lda K.Buf256,y
|
lda K.Buf256,y
|
||||||
sta (ZPPtr1),y
|
sta (ZPPtr1),y
|
||||||
|
@ -315,8 +315,11 @@ K.RealPath.RemoveAtX
|
||||||
* `>PUSHW expanded`
|
* `>PUSHW expanded`
|
||||||
* `>SYSCALL expand`
|
* `>SYSCALL expand`
|
||||||
* ## RETURN VALUE
|
* ## RETURN VALUE
|
||||||
* Y,A = PTR to Expanded String
|
* if expanded == null
|
||||||
* X = hMem to Expanded String (C-String)
|
* Y,A = PTR to Expanded String
|
||||||
|
* X = hMem to Expanded String
|
||||||
|
* if expanded != null
|
||||||
|
* Y,A = strlen
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.Expand ldy #2
|
K.Expand ldy #2
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
|
@ -324,12 +327,12 @@ K.Expand ldy #2
|
||||||
iny
|
iny
|
||||||
lda (pStack),y
|
lda (pStack),y
|
||||||
ply
|
ply
|
||||||
|
|
||||||
jsr K.strdup
|
jsr K.strdup
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
jmp .9
|
jmp .9
|
||||||
|
|
||||||
.1 phx Save temp string...
|
.1 phx Save temp string...
|
||||||
>STYA TXTPTR
|
>STYA TXTPTR
|
||||||
|
|
||||||
|
@ -341,7 +344,7 @@ K.Expand ldy #2
|
||||||
beq .80
|
beq .80
|
||||||
|
|
||||||
jsr SHARED.TXTPTRn
|
jsr SHARED.TXTPTRn
|
||||||
|
|
||||||
.11 cmp #'''
|
.11 cmp #'''
|
||||||
bne .21
|
bne .21
|
||||||
|
|
||||||
|
@ -364,8 +367,8 @@ K.Expand ldy #2
|
||||||
|
|
||||||
lda #'$' End of string, output $
|
lda #'$' End of string, output $
|
||||||
bra .22
|
bra .22
|
||||||
|
|
||||||
.24
|
.24
|
||||||
* sec
|
* sec
|
||||||
ror ENV.bExp Toggle Expanded flag
|
ror ENV.bExp Toggle Expanded flag
|
||||||
stz ENV.VarEndChar
|
stz ENV.VarEndChar
|
||||||
|
@ -382,7 +385,7 @@ K.Expand ldy #2
|
||||||
|
|
||||||
.35 jsr SHARED.TXTPTRn skip $x
|
.35 jsr SHARED.TXTPTRn skip $x
|
||||||
bra .10
|
bra .10
|
||||||
|
|
||||||
.40 jsr ENV.ExpandStrVar
|
.40 jsr ENV.ExpandStrVar
|
||||||
bcc .70
|
bcc .70
|
||||||
|
|
||||||
|
@ -395,14 +398,14 @@ K.Expand ldy #2
|
||||||
bcs .70
|
bcs .70
|
||||||
|
|
||||||
ldx ENV.BufPtr
|
ldx ENV.BufPtr
|
||||||
|
|
||||||
.51 lda K.Buf256,x
|
.51 lda K.Buf256,x
|
||||||
beq .52
|
beq .52
|
||||||
inx
|
inx
|
||||||
bra .51
|
bra .51
|
||||||
|
|
||||||
.52 stx ENV.BufPtr
|
.52 stx ENV.BufPtr
|
||||||
|
|
||||||
.70 lda (TXTPTR)
|
.70 lda (TXTPTR)
|
||||||
beq .72
|
beq .72
|
||||||
|
|
||||||
|
@ -411,7 +414,7 @@ K.Expand ldy #2
|
||||||
jsr SHARED.TXTPTRn
|
jsr SHARED.TXTPTRn
|
||||||
bra .70
|
bra .70
|
||||||
|
|
||||||
.72 lda ENV.VarEndChar
|
.72 lda ENV.VarEndChar
|
||||||
bne .35 skip "}" and loop
|
bne .35 skip "}" and loop
|
||||||
|
|
||||||
bra .10
|
bra .10
|
||||||
|
@ -422,14 +425,35 @@ K.Expand ldy #2
|
||||||
pla discard temp string
|
pla discard temp string
|
||||||
jsr K.FreeMem
|
jsr K.FreeMem
|
||||||
|
|
||||||
>LDYAI K.Buf256 dup in case of '' processing
|
|
||||||
jsr K.strdup
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
bit ENV.bExp Did we expand something ?
|
bit ENV.bExp Did we expand something ?
|
||||||
bpl .9
|
bpl .81
|
||||||
|
|
||||||
|
jsr STRING.DupBuf256
|
||||||
|
bcs .9
|
||||||
|
|
||||||
jmp .1
|
jmp .1
|
||||||
|
|
||||||
|
.81 ldy #1
|
||||||
|
lda (pStack),y
|
||||||
|
beq .83
|
||||||
|
|
||||||
|
sta ZPPtr1+1
|
||||||
|
lda (pStack)
|
||||||
|
sta ZPPtr1
|
||||||
|
|
||||||
|
ldy #$ff
|
||||||
|
|
||||||
|
.82 iny
|
||||||
|
lda K.Buf256,y
|
||||||
|
sta (ZPPtr1),y
|
||||||
|
bne .82
|
||||||
|
|
||||||
|
* Y = len, A = 0
|
||||||
|
|
||||||
|
bra .9
|
||||||
|
|
||||||
|
.83 jsr STRING.DupBuf256
|
||||||
|
|
||||||
.9 >RET 4
|
.9 >RET 4
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ENV.SysVar jsr ZP.IsDigit $0 ... $9 ?
|
ENV.SysVar jsr ZP.IsDigit $0 ... $9 ?
|
||||||
|
@ -451,7 +475,7 @@ ENV.SysVar jsr ZP.IsDigit $0 ... $9 ?
|
||||||
beq .3
|
beq .3
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .2
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@ -464,14 +488,14 @@ ENV.SysVar jsr ZP.IsDigit $0 ... $9 ?
|
||||||
ENV.SysVarsNum jsr MATH.A2STR10NP
|
ENV.SysVarsNum jsr MATH.A2STR10NP
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
.1 lda FOUTBuf,y
|
.1 lda FOUTBuf,y
|
||||||
beq ENV.SysVarsNum.8
|
beq ENV.SysVarsNum.8
|
||||||
|
|
||||||
iny
|
iny
|
||||||
jsr ENV.AddAToBuf
|
jsr ENV.AddAToBuf
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
ENV.SysVarsNum.8
|
ENV.SysVarsNum.8
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
@ -544,15 +568,15 @@ ENV.AddYAToBuf >STYA ZPPtr3
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ENV.AddP3ToBuf ldx ENV.BufPtr
|
ENV.AddP3ToBuf ldx ENV.BufPtr
|
||||||
ldy #$ff
|
ldy #$ff
|
||||||
|
|
||||||
dex
|
dex
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
inx
|
inx
|
||||||
lda (ZPPtr3),y
|
lda (ZPPtr3),y
|
||||||
sta K.Buf256,x
|
sta K.Buf256,x
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
stx ENV.BufPtr
|
stx ENV.BufPtr
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -562,7 +586,7 @@ ENV.AddAToBuf ldx ENV.BufPtr
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ENV.NextEnvP3 jsr ENV.GetP3LenY
|
ENV.NextEnvP3 jsr ENV.GetP3LenY
|
||||||
|
|
||||||
tya
|
tya
|
||||||
sec
|
sec
|
||||||
adc ZPPtr3
|
adc ZPPtr3
|
||||||
|
|
|
@ -91,6 +91,9 @@ K.StrCpy clc
|
||||||
* CS : error
|
* CS : error
|
||||||
* A = SYS error code
|
* A = SYS error code
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
|
STRING.DupBuf256
|
||||||
|
>LDYAI K.Buf256
|
||||||
|
|
||||||
K.StrDup >STYA .1+1
|
K.StrDup >STYA .1+1
|
||||||
>STYA .4+1
|
>STYA .4+1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user