KERNEL:changes for most compilers

This commit is contained in:
burniouf 2022-11-02 07:54:30 +01:00
parent b757926227
commit 3d241a05d8
89 changed files with 3024 additions and 2735 deletions

Binary file not shown.

View File

@ -91,9 +91,9 @@ CS.RUN
.4
bit bFast ; did they want us to switch to fast mode?
bpl .5 ; no, so go check next possibility
>PUSHW L.MSG.FAST ; push address for fast mode message
>PUSHBI 0
>SYSCALL PrintF ; print fast mode msg
>LDYA L.MSG.FAST ; push address for fast mode message
>SYSCALL PutS ; print fast mode msg
jsr CS.RUN.SetFastMode ; call fast mode routine
jmp .99 ; jump to successful exit
@ -101,17 +101,15 @@ CS.RUN
.5
bit bSlow ; did they want us to switch to slow mode?
bpl .9 ; no, so go display usage
>PUSHW L.MSG.SLOW ; push address for slow mode message
>PUSHBI 0
>SYSCALL PrintF ; print slow mode message
>LDYA L.MSG.SLOW ; push address for slow mode message
>SYSCALL PutS ; print slow mode message
jsr CS.RUN.SetSlowMode ; call slow mode routine
jmp .99 ; jump to successful exit
*--- Display usage and error out ------
.9
>PUSHW L.MSG.USAGE ; push address for usage text
>PUSHBI 0
>SYSCALL PrintF ; print usage message
>LDYA L.MSG.USAGE ; push address for usage text
>SYSCALL PutS ; print usage message
lda #E.SYN ; set OS return code as Syntax Error
sec ; indicate we don't want CS.RUN called again
rts ; return to OS
@ -216,11 +214,11 @@ CS.RUN.SetSlowMode
*--------------------------------------
CS.END
*--------------------------------------
MSG.USAGE .AS "Usage : ACC\r\n"
.AS " -F : Fast speed\r\n"
.AZ " -S : Slow speed\r\n"
MSG.MSG.FAST .AZ "FAST mode enabled\r\n"
MSG.MSG.SLOW .AZ "SLOW mode enabled\r\n"
MSG.USAGE .CS "Usage : ACC\r\n"
.CS " -F : Fast speed\r\n"
.CZ " -S : Slow speed\r\n"
MSG.MSG.FAST .CZ "FAST mode enabled"
MSG.MSG.SLOW .CZ "SLOW mode enabled"
*--------------------------------------
OptionList .AS "FfSs"
OptionVars .DA #bFast,#bFast,#bSlow,#bSlow

View File

@ -190,7 +190,7 @@ CORE.Compile jsr CORE.GetChar
bra .8
.4 jsr CODE.LDVARDDRI
ldx #RT.IntSet.ID
jsr CODE.JSRRT Store Int16 result in DATASEG
*--------------------------------------
@ -262,7 +262,7 @@ CORE.FWREF >LDYA L.MSG.FWREF
>PUSHW ZPInputBufPtr
>PUSHBI 2
>SYSCALL PrintF
lda #E.CSYN
sec
rts
@ -291,13 +291,13 @@ CORE.Run jsr CORE.Cleanup
>PUSHA
pla
>PUSHA Code Size
lda ZPDataBufPtr
sta ZPPtr1
sta ZPPtr1
lda ZPDataBufPtr+1
sta ZPPtr1+1
sta ZPPtr1+1
>LDA.G hDataBuf
>SYSCALL GetMemPtr
>STYA ZPDataBufPtr
@ -314,28 +314,28 @@ CORE.Run jsr CORE.Cleanup
>PUSHA
eor #$ff
sta ZPPtr2+1
pla
>PUSHA Data Size
>PUSHBI 4
>SYSCALL PrintF
lda #0
tay
.1 inc ZPPtr2
bne .2
inc ZPPtr2+1
beq .8
.2 sta (ZPDataBufPtr),y
iny
bne .1
inc ZPDataBufPtr+1
bra .1
.8 jmp (ZPCodeBufPtr)
*--------------------------------------
CORE.LookupAOPS lda (ZPInputBufPtr)
@ -496,6 +496,7 @@ CORE.CreateLabel
*--------------------------------------
CORE.GetLabel >PUSHB.G hLabels
>PUSHW ZPInputBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .9
@ -584,7 +585,7 @@ CORE.CreateOrGetVar
lda #E.TMISMATCH
sec
rts
.8 clc
.9 rts
*--------------------------------------
@ -592,6 +593,7 @@ CORE.NewVarKey >LDA.G hVars
CORE.NewKey >PUSHA
>PUSHW ZPInputBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .9
@ -609,6 +611,7 @@ CORE.GetAddr >PUSHA
>PUSHA for SListGetData
>PUSHW ZPInputBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .9
@ -655,11 +658,11 @@ CORE.GetWord lda ZPDataBufPtr
lda ZPDataBufPtr+1
bcc .8
inc ZPDataBufPtr+1
clc
.8 rts
*--------------------------------------
CORE.GetStrID inc STRID

View File

@ -54,7 +54,7 @@ EXP.Eval.R lda EXP.AOP
jsr EXP.FNjmpX
bra .39
.25 jsr EXP.VARLookup
bra .39
*--------------------------------------
@ -77,7 +77,7 @@ EXP.Eval.R lda EXP.AOP
phx
jsr EXP.ComputeAll compute all until $FF
plx
bcs .99
txa
@ -115,7 +115,7 @@ EXP.Eval.R lda EXP.AOP
*--------------------------------------
.80 jsr EXP.ComputeAll go compute (arg1 op1 arg2)
bcs .99
inc pStack discard $FF
bra .88
@ -154,7 +154,7 @@ EXP.CreateStrConst
sta (ZPStrBuf1),y
iny
bne .1
.9 lda #E.ESYN
* sec
.99 rts
@ -178,10 +178,10 @@ EXP.CreateStrConst
*--------------------------------------
EXP.Int16 jsr CORE.IsDigit10
bcc .1
cmp #'-'
bne .90
.1 >PUSHW ZPInputBufPtr
>PUSHWI ZPInputBufPtr
>PUSHBI 10
@ -191,11 +191,11 @@ EXP.Int16 jsr CORE.IsDigit10
jsr CODE.PUSHINT16
>POP 4 Discard long on stack
clc
rts
.90 lda #E.ESYN
.90 lda #E.ESYN
sec
.99 rts
*--------------------------------------
@ -205,6 +205,7 @@ EXP.VARLookup >LDA.G hVars
>PUSHA for SListGetData/SListAddData
>PUSHW ZPInputBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .3
@ -253,7 +254,7 @@ EXP.VARLookup >LDA.G hVars
*--------------------------------------
.7 ldy EXP.ADDR
ldx EXP.ADDR+1
lda EXP.TYPE
bne .8
@ -262,8 +263,8 @@ EXP.VARLookup >LDA.G hVars
ldx #RT.IntGet.ID
clc
jmp CODE.JSRRT
.8 clc
.8 clc
jmp CODE.PUSHYXI
*--------------------------------------
EXP.ComputeAll lda (pStack)
@ -274,12 +275,12 @@ EXP.ComputeAll lda (pStack)
tay
jsr EXP.ComputeY go compute (arg1 op1 arg2)
bcc EXP.ComputeAll
* sec
* sec
rts
.8 clc
rts
rts
*--------------------------------------
EXP.ComputeY lda EXP.TYPE
bne .1
@ -288,32 +289,32 @@ EXP.ComputeY lda EXP.TYPE
jsr CODE.FPUCALL
clc
rts
.1 cpy #3 +
bne .2
ldx #RT.StrAdd.ID
clc
jmp CODE.JSRRT
jmp CODE.JSRRT
.2 stz EXP.TYPE at the end ....TRUE/FALSE is int
cpy #11 <>
bne .3
ldx #RT.StrCmp.ID
clc
jmp CODE.JSRRT
.3 cpy #13 =
bne .9
ldx #RT.StrCmp.ID
jsr CODE.JSRRT
ldx #RT.NOT.ID
clc
jmp CODE.JSRRT
jmp CODE.JSRRT
.9 lda #E.TMISMATCH
sec

View File

@ -505,37 +505,31 @@ CCODE.TESTTRUE.LEN .EQ *-CCODE.TESTTRUE
*--------------------------------------
* Initialized DATA
*--------------------------------------
MSG.GREETINGS .AZ "\r\nACOS-Shell %d.%d\r\n\r\n"
MSG.USAGE .AS "Usage : ACOS <option> file\r\n"
.AS " -D : Debug Mode\r\n"
.AS " -T : Trace On"
.AZ "\r\n"
MSG.GREETINGS .CZ "\r\nACOS-Shell %d.%d\r\n\r\n"
MSG.USAGE .CS "Usage : ACOS <option> file\r\n"
.CS " -D : Debug Mode\r\n"
.CS " -T : Trace On"
OUT.CRLF .CZ "\r\n"
*--------------------------------------
MSG.COMPILING .AZ "***Compiling : %s...\r\n"
MSG.DEBUG .AZ "***CodePtr=%H DataPtr=%H StackPtr=%H\r\n"
MSG.TRACE .AZ "%05D>%s\r\n"
MSG.ERROR .AZ " %s^\r\n"
MSG.FWREF .AZ "***Resolving FWRefs..."
MSG.FWREFERR .AZ "***Unresolved FWRef : %s\r\n"
MSG.RUN .AZ "***Code size: %D, Data Size: %D, Running...\r\n"
MSG.STR .AZ "%s"
MSG.INT16 .AZ "%I"
MSG.COMPILING .CZ "***Compiling : %s...\r\n"
MSG.DEBUG .CZ "***CodePtr=%H DataPtr=%H StackPtr=%H\r\n"
MSG.TRACE .CZ "%05D>%s\r\n"
MSG.ERROR .CZ " %s^\r\n"
MSG.FWREF .CZ "***Resolving FWRefs..."
MSG.FWREFERR .CZ "***Unresolved FWRef : %s\r\n"
MSG.RUN .CZ "***Code size: %D, Data Size: %D, Running...\r\n"
MSG.STR .CZ "%s"
MSG.INT16 .CZ "%I"
*--------------------------------------
OUT.ELW .DA #C.ESC
.AZ "[?7h" Enable Line Wrap
OUT.DLW .DA #C.ESC
.AZ "[?7l" Disable Line Wrap
OUT.CRLF .DA #C.CR,#C.LF,#0
OUT.BSSPBS .DA #C.BS,#C.SPACE,#C.BS,#0
OUT.CLRSCR .DA #C.ESC
.AS "c"
.DA #C.ESC
.AS "(B"
.DA #C.ESC
.AZ ")0"
OUT.ELW .CZ "\e[?7h" Enable Line Wrap
OUT.DLW .CZ "\e[?7l" Disable Line Wrap
OUT.BSSPBS .CZ "\b \b"
OUT.CLRSCR .CS "\ec"
.CS "\e(B"
.CZ "\e)0"
*--------------------------------------
FMT.DATE .AZ "%m/%d/%y"
FMT.TIME .AZ "%H:%M:%S"
FMT.DATE .CZ "%m/%d/%y"
FMT.TIME .CZ "%H:%M:%S"
*--------------------------------------
OptionList .AS "DdTt"
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace

View File

@ -66,6 +66,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
lda (pPS),y
cmp #1
bcs .2
jmp CS.RUN.DUMP
.2 lda #1
@ -88,9 +89,8 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
bne CS.RUN.ERR
jmp CS.RUN.ADD
CS.RUN.ERR >PUSHW L.MSG.Usage
>PUSHBI 0
>SYSCALL PrintF
CS.RUN.ERR >LDYA L.MSG.Usage
>SYSCALL PutS
lda #E.SYN
sec
rts
@ -101,13 +101,17 @@ CS.RUN.QUERY jsr Init.Timeout
>PUSHEA.G DST.IP
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.Query
bcc .2 success, print & exit
jsr Wait.TimeOut
bcs .8
>SLEEP
>SYSCALL GetChar
bcs .1
cmp #3
beq .9
bra .1
.2 >PUSHW L.MSG2
@ -130,7 +134,9 @@ CS.RUN.QUERY jsr Init.Timeout
>PUSHBI 10
>SYSCALL PrintF
.8 lda #0
.9 sec
rts
*--------------------------------------
@ -151,8 +157,10 @@ CS.RUN.ADD lda #2
>PUSHEA.G DST.MAC
>PUSHEA.G DST.IP
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.Add
clc
.8 rts
rts
.9 jmp CS.RUN.ERR
*--------------------------------------
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GetCache
@ -213,8 +221,10 @@ CS.DOEVENT lda (pEvent)
ldy #TimeOut
lda (pData),y
beq .9
dec
sta (pData),y
.9 sec do not discard TIMER event
rts
*--------------------------------------
@ -222,6 +232,7 @@ CS.QUIT lda hLIBTCPIP
beq .8
>SYSCALL UnloadLib
.8 clc
rts
*--------------------------------------
@ -234,20 +245,22 @@ Wait.TimeOut sec
ldy #TimeOut
lda (pData),y
beq .9
clc
.9 rts
*--------------------------------------
CS.END
LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
SSCANF.IP .AZ "%d.%d.%d.%d"
SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h"
MSG.Usage .AS "Usage : ARP, display ARP cache\r\n"
.AS " ARP ip.ip.ip.ip query cache or network\r\n"
.AZ " ARP ip.ip.ip.ip HH:HH:HH:HH:HH:HH add a static ARP record in Cache\r\n"
MSG0 .AZ "STS TTL MAC Address IP Address"
MSG1 .AZ "$%h %5D %h:%h:%h:%h:%h:%h %d.%d.%d.%d\r\n"
MSG2 .AZ "%d.%d.%d.%d is at %h:%h:%h:%h:%h:%h\r\n"
hLIBTCPIP .BS 1
MSG.Usage .CS "Usage : ARP display ARP cache\r\n"
.CS " ARP ip.ip.ip.ip query cache or network\r\n"
.CZ " ARP ip.ip.ip.ip HH:HH:HH:HH:HH:HH add a static ARP record in cache\r\n"
MSG0 .CZ "STS TTL MAC Address IP Address"
MSG1 .CZ "$%h %5D %h:%h:%h:%h:%h:%h %d.%d.%d.%d\r\n"
MSG2 .CZ "%d.%d.%d.%d is at %h:%h:%h:%h:%h:%h\r\n"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -627,6 +627,7 @@ DIR.MA >LDA.G ASM.MA.ON
>PUSHB.G MAC.hList
>PUSHW ZPLinePtr
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .99

View File

@ -6,18 +6,18 @@ MAC.Init lda #SL..+SL._
bcs .9
>STA.G MAC.hList
>LDYAI 256
>SYSCALL GetMem
bcs .9
txa
>STA.G MAC.hBuf
>LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA ZPMacroArgBuf
txa
>STA.G MAC.hArgBuf
@ -25,16 +25,16 @@ MAC.Init lda #SL..+SL._
>LDYAI MA.MAXDEPTH*6
>SYSCALL GetMem
bcs .9
>STYA ZPMacroStk
txa
>STA.G MAC.hStk
.9 rts
*---------------------------------------
MAC.Quit >LDA.G MAC.StkPtr
beq .10
jsr MAC.Pop
bra MAC.Quit
@ -42,7 +42,7 @@ MAC.Quit >LDA.G MAC.StkPtr
beq .1
>SYSCALL FreeMem
.1 >LDA.G MAC.hBuf
beq .2
@ -55,22 +55,22 @@ MAC.Quit >LDA.G MAC.StkPtr
.3 >LDA.G MAC.hList
beq .8
>SYSCALL SListFree
.8 clc
rts
rts
*---------------------------------------
MAC.Learn >LDA.G MAC.hBuf
>SYSCALL GetMemPtr
>STYA ZPMacroBuf
>STZ.G MAC.BufPtr
sta (ZPMacroBuf)
lda (ZPLinePtr)
cmp #C.SPACE No label, scan to DIR/OP if any
bne .1
jsr SRC.GetNextCharNB
bcs .8
@ -80,66 +80,66 @@ MAC.Learn >LDA.G MAC.hBuf
lda (ZPLinePtr) get back non blank char
bra .2
.1 jsr MAC.AddChar
bcs .99
jsr SRC.GetNextChar
bcs .80
cmp #C.SPACE
bne .1
jsr MAC.AddChar
.90 bcs .99
jsr SRC.GetNextCharNB
bcs .80
.2 cmp #'.' Directive ?
bne .4
ldy #1
lda (ZPLinePtr),y
beq .3
cmp #'E'
beq .21
cmp #'e'
bne .3
.21 iny
lda (ZPLinePtr),y
beq .3
cmp #'M'
beq .22
cmp #'m'
bne .3
.22 >STZ.G ASM.MA.ON
.8 clc
rts
.80 lda #C.CR
jmp MAC.AddChar
.3 lda (ZPLinePtr)
.4 jsr MAC.AddChar
bcs .99
jsr SRC.GetNextChar
bcs .80
cmp #C.SPACE
bne .4
jsr SRC.GetNextChar
bcs .8
cmp #C.SPACE
beq .80 Comments...
@ -165,7 +165,7 @@ MAC.Learn >LDA.G MAC.hBuf
MAC.AddChar tax
>LDA.G ASM.PASS If Pass#2, ignore
bne .8
>LDA.G MAC.BufPtr
tay
txa
@ -176,7 +176,7 @@ MAC.AddChar tax
cmp #C.CR
bne .8
.1 >PUSHB.G MAC.hList
>PUSHW.G MAC.ID
>PUSHW ZPMacroBuf
@ -186,7 +186,7 @@ MAC.AddChar tax
>PUSHYA
>SYSCALL SListAddData
rts
.8 clc
rts
*---------------------------------------
@ -195,11 +195,12 @@ MAC.Exec jsr SRC.GetNextChar skip '>'
>PUSHB.G MAC.hList
>PUSHW ZPLinePtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .90
>STYA ZPPtr1 MAC.ID
jsr SRC.SkipX
.1 jsr SRC.GetChar
@ -218,19 +219,19 @@ MAC.Exec jsr SRC.GetNextChar skip '>'
bcc .2
.8 jmp MAC.Push
.90 lda #E.MACRO.INV
* sec
rts
rts
.92 lda #E.SYNTAX.ERROR
sec
MAC.Exec.RTS rts
MAC.Exec.RTS rts
*---------------------------------------
MAC.ReadLine >LDA.G MAC.hBuf
>SYSCALL GetMemPtr
>STYA ZPMacroBuf
jsr MAC.Get ZPMacroArgBuf = args
>PUSHB.G MAC.hList
@ -251,67 +252,67 @@ MAC.ReadLine >LDA.G MAC.hBuf
sta ZPPtr2+1
ldy #0
stz DIR.Byte
.1 lda (ZPMacroBuf)
beq .8
cmp #C.CR
beq .8
inc ZPMacroBuf
bne .2
inc ZPMacroBuf+1
.2 cmp #']'
bne .7
bit DIR.Byte
bmi .7
lda (ZPMacroBuf)
beq .9
inc ZPMacroBuf
bne .21
inc ZPMacroBuf+1
.21 cmp #'#'
bne .22
lda ZPMacroArgCnt
ora #$30
bra .7
.22 cmp #'1'
bcc .6
cmp #'9'+1
bcs .6
and #$0f
tax
dec
cmp ZPMacroArgCnt
bcs .1
jsr MAC.GetArgX
bcs .1 no arg ]n, append nothing
.3 lda (ZPPtr1)
sta (ZPLineBuf),y
iny
inc ZPPtr1
bne .4
inc ZPPtr1+1
.4 dex
bne .3
bra .1
.6 pha
lda #']'
sta (ZPLineBuf),y
@ -321,15 +322,15 @@ MAC.ReadLine >LDA.G MAC.hBuf
.7 sta (ZPLineBuf),y
iny
bra .1
.8 lda #0
sta (ZPLineBuf),y
jmp MAC.Put
.9 lda #E.SYNTAX.ERROR
sec
MAC.ReadLine.RTS
rts
rts
*---------------------------------------
MAC.Push >LDA.G MAC.StkPtr
cmp #MA.MAXDEPTH*6
@ -337,28 +338,28 @@ MAC.Push >LDA.G MAC.StkPtr
>LDA.G MAC.CtxID
pha
>INC.G MAC.CtxStackPtr
clc
adc #MAC.CtxStack-1
tay
pla
sta (pData),y
>INC.G MAC.CtxNextID
>STA.G MAC.CtxID
ldy #$ff
.10 iny
lda (ZPLinePtr),y
bne .10
iny
iny
lda #0
>SYSCALL GetMem
bcs MAC.ReadLine.RTS
@ -366,35 +367,35 @@ MAC.Push >LDA.G MAC.StkPtr
phx hArgs
ldx #0 arg cnt
.1 ldy #$ff
stz DIR.Byte between " flag
.2 iny
lda (ZPLinePtr),y
beq .3
cmp #C.SPACE end of args ?
bne .21
bit DIR.Byte
beq .3
.20 sta (ZPPtr2)
inc ZPPtr2
bne .2
inc ZPPtr2+1
bra .2
.21 cmp #'"'
bne .22
lda DIR.Byte
eor #$ff
sta DIR.Byte
bra .2
.22 cmp #','
bne .20
@ -403,35 +404,35 @@ MAC.Push >LDA.G MAC.StkPtr
lda #0
sta (ZPPtr2)
inc ZPPtr2
bne .23
inc ZPPtr2+1
.23 tya
beq .4
inx
sec
adc ZPLinePtr
sta ZPLinePtr
bcc .1
inc ZPLinePtr+1
bra .1
.3 lda #0
sta (ZPPtr2)
tya
beq .4
inx
.4 >LDA.G MAC.StkPtr
tay
pla push hArgs
sta (ZPMacroStk),y
iny
@ -439,19 +440,19 @@ MAC.Push >LDA.G MAC.StkPtr
txa push arg count
sta (ZPMacroStk),y
iny
lda #0 push offset
sta (ZPMacroStk),y
iny
sta (ZPMacroStk),y
iny
lda ZPPtr1+1 push MAC.ID
sta (ZPMacroStk),y
iny
lda ZPPtr1
sta (ZPMacroStk),y
iny
tya
>STA.G MAC.StkPtr
@ -469,12 +470,12 @@ MAC.Pop >LDA.G MAC.StkPtr
dec
dec offset
dec arg cnt
dec hArgs
sta (pData),y 6 bytes off stack
tay
lda (ZPMacroStk),y
>SYSCALL FreeMem
@ -486,36 +487,36 @@ MAC.Pop >LDA.G MAC.StkPtr
lda (pData),y
>STA.G MAC.CtxID
>DEC.G MAC.CtxStackPtr
clc
rts
*---------------------------------------
MAC.Get >LDA.G MAC.StkPtr
tay
dey
lda (ZPMacroStk),y
sta ZPPtr1
dey
lda (ZPMacroStk),y
sta ZPPtr1+1 get mac ID
dey
lda (ZPMacroStk),y
sta ZPPtr2
dey
lda (ZPMacroStk),y
sta ZPPtr2+1 get offset
dey
lda (ZPMacroStk),y get arg count
sta ZPMacroArgCnt
dey
lda (ZPMacroStk),y
>SYSCALL GetMemPtr
>STYA ZPMacroArgBuf get args
rts
*---------------------------------------
@ -524,14 +525,14 @@ MAC.Put >LDA.G MAC.StkPtr
tay
dey to arg cnt
dey
dey skip mac ID
lda ZPPtr2
sta (ZPMacroStk),y
dey
lda ZPPtr2+1
sta (ZPMacroStk),y save offset
clc
@ -541,26 +542,26 @@ MAC.GetArgX phy
>LDYA ZPMacroArgBuf
>STYA ZPPtr1
.1 ldy #$ff
.2 iny
lda (ZPPtr1),y
bne .2
.3 dex
beq .4
tya
beq .9
sec
adc ZPPtr1
sta ZPPtr1
bcc .1
inc ZPPtr1+1
bra .1
.4 tya
tax
beq .9
@ -568,7 +569,7 @@ MAC.GetArgX phy
ply
clc
rts
.9 ply
sec
rts

View File

@ -51,6 +51,7 @@ SYM.NewGlobal >LDA.G ASM.PASS
>PUSHB.G SYM.hList
>PUSHW ZPLinePtr Pass #1: try to add global...
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .9 Already Defined
@ -87,6 +88,7 @@ SYM.NewGlobal.RTS
*---------------------------------------
SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined...
>PUSHW ZPLinePtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs SYM.NewGlobal.RTS
@ -143,6 +145,7 @@ SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined...
SYM.LookupGlobal
>PUSHB.G SYM.hList
>PUSHW ZPLinePtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .4
@ -403,7 +406,7 @@ SYM.LookupLocalX
beq .99
phy SYML.ID
txa
cmp (ZPSymbolBuf),y
bne .4
@ -622,16 +625,16 @@ SYM.Dump.PushValueY
iny
lda (ZPSymbolBuf),y
sta SRC.ACC+1
stz SRC.ACC+2
stz SRC.ACC+3
ldy #SYMG.V
ldx #0
clc
.1 lda (ZPSymbolBuf),y
.1 lda (ZPSymbolBuf),y
adc SRC.ACC,x
sta SRC.ACC,x
iny
@ -641,8 +644,8 @@ SYM.Dump.PushValueY
bne .1
ldx #3
.2 lda SRC.ACC,x
.2 lda SRC.ACC,x
>PUSHA
dex
bpl .1

View File

@ -89,9 +89,8 @@ CS.RUN jsr CS.RUN.GetInfo
sec
.9 rts
*--------------------------------------
CS.RUN.USAGE >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
CS.RUN.USAGE >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
@ -326,16 +325,16 @@ CS.QUIT lda hReplyBuf
rts
*--------------------------------------
CS.END
MSG.USAGE .AZ "Usage : ATMOUNT [VOLUME]"
MSG.NOATK .AZ "AppleTalk Not Loaded."
MSG.NOSESSION .AZ "No Active AppleTalk Session."
MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n"
MSG.GETINFO .AS "Network/Node:%H/%h\r\n"
.AS "Bridge : %h\r\n"
.AZ "HWID/ROMVER :%H/%h\r\n"
MSG.VOLLIST .AZ "Flags Volume Name"
MSG.VOL .AZ "%b %S\r\n"
MSG.MOUNTED .AZ "Volume %S Mounted as s%dd%d\r\n"
MSG.USAGE .CZ "Usage : ATMOUNT [VOLUME]"
MSG.NOATK .CZ "AppleTalk Not Loaded."
MSG.NOSESSION .CZ "No Active AppleTalk Session."
MSG.ATKERR .CZ "AppleTalk Call %h, ERR:%H\r\n"
MSG.GETINFO .CS "Network/Node:%H/%h\r\n"
.CS "Bridge : %h\r\n"
.CZ "HWID/ROMVER :%H/%h\r\n"
MSG.VOLLIST .CZ "Flags Volume Name"
MSG.VOL .CZ "%b %S\r\n"
MSG.MOUNTED .CZ "Volume %S Mounted as s%dd%d\r\n"
*--------------------------------------
FPGetSrvrParms .DA #16
FPGetSrvrParms.Len .EQ *-FPGetSrvrParms

View File

@ -83,9 +83,8 @@ CS.RUN dec AttrAND set mask = $ff
.1 jsr CS.RUN.CheckSwitch
bcc CS.RUN
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts
@ -406,10 +405,14 @@ CS.QUIT jsr LeaveSubDir
bcc CS.QUIT
>LDA.G hFilter
beq .1
>SYSCALL FreeMem
.1 >LDA.G hSrcFullPath
beq .8
>SYSCALL FreeMem
.8 clc
rts
*--------------------------------------
@ -425,22 +428,22 @@ AttrMask .DA #S.FI.A.D,#S.FI.A.RN,#S.FI.A.B,#S.FI.A.I,#S.FI.A.W,#S.FI.A.R
*--------------------------------------
ATTRS .AS "DeReBn----InWrRd"
*--------------------------------------
MSG.USAGE .AS "Usage : ATTR File(s) (*,? wildcards allowed)\r\n"
.AS " -C : Continue on error\r\n"
.AS " -R : Recurse subdirectories\r\n"
.AS "+|-De : Destroy enable\r\n"
.AS "+|-Re : Rename enable\r\n"
.AS "+|-Bn : Backup needed\r\n"
.AS "+|-In : Invisible\r\n"
.AS "+|-Wr : Write enable\r\n"
.AZ "+|-Rd : Read enable\r\n"
MSG.USAGE .CS "Usage : ATTR File(s) (*,? wildcards allowed)\r\n"
.CS " -C : Continue on error\r\n"
.CS " -R : Recurse subdirectories\r\n"
.CS "+|-De : Destroy enable\r\n"
.CS "+|-Re : Rename enable\r\n"
.CS "+|-Bn : Backup needed\r\n"
.CS "+|-In : Invisible\r\n"
.CS "+|-Wr : Write enable\r\n"
.CZ "+|-Rd : Read enable\r\n"
*--------------------------------------
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.DIRDUMP .AZ "%s %s/\r\n"
MSG.FILEDUMP .AZ "%s %s\r\n"
MSG.DIR .AZ "Dir :%s..."
MSG.FILE .AZ "File:%s..."
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.DIRDUMP .CZ "%s %s/\r\n"
MSG.FILEDUMP .CZ "%s %s\r\n"
MSG.DIR .CZ "Dir :%s..."
MSG.FILE .CZ "File:%s..."
*--------------------------------------
.DUMMY
.OR 0

View File

@ -163,9 +163,8 @@ CS.RUN.ARGS inc ArgIndex
clc
.9 rts
.90 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.90 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec QUIT Process
@ -494,13 +493,13 @@ CS.END
*--------------------------------------
* Initialized DATA
*--------------------------------------
MSG.GREETINGS .AZ "\r\nBrainFuck-Shell %d.%d\r\n\r\n"
MSG.USAGE .AS "Usage : BF <option> file\r\n"
.AS " -D : Debug Mode\r\n"
.AS " -T : Trace On"
MSG.ECHOCRLF .AZ "\r\n"
MSG.DEBUG .AZ "pCode=%H, pData=%H(%h), pStack=%H\r\n"
MSG.ERR .AZ "-^\r\nLine #%D:"
MSG.GREETINGS .CZ "\r\nBrainFuck-Shell %d.%d\r\n\r\n"
MSG.USAGE .CS "Usage : BF <option> file\r\n"
.CS " -D : Debug Mode\r\n"
.CS " -T : Trace On"
MSG.ECHOCRLF .CZ "\r\n"
MSG.DEBUG .CZ "pCode=%H, pData=%H(%h), pStack=%H\r\n"
MSG.ERR .CZ "-^\r\nLine #%D:"
*--------------------------------------
OptionList .AS "DdTt"
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace

View File

@ -516,9 +516,9 @@ CS.RUN.OpenInput
rts
*--------------------------------------
CS.RUN.ReadInput
>PUSHW ZPInputRowBytes
>PUSHB.G hInputFile
>PUSHW ZPInputBuf
>LDA.G hInputFile
>PUSHW ZPInputRowBytes
>SYSCALL FRead
bcs .9
@ -584,15 +584,15 @@ CS.RUN.WriteOutput
>LDA.G bNoHeader
bmi .1
>PUSHWI S.BM
>PUSHB.G hOutputFile
>PUSHEA.G PIX.Header
>LDA.G hOutputFile
>PUSHWI S.BM
>SYSCALL FWrite
bcs .9
.1 >PUSHW.G OutputDataLen
.1 >PUSHB.G hOutputFile
>PUSHW ZPOutputBuf
>LDA.G hOutputFile
>PUSHW.G OutputDataLen
>SYSCALL FWrite
.9 rts
*--------------------------------------
@ -701,11 +701,11 @@ CS.END
*--------------------------------------
OptionList .AS "VvHh"
OptionVars .DA #bVerbose,#bVerbose,#bNoHeader,#bNoHeader
MSG.USAGE .AS "Usage : BMP2PIX BMP-File \r\n"
.AZ " -V : Verbose Mode\r\n"
MSG.HEADER.OK .AZ "BMP Size : %D x %D pixels, %d bit(s)/pixel\r\n"
MSG.HEADER.KO .AZ "Invalid Input File Format"
MSG.DONE .AZ "All Done!!!"
MSG.USAGE .CS "Usage : BMP2PIX BMP-File\r\n"
.CZ " -V : Verbose Mode\r\n"
MSG.HEADER.OK .CZ "BMP Size : %D x %D pixels, %d bit(s)/pixel\r\n"
MSG.HEADER.KO .CZ "Invalid Input File Format"
MSG.DONE .CZ "All Done!!!"
*--------------------------------------
* LOWRES Patette : https://comp.sys.apple2.narkive.com/lTSrj2ZI/apple-ii-colour-rgb
*--------------------------------------

View File

@ -319,6 +319,7 @@ CC.GetDefine >LDA.G CC.hDefines
CC.SListLookup >PUSHA hSList
>PUSHA ...for SListGetData
>PUSHW ZPLineBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .99

View File

@ -39,7 +39,7 @@ CC.Link >LDYA L.MSG.LINKING
jsr CC.Link.Lookup
bcs .9
jsr CC.Link.Update
bcs .99
@ -66,7 +66,7 @@ CC.Link.Lookup >LDYA L.CC.SYSCALL
jsr CC.Link.LookupYA
ldx #1
bcc .99
>LDYA L.CC.FPUCALL
jsr CC.Link.LookupYA
ldx #2
@ -79,21 +79,21 @@ CC.Link.Lookup >LDYA L.CC.SYSCALL
lda #0
sta ArgIndex
clc
.1 adc #hLibOs
tay
lda (pData),y
>SYSCALL GetMemPtr
jsr CC.Link.LookupYA
bcs .2
ldx ArgIndex
inx
inx
inx
rts
.2 inc ArgIndex
lda ArgIndex
>CMP.G LibCount
@ -135,7 +135,7 @@ CC.Link.LookupYA
tay
iny
lda (ZPLookupPtr),y get fID
clc
rts
@ -151,7 +151,7 @@ CC.Link.LookupYA
*--------------------------------------
CC.Link.Update ldy #SYM.Addr
sta (ZPSymBufPtr),y
iny
txa
sta (ZPSymBufPtr),y
@ -166,10 +166,24 @@ CC.Link.Update ldy #SYM.Addr
>SYSCALL SListSetData
rts
*--------------------------------------
CC.Link.Dump >PUSHW L.MSG.LINKING2
CC.Link.Dump ldy #$ff
.1 iny
lda (pData),y
bne .1
iny
lda (pData),y
sta ZPPtr3
iny
lda (pData),y
sta ZPPtr3+1
>PUSHW L.MSG.LINKING2
>PUSHW ZPPtr1 ID
>PUSHW ZPPtr3 Scope
>PUSHW pData Name
>PUSHB (ZPSymBufPtr) SYM.T
@ -181,7 +195,7 @@ CC.Link.Dump >PUSHW L.MSG.LINKING2
>PUSHB (ZPSymBufPtr),y SYM.SC
ldy #SYM.DefSize
>PUSHB (ZPSymBufPtr),y
>PUSHB (ZPSymBufPtr),y
ldy #SYM.SizeOf+1
>PUSHB (ZPSymBufPtr),y
@ -193,13 +207,14 @@ CC.Link.Dump >PUSHW L.MSG.LINKING2
dey
>PUSHB (ZPSymBufPtr),y
>PUSHBI 12
>PUSHBI 14
>SYSCALL PrintF
rts
*--------------------------------------
CC.Link.CheckMain
>PUSHB.G CC.hScopes
>PUSHW L.CC.MAIN
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .9

View File

@ -17,7 +17,7 @@ SYM.New >STYA ZPPtr2 T/Q
>PUSHB.G CC.hScopes Global Scope
>PUSHW ZPLineBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs SYM.New.9
@ -360,6 +360,7 @@ SYM.GetAddr2 ldy #SYM.SC
*--------------------------------------
SYM.NewKey >PUSHA
>PUSHW ZPLineBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .9
@ -467,7 +468,7 @@ SYM.NewA bit bPass2
>PUSHB.G CC.hScopes Global Scope
>PUSHEA.G CC.CPSPFX
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .99
@ -626,6 +627,7 @@ SYM.LookupA bit bPass2
>PUSHB.G CC.hScopes Global Scope
>PUSHEA.G CC.CPSPFX
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .99

View File

@ -258,7 +258,7 @@ TYPE.NewTag >LDA.G CC.hTags
*--------------------------------------
TYPE.GetTag >PUSHB.G CC.hTags
>PUSHW ZPLineBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .9

View File

@ -659,7 +659,7 @@ MSG.USAGE .CS "Usage : CC <option> srcfile.c dstfile\r\n"
.CZ " -L Libname1 -L Libname2 ...\r\n"
MSG.READING .CZ "*** Reading file: %s\r\n"
MSG.LINKING .CZ "*** Linking..."
MSG.LINKING2 .CZ "*** %H:%18s T/Q=%h/%h, SC=%h, Def=%h, SizeOf=%H, @=%H\r\n"
MSG.LINKING2 .CZ "*** %H:%H:%18s T/Q=%h/%h, SC=%h, Def=%h, SizeOf=%H, @=%H\r\n"
MSG.GENERATING .CZ "*** Generating: %s\r\n"
MSG.DEBUG .CS "*** pCode=%H, pConst=%H, pData=%H, pStack=%H\r\n"
.CZ " LSP=%h, CSP=%H:%h>%h:%h, ScopeIdx=%h\r\n"

View File

@ -91,9 +91,8 @@ CS.RUN inc ArgIndex
dex
bne .2
.99 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.99 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
rts
@ -341,15 +340,15 @@ CS.END
OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
*--------------------------------------
MSG.USAGE .AS "Usage : CHAUX auxtype [File *,? wildcards allowed]\r\n"
.AS " auxtype : 12345 (Decimal word) ,xABCD (Hexadecimal word)\r\n"
.AS " -C : Continue on error\r\n"
.AZ " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.FILE .AZ "CHAUX File:%S..."
SSCANF.D .AZ "%D"
SSCANF.H .AZ "%H"
MSG.USAGE .CS "Usage : CHAUX auxtype [File *,? wildcards allowed]\r\n"
.CS " auxtype : 12345 (Decimal word) ,xABCD (Hexadecimal word)\r\n"
.CS " -C : Continue on error\r\n"
.CZ " -R : Recurse subdirectories\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.FILE .CZ "CHAUX File:%S..."
SSCANF.D .CZ "%D"
SSCANF.H .CZ "%H"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -73,9 +73,8 @@ CS.RUN >INC.G ArgIndex
dex
bpl .2
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts
@ -237,6 +236,7 @@ CS.RUN.GetGID >SYSCALL ArgV
.9 rts
*--------------------------------------
CS.RUN.CheckErr bcs .1
>LDYA L.MSG.OK
>SYSCALL PutS
rts
@ -287,13 +287,13 @@ CS.END
OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
*--------------------------------------
MSG.USAGE .AS "Usage : CHGRP groupname [File *,? wildcards allowed]\r\n"
.AS " -C : Continue on error\r\n"
.AZ " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.DIR .AZ "Dir :%s..."
MSG.FILE .AZ "File:%s..."
MSG.USAGE .CS "Usage : CHGRP groupname [File *,? wildcards allowed]\r\n"
.CS " -C : Continue on error\r\n"
.CZ " -R : Recurse subdirectories\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.DIR .CZ "Dir :%s..."
MSG.FILE .CZ "File:%s..."
*--------------------------------------
.DUMMY
.OR 0

View File

@ -76,9 +76,8 @@ CS.RUN inc ArgIndex
dex
bpl .2
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts

View File

@ -73,9 +73,8 @@ CS.RUN >INC.G ArgIndex
dex
bpl .2
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts
@ -289,13 +288,13 @@ CS.END
OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
*--------------------------------------
MSG.USAGE .AS "Usage : CHOWN username [File *,? wildcards allowed]\r\n"
.AS " -C : Continue on error\r\n"
.AZ " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.DIR .AZ "Dir :%s..."
MSG.FILE .AZ "File:%s..."
MSG.USAGE .CS "Usage : CHOWN username [File *,? wildcards allowed]\r\n"
.CS " -C : Continue on error\r\n"
.CZ " -R : Recurse subdirectories\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.DIR .CZ "Dir :%s..."
MSG.FILE .CZ "File:%s..."
*--------------------------------------
.DUMMY
.OR 0

View File

@ -56,14 +56,14 @@ 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.FILE .DA MSG.FILE
L.MSG.OK .DA MSG.OK
L.MSG.ERR .DA MSG.ERR
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
.DA 0
*--------------------------------------
CS.INIT clc
@ -79,7 +79,7 @@ CS.RUN inc ArgIndex
cmp #'-'
bne .4
ldy #1
ldy #1
lda (ZPPtr1),y
ldx #OptionVars-OptionList-1
@ -89,9 +89,8 @@ CS.RUN inc ArgIndex
dex
bne .2
.99 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.99 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
rts
@ -103,7 +102,7 @@ CS.RUN inc ArgIndex
*--------------------------------------
.4 lda HexFileType
bne .5
jsr GetHexFileType
bcs .99
bra CS.RUN
@ -121,7 +120,7 @@ CS.RUN inc ArgIndex
lda HexFileType
beq .99 we also have a TYPE
>LDYAI 256
>SYSCALL GetMem
bcs .99
@ -181,12 +180,12 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
*--------------------------------------
CS.RUN.NEXT jsr GetNextEntry
bcc CS.RUN.LOOP
CS.RUN.LEAVE jsr LeaveSubDir
bcs .90
jsr BasePath..
jmp CS.RUN.NEXT
.90 lda #0
@ -199,20 +198,20 @@ CS.RUN.DIR bit bRecurse
lda (ZPFileName)
cmp #'.'
bne .1
ldy #1
lda (ZPFileName),y
beq .8
cmp #'.'
bne .1
iny
lda (ZPFileName),y
beq .8
.1 jsr CS.RUN.GetFilePath
>LDYA ZPFileName
jmp EnterSubDirYA
@ -221,15 +220,15 @@ CS.RUN.DIR bit bRecurse
*--------------------------------------
CS.RUN.FILE jsr FilterMatch
bcs .8 no match, skip....
jsr CS.RUN.GetFilePath
>PUSHW L.MSG.FILE
>PUSHW ZPFullPath
>PUSHBI 2
>SYSCALL PrintF
bcs .9
>PUSHW ZPFullPath
>PUSHB HexFileType
@ -314,7 +313,7 @@ GetHexFileType ldy #$ff
asl
asl
sta HexFileType
iny
lda (ZPPtr1),y
jsr IsDigit16
@ -356,7 +355,7 @@ GetHexFileType ldy #$ff
adc #3
sta ZPPtr2
bcc .6
inc ZPPtr2+1
.6 inx
@ -403,13 +402,13 @@ CS.END
OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
*--------------------------------------
MSG.USAGE .AS "Usage : CHTYP type [File *,? wildcards allowed]\r\n"
.AS " type : 0xx (Hexadecimal byte),SYS,TXT...\r\n"
.AS " -C : Continue on error\r\n"
.AZ " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.FILE .AZ "CHTYP File:%S..."
MSG.USAGE .CS "Usage : CHTYP type [File *,? wildcards allowed]\r\n"
.CS " type : 0xx (Hexadecimal byte),SYS,TXT...\r\n"
.CS " -C : Continue on error\r\n"
.CZ " -R : Recurse subdirectories\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.FILE .CZ "CHTYP File:%S..."
*--------------------------------------
PRODOS.FT.HEX .HS 0406FAFCFDCBCCCFFF
PRODOS.FT.TXT .AS "TXT"
@ -419,7 +418,7 @@ PRODOS.FT.TXT .AS "TXT"
.AS "VAR"
.AS "PIX"
.AS "FON"
.AS "PAK"
.AS "PAK"
.AS "SYS"
*--------------------------------------
.DUMMY

View File

@ -77,9 +77,8 @@ CS.RUN
jsr CS.RUN.CheckOpt
bcc .1
.99 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.99 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.9 rts
@ -333,10 +332,10 @@ CS.END
OptionList .AS "AaVv"
OptionVars .DA #bAll,#bAll,#bVerbose,#bVerbose
*--------------------------------------
MSG.USAGE .AS "Usage : CMP File1 File2 [SKIP1 [SKIP2]]\r\n"
.AS " -A : Shows All differences\r\n"
.AZ " -V : Verbose Mode\r\n"
MSG.DIFF .AZ "%H%h:%h %h\r\n"
MSG.USAGE .CS "Usage : CMP File1 File2 [SKIP1 [SKIP2]]\r\n"
.CS " -A : Shows All differences\r\n"
.CZ " -V : Verbose Mode\r\n"
MSG.DIFF .CZ "%H%h:%h %h\r\n"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -162,7 +162,7 @@ CSH.Run.1 cmp #C.CR empty line....
lda ZPVarQual
bit #CSH.Q.FUNC
bne .21
jsr CSH.GetCharNB
bcs .99
@ -215,8 +215,8 @@ CSH.Run.1 cmp #C.CR empty line....
lda #0
jsr CSH.fExec
bcs .9
bra .8
bra .8
*--------------------------------------
.60 jsr CSH.GetCharNB
bcs .9
@ -244,7 +244,7 @@ CSH.Run.1 cmp #C.CR empty line....
*--------------------------------------
.7 ldy #0 no return value type check required
lda #0
jsr CSH.fCall Y,A = Type/Qual
bcs .9
@ -365,7 +365,7 @@ CSH.MainExec lda #0
ldy #S.PS.ARGC
lda (pPS),y
>PUSHA push int ARGC
>PUSHW ZPCSHConst push int ARGV
@ -375,28 +375,28 @@ CSH.MainExec lda #0
.1 lda ArgIndex
>SYSCALL ArgV
bcs .2
inc ArgIndex
pha
tya
sta (ZPCSHConst)
pla
ldy #1
sta (ZPCSHConst),y
lda ZPCSHConst
* clc
adc #2
sta ZPCSHConst
bcc .1
inc ZPCSHConst+1
bra .1
.2
.2
*--------------------------------------
CSH.ZPPtr1GetNextW
jsr CSH.ZPPtr1NextW
@ -463,18 +463,18 @@ CSH.AddSymbol >LDA.G CSH.hSymbols
jsr CSH.GetCharNB
bcs .8
cmp #'('
beq .7
lda ZPVarQual
and #CSH.Q.FUNC
beq .8
lda #E.CSYN
sec
rts
rts
.7 lda #CSH.Q.FUNC
tsb ZPVarQual
@ -483,7 +483,7 @@ CSH.AddSymbol >LDA.G CSH.hSymbols
lda ZPCSHfDecl+1
sta ZPVarDefPtr+1
.8 >PUSHB.G CSH.hSymbols
>PUSHW ZPVarID
>PUSHWI ZPVarDef
@ -516,7 +516,7 @@ CSH.fExec ldx ZPPtr1
>STYA ZPPtr1
stz ZPPtr3 Reset VARIADIC byte count
jsr CSH.GetNextCharNB skip '('
bcs .10
@ -644,10 +644,10 @@ CSH.fDecl >ENTER 2
bcs .99
pha
tya
jsr CSH.fDeclAddA
pla
jsr CSH.fDeclAddA
@ -656,16 +656,16 @@ CSH.fDecl >ENTER 2
jsr CSH.IsLetter
bcs .5
* TODO: AddLocal
* TODO: AddLocal
.3 jsr CSH.GetNextCharNB
bcs .9
jsr CSH.IsLetterOrDigit
bcc .3
.5 cmp #')'
beq .6
@ -780,12 +780,13 @@ CSH.tDecl >ENTER 2
*--------------------------------------
CSH.NewKey >PUSHA
>PUSHW ZPInputBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .9
pha
phy
txa
* clc
adc ZPInputBufPtr
@ -806,7 +807,7 @@ CSH.SetVarValue cpy ZPVarType
cmp ZPVarQual
bne .99
ldy #0
.1 lda (pStack)
@ -855,6 +856,7 @@ CSH.GetDefine >PUSHB.G CSH.hDefines
CSH.GetVar >PUSHB.G CSH.hSymbols
CSH.Get >PUSHW ZPInputBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .9

View File

@ -259,12 +259,13 @@ CSH.GetNumOnStack
CSH.VarLookup >PUSHB.G CSH.hSymbols
>PUSHW ZPInputBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs .9
phy
pha
txa
* clc
adc ZPInputBufPtr
@ -304,13 +305,13 @@ CSH.GetValue lda ZPPtr2 target type
.9 lda #E.TMISMATCH
sec
rts
.1 >LDA.G CSH.VarDef Type
sta ZPPtr2
iny
lda (pData),y
sta ZPPtr2+1
.2 lda ZPPtr3
pha
lda ZPPtr3+1
@ -324,13 +325,13 @@ CSH.GetValue lda ZPPtr2 target type
ldx ZPPtr2
ldy CSH.TYPESIZE-1,x
.3 dey
lda (ZPPtr3),y
>PUSHA
tya
bne .3
pla
sta ZPPtr3+1
pla
@ -375,7 +376,7 @@ CSH.fCall ldx ZPPtr1
cmp #'('
bne .52
jsr CSH.GetNextCharNB skip '('
bcs .10

View File

@ -75,9 +75,8 @@ CS.RUN.IPOK ldy #S.PS.ARGC
.1 cmp #2
beq CS.RUN.ADD
>PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
>LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
@ -188,15 +187,16 @@ CS.QUIT lda hLIBTCPIP
CS.END
LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
SSCANF.IP .AZ "%d.%d.%d.%d"
MSG0 .AZ "Status TR.ID Hostname IP Address TTL"
MSG1 .AZ "%7s $%H %32s %03d.%03d.%03d.%03d %u\r\n"
MSG1.S .AZ "Static"
MSG1.P .AZ "Pending"
MSG1.D .AZ "Dynamic"
MSG.USAGE .AS "Usage : Add a static entry, DNSINFO <host> <IP>\r\n"
.AZ " Dump DNS Cache, DNSINFO\r\n"
*--------------------------------------
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
MSG0 .CZ "Status TR.ID Hostname IP Address TTL"
MSG1 .CZ "%7s $%H %32s %03d.%03d.%03d.%03d %u\r\n"
MSG1.S .CZ "Static"
MSG1.P .CZ "Pending"
MSG1.D .CZ "Dynamic"
MSG.USAGE .CS "Usage : Add a static entry, DNSINFO <host> <IP>\r\n"
.CZ " Dump DNS Cache, DNSINFO\r\n"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -1,462 +1,464 @@
NEW
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000
.TF bin/du
.LIST OFF
.OP 65C02
.OR $2000
.TF bin/du
*--------------------------------------
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/kernel.i
.INB inc/mli.i
.INB inc/mli.e.i
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/kernel.i
.INB inc/mli.i
.INB inc/mli.e.i
*--------------------------------------
X.ENTER.SUBDIR .EQ 1
X.COPY.TO.DEST .EQ 0
X.DELETE.SOURCE .EQ 0
X.ENTER.SUBDIR .EQ 1
X.COPY.TO.DEST .EQ 0
X.DELETE.SOURCE .EQ 0
*--------------------------------------
.DUMMY
.OR ZPBIN
.DUMMY
.OR ZPBIN
ZS.START
ZPPtr1 .BS 2
ZPPtr2 .BS 2
ZPFileName .BS 2
ZPFileStat .BS 2
ZPPW .BS 2
hLineBuf .BS 1
ZPLineBuf .BS 2
bPass2 .BS 1
bDirLevel .BS 1
bIsTTY .BS 1
ZPPtr1 .BS 2
ZPPtr2 .BS 2
ZPFileName .BS 2
ZPFileStat .BS 2
ZPPW .BS 2
hLineBuf .BS 1
ZPLineBuf .BS 2
bPass2 .BS 1
bDirLevel .BS 1
bIsTTY .BS 1
ZS.END
.ED
.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 SegmentSize
.DA #64 Stack Size
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
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 SegmentSize
.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.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.REG1 .DA MSG.REG1
L.MSG.REG2 .DA MSG.REG2
L.MSG.DIRSUMM .DA MSG.DIRSUMM
L.MSG.BDEV .DA MSG.BDEV
L.MSG.BDEVEXT .DA MSG.BDEVEXT
L.MSG.CWD .DA MSG.CWD
J.CS.RUN.PRINT .DA CS.RUN.PRINT.REG
.DA CS.RUN.PRINT.DIR
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.BDEV
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.CDEV
.DA 0
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.REG1 .DA MSG.REG1
L.MSG.REG2 .DA MSG.REG2
L.MSG.DIRSUMM .DA MSG.DIRSUMM
L.MSG.BDEV .DA MSG.BDEV
L.MSG.BDEVEXT .DA MSG.BDEVEXT
L.MSG.CWD .DA MSG.CWD
J.CS.RUN.PRINT .DA CS.RUN.PRINT.REG
.DA CS.RUN.PRINT.DIR
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.BDEV
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.CDEV
.DA CS.RUN.PRINT.CDEV
.DA 0
*--------------------------------------
CS.INIT clc
rts
CS.INIT clc
rts
*--------------------------------------
CS.RUN
stz bIsTTY
jsr CS.RUN.ISATTY
CS.RUN stz bIsTTY
jsr CS.RUN.ISATTY
.1 stz bDirLevel
>INC.G ArgCount
>SYSCALL ArgV
bcs .6
>STYA ZPPtr1
lda (ZPPtr1)
cmp #'-'
bne .4
ldy #1
lda (ZPPtr1),y
.1 stz bDirLevel
>INC.G ArgCount
>SYSCALL ArgV
bcs .6
>STYA ZPPtr1
lda (ZPPtr1)
cmp #'-'
bne .4
ldy #1
lda (ZPPtr1),y
ldx #OptionVars-OptionList-1
ldx #OptionVars-OptionList-1
.2 cmp OptionList,x
beq .3
dex
bpl .2
.2 cmp OptionList,x
beq .3
dex
bpl .2
>PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
lda #E.SYN
sec
rts
>PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
lda #E.SYN
sec
rts
.3 ldy OptionVars,x
lda #$80
sta (pData),y
bra .1
.4 >LDYA ZPPtr1
jsr InitSrcDirYA
bcc .1 scan for any other args
.9 rts
.6 >LDA.G index do we have a Source dir ?
bne .8
ldy #S.PS.hCWD
lda (pPS),y
>SYSCALL GetMemPtr
jsr InitSrcDirYA
bcs .9
.3 ldy OptionVars,x
lda #$80
sta (pData),y
bra .1
.4 >LDYA ZPPtr1
jsr InitSrcDirYA
bcc .1 scan for any other args
.9 rts
.6 >LDA.G index do we have a Source dir ?
bne .8
ldy #S.PS.hCWD
lda (pPS),y
>SYSCALL GetMemPtr
jsr InitSrcDirYA
bcs .9
.8 >PUSHEA.G TIME.SysTime
>SYSCALL Time
.8 >PUSHEA.G TIME.SysTime
>SYSCALL Time
>LDYAI S.PW
>SYSCALL GetMem
bcs .9
>STYA ZPPW
txa
>STA.G hPW
>LDYAI S.PW
>SYSCALL GetMem
bcs .9
>STYA ZPPW
txa
>STA.G hPW
>LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA ZPLineBuf
stx hLineBuf
>LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA ZPLineBuf
stx hLineBuf
*--------------------------------------
CS.RUN.LOOP
stz bPass2
CS.RUN.LOOP stz bPass2
.1 ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL FEOF
bcc .2
rts I/O error
.1 ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL FEOF
bcc .2
rts I/O error
.2 tay
bne .3 no char
.2 tay
bne .3 no char
>SYSCALL GetChar
cmp #$03 Ctrl-C
beq .99 Abort....
>SYSCALL GetChar
cmp #$03 Ctrl-C
beq .99 Abort....
cmp #$13 Ctrl-S
bne .3
cmp #$13 Ctrl-S
bne .3
>LDA.G bPause
eor #$ff
sta (pData),y
bne .1
>LDA.G bPause
eor #$ff
sta (pData),y
bne .1
.3 >LDA.G bPause
bne .1
.3 >LDA.G bPause
bne .1
jsr GetEntry First entry
bcs .9
jsr GetEntry First entry
bcs .9
jsr FilterMatch Filter filename
bcs .8 no match, skip....
jsr FilterMatch Filter filename
bcs .8 no match, skip....
lda (ZPFileName)
cmp #'.'
beq .8
lda (ZPFileName)
cmp #'.'
beq .8
.4 ldy #S.STAT.MODE+1
lda (ZPFileStat),y
.4 ldy #S.STAT.MODE+1
lda (ZPFileStat),y
and #$70
lsr
lsr
lsr
tax
jsr CS.RUN.PRINT.JMP
bcs .99
and #$70
lsr
lsr
lsr
tax
jsr CS.RUN.PRINT.JMP
bcs .99
.8 jsr GetNextEntry Next entry
bcc .1 If there is one, go again
.8 jsr GetNextEntry Next entry
bcc .1 If there is one, go again
bit bPass2
bmi .9
bit bPass2
bmi .9
jsr ResetSrcDir
bcs .99
jsr ResetSrcDir
bcs .99
dec bPass2
bra .1
dec bPass2
bra .1
.9 >LDA.G bSummary
bne .91
.9 >LDA.G bSummary
bne .91
jsr CS.RUN.PrintDirSumm
jsr CS.RUN.PrintCwd
jsr CS.RUN.NewLine
jsr CS.RUN.PrintDirSumm
jsr CS.RUN.PrintCwd
jsr CS.RUN.NewLine
.91 dec bDirLevel
jsr LeaveSubDir "cd .."
bcs .97 This means we are done
.91 dec bDirLevel
jsr LeaveSubDir "cd .."
bcs .97 This means we are done
jsr BasePath.. Prune pathname
jsr BasePath.. Prune pathname
jsr GetNextEntry Get next entry
jmp CS.RUN.LOOP Go again
jsr GetNextEntry Get next entry
jmp CS.RUN.LOOP Go again
.97 >LDA.G bSummary
beq .98
inc bDirLevel
jsr CS.RUN.PrintDirSumm
jsr CS.RUN.PrintCwd
jsr CS.RUN.NewLine
.98 lda #0
sec
.99 rts
.97 >LDA.G bSummary
beq .98
inc bDirLevel
jsr CS.RUN.PrintDirSumm
jsr CS.RUN.PrintCwd
jsr CS.RUN.NewLine
.98 lda #0
sec
.99 rts
*--------------------------------------
CS.RUN.PRINT.JMP
jmp (J.CS.RUN.PRINT,x)
jmp (J.CS.RUN.PRINT,x)
*--------------------------------------
CS.RUN.PRINT.REG bit bPass2
bmi .1
clc
rts
CS.RUN.PRINT.REG
bit bPass2
bmi .1
clc
rts
.1 ldx bDirLevel X is loop ctr bDirLevel..0
.2 >LEA.G BlkCounters
>STYA ZPPtr1
ldy #S.STAT.BLOCKS+3 Read 32-bit number of blocks
lda (ZPFileStat),y
pha And push to stack
dey
lda (ZPFileStat),y
pha
dey
lda (ZPFileStat),y
pha
dey
lda (ZPFileStat),y
pha
txa Get loop counter
asl x2
asl x2 again
tay
pla Do 32-bit add
clc
adc (ZPPtr1),y LSB
sta (ZPPtr1),y
pla
iny
adc (ZPPtr1),y
sta (ZPPtr1),y
pla
iny
adc (ZPPtr1),y
sta (ZPPtr1),y
pla
iny
adc (ZPPtr1),y MSB
sta (ZPPtr1),y
dex Decrement loop counter
cpx #$ff Stop if -1
bne .2
.1 ldx bDirLevel X is loop ctr bDirLevel..0
.2 >LEA.G BlkCounters
>STYA ZPPtr1
ldy #S.STAT.BLOCKS+3 Read 32-bit number of blocks
lda (ZPFileStat),y
pha And push to stack
dey
lda (ZPFileStat),y
pha
dey
lda (ZPFileStat),y
pha
dey
lda (ZPFileStat),y
pha
txa Get loop counter
asl x2
asl x2 again
tay
pla Do 32-bit add
clc
adc (ZPPtr1),y LSB
sta (ZPPtr1),y
pla
iny
adc (ZPPtr1),y
sta (ZPPtr1),y
pla
iny
adc (ZPPtr1),y
sta (ZPPtr1),y
pla
iny
adc (ZPPtr1),y MSB
sta (ZPPtr1),y
dex Decrement loop counter
cpx #$ff Stop if -1
bne .2
>LDA.G bAllFiles
beq .8
>LDA.G bAllFiles
beq .8
>PUSHW L.MSG.REG1
ldy #S.STAT.BLOCKS+3
ldx #4
.3 lda (ZPFileStat),y
>PUSHA
dey
dex
bne .3 (4)
>PUSHBI 4
>SYSCALL PrintF
bcs .9
jsr CS.RUN.PrintCwd
>PUSHW L.MSG.REG2
>PUSHW ZPFileName (2)
>PUSHBI 2
>SYSCALL PrintF
bcs .9
jmp CS.RUN.NewLine
>PUSHW L.MSG.REG1
ldy #S.STAT.BLOCKS+3
ldx #4
.3 lda (ZPFileStat),y
>PUSHA
dey
dex
bne .3 (4)
>PUSHBI 4
>SYSCALL PrintF
bcs .9
jsr CS.RUN.PrintCwd
>PUSHW L.MSG.REG2
>PUSHW ZPFileName (2)
>PUSHBI 2
>SYSCALL PrintF
bcs .9
jmp CS.RUN.NewLine
.8 clc
.9 rts
.8 clc
.9 rts
*--------------------------------------
CS.RUN.PRINT.DIR bit bPass2
bmi .8
CS.RUN.PRINT.DIR
bit bPass2
bmi .8
lda (ZPFileName)
cmp #'.'
beq .8
lda (ZPFileName)
cmp #'.'
beq .8
inc bDirLevel
>LDYA ZPFileName
jmp EnterSubDirYA
inc bDirLevel
>LDYA ZPFileName
jmp EnterSubDirYA
.8 clc
.9 rts
.8 clc
.9 rts
*--------------------------------------
CS.RUN.PRINT.CDEV clc
rts
CS.RUN.PRINT.CDEV
clc
rts
*--------------------------------------
CS.RUN.PRINT.BDEV bit bPass2
bmi .8
CS.RUN.PRINT.BDEV
bit bPass2
bmi .8
>PUSHW L.MSG.BDEVEXT
>PUSHW ZPFileName
>PUSHW L.MSG.BDEVEXT
>PUSHW ZPFileName
ldy #S.STAT.P.SLOT
>PUSHB (ZPFileStat),y
iny DRIVE
>PUSHB (ZPFileStat),y
ldy #S.STAT.BLOCKS+1
>PUSHB (ZPFileStat),y
dey
>PUSHB (ZPFileStat),y
ldy #S.STAT.P.DEVBLOCKS+1
>PUSHB (ZPFileStat),y
dey
>PUSHB (ZPFileStat),y
ldy #S.STAT.P.SLOT
>PUSHB (ZPFileStat),y
iny DRIVE
>PUSHB (ZPFileStat),y
ldy #S.STAT.BLOCKS+1
>PUSHB (ZPFileStat),y
dey
>PUSHB (ZPFileStat),y
ldy #S.STAT.P.DEVBLOCKS+1
>PUSHB (ZPFileStat),y
dey
>PUSHB (ZPFileStat),y
>PUSHBI 8
>SYSCALL PrintF
bcs .9
>PUSHBI 8
>SYSCALL PrintF
bcs .9
jsr CS.RUN.NewLine
bcs .9
jsr CS.RUN.NewLine
bcs .9
inc bDirLevel
inc bDirLevel
>LDYA ZPFileName
jsr EnterSubDirYA
bcs .9
>LDYA ZPFileName
jsr EnterSubDirYA
bcs .9
.8 clc
.9 rts
.8 clc
.9 rts
*--------------------------------------
CS.RUN.PrintDirSumm >LEA.G BlkCounters
>STYA ZPPtr1
lda bDirLevel
asl
asl
clc
adc ZPPtr1
sta ZPPtr1
lda #$00
adc ZPPtr1+1
sta ZPPtr1+1
>PUSHW L.MSG.DIRSUMM
ldy #$03
lda (ZPPtr1),y
>PUSHA
dey
lda (ZPPtr1),y
>PUSHA
dey
lda (ZPPtr1),y
>PUSHA
dey
lda (ZPPtr1),y
>PUSHA
>PUSHBI 4
>SYSCALL PrintF
CS.RUN.PrintDirSumm
>LEA.G BlkCounters
>STYA ZPPtr1
lda bDirLevel
asl
asl
clc
adc ZPPtr1
sta ZPPtr1
lda #$00
adc ZPPtr1+1
sta ZPPtr1+1
>PUSHW L.MSG.DIRSUMM
ldy #$03
lda (ZPPtr1),y
>PUSHA
dey
lda (ZPPtr1),y
>PUSHA
dey
lda (ZPPtr1),y
>PUSHA
dey
lda (ZPPtr1),y
>PUSHA
>PUSHBI 4
>SYSCALL PrintF
ldy #$03
lda #$00
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
ldy #$03
lda #$00
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
rts
rts
*--------------------------------------
CS.RUN.PrintCwd >PUSHW L.MSG.CWD
ldy #hSrcBasePath
lda (pData),y
>SYSCALL GetMemPtr
>PUSHYA
>PUSHBI 2
>SYSCALL PrintF
rts
CS.RUN.PrintCwd >PUSHW L.MSG.CWD
ldy #hSrcBasePath
lda (pData),y
>SYSCALL GetMemPtr
>PUSHYA
>PUSHBI 2
>SYSCALL PrintF
rts
*--------------------------------------
CS.RUN.NewLine lda #C.CR
>SYSCALL PutChar
lda bIsTTY
beq .9
lda #C.LF
>SYSCALL PutChar
.9 rts
CS.RUN.NewLine lda #C.CR
>SYSCALL PutChar
lda bIsTTY
beq .9
lda #C.LF
>SYSCALL PutChar
.9 rts
*--------------------------------------
CS.RUN.ISATTY ldy #S.PS.hStdOut
lda (pPS),y
tax
lda hFDs-1,x
>SYSCALL GetMemPtr
>STYA ZPPtr1
lda (ZPPtr1)
beq .9
inc bIsTTY
.9 rts
CS.RUN.ISATTY ldy #S.PS.hStdOut
lda (pPS),y
tax
lda hFDs-1,x
>SYSCALL GetMemPtr
>STYA ZPPtr1
lda (ZPPtr1)
beq .9
inc bIsTTY
.9 rts
*--------------------------------------
CS.DOEVENT sec
rts
CS.DOEVENT sec
rts
*--------------------------------------
CS.QUIT jsr LeaveSubDir
bcc CS.QUIT
>LDA.G hFilter
beq .3
>SYSCALL FreeMem
.3 >LDA.G hPW
beq .4
>SYSCALL FreeMem
.4 lda hLineBuf
beq .8
>SYSCALL FreeMem
.8 clc
rts
CS.QUIT jsr LeaveSubDir
bcc CS.QUIT
>LDA.G hFilter
beq .3
>SYSCALL FreeMem
.3 >LDA.G hPW
beq .4
>SYSCALL FreeMem
.4 lda hLineBuf
beq .8
>SYSCALL FreeMem
.8 clc
rts
*--------------------------------------
.INB usr/src/shared/x.fileenum.s
.INB usr/src/shared/x.fileenum.s
*--------------------------------------
CS.END
*--------------------------------------
OptionList .AS "SAsa"
OptionVars .DA #bSummary,#bAllFiles,#bSummary,#bAllFiles
OptionList .AS "SAsa"
OptionVars .DA #bSummary,#bAllFiles,#bSummary,#bAllFiles
*--------------------------------------
MSG.USAGE .AS "Usage : DU [-A] [-S] [filespec]\r\n"
.AS " -A : Show all files (not only directories)\r\n"
.AZ " -S : Show only summary\r\n"
MSG.REG1 .AZ "%5u "
MSG.REG2 .AZ "%s"
MSG.CWD .AZ "%s"
MSG.DIRSUMM .AZ "%5u "
MSG.BDEVEXT .AZ "/%15s s%dd%d Blocks Used:%5D Total:%5D"
MSG.BDEV .AZ "\e[32m%s/\e[0m"
MSG.USAGE .CS "Usage : DU [-A] [-S] [filespec]\r\n"
.CS " -A : Show all files (not only directories)\r\n"
.CZ " -S : Show only summary\r\n"
MSG.REG1 .CZ "%5u "
MSG.REG2 .CZ "%s"
MSG.CWD .CZ "%s"
MSG.DIRSUMM .CZ "%5u "
MSG.BDEVEXT .CZ "/%15s s%dd%d Blocks Used:%5D Total:%5D"
MSG.BDEV .CZ "\e[32m%s/\e[0m"
*--------------------------------------
.DUMMY
.OR 0
.DUMMY
.OR 0
DS.START
ArgCount .BS 1
TIME.SysTime .BS S.TIME
bPause .BS 1
bSummary .BS 1
bAllFiles .BS 1
hPW .BS 1
BlkCounters .BS 64 Array of 32 bit integers, size 16
.INB usr/src/shared/x.fileenum.g
DS.END .ED
ArgCount .BS 1
TIME.SysTime .BS S.TIME
bPause .BS 1
bSummary .BS 1
bAllFiles .BS 1
hPW .BS 1
BlkCounters .BS 64 Array of 32 bit integers, size 16
.INB usr/src/shared/x.fileenum.g
DS.END .ED
*--------------------------------------
MAN
SAVE usr/src/bin/du.s

View File

@ -133,12 +133,10 @@ CS.RUN ldy #S.PS.ARGC
>STYA BlkCnt
bra .1
.99 >PUSHW L.MSG.USAGE1
>PUSHBI 0
>SYSCALL PrintF
>PUSHW L.MSG.USAGE2
>PUSHBI 0
>SYSCALL PrintF
.99 >LDYA L.MSG.USAGE1
>SYSCALL PutS
>LDYA L.MSG.USAGE2
>SYSCALL Puts
lda #E.SYN
sec
.9 rts
@ -654,9 +652,8 @@ CS.RUN.BuildCat jsr .7
>PUSHB AltBB
rts
*--------------------------------------
CS.RUN.WriteCat >PUSHW L.MSG.WRITECAT
>PUSHBI 0
>SYSCALL PrintF
CS.RUN.WriteCat >LDYA L.MSG.WRITECAT
>SYSCALL PutS
>STZ.G IOCTL+S.IOCTL.BLKNUM
iny
@ -772,27 +769,27 @@ CS.END
LIBBLKDEV .AZ "libblkdev"
hLIBBLKDEV .BS 1
*--------------------------------------
MSG.USAGE1 .AS "Usage : FORMAT <BLOCKDEV> [VOL.NAME]\r\n"
.AS " -L : Low-Level Format\r\n"
.AS "-L -V : Verify After LLF\r\n"
.AS " -B xxxx : Smrtprt, Override Device block size\r\n"
.AZ " -1-9 : Catalog Size (Blocks)\r\n"
MSG.USAGE2 .AS "------- ProDOS.FX only ------\r\n"
.AS " -H : 35trk drives, High Density: 48 tracks, 384 Blocks\r\n"
.AS " -X : 40trk drives, 320 Blocks\r\n"
.AS "-H -X : 40trk drives, 432 Blocks\r\n"
.AS " -D : Rana Elite II 640 Blocks, 2 Sides\r\n"
.AZ "-H -D : Rana Elite III 1280 Blocks, 2 Sides\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AS "[%h]"
MSG.CRLF .AZ "\r\n"
MSG.NOSIZE .AZ "Unable to get media size."
MSG.INIT .AZ "Formatting %s, Volname:%s\r\n"
MSG.LL .AZ "Low Level Format %D Blks\r\n"
MSG.LLDISK2 .AZ "\rWriting Head %d/Track %02d (%02d/%02d)..."
MSG.VERIFY .AZ "\rVerifying Head %d/Track %02d/Block %d (%05D)..."
MSG.WRITECAT .AZ "Writing Catalog..."
FMT.BLANK .AZ "BLANK%H%H"
MSG.USAGE1 .CS "Usage : FORMAT <BLOCKDEV> [VOL.NAME]\r\n"
.CS " -L : Low-Level Format\r\n"
.CS "-L -V : Verify After LLF\r\n"
.CS " -B xxxx : Smrtprt, Override Device block size\r\n"
.CZ " -1-9 : Catalog Size (Blocks)\r\n"
MSG.USAGE2 .CS "------- ProDOS.FX only ------\r\n"
.CS " -H : 35trk drives, High Density: 48 tracks, 384 Blocks\r\n"
.CS " -X : 40trk drives, 320 Blocks\r\n"
.CS "-H -X : 40trk drives, 432 Blocks\r\n"
.CS " -D : Rana Elite II 640 Blocks, 2 Sides\r\n"
.CZ "-H -D : Rana Elite III 1280 Blocks, 2 Sides\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CS "[%h]"
MSG.CRLF .CZ "\r\n"
MSG.NOSIZE .CZ "Unable to get media size."
MSG.INIT .CZ "Formatting %s, Volname:%s\r\n"
MSG.LL .CZ "Low Level Format %D Blks\r\n"
MSG.LLDISK2 .CZ "\rWriting Head %d/Track %02d (%02d/%02d)..."
MSG.VERIFY .CZ "\rVerifying Head %d/Track %02d/Block %d (%05D)..."
MSG.WRITECAT .CZ "Writing Catalog..."
FMT.BLANK .CZ "BLANK%H%H"
*--------------------------------------
OptionList .AS "LlBbHhXxDdVv"
OptionVars .DA #bLL,#bLL,#bCustomBlkSize,#bCustomBlkSize

View File

@ -568,15 +568,15 @@ KW.EQ jsr CheckStackPop4
lda (pStack),y
eor (pStack)
bne .1
sec
.1 lda #0
ror
inc pStack
inc pStack
sta (pStack)
* clc
@ -702,7 +702,7 @@ KW.PRINT >LDYAI 256
sta (ZPPtr1),y
eor #'"
bne .1
sec
.2 sta (ZPPtr1),y
@ -740,19 +740,19 @@ KW.EXPECT >PULLW ZPPtr1 n
eor #$ff
sta ZPPtr1+1
lda ZPPtr1
eor #$ff
sta ZPPtr1
ldy #0
.1 inc ZPPtr1
bne .2
inc ZPPtr1+1
beq .6
.2 phy
>SYSCALL GetChar
@ -760,7 +760,7 @@ KW.EXPECT >PULLW ZPPtr1 n
ply
cmp #C.CR
beq .7
phy
pha
>SYSCALL PutChar
@ -770,13 +770,13 @@ KW.EXPECT >PULLW ZPPtr1 n
sta (ZPAddrPtr),y
bra .1
.6 tya
beq .8
sta (ZPAddrPtr)
.7 lda #0
.7 lda #0
sta (ZPAddrPtr),y
.8 clc
@ -787,7 +787,7 @@ KW.COUNT lda (pStack)
sec
adc #0
sta (pStack)
ldy #1
lda (pStack),y
sta ZPAddrPtr+1
@ -806,32 +806,32 @@ KW.TYPE >PULLW ZPPtr1 n
>PULLW ZPAddrPtr
ldy #$ff
.1 iny
lda (ZPAddrPtr),y
bne .1
cpy ZPPtr1
bcs .8
iny
lda (ZPAddrPtr),y
pha
lda #0
sta (ZPAddrPtr),y
jsr .8
pla
sta (ZPAddrPtr),y
clc
rts
.8 ldy #S.PS.hStdOut
lda (pPS),y
>PUSHA
>PUSHW ZPAddrPtr
>SYSCALL fputs
clc
rts
*--------------------------------------
@ -1081,7 +1081,7 @@ KM.VC sta ZPType
>PUSHB.G hSList
>PUSHW ZPCLBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .9
@ -1124,7 +1124,7 @@ KM.VC sta ZPType
*--------------------------------------
KW.BCOLON >PUSHB.G hSList
>PUSHW ZPCLBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListNewKey
bcs .9

View File

@ -539,7 +539,7 @@ CS.RUN.EXEC lda (ZPCLBufPtr)
bit bCompile
bmi .3
>PUSHW ZPAddrPtr CONSTANT,VARIABLE
bra CS.RUN.EXEC
@ -548,7 +548,7 @@ CS.RUN.EXEC lda (ZPCLBufPtr)
lda ZPAddrPtr
jsr CP.Emit.PUSHBI
bra CS.RUN.EXEC
.4 bit bCompile
bmi .40
@ -644,6 +644,7 @@ CS.RUN.FOpen.RTS
CS.RUN.GetSymbol
>PUSHB.G hSList
>PUSHW ZPCLBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup
bcs CS.RUN.FOpen.RTS
@ -708,7 +709,7 @@ CS.QUIT jsr GFX.Close
>LDA.G HIS.hBuf
beq .10
>SYSCALL FreeStkObj
.10 >LDA.G hSList
@ -746,11 +747,11 @@ CS.QUIT jsr GFX.Close
PrintDebugMsg lda pStack+1
ldy pStack
bne .1
inc
.1 pha
>PUSHW L.MSG.DEBUG
>PUSHW ZPCodePtr
>PUSHW ZPDataPtr
@ -910,27 +911,27 @@ CheckStackPop4 lda pStack
CS.END
*--------------------------------------
DEV.GFX .AZ "/dev/gfx"
MSG.GREETINGS .AZ "\e[?7h\r\nA2osX-FORTH %d.%d (FORTH-79)\r\n"
MSG.HIS .AZ "\r\n%3d : %s"
MSG.HISPROMPT .AZ "\r\n\r\n? "
MSG.HISROMPTCLR .DA #C.BS,#C.BS,#0
MSG.USAGE .AS "Usage : FORTH <option> file\r\n"
.AS " -D : Debug Mode\r\n"
.AS " -T : Trace On"
MSG.ECHOCRLF .AZ "\r\n"
MSG.DEBUG .AZ "(CODE:%H, DATA=%H, SP=%H, RP=%h)\r\n"
MSG.TRACE .AZ "[%5D]%s\r\n"
MSG.PROMPT .AZ "\e[?7h\r\n> " Enable Line Wrap
MSG.PROMPTCRLF .AZ "\e[?7l\r\n" Disable Line Wrap
MSG.OK .AZ "OK\r\n"
MSG.DUMP2 .AZ "%s %s%D "
MSG.CONST .AZ "Const V="
MSG.VAR .AZ "Var @="
MSG.CODE .AZ "Code @="
FMT.Byte .AZ "%d "
FMT.int16 .AZ "%I "
FMT.uint16 .AZ "%D "
FMT.int32 .AZ "%L "
MSG.GREETINGS .CZ "\e[?7h\r\nA2osX-FORTH %d.%d (FORTH-79)\r\n"
MSG.HIS .CZ "\r\n%3d : %s"
MSG.HISPROMPT .CZ "\r\n\r\n? "
MSG.HISROMPTCLR .CZ "\b \b"
MSG.USAGE .CS "Usage : FORTH <option> file\r\n"
.CS " -D : Debug Mode\r\n"
.CS " -T : Trace On"
MSG.ECHOCRLF .CZ "\r\n"
MSG.DEBUG .CZ "(CODE:%H, DATA=%H, SP=%H, RP=%h)\r\n"
MSG.TRACE .CZ "[%5D]%s\r\n"
MSG.PROMPT .CZ "\e[?7h\r\n> " Enable Line Wrap
MSG.PROMPTCRLF .CZ "\e[?7l\r\n" Disable Line Wrap
MSG.OK .CZ "OK\r\n"
MSG.DUMP2 .CZ "%s %s%D "
MSG.CONST .CZ "Const V="
MSG.VAR .CZ "Var @="
MSG.CODE .CZ "Code @="
FMT.Byte .CZ "%d "
FMT.int16 .CZ "%I "
FMT.uint16 .CZ "%D "
FMT.int32 .CZ "%L "
*--------------------------------------
OptionList .AS "DdTt"
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace
@ -1076,9 +1077,9 @@ CODE.DO lda RP
sbc #4
sta RP
tay
ldx #4
.1 >PULLA
iny
sta (pData),y
@ -1088,14 +1089,14 @@ CODE.DO.L .EQ *-CODE.DO
*--------------------------------------
CODE.DOTEST ldy RP
iny
lda (pData),y I LO
iny
iny
cmp (pData),y END LO
dey
lda (pData),y I HI
iny
iny
@ -1107,7 +1108,7 @@ CODE.DOTEST.L .EQ *-CODE.DOTEST
CODE.LOOP >PULLA
ldy RP
iny
clc
adc (pData),y
sta (pData),y

View File

@ -132,6 +132,7 @@ CS.RUN jsr GFX.Open
jsr GFX.Write.YA
jsr CS.RUN.LOGO.SHOW
bcs .9
lda #0
sec
@ -144,9 +145,11 @@ CS.RUN.LOGO.SHOW
>LDYA L.CB.LOGO
jsr GFX.Write.YA
bcs CS.RUN.RTS
>SYSCALL NewStkObj
bcs CS.RUN.RTS
stx CB.LOGO+S.CB.DstPtr
lda #S.CB.CMD.BITBLT
@ -345,11 +348,11 @@ GFX.Write.YA pha
*--------------------------------------
CS.END
DEVNAME.GFX .AZ "/dev/gfx"
FONTFILE .AZ "${ROOT}sbin/sysx7"
FONTFILEB .AZ "${ROOT}sbin/sysx7b"
FONTFILE .AZ "${ROOT}opt/gui/fonts/sysx7"
FONTFILEB .AZ "${ROOT}opt/gui/fonts/sysx7b"
MARILYNFILE .AZ "${ROOT}root/bmp/MARILYN"
*LOGOFILE .AZ "${ROOT}A2osX.logo"
LOGOFILE .AZ "${ROOT}root/bmp/A2OSX.LOGO"
LOGOFILE .AZ "${ROOT}A2osX.logo"
*LOGOFILE .AZ "${ROOT}root/bmp/A2OSX.LOGO"
PALETTEFILE .AZ "${ROOT}root/bmp/PALETTE"
MESSAGEB .AZ " DHGR Driver & OSD 'Off-Screen Driver' Test (SYSX7B Font, Inverse) "
MESSAGE .AZ " 1234567890 abcdefghijklmnopqrstuvwxyz { + - * / } (SYSX7 Font, Normal) "

View File

@ -11,6 +11,7 @@ NEW
.INB inc/mli.e.i
.INB inc/eth.i
.INB inc/libtcpip.i
.INB inc/net.tcpip.i
.INB inc/net.http.i
*--------------------------------------
TIMEOUT.MAX .EQ 250 25 sec.
@ -743,20 +744,20 @@ Init.TimeOut lda #TIMEOUT.MAX
CS.END
LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .AS "Usage : HTTPGET <ip|host> [port]\r\n"
.AS " -U : Url\r\n"
.AS " -F : UrlFile\r\n"
.AS " -O : OutputFile"
MSG.CRLF .AZ "\r\n"
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
MSG.CONNECT .AZ "Connecting to %d.%d.%d.%d:%D (%s)..."
MSG.SKTKO .AZ "Failed to Open Socket."
MSG.CONNECTED .AZ "Connected."
MSG.SKTERR .AZ "Socket Error : $%h\r\n"
MSG.IOERR .AZ "I/O Error : $%h\r\n"
MSG.FileLength .AZ "File Length : %10u Bytes\r\n"
MSG.Progress .AZ "\rReceived : %10u"
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .CS "Usage : HTTPGET <ip|host> [port]\r\n"
.CS " -U : Url\r\n"
.CS " -F : UrlFile\r\n"
.CS " -O : OutputFile"
MSG.CRLF .CZ "\r\n"
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
MSG.CONNECT .CZ "Connecting to %d.%d.%d.%d:%D (%s)..."
MSG.SKTKO .CZ "Failed to Open Socket."
MSG.CONNECTED .CZ "Connected."
MSG.SKTERR .CZ "Socket Error : $%h\r\n"
MSG.IOERR .CZ "I/O Error : $%h\r\n"
MSG.FileLength .CZ "File Length : %10u Bytes\r\n"
MSG.Progress .CZ "\rReceived : %10u"
*--------------------------------------
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
.BS 1

View File

@ -1033,22 +1033,22 @@ CS.QUIT ldy #hOutputBuf
CS.END
LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .AZ "Usage : IRC <ip|host> <port> <nickname> <#channel> [key]"
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
MSG.HOSTOK .AZ "Connecting to %d.%d.%d.%d:%D (%s)..."
MSG.SKTKO .AZ "Failed to Open Socket."
MSG.SKTOK .AZ "Connected\r\n(Exit key is Ctrl-T)\r\n"
MSG.SKTERR .AZ "Socket Error : $%h\r\n"
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .CZ "Usage : IRC <ip|host> <port> <nickname> <#channel> [key]"
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
MSG.HOSTOK .CZ "Connecting to %d.%d.%d.%d:%D (%s)..."
MSG.SKTKO .CZ "Failed to Open Socket."
MSG.SKTOK .CZ "Connected\r\n(Exit key is Ctrl-T)\r\n"
MSG.SKTERR .CZ "Socket Error : $%h\r\n"
.DO TLS=1
MSG.TLS .AZ "TLS:Negociation..."
MSG.TLS.HDR .AZ "TLS:Received %D bytes, Message Type:%h.\r\n"
MSG.TLSKO .AZ "TLS:Negotiation failed."
MSG.TLS .CZ "TLS:Negociation..."
MSG.TLS.HDR .CZ "TLS:Received %D bytes, Message Type:%h.\r\n"
MSG.TLSKO .CZ "TLS:Negotiation failed."
.FIN
MSG.REGISTER .AZ "Registering User..."
MSG.JOIN .AZ "Joining Channel..."
MSG.TOPBAR .AZ "A2osX IRC %d.%d Server:%s:%s Nick:%s"
MSG.STATUSBAR .AZ "%s:%s"
MSG.REGISTER .CZ "Registering User..."
MSG.JOIN .CZ "Joining Channel..."
MSG.TOPBAR .CZ "A2osX IRC %d.%d Server:%s:%s Nick:%s"
MSG.STATUSBAR .CZ "%s:%s"
MSG.STATUSBARMSG .AS "STATUS:%s"
MSG.NULL .HS 00
*--------------------------------------
@ -1072,23 +1072,23 @@ IRC.CMDS .AZ "PING"
.AZ "376"
.DA #0
*--------------------------------------
IRC.REGISTER .AS "NICK %s\r\n"
.AZ "USER %s %s %s :A2osX IRC\r\n"
IRC.JOIN .AZ "JOIN %s\r\n"
IRC.JOINKEY .AZ "JOIN %s %s\r\n"
IRC.PONG .AZ "PONG :%s\r\n"
IRC.PART .AS "PART %s\r\n"
.AZ "QUIT :Pfff\r\n"
IRC.NAMES .AZ "NAMES %s\r\n"
IRC.PRIVMSG .AZ "PRIVMSG %s :%s\r\n"
IRC.REGISTER .CS "NICK %s\r\n"
.CZ "USER %s %s %s :A2osX IRC\r\n"
IRC.JOIN .CZ "JOIN %s\r\n"
IRC.JOINKEY .CZ "JOIN %s %s\r\n"
IRC.PONG .CZ "PONG :%s\r\n"
IRC.PART .CS "PART %s\r\n"
.CZ "QUIT :Pfff\r\n"
IRC.NAMES .CZ "NAMES %s\r\n"
IRC.PRIVMSG .CZ "PRIVMSG %s :%s\r\n"
*--------------------------------------
SEQ.INIT .AZ "\ec\e(B\e)0\e[?7l\e[2;20r\e[22;1H\e[?7h"
SEQ.BAR .AZ "\e[?7l\e7\e[%d;1H\e[7m\e[37;40m%80s\e[0m\e8\e[?7h"
SEQ.TXTCLR .AZ "\e[22;1H\e[97;41m\e[K\r\n\e[K\r\n\e[K\e[22;1H"
SEQ.PRIVMSG .AZ "\e7\e[20;1H\r\n\e[93;44m\e[7m%s:\e[0m\e[93;44m%s\e[K\e8"
SEQ.DUMPMSG .AZ "\e7\e[20;1H\r\n\e[7m%s \e[0m%s %s %s\e8"
SEQ.INFOMSG .AZ "\e7\e[20;1H\e[92;44m%s\r\n\e8"
SEQ.RESET .AZ "\ec"
SEQ.INIT .CZ "\ec\e(B\e)0\e[?7l\e[2;20r\e[22;1H\e[?7h"
SEQ.BAR .CZ "\e[?7l\e7\e[%d;1H\e[7m\e[37;40m%80s\e[0m\e8\e[?7h"
SEQ.TXTCLR .CZ "\e[22;1H\e[97;41m\e[K\r\n\e[K\r\n\e[K\e[22;1H"
SEQ.PRIVMSG .CZ "\e7\e[20;1H\r\n\e[93;44m\e[7m%s:\e[0m\e[93;44m%s\e[K\e8"
SEQ.DUMPMSG .CZ "\e7\e[20;1H\r\n\e[7m%s \e[0m%s %s %s\e8"
SEQ.INFOMSG .CZ "\e7\e[20;1H\e[92;44m%s\r\n\e8"
SEQ.RESET .CZ "\ec"
*--------------------------------------
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
.BS 1

View File

@ -33,7 +33,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.SSCANF.PID .DA SSCANF.PID
@ -56,7 +56,7 @@ CS.RUN ldy #S.PS.ARGC
cmp #'-'
bne .2
ldy #1
ldy #1
lda (ZPTmpPtr),y
beq .9
@ -68,9 +68,8 @@ CS.RUN ldy #S.PS.ARGC
>STA.G Signal
bra .1
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
@ -98,11 +97,11 @@ CS.QUIT clc
rts
*--------------------------------------
CS.END
MSG.USAGE .AS "Usage : KILL <signal> PID\r\n"
.AS " -0 : No Signal\r\n"
.AS " -1 : SIGQUIT\r\n"
.AZ " -2 : SIGKILL\r\n"
SSCANF.PID .AZ "%d"
MSG.USAGE .CS "Usage : KILL <signal> PID\r\n"
.CS " -0 : No Signal\r\n"
.CS " -1 : SIGQUIT\r\n"
.CZ " -2 : SIGKILL\r\n"
SSCANF.PID .CZ "%d"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -53,7 +53,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
@ -69,25 +69,24 @@ CS.RUN inc ArgIndex
lda ArgIndex
>SYSCALL ArgV
bcs .5
>STYA ZPPtr1
lda (ZPPtr1)
cmp #'-'
bne .4
jsr CS.RUN.CheckOpt
bcc CS.RUN
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
rts
.4 >LDA.G hSrcBasePath
bne .9
>LDYA ZPPtr1
jsr InitSrcDirYA
bcc CS.RUN
@ -142,29 +141,29 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
jsr CS.RUN.FILE
bcc CS.RUN.NEXT
rts
.5 cmp /S.STAT.MODE.DIR DIR ?
beq .6
cmp /S.STAT.MODE.BDEV VOL ?
bne .9
.6 jsr CS.RUN.DIR
bcc CS.RUN.NEXT
rts
.9 lda #MLI.E.UNSUPST
sec
.99 rts
.99 rts
*--------------------------------------
CS.RUN.NEXT jsr GetNextEntry
bcc CS.RUN.LOOP
CS.RUN.LEAVE jsr LeaveSubDir
bcs .90
jsr BasePath..
jmp CS.RUN.NEXT
.90 lda #0
@ -174,18 +173,18 @@ CS.RUN.LEAVE jsr LeaveSubDir
CS.RUN.DIR lda (ZPFileName)
cmp #'.'
bne .1
ldy #1
lda (ZPFileName),y
beq .8
cmp #'.'
bne .1
iny
lda (ZPFileName),y
beq .8
.1 jsr FilterMatch
bcs .8
@ -196,7 +195,7 @@ CS.RUN.DIR lda (ZPFileName)
>PUSHBI 2
>SYSCALL PrintF
bcs .9
>PUSHW ZPFullPath
jsr CS.RUN.GetNewPath
>PUSHYA
@ -224,14 +223,14 @@ CS.RUN.FILE jsr FilterMatch
bcs .9
jsr CS.RUN.GetNewPath
>PUSHW ZPFullPath
>PUSHW ZPNewPath
>SYSCALL Rename
bra CS.RUN.CheckErr
.8 clc
.9 rts
.9 rts
*--------------------------------------
CS.RUN.CheckErr bcs .1
>LDYA L.MSG.OK
@ -257,7 +256,7 @@ CS.RUN.GetFilePath
>SYSCALL GetMemPtr
>PUSHYA
>SYSCALL StrCpy
>PUSHW ZPFullPath
>PUSHW ZPFileName
>SYSCALL StrCat
@ -269,12 +268,12 @@ CS.RUN.GetNewPath
>SYSCALL GetMemPtr
>PUSHYA
>SYSCALL StrCpy
>PUSHW ZPNewPath
>LDYA ZPFileName
>SYSCALL StrLwr
>PUSHW ZPFileName
>SYSCALL StrCat
rts
@ -300,7 +299,7 @@ CS.QUIT jsr LeaveSubDir
.8 clc
rts
*--------------------------------------
CS.RUN.CheckOpt ldy #1
CS.RUN.CheckOpt ldy #1
lda (ZPPtr1),y
ldx #OptionVars-OptionList-1
@ -327,13 +326,13 @@ OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse
.DA #bContinue,#bRecurse
*--------------------------------------
MSG.USAGE .AS "Usage : LC File(s) (*,? wildcards allowed)\r\n"
.AS " -C : Continue on error\r\n"
.AS " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.DIR .AZ "Dir :%s..."
MSG.FILE .AZ "File:%s..."
MSG.USAGE .CS "Usage : LC File(s) (*,? wildcards allowed)\r\n"
.CS " -C : Continue on error\r\n"
.CZ " -R : Recurse subdirectories\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.DIR .CZ "Dir :%s..."
MSG.FILE .CZ "File:%s..."
*--------------------------------------
.DUMMY
.OR 0

View File

@ -34,7 +34,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.EVENT
.DA CS.EVENT
.DA CS.QUIT
L.MSG0 .DA MSG0
L.MSG1 .DA MSG1
@ -63,7 +63,7 @@ CS.RUN >LDYA L.MSG0
beq .7
>PUSHW L.MSG1
txa
>PUSHA
@ -76,7 +76,7 @@ CS.RUN >LDYA L.MSG0
ldx FILE.ID
lda hFDs.oCnt-1,x
>PUSHA
lda (ZPFDPtr)
tax
>PUSHW L.FD.T,x
@ -84,18 +84,18 @@ CS.RUN >LDYA L.MSG0
ldx FILE.ID
lda hFDs.hName-1,x
bne .5
>LDYA L.MSG.NA
bra .6
.5 >SYSCALL GetMemPtr
.6 >PUSHYA
>PUSHBI 7
>SYSCALL PrintF
.7 ldx FILE.ID
inx
cpx #K.hFD.MAX+1
@ -112,17 +112,17 @@ CS.QUIT clc
rts
*--------------------------------------
CS.END
MSG0 .AZ "hFILE hFD Cnt Type Filepath"
MSG1 .AZ "%3d %3d %3d %5s %s\r\n"
MSG.NA .AZ "n/a"
FD.T.REG .AZ "REG"
FD.T.DIR .AZ "DIR"
FD.T.CDEV .AZ "CDEV"
FD.T.BDEV .AZ "BDEV"
FD.T.LNK .AZ "LNK"
FD.T.DSOCK .AZ "DSOCK"
FD.T.SSOCK .AZ "SSOCK"
FD.T.PIPE .AZ "PIPE"
MSG0 .CZ "hFILE hFD Cnt Type Filepath"
MSG1 .CZ "%3d %3d %3d %5s %s\r\n"
MSG.NA .CZ "n/a"
FD.T.REG .CZ "REG"
FD.T.DIR .CZ "DIR"
FD.T.CDEV .CZ "CDEV"
FD.T.BDEV .CZ "BDEV"
FD.T.LNK .CZ "LNK"
FD.T.DSOCK .CZ "DSOCK"
FD.T.SSOCK .CZ "SSOCK"
FD.T.PIPE .CZ "PIPE"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -31,7 +31,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.Main .DA MSG.Main
L.MSG.Aux .DA MSG.Aux
@ -93,16 +93,16 @@ CS.RUN >LDYA L.MemStat
CS.RUN.PRINT pha
phy
>PUSHW L.MSG.Stat
ldy #3
.1 >PUSHW MemStat,x
>PUSHW MemStat,x
inx
inx
dey
bne .1
ply
pla
>PUSHYA
@ -117,14 +117,14 @@ CS.QUIT clc
rts
*--------------------------------------
CS.END
MSG.Main .AZ "--- Main Memory ----------------"
MSG.Aux .AZ "--- Aux Memory -----------------"
MSG.Kernel .AZ "--- Kernel (Drivers) Memory ----"
MSG.Stat .AS " Low : %5D (%H)\r\n"
.AS " Free Ptr : %5D (%H)\r\n"
.AS " High : %5D (%H)\r\n"
.AZ " Available Memory : %5D Bytes\r\n"
MSG.End .AZ "--------------------------------"
MSG.Main .CZ "--- Main Memory ----------------"
MSG.Aux .CZ "--- Aux Memory -----------------"
MSG.Kernel .CZ "--- Kernel (Drivers) Memory ----"
MSG.Stat .CS " Low : %5D (%H)\r\n"
.CS " Free Ptr : %5D (%H)\r\n"
.CS " High : %5D (%H)\r\n"
.CZ " Available Memory : %5D Bytes\r\n"
MSG.End .CZ "--------------------------------"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -46,7 +46,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG0 .DA MSG0
L.MSG1.INV .DA MSG1.INV
@ -76,15 +76,15 @@ CS.RUN ldx #ZPCodeLen-1
jsr CS.RUN.INIT
*--------------------------------------
CS.RUN.LOOP inc MEM.COUNT skip slot 0
jsr CS.RUN.CheckStop
bcs CS.INIT.RTS
.1 lda (ZPPTR1)
bpl .2
inc USED.COUNT
.2 jsr CS.RUN.PRINTMEM
lda ZPPTR1
clc
@ -92,30 +92,30 @@ CS.RUN.LOOP inc MEM.COUNT skip slot 0
sta ZPPTR1
bcc .3
inc ZPPTR1+1
.3 lda MEM.COUNT
>CMP.G MemStat+S.MSTAT.MLast
bne CS.RUN.LOOP
jsr CS.RUN.SUMMARY
jsr CS.RUN.MSTAT
jsr CS.RUN.PrintCRLF
jsr CS.RUN.INIT
*--------------------------------------
CS.RUN.LOOPX inc MEM.COUNT skip slot 0
jsr CS.RUN.CheckStop
bcs CS.INIT.RTS
.1 ldy #S.MEM.F
jsr ZPReadAux
bpl .2
inc USED.COUNT
.2 jsr CS.RUN.PRINTMEMX
lda ZPPTR1
@ -124,7 +124,7 @@ CS.RUN.LOOPX inc MEM.COUNT skip slot 0
sta ZPPTR1
bcc .3
inc ZPPTR1+1
.3 lda MEM.COUNT
>CMP.G MemStat+S.MSTAT.XLast
bne CS.RUN.LOOPX
@ -132,7 +132,7 @@ CS.RUN.LOOPX inc MEM.COUNT skip slot 0
jsr CS.RUN.SUMMARY
jsr CS.RUN.XSTAT
lda #0
sec
rts
@ -143,7 +143,7 @@ CS.RUN.INIT >LDYAI Mem.Table+S.MEM skip slot 0
>PUSHW L.MSG0
>PUSHBI 0
jsr CS.RUN.PrintF
stz MEM.COUNT
stz USED.COUNT
rts
@ -191,20 +191,20 @@ CS.RUN.XSTAT jsr CS.RUN.PrintCRLF
jmp CS.RUN.PrintF
*--------------------------------------
CS.RUN.PRINTMEM >PUSHW L.MSG1
>PUSHB MEM.COUNT
lda (ZPPTR1) Get flags
ldy #MEM.FLAGS+7
ldx #7
.20 lsr
pha
lda #'-'
bcc .30
lda MSG.FLAGS,x
.30 sta (pData),y
pla
dey
@ -221,38 +221,38 @@ CS.RUN.PRINTMEM >PUSHW L.MSG1
ldy #S.MEM.REFCNT
lda (ZPPTR1),y
>PUSHA
ldy #S.MEM.PTR+1
lda (ZPPTR1),y
>PUSHA
dey
lda (ZPPTR1),y
>PUSHA
ldy #S.MEM.LEN+1
lda (ZPPTR1),y
>PUSHA
dey
lda (ZPPTR1),y
>PUSHA
lda (ZPPTR1) Get flags
bpl .12
txa
jsr CS.RUN.CHECKPS
bcc .12
jsr CS.RUN.PrintINV
.12 >PUSHBI 9
>SYSCALL PrintF
lda (ZPPTR1)
and #S.MEM.F.CODE
bne CS.RUN.PRINTMEM.BIN
CS.RUN.PRINTMEM.DATA
ldy #S.MEM.PTR
@ -261,43 +261,43 @@ CS.RUN.PRINTMEM.DATA
iny
lda (ZPPTR1),y
sta ZPPTR2+1
ldy #0
.1 lda (ZPPTR2),y Check if it looks like a printable string
beq .11
bmi .2
cmp #$20
bcc .2 not printable....->hex
iny
bne .1
.11 >PUSHW L.MSG1.STR
tya
beq .2 Starting with 0...PrintHEX
>PUSHA len
>PUSHW ZPPTR2 String
>PUSHBI 3
jmp CS.RUN.PrintF
.2 >PUSHW L.MSG1.HEX
ldy #0
.3 >PUSHB (ZPPTR2),y
iny
cpy #16
bne .3
>PUSHBI 16
jmp CS.RUN.PrintF
CS.RUN.PRINTMEM.BIN
>PUSHW L.MSG1.BIN
@ -310,22 +310,22 @@ CS.RUN.PRINTMEM.BIN
*--------------------------------------
CS.RUN.PRINTMEMX
>PUSHW L.MSG1X
>PUSHB MEM.COUNT
ldy #S.MEM.F Get flags
jsr ZPReadAux
ldy #MEM.FLAGS+7
ldx #7
.20 lsr
pha
lda #'-'
bcc .30
lda MSG.FLAGSX,x
.30 sta (pData),y
pla
dey
@ -342,31 +342,31 @@ CS.RUN.PRINTMEMX
ldy #S.MEM.REFCNT
jsr ZPReadAux
>PUSHA
ldy #S.MEM.PTR+1
jsr ZPReadAux
>PUSHA
dey
jsr ZPReadAux
>PUSHA
ldy #S.MEM.LEN+1
jsr ZPReadAux
>PUSHA
dey
jsr ZPReadAux
>PUSHA
ldy #S.MEM.F
jsr ZPReadAux Get flags
bpl .12
txa
jsr CS.RUN.CHECKPS
bcc .12
jsr CS.RUN.PrintINV
.12 >PUSHBI 9
jmp CS.RUN.PrintF
@ -375,7 +375,7 @@ CS.RUN.CHECKPS ldx #0
.1 cmp PS.Table.PID,x
beq .8
inx
cpx #K.PS.MAX
bne .1
@ -393,7 +393,7 @@ CS.RUN.CheckStop
>SYSCALL GetChar
bcs .9
cmp #3 Ctrl-C
beq .9 CS
@ -406,19 +406,19 @@ CS.RUN.CheckStop
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
@ -432,19 +432,19 @@ CS.RUN.PrintINV >PUSHW L.MSG1.INV
CS.RUN.PrintCRLF
>PUSHW L.MSG.CRLF
>PUSHBI 0
CS.RUN.PrintF >SYSCALL PrintF
bcs .9
inc LINE.COUNT
lda LINE.COUNT
cmp #PAGE.LEN
bcc .8
dec bSTOP
stz LINE.COUNT
clc
.8
.8
.9 rts
*--------------------------------------
CS.DOEVENT sec
@ -458,23 +458,23 @@ ZPCode sta SETREADAUX
lda (ZPPTR1),y
sta CLRREADAUX
rts
ZPCodeLen .EQ *-ZPCode
ZPCodeLen .EQ *-ZPCode
*--------------------------------------
MSG0 .AZ "hMem Flags PID REF PTR LEN BINPATH/DATA\r\n"
MSG1.INV .AZ "\e[7m"
MSG1 .AZ "$%h %s %3d %3d $%H %5D "
MSG1.BIN .AZ "\e[7m%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"
MSG1X .AZ "$%h %s %3d %3d $%H %5D\e[0m\r\n"
MSG2 .AZ "Allocated hMem:%d, Total:%d\r\n"
MSG3 .AS "High Memory: $%H, "
.AS "Free ULimit: $%H, "
.AS "Low : $%H, "
.AS "Free : %5D Bytes."
MSG.CRLF .AZ "\r\n"
MSG.FLAGS .AS "UZXAfcds"
MSG.FLAGSX .AS "UZXAidep"
MSG0 .CZ "hMem Flags PID REF PTR LEN BINPATH/DATA\r\n"
MSG1.INV .CZ "\e[7m"
MSG1 .CZ "$%h %s %3d %3d $%H %5D "
MSG1.BIN .CZ "\e[7m%s\e[0m\r\n"
MSG1.STR .CZ "[%03d:%s]\e[0m\r\n"
MSG1.HEX .CZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
MSG1X .CZ "$%h %s %3d %3d $%H %5D\e[0m\r\n"
MSG2 .CZ "Allocated hMem:%d, Total:%d\r\n"
MSG3 .CS "High Memory: $%H, "
.CS "Free ULimit: $%H, "
.CS "Low : $%H, "
.CS "Free : %5D Bytes."
MSG.CRLF .CZ "\r\n"
MSG.FLAGS .CS "UZXAfcds"
MSG.FLAGSX .CS "UZXAidep"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -9,6 +9,7 @@ NEW
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/eth.i
.INB inc/net.tcpip.i
.INB inc/libtcpip.i
*--------------------------------------
TIMEOUT.MAX .EQ 250 25 sec.
@ -50,7 +51,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.DOEVENT
.DA CS.QUIT
J.CheckArgs .DA CheckArgs.A
.DA CheckArgs.S
@ -71,7 +72,7 @@ L.MSG.TIME .DA MSG.TIME
CS.INIT >LDYA L.LIBTCPIP
>SYSCALL LoadLib
bcs .9
sta hLIBTCPIP
clc
@ -79,13 +80,13 @@ CS.INIT >LDYA L.LIBTCPIP
*--------------------------------------
CS.RUN jsr CheckArgs
bcs .9
jsr OpenSocket
bcs .9
.1 jsr SendNTPRequest
bcs .2
jsr DecodeNTPReply
bcs .2
@ -93,20 +94,20 @@ CS.RUN jsr CheckArgs
bpl .2
jsr SetProDOSTime
.2 bit bDaemon
.2 bit bDaemon
bpl .7
lda #TIMEOUT.MAX
sta TimeOut
.3 >SLEEP
lda TimeOut
bne .3
bra .1
.7 bcc .8
rts
@ -151,7 +152,7 @@ CheckArgs inc iArg
ldy #2
lda (ZPPtr),y
bne .9
dey
lda (ZPPtr),y
@ -166,9 +167,9 @@ CheckArgs inc iArg
dex
dex
bpl .2
bra .9
.3 inc iArg
jsr .5
@ -177,12 +178,12 @@ CheckArgs inc iArg
.4 lda iHost
bne .9
lda iArg
sta iHost
bra CheckArgs
.5 jmp (J.CheckArgs,x)
.5 jmp (J.CheckArgs,x)
.8 lda iHost
beq .9
@ -190,25 +191,24 @@ CheckArgs inc iArg
clc
rts
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
rts
CheckArgs.A lda iArg
>SYSCALL ArgV
bcs .9
>SYSCALL AToL
>PUSHWZ
>PUSHWI 3600
>FPU uMUL
>PULLL Adjust
clc
.9 rts
CheckArgs.S sec
@ -226,7 +226,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
lda (ZPIPCfgPtr) Configured ?
bmi .10
.99 >LDYA L.MSG.IPKO
>SYSCALL PutS
sec
@ -234,7 +234,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
.10 ldy #S.IPCFG.IP+3
ldx #3
.1 lda (ZPIPCfgPtr),y
sta SA.LOCAL+S.SOCKADDR.ADDR,x
dey
@ -263,7 +263,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
>SYSCALL PrintF
sec
rts
.3 >PUSHBI S.SOCKET.T.DGRAM
>PUSHBI S.IP.PROTOCOL.UDP
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
@ -275,7 +275,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
>PUSHW L.SA.LOCAL
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
bcs .9
>PUSHB hSocket
>PUSHW L.SA.REMOTE
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
@ -319,7 +319,7 @@ SendNTPRequest >PUSHB hSocket
DecodeNTPReply sta hFrame
>SYSCALL GetMemPtr
>STYA ZPPtr
lda #S.UDP+40
clc
@ -331,9 +331,9 @@ DecodeNTPReply sta hFrame
ldy #3
ldx #0
clc
.1 lda (ZPPtr),y
adc Adjust,x
sta Time1900,x
@ -351,20 +351,20 @@ DecodeNTPReply sta hFrame
sta STime+S.TIME.YEAR
>PUSHW L.MSG.TIME
ldy #0
.2 >PUSHB STime,y
iny
cpy #7
bne .2
>PUSHBI 7
>SYSCALL PrintF
lda hFrame
>SYSCALL FreeMem
rts
*--------------------------------------
SetProDOSTime lda STime+S.TIME.MONTH
@ -374,21 +374,21 @@ SetProDOSTime lda STime+S.TIME.MONTH
asl
asl
sta DATELO
lda STime+S.TIME.YEAR
rol
sta DATELO+1
lda STime+S.TIME.DAY
ora DATELO
sta DATELO
lda STime+S.TIME.HOUR
sta TIMELO+1
lda STime+S.TIME.MINUTE
sta TIMELO
clc
rts
*--------------------------------------
@ -399,15 +399,15 @@ hLIBTCPIP .BS 1
OptionList .AS "AaSsDd"
OptionCnt .EQ *-OptionList
*--------------------------------------
MSG.USAGE .AS "Usage : NTPDATE <ip|host>\r\n"
.AS " -A (-)nn : TZ offset\r\n"
.AS " -S : Set ProDOS date\r\n"
.AZ " -D : Run as Daemon\r\n"
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
MSG.SOCKET .AZ "Failed to open socket\r\n"
MSG.TIMEOUT .AZ "No response from %s\r\n"
MSG.TIME .AS "NTPDATE:%02d%02d/%02d/%02d %02d:%02d:%02d\r\n"
MSG.USAGE .CS "Usage : NTPDATE <ip|host>\r\n"
.CS " -A (-)nn : TZ offset\r\n"
.CS " -S : Set ProDOS date\r\n"
.CZ " -D : Run as Daemon\r\n"
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
MSG.SOCKET .CZ "Failed to open socket\r\n"
MSG.TIMEOUT .CZ "No response from %s\r\n"
MSG.TIME .CS "NTPDATE:%02d%02d/%02d/%02d %02d:%02d:%02d\r\n"
*--------------------------------------
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
.BS 1

View File

@ -53,7 +53,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBPAK .DA LIBPAK
L.MSG.USAGE .DA MSG.USAGE
@ -68,7 +68,7 @@ L.ARC.Header .DA ARC.Header
CS.INIT >LDYA L.LIBPAK
>SYSCALL LoadLib
bcs .9
sta hLIB
.9 rts
@ -77,30 +77,29 @@ CS.RUN >INC.G ArgIndex
>SYSCALL ArgV
bcs .8
>STYA ZPPtr1
lda (ZPPtr1)
cmp #'-'
bne .4
jsr CS.RUN.CheckOpt
bcs .9
bne CS.RUN
>INC.G ArgIndex -X
>SYSCALL ArgV
bcs .9
>SYSCALL StrDup
bcs .9
txa
>STA.G hExclude
bra CS.RUN
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts
@ -111,18 +110,18 @@ CS.RUN >INC.G ArgIndex
>LDA.G ArgIndex
>STA.G ArcName
bra CS.RUN
.5 >LDA.G hSrcBasePath
bne .9
>LDYA ZPPtr1
jsr InitSrcDirYA
bcc CS.RUN
rts
.8 >LDA.G ArcName
beq .9
>LDA.G hSrcBasePath
beq .9
*--------------------------------------
@ -132,17 +131,17 @@ CS.RUN >INC.G ArgIndex
>STYA ZPFullPath
txa
>STA.G hSrcFullPath
>LDA.G hSrcBasePath
>SYSCALL GetMemPtr
>STYA ZPPtr1
ldy #$ff
.80 iny
lda (ZPPtr1),y
bne .80
tya
clc
adc ZPFullPath
@ -150,10 +149,10 @@ CS.RUN >INC.G ArgIndex
lda ZPFullPath+1
adc #0
sta ZPRelPath+1
jsr CS.RUN.OpenArc
.98 bcs .99
>LDYAI CHNK.SIZE
>SYSCALL GetMem
bcs .98
@ -172,16 +171,16 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL FEOF
bcs .99
tay
bne .1
>SYSCALL GetChar
bcs .99
cmp #$03 Ctrl-C
beq .99 Abort....
cmp #$13 Ctrl-S
bne .1
@ -189,31 +188,31 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
eor #$ff
sta bPause
bne CS.RUN.LOOP
.1 lda bPause
bne CS.RUN.LOOP Pause...
*--------------------------------------
jsr GetEntry
bcs .9
jsr FilterMatch
bcs .8 no match, skip....
jsr ExcludeMatch
bcc .8 match, skip
ldy #S.STAT.MODE+1
lda (ZPFileStat),y
and #$70
beq .6
cmp /S.STAT.MODE.DIR
bne .8
jsr CS.RUN.DIR
bcs .99
bra .8
.6 jsr CS.RUN.FILE
bcs .99
bra .8
@ -222,16 +221,16 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
bcs .90
jsr BasePath..
.8 jsr GetNextEntry
jmp CS.RUN.LOOP
.90 lda #0
sec
.99 rts
*--------------------------------------
CS.RUN.DEV lda #E.BADPATH
sec
sec
rts
*--------------------------------------
CS.RUN.DIR lda bRecurse
@ -240,40 +239,40 @@ CS.RUN.DIR lda bRecurse
lda (ZPFileName)
cmp #'.'
bne .1
ldy #1
lda (ZPFileName),y
beq .8
cmp #'.'
bne .1
iny
lda (ZPFileName),y
beq .8
.1 jsr CS.RUN.BuildFilePath
>PUSHW L.MSG.DIR
>PUSHW ZPRelPath
>PUSHBI 2
>SYSCALL PrintF
bcs .9
jsr CS.RUN.WriteArcHdrDir
bcs .9
>LDYA ZPFileName
jsr EnterSubDirYA
.9 jmp CS.RUN.CheckErr
.8 clc
rts
*--------------------------------------
CS.RUN.FILE jsr CS.RUN.BuildFilePath
>PUSHW ZPFullPath
>LDA.G hArcFile
tay
@ -285,48 +284,48 @@ CS.RUN.FILE jsr CS.RUN.BuildFilePath
>PUSHW L.MSG.FILE
>PUSHW ZPRelPath
>PUSHBI 2
>SYSCALL PrintF
bcs .9
jsr CS.RUN.WriteArcHdrFile
bcs .9
jsr CS.RUN.OpenFile
bcs .9
.1 lda #'.'
>SYSCALL PutChar
jsr CS.RUN.ReadFile
bcc .2
cmp #MLI.E.EOF
bne .4
jsr CS.RUN.CloseFile
bra .9
.2 jsr CS.RUN.Pak
bcs .3
jsr CS.RUN.WritePakData
bcc .1
bra .4
.3 jsr CS.RUN.WriteSrcData
bcc .1
.4 pha
jsr CS.RUN.CloseFile
pla
sec
.9 jmp CS.RUN.CheckErr
.8 clc
rts
*--------------------------------------
@ -334,14 +333,14 @@ CS.RUN.CheckErr bcs .1
>LDYA L.MSG.OK
>SYSCALL PutS
rts
.1 pha
>PUSHW L.MSG.ERR
pla
pha
>PUSHA
>PUSHBI 1
>SYSCALL PrintF
pla
@ -354,7 +353,7 @@ CS.RUN.BuildFilePath
>SYSCALL GetMemPtr
>PUSHYA
>SYSCALL StrCpy
>PUSHW ZPFullPath
>PUSHW ZPFileName
>SYSCALL StrCat
@ -366,7 +365,7 @@ CS.RUN.OpenFile >PUSHW ZPFullPath
>PUSHWZ Aux type
>SYSCALL FOpen
bcs .9
>STA.G hFile
.9 rts
@ -376,16 +375,16 @@ CS.RUN.ReadFile >PUSHB.G hFile
>PUSHWI CHNK.SIZE
>SYSCALL FRead
bcs .9
>STYA.G Shunk.SrcSize
.9 rts
.9 rts
*--------------------------------------
CS.RUN.CloseFile
>LDA.G hFile
>SYSCALL FClose
bcs .9
>STZ.G hFile
.9 rts
*--------------------------------------
@ -401,23 +400,23 @@ CS.RUN.Pak >PUSHEA.G PAKSTAT
CS.RUN.OpenArc >LDA.G ArcName
>SYSCALL ArgV
>PUSHYA
bit bAppend
bmi CS.RUN.AppendArc
>PUSHBI O.CREATE+O.WRONLY
>PUSHBI $CF PAK
>PUSHWZ Aux type
>SYSCALL FOpen
bcs .9
>STA.G hArcFile
>PUSHB.G hArcFile
>PUSHW L.ARC.Header
>SYSCALL FPutS
.9
.9
CS.RUN.OpenArc.RTS
rts
*--------------------------------------
@ -425,13 +424,13 @@ CS.RUN.AppendArc
>PUSHBI O.RDWR+O.APPEND
>PUSHBI $CF PAK
>PUSHWZ Aux type
>SYSCALL FOpen
bcs CS.RUN.OpenArc.RTS
>STA.G hArcFile
rts
>PUSHB.G hArcFile
>PUSHLZ
>PUSHBI SEEK.SET
@ -443,18 +442,18 @@ CS.RUN.AppendArc
>PUSHWI 3
>SYSCALL FRead
bcs .9
cpy #3
bne .99
dey
.2 lda ARC.Header,y
cmp (ZPSrcBufPtr),y
bne .99
dey
bpl .2
>PUSHB.G hArcFile
>PUSHLZ
>PUSHBI SEEK.END
@ -476,16 +475,16 @@ CS.RUN.WriteArcHdrDir
jsr CS.RUN.WriteArcByteA
bcc CS.RUN.WriteArcHdr
rts
CS.RUN.WriteArcHdrFile
lda #CHNK.T.FILE
jsr CS.RUN.WriteArcByteA
bcs CS.RUN.WriteArcHdr.9
ldy #S.STAT.P.TYPE
jsr CS.RUN.WriteArcByteY
bcs CS.RUN.WriteArcHdr.9
ldy #S.STAT.P.AUXTYPE
jsr CS.RUN.WriteArcByteY
bcs CS.RUN.WriteArcHdr.9
@ -496,19 +495,19 @@ CS.RUN.WriteArcHdrFile
CS.RUN.WriteArcHdr
ldy #$ff
.1 iny
lda (ZPRelPath),y
bne .1
tya
jsr CS.RUN.WriteArcByteA
bcs CS.RUN.WriteArcHdr.9
>PUSHB.G hArcFile
>PUSHW ZPRelPath
>SYSCALL FPutS
CS.RUN.WriteArcHdr.9
rts
*--------------------------------------
@ -516,7 +515,7 @@ CS.RUN.WriteSrcData
lda #CHNK.T.DATA
jsr CS.RUN.WriteArcByteA
bcs .9
>LDA.G Shunk.SrcSize
clc
adc #3
@ -524,23 +523,23 @@ CS.RUN.WriteSrcData
>LDA.G Shunk.SrcSize+1
adc #0
sta ZPPtr1+1
pla
jsr CS.RUN.WriteArcByteA
bcs .9
lda ZPPtr1+1
jsr CS.RUN.WriteArcByteA
bcs .9
lda #0 NO COMPRESSION
jsr CS.RUN.WriteArcByteA
bcs .9
>LDA.G Shunk.SrcSize
jsr CS.RUN.WriteArcByteA
bcs .9
>LDA.G Shunk.SrcSize+1
jsr CS.RUN.WriteArcByteA
bcs .9
@ -559,7 +558,7 @@ CS.RUN.WritePakData
>LDA.G Shunk.DstSize
jsr CS.RUN.WriteArcByteA
bcs .9
>LDA.G Shunk.DstSize+1
jsr CS.RUN.WriteArcByteA
bcs .9
@ -572,12 +571,12 @@ CS.RUN.WritePakData
*--------------------------------------
CS.RUN.WriteArcByteY
lda (ZPFileStat),y
CS.RUN.WriteArcByteA
pha
>PUSHB.G hArcFile
pla
>PUSHA
>PUSHA
>SYSCALL FPutC
rts
*--------------------------------------
@ -586,7 +585,7 @@ CS.DOEVENT sec
*--------------------------------------
CS.QUIT jsr LeaveSubDir
bcc CS.QUIT
ldy #hExclude
jsr .7
ldy #hFilter
@ -604,18 +603,18 @@ CS.QUIT jsr LeaveSubDir
.1 lda hLIB
beq .2
>SYSCALL UnloadLib
.2 clc
rts
.7 lda (pData),y
beq .8
>SYSCALL FreeMem
.8 rts
.8 rts
*--------------------------------------
CS.RUN.CheckOpt ldy #1
CS.RUN.CheckOpt ldy #1
lda (ZPPtr1),y
ldx #OptionVars-OptionList-1
@ -627,10 +626,10 @@ CS.RUN.CheckOpt ldy #1
sec
rts
.2 ldy OptionVars,x
beq .8
lda #$ff
sta 0,y
@ -644,16 +643,16 @@ CS.END
OptionList .AS "AaRrXx"
OptionVars .DA #bAppend,#bAppend,#bRecurse,#bRecurse,#0,#0
*--------------------------------------
MSG.USAGE .AS "Usage : PAK Archive [File *,? wildcards allowed]\r\n"
.AS " -A : Append to archive\r\n"
.AS " -R : Recurse subdirectories\r\n"
.AZ " -X <*,? wildcards allowed> : exclude files \r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.E.IARC .AZ "Invalid/corrupt archive"
MSG.DIR .AZ "Reading Dir:%s..."
MSG.FILE .AZ "Adding File:%s..."
ARC.Header .AZ "PAK"
MSG.USAGE .CS "Usage : PAK Archive [File *,? wildcards allowed]\r\n"
.CS " -A : Append to archive\r\n"
.CS " -R : Recurse subdirectories\r\n"
.CZ " -X <*,? wildcards allowed> : exclude files \r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.E.IARC .CZ "Invalid/corrupt archive"
MSG.DIR .CZ "Reading Dir:%s..."
MSG.FILE .CZ "Adding File:%s..."
ARC.Header .CZ "PAK"
*--------------------------------------
LIBPAK .AZ "libpak"
hLIB .BS 1
@ -675,7 +674,7 @@ Shunk.SrcSize .BS 2
Shunk.DstSize .BS 2
PAKSTAT .BS S.PAKSTAT
.INB usr/src/shared/x.fileenum.g
DS.END
.ED

View File

@ -57,7 +57,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBPAK .DA LIBPAK
L.MSG.USAGE .DA MSG.USAGE
@ -72,7 +72,7 @@ L.TAG .DA TAG
CS.INIT >LDYA L.LIBPAK
>SYSCALL LoadLib
bcs .9
sta hLIB
.9 rts
@ -92,17 +92,16 @@ CS.RUN ldy #S.PS.ARGC
>PUSHBI O.CREATE+O.WRONLY
>PUSHB.G STATBUF+S.STAT.P.TYPE
>PUSHW.G STATBUF+S.STAT.P.AUXTYPE
>SYSCALL FOpen
bcs .99
sta hDstFile
bra CS.RUN.START
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts
@ -133,7 +132,7 @@ CS.RUN.START >PUSHW L.MSG.SRCFILE
>PUSHW ZPDstTableOfs
>SYSCALL FRead
bcs CS.RUN.RTS
>PUSHB hDstFile
>PUSHW ZPSrcBufPtr
>PUSHW ZPDstTableOfs
@ -141,27 +140,27 @@ CS.RUN.START >PUSHW L.MSG.SRCFILE
bcs CS.RUN.RTS
jsr CS.QUIT.BUF
jsr CS.RUN.WriteTable Write Fake table
bcc CS.RUN.LOOP
CS.RUN.RTS rts
CS.RUN.RTS rts
*--------------------------------------
CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y
>SYSCALL FEOF
bcs CS.RUN.RTS
tay
bne .1
>SYSCALL GetChar
bcs CS.RUN.RTS
cmp #$03 Ctrl-C
beq CS.RUN.RTS Abort....
cmp #$13 Ctrl-S
bne .1
@ -169,13 +168,13 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
eor #$ff
sta bPause
bne CS.RUN.LOOP
.1 lda bPause
bne CS.RUN.LOOP Pause...
*--------------------------------------
jsr CS.RUN.GetChunk
bcs CS.RUN.RTS
>PUSHW L.MSG.CHUNK
lda ZPChunkIndex
inc
@ -192,22 +191,22 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
jsr CS.RUN.WritePak
bcc .7
rts
.2 jsr CS.RUN.WriteStore
bcs .9
.7 jsr CS.QUIT.BUF
jsr CS.RUN.UpdateTable
inc ZPChunkIndex
dec ZPChunkCnt
beq .8
jmp CS.RUN.LOOP
.8 jsr CS.RUN.RewriteTable Write modified Table
bcs .9
lda #0
sec
.9 rts
@ -219,17 +218,17 @@ CS.RUN.CheckSrcFile
>PUSHBI O.RDONLY
>PUSHBI 0 Type
>PUSHWZ Aux type
>SYSCALL FOpen
bcs .99
sta hSrcFile
>PUSHB hSrcFile
>PUSHEA.G STATBUF
>SYSCALL FStat
.99 bcs .9
>LDA.G STATBUF+S.STAT.SIZE+3
dey
ora (pData),y
@ -241,22 +240,22 @@ CS.RUN.CheckSrcFile
dey
lda (pData),y
sta ZPSrcFileSize
jsr CS.RUN.CheckTAG
bcs .9
jsr CS.RUN.GetTable
bcs .9
clc
rts
.90 lda #MLI.E.INCFF
sec
.9
.9
CS.RUN.CheckSrcFile.RTS
rts
rts
*--------------------------------------
CS.RUN.CheckTAG >PUSHB hSrcFile
>PUSHWZ
@ -268,19 +267,19 @@ CS.RUN.CheckTAG >PUSHB hSrcFile
lda ZPSrcFileSize+1
sbc #0
>PUSHYA
>PUSHBI SEEK.SET
>SYSCALL FSeek
bcs CS.RUN.CheckSrcFile.RTS
>PUSHB hSrcFile
>PUSHEA.G PAKME.HEADER
>PUSHWI 10
>SYSCALL FRead
bcs CS.RUN.CheckSrcFile.RTS
ldx #4
ldy #PAKME.HEADER+4
.1 lda TAG,x
@ -289,10 +288,10 @@ CS.RUN.CheckTAG >PUSHB hSrcFile
dey
dex
bpl .1
clc
rts
.90 lda #MLI.E.INCFF
sec
.9 rts
@ -312,7 +311,7 @@ CS.RUN.GetTable >LDA.G PAKME.HEADER+8
>PUSHBI SEEK.SET
>SYSCALL FSeek
bcs .9
>PUSHB hSrcFile
>PUSHEA.G PAKME.TABLE
>LDA.G PAKME.HEADER+7
@ -322,13 +321,13 @@ CS.RUN.GetTable >LDA.G PAKME.HEADER+8
tay
lda #0
>PUSHYA
>SYSCALL FRead
.9 rts
*--------------------------------------
CS.RUN.GetChunk lda ZPChunkIndex
asl
clc
adc #PAKME.TABLE+1
@ -341,7 +340,7 @@ CS.RUN.GetChunk lda ZPChunkIndex
ldy #PAKME.HEADER+5
sbc (pData),y
sta ZPChunkOfs
iny
pla
sbc (pData),y
@ -353,13 +352,13 @@ CS.RUN.GetChunk lda ZPChunkIndex
>PUSHBI SEEK.SET
>SYSCALL FSeek
bcs .9
>PUSHB hSrcFile
>PUSHEA.G CHUNK.HEADER
>PUSHWI 3
>SYSCALL FRead
bcs .9
>LDA.G CHUNK.HEADER
bne .90
@ -370,30 +369,30 @@ CS.RUN.GetChunk lda ZPChunkIndex
lda (pData),y
sta ZPChunkLen+1
ply
jsr CS.RUN.GetSrcBufYA
bcs .9
>PUSHB hSrcFile
>PUSHW ZPSrcBufPtr
>PUSHW ZPChunkLen
>SYSCALL FRead
bcs .9
* clc
rts
.90 lda #MLI.E.INCFF
sec
.9 rts
.9 rts
*--------------------------------------
CS.RUN.GetSrcBufYA
>SYSCALL GetMem
bcs .9
stx hSrcBuf
>STYA ZPSrcBufPtr
.9 rts
.9 rts
*--------------------------------------
CS.RUN.Pak >LDYA ZPChunkLen
>SYSCALL GetMem
@ -427,29 +426,29 @@ CS.RUN.WriteTable
lda #0
>PUSHYA
>SYSCALL FWrite
CS.RUN.WriteTable.RTS
CS.RUN.WriteTable.RTS
rts
*--------------------------------------
CS.RUN.WritePak lda hDstFile
>SYSCALL FTell
bcs .9
>PULLW ZPChunkNewOfs
inc pStack
inc pStack
>PUSHB hDstFile
>PUSHW ZPDstBufPtr
>PUSHW ZPChunkPakedLen
>SYSCALL FWrite
bcs .9
>PUSHW L.MSG.PAKED
>PUSHW ZPChunkPakedLen
>PUSHW ZPChunkNewOfs
>PUSHBI 4
>SYSCALL PrintF
>SYSCALL PrintF
.9
CS.RUN.WritePak.RTS
rts
@ -458,42 +457,42 @@ CS.RUN.WriteStore
lda hDstFile
>SYSCALL FTell
bcs CS.RUN.WritePak.RTS
>PULLW ZPChunkNewOfs
inc pStack
inc pStack
>PUSHB hDstFile
>PUSHEA.G CHUNK.HEADER
>PUSHWI 3
>SYSCALL FWrite
bcs .9
>PUSHB hDstFile
>PUSHW ZPSrcBufPtr
>PUSHW ZPChunkLen
>SYSCALL FWrite
bcs .9
>PUSHW L.MSG.STORE
>PUSHW ZPChunkLen
>PUSHW ZPChunkNewOfs
>PUSHBI 4
>SYSCALL PrintF
>SYSCALL PrintF
.9 rts
*--------------------------------------
CS.RUN.UpdateTable
ldy #PAKME.HEADER+6
lda (pData),y
pha
dey
lda (pData),y
pha
lda ZPChunkIndex
asl
clc
adc #PAKME.TABLE
@ -503,9 +502,9 @@ CS.RUN.UpdateTable
clc
adc ZPChunkNewOfs
sta (pData),y
iny
pla
adc ZPChunkNewOfs+1
sta (pData),y
@ -517,18 +516,18 @@ CS.DOEVENT sec
CS.QUIT lda hDstFile
beq .2
>SYSCALL FClose
.2 lda hSrcFile
beq .3
>SYSCALL FClose
.3 jsr CS.QUIT.BUF
lda hLIB
beq .8
>SYSCALL UnloadLib
.8 clc
rts
*--------------------------------------
@ -541,18 +540,18 @@ CS.QUIT.BUF lda hDstBuf
beq .8
stz hSrcBuf
>SYSCALL FreeMem
.8 rts
.8 rts
*--------------------------------------
CS.END
*--------------------------------------
MSG.USAGE .AZ "Usage : PAKME SourceBIN PackedBIN\r\n"
MSG.SRCFILE .AZ "Source File : %s, Size=%5D, Org=$%H, %d Chunks at $%H.\r\n"
MSG.CHUNK .AZ " Chunk #%02d : Ofs=$%H, Len=%5D ... "
MSG.PAKED .AZ "PAKed : %5D Bytes, New Ofs=$%H\r\n"
MSG.STORE .AZ "Store : %5D Bytes, New Ofs=$%H\r\n"
MSG.E.IARC .AZ "Invalid/corrupt archive"
TAG .AZ "PAKME"
MSG.USAGE .CZ "Usage : PAKME SourceBIN PackedBIN\r\n"
MSG.SRCFILE .CZ "Source File : %s, Size=%5D, Org=$%H, %d Chunks at $%H.\r\n"
MSG.CHUNK .CZ " Chunk #%02d : Ofs=$%H, Len=%5D ... "
MSG.PAKED .CZ "PAKed : %5D Bytes, New Ofs=$%H\r\n"
MSG.STORE .CZ "Store : %5D Bytes, New Ofs=$%H\r\n"
MSG.E.IARC .CZ "Invalid/corrupt archive"
TAG .CZ "PAKME"
*--------------------------------------
LIBPAK .AZ "libpak"
hLIB .BS 1

View File

@ -8,6 +8,7 @@ NEW
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/eth.i
.INB inc/net.tcpip.i
.INB inc/libtcpip.i
*--------------------------------------
TIMEOUT.MAX .EQ 40 4 sec.
@ -48,7 +49,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBTCPIP .DA LIBTCPIP
L.MSG.IPKO .DA MSG.IPKO
@ -77,15 +78,15 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
lda #E.SYN
sec
rts
.1 ldy #DATA.Len-1
.2 lda ICMP.Request,y
sta (pData),y
dey
bpl .2
CS.RUN.IPOK inc ArgIndex
lda ArgIndex
>SYSCALL ArgV
@ -96,7 +97,7 @@ CS.RUN.IPOK inc ArgIndex
cmp #'-'
bne .1
ldy #1
ldy #1
lda (ZPTmpPtr),y
beq .9
@ -108,7 +109,7 @@ CS.RUN.IPOK inc ArgIndex
and #$0F
sta PingCount
bra CS.RUN.IPOK
bra CS.RUN.IPOK
.1 lda #TIMEOUT.MAX
sta TimeOut
@ -134,9 +135,9 @@ CS.RUN.IPOK inc ArgIndex
.8 >LDA.G SA.REMOTE+S.SOCKADDR.ADDR
bne CS.RUN.ARGSOK
.9 >PUSHW L.MSG.USAGE
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
.99 >SYSCALL PrintF
lda #E.SYN
@ -144,7 +145,7 @@ CS.RUN.IPOK inc ArgIndex
rts
CS.RUN.ARGSOK >PUSHW L.MSG.HOSTOK
ldx #4
ldy #SA.REMOTE+S.SOCKADDR.ADDR
@ -160,7 +161,7 @@ CS.RUN.ARGSOK >PUSHW L.MSG.HOSTOK
>PUSHBI 6
>SYSCALL PrintF
CS.RUN.OPENSKT ldx #3
ldy #S.IPCFG.IP+3
@ -178,7 +179,7 @@ CS.RUN.OPENSKT ldx #3
dey
dex
bpl .2
lda A2osX.RANDOM16
eor A2osX.TIMER16+1
>STA.G SA.LOCAL+S.SOCKADDR.PORT
@ -197,7 +198,7 @@ CS.RUN.OPENSKT ldx #3
bcs .9
sta hSocket
>PUSHB hSocket
>PUSHEA.G SA.LOCAL
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
@ -213,10 +214,10 @@ CS.RUN.OPENSKT ldx #3
lda #E.SYN
sec
rts
CS.RUN.SEND.ECHO
>SLEEP
lda Identifier
>STA.G Request+S.ICMP.IDENTIFIER-S.IP+1
@ -226,9 +227,9 @@ CS.RUN.SEND.ECHO
inc Sequence
bne .1
inc Sequence+1
.1 lda Sequence
>STA.G Request+S.ICMP.SEQUENCE-S.IP+1
@ -241,7 +242,7 @@ CS.RUN.SEND.ECHO
>PUSHWI ICMP.RequestLen
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
bcs CS.RUN.ERR
lda #TIMEOUT.MAX
sta TimeOut
CS.RUN.WAIT.REPLY
@ -251,7 +252,7 @@ CS.RUN.WAIT.REPLY
>SYSCALL FEOF
bcs CS.RUN.ERR
tay
bne .1
bne .1
>SYSCALL GetChar
bcs CS.RUN.ERR
@ -273,7 +274,7 @@ CS.RUN.WAIT.REPLY
.2 sta hFrame
>SYSCALL GetMemPtr
>STYA ZPTmpPtr
ldy #S.ICMP.SEQUENCE
lda (ZPTmpPtr),y
cmp Sequence+1
@ -286,7 +287,7 @@ CS.RUN.WAIT.REPLY
.3 jsr CS.FrameDiscard
bra CS.RUN.WAIT.REPLY
.4 jsr CS.Print.REPLY
bcs CS.RUN.ERR
@ -317,7 +318,7 @@ CS.DOEVENT lda (pEvent)
*--------------------------------------
CS.Print.UNREACH
>PUSHW L.MSG.UNREACH
ldx #4
ldy #SA.REMOTE+S.SOCKADDR.ADDR
@ -341,7 +342,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
beq .3
.1 lda TimeOut.ms
clc
clc
adc #100
sta TimeOut.ms
bcc .2
@ -352,7 +353,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
bne .1
.3 >PUSHW L.MSG.REPLY
ldx #4
ldy #S.IP.SRC
@ -363,7 +364,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
ldy #S.ICMP.SEQUENCE
>PUSHB (ZPTmpPtr),y
iny
iny
>PUSHB (ZPTmpPtr),y
ldy #S.IP.TTL
@ -371,7 +372,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
>PUSHW TimeOut.ms
>PUSHBI 9
>SYSCALL PrintF
rts
*--------------------------------------
@ -399,14 +400,14 @@ CS.FrameDiscard lda hFrame
*--------------------------------------
CS.END
LIBTCPIP .AZ "libtcpip"
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .AS "Usage : PING <ip|host>\r\n"
.AZ " -1-9 : Ping Count\r\n"
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
MSG.HOSTOK .AZ "PING %d.%d.%d.%d (%s)\r\n"
MSG.SKTKO .AZ "Failed to Open Socket."
MSG.UNREACH .AZ "%d.%d.%d.%d: TimeOut/Host unreachable\r\n"
MSG.REPLY .AZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .CS "Usage : PING <ip|host>\r\n"
.CZ " -1-9 : Ping Count\r\n"
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
MSG.HOSTOK .CZ "PING %d.%d.%d.%d (%s)\r\n"
MSG.SKTKO .CZ "Failed to Open Socket."
MSG.UNREACH .CZ "%d.%d.%d.%d: TimeOut/Host unreachable\r\n"
MSG.REPLY .CZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
hLIBTCPIP .BS 1
*--------------------------------------
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ

View File

@ -184,7 +184,7 @@ CS.RUN
sty wLast+1
.5 jmp .1 ; go check for another argument
*--- Done with args so figure out -----
@ -218,9 +218,8 @@ CS.RUN
*--- Display usage and error out ------
.9
>PUSHW L.MSG.USAGE ; push address for usage text
>PUSHBI 0
>SYSCALL PrintF ; print usage message
>LDYA L.MSG.USAGE ; push address for usage text
>SYSCALL PutS ; print usage message
lda #E.SYN ; set OS return code as Syntax Error
sec ; indicate we don't want CS.RUN called again
rts ; return to OS
@ -390,11 +389,11 @@ CS.CmpFirstLast >PUSHW wFirst ; using FPU macro, so push first,
*--------------------------------------
CS.END
*--------------------------------------
MSG.USAGE .AS "Usage : SEQ [first [incr]] last\r\n"
.AS " -F numeric format\r\n"
.AS " -S string separator\r\n"
.AZ " -T terminating string\r\n"
MSG.MSG.NEWLINE .AZ "\r\n"
MSG.USAGE .CS "Usage : SEQ [first [incr]] last\r\n"
.CS " -F numeric format\r\n"
.CS " -S string separator\r\n"
.CZ " -T terminating string\r\n"
MSG.MSG.NEWLINE .CZ "\r\n"
*--------------------------------------
FMT.FORMAT .AZ "%I"
FMT.STRING .AZ "\r\n"

View File

@ -68,7 +68,7 @@ CMD.ALIAS.ADD >LDYA ZPArgVBufPtr
.1 >PUSHA
>PUSHW ZPVarNamePtr
>PUSHWZ ScopeID
>SYSCALL SListNewKey
bcs .99
@ -621,7 +621,7 @@ CMD.FUNCTION lda (ZPArgVBufPtr)
.1 >PUSHA
>PUSHW ZPArgVBufPtr
>PUSHWZ ScopeID
>SYSCALL SListNewKey
bcs .99
@ -721,6 +721,7 @@ CMD.CALL.GETFUNC
>PUSHB.G hFunctions
>PUSHW ZPArgVBufPtr
>PUSHWZ ScopeID
>SYSCALL SListLookup
bcc CMD.CALL.RTS

View File

@ -171,6 +171,7 @@ CORE.Run.3 >LDA.G hAliases
>PUSHA
>PUSHW ZPInputBufPtr
>PUSHWZ ScopeID
>SYSCALL SListLookup
bcs CORE.Run.4

View File

@ -27,8 +27,8 @@ bBlocks .BS 1
bCTime .BS 1
bMTime .BS 1
bATime .BS 1
ZS.END .ED
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
@ -48,7 +48,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.Filename .DA MSG.Filename
@ -64,7 +64,7 @@ L.MSG.U .DA MSG.U
CS.INIT clc
rts
*--------------------------------------
CS.RUN dec bAll
CS.RUN dec bAll
.1 inc ArgIndex
lda ArgIndex
@ -80,9 +80,8 @@ CS.RUN dec bAll
jsr CS.RUN.CheckOpt
bcc .1
.99 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.99 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
rts
@ -93,21 +92,21 @@ CS.RUN dec bAll
lda ArgIndex
sta ArgFile
bra .1
.3 lda ArgFile
beq .99
>SYSCALL ArgV
>PUSHYA
>PUSHW pData
>SYSCALL Stat
bcs .9
jsr CS.RUN.CONVERT
bit bAll
bmi .7
jsr CS.RUN.PRINT
bcs .9
@ -115,38 +114,38 @@ CS.RUN dec bAll
.7 jsr CS.RUN.DUMP
bcs .9
.8 lda #0
sec
.9
.9
CS.RUN.RTS rts
*--------------------------------------
CS.RUN.PRINT bit bAccess
bpl .1
>LEA.G AttrBuf
>SYSCALL PutS
bcs CS.RUN.RTS
.1 bit bMod
bpl .2
>LEA.G MOD
>SYSCALL PutS
bcs CS.RUN.RTS
.2 bit bUID
bpl .3
>PUSHW L.MSG.D
>PUSHW.G StatBuf+S.STAT.UID
>PUSHBI 2
>SYSCALL PrintF
.9 bcs CS.RUN.RTS
.3 bit bGID
bpl .4
>PUSHW L.MSG.D
>PUSHW.G StatBuf+S.STAT.GID
>PUSHBI 2
@ -155,7 +154,7 @@ CS.RUN.PRINT bit bAccess
.4 bit bSize
bpl .5
>PUSHW L.MSG.U
>PUSHL.G StatBuf+S.STAT.SIZE
>PUSHBI 4
@ -164,7 +163,7 @@ CS.RUN.PRINT bit bAccess
.5 bit bBlocks
bpl CS.RUN.PRINT2
>PUSHW L.MSG.U
>PUSHL.G StatBuf+S.STAT.BLOCKS
>PUSHBI 4
@ -173,24 +172,24 @@ CS.RUN.PRINT bit bAccess
CS.RUN.PRINT2 bit bCTime
bpl .7
>LEA.G TIME.Create
>SYSCALL PutS
bcs .9
.7 bit bMTime
bpl .8
>LEA.G TIME.Mod
>SYSCALL PutS
bcs .9
.8 bit bATime
bpl .9
>LEA.G TIME.Access
>SYSCALL PutS
.9
CS.RUN.PRINT.RTS
rts
@ -210,7 +209,7 @@ CS.RUN.DUMP lda ArgFile
>SYSCALL PrintF
pla
>SYSCALL FreeMem
>PUSHW L.MSG.Access
>PUSHEA.G AttrBuf
>PUSHBI 2
@ -220,7 +219,7 @@ CS.RUN.DUMP lda ArgFile
>PUSHEA.G MOD
>PUSHBI 2
>SYSCALL PrintF
>PUSHW L.MSG.UIDGIDSIZE
>PUSHW.G StatBuf+S.STAT.UID
>PUSHW.G StatBuf+S.STAT.GID
@ -229,15 +228,15 @@ CS.RUN.DUMP lda ArgFile
>PUSHW.G StatBuf+S.STAT.BLKSIZE
>PUSHBI 14
>SYSCALL PrintF
>PUSHW L.MSG.CMATimes
>PUSHEA.G TIME.Create
>PUSHEA.G TIME.Mod
>PUSHEA.G TIME.Access
>PUSHBI 6
>SYSCALL PrintF
rts
rts
*--------------------------------------
CS.RUN.CONVERT jsr Access2CSTR
jsr Mod2CSTR
@ -252,7 +251,7 @@ Access2CSTR ldy #S.STAT.P.ACCESS
.1 lsr
pha
bcc .2
lda ATTRS,x
sta (pData),y
dex
@ -260,15 +259,15 @@ Access2CSTR ldy #S.STAT.P.ACCESS
lda ATTRS,x
sta (pData),y
bra .3
.2 lda #'-'
sta (pData),y
dex
dey
sta (pData),y
.3 pla
dey
dex
bpl .1
@ -279,16 +278,16 @@ Mod2CSTR ldy #S.STAT.MODE+1
lda (pData),y
lsr
php
lsr
lsr
lsr
tax
lda TYPES,x
>STA.G MOD
plp
ldx #8
ldy #S.STAT.MODE
@ -303,11 +302,11 @@ Mod2CSTR ldy #S.STAT.MODE+1
lda ACCESS,x
.2 sta (pData),y
iny
pla
asl
dex
bpl .1
@ -357,14 +356,14 @@ CS.RUN.PrintAMCTime.NODATE
rts
*--------------------------------------
CS.QUIT
CS.QUIT
.8 clc
rts
*--------------------------------------
CS.DOEVENT sec
rts
*--------------------------------------
CS.RUN.CheckOpt ldy #1
CS.RUN.CheckOpt ldy #1
lda (ZPPtr1),y
ldx #OptionVars-OptionList-1
@ -405,29 +404,29 @@ ACCESS .AS "xwrxwrxwr"
MSG.NODATE .AZ "<No-Date>"
FMT.DateTime .AZ "%d-%b-%y %H:%M:%S"
*--------------------------------------
MSG.USAGE .AS "Usage : STAT File\r\n"
.AS " -A : Access Flags\r\n"
.AS " -D : Mod Flags\r\n"
.AS " -U : UID\r\n"
.AS " -G : GID\r\n"
.AS " -S : Size in bytes\r\n"
.AS " -B : Size in blocks\r\n"
.AS " -C : Creation date/time\r\n"
.AS " -M : Modification date/time\r\n"
.AZ " -L : Last access date/time\r\n"
MSG.USAGE .CS "Usage : STAT File\r\n"
.CS " -A : Access Flags\r\n"
.CS " -D : Mod Flags\r\n"
.CS " -U : UID\r\n"
.CS " -G : GID\r\n"
.CS " -S : Size in bytes\r\n"
.CS " -B : Size in blocks\r\n"
.CS " -C : Creation date/time\r\n"
.CS " -M : Modification date/time\r\n"
.CZ " -L : Last access date/time\r\n"
*--------------------------------------
MSG.Filename .AZ "Filename : %s\r\n"
MSG.Access .AZ "Access : %s\r\n"
MSG.Mod .AZ "Mod : %s\r\n"
MSG.UIDGIDSIZE .AS "UID : %10D\r\n"
.AS "GID : %10D\r\n"
.AS "Size : %10u\r\n"
.AZ "Blocks : %10u (%D)\r\n"
MSG.CMATimes .AS "Created : %s\r\n"
.AS "Modified : %s\r\n"
.AZ "Accessed : %s\r\n"
MSG.D .AZ "%D\r\n"
MSG.U .AZ "%u\r\n"
MSG.Filename .CZ "Filename : %s\r\n"
MSG.Access .CZ "Access : %s\r\n"
MSG.Mod .CZ "Mod : %s\r\n"
MSG.UIDGIDSIZE .CS "UID : %10D\r\n"
.CS "GID : %10D\r\n"
.CS "Size : %10u\r\n"
.CZ "Blocks : %10u (%D)\r\n"
MSG.CMATimes .CS "Created : %s\r\n"
.CS "Modified : %s\r\n"
.CZ "Accessed : %s\r\n"
MSG.D .CZ "%D\r\n"
MSG.U .CZ "%u\r\n"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -298,16 +298,15 @@ CS.QUIT lda hSocket
CS.END
LIBTCPIP .AZ "libtcpip"
hLIBTCPIP .BS 1
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .AZ "Usage : TELNET <ip|host> [port]"
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
MSG.HOSTOK .AZ "Connecting to %d.%d.%d.%d:%D (%s)..."
MSG.SKTOK .AS "Connected"
.DA #C.CR,#C.LF
.AZ "(Exit key is Ctrl-T)"
MSG.SKTERR .AZ "Socket Error : $%h\r\n"
MSG.IOERR .AZ "I/O Error : $%h\r\n"
MSG.USER .AZ "User interrupt."
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
MSG.USAGE .CZ "Usage : TELNET <ip|host> [port]"
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
MSG.HOSTOK .CZ "Connecting to %d.%d.%d.%d:%D (%s)..."
MSG.SKTOK .CS "Connected\r\n"
.CZ "(Exit key is Ctrl-T)"
MSG.SKTERR .CZ "Socket Error : $%h\r\n"
MSG.IOERR .CZ "I/O Error : $%h\r\n"
MSG.USER .CZ "User interrupt."
*--------------------------------------
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
.BS 1

View File

@ -53,7 +53,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
@ -69,7 +69,7 @@ CS.RUN inc ArgIndex
lda ArgIndex
>SYSCALL ArgV
bcs .5
>STYA ZPPtr1
lda (ZPPtr1)
cmp #'-'
@ -144,29 +144,29 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
jsr CS.RUN.FILE
bcc CS.RUN.NEXT
rts
.5 cmp /S.STAT.MODE.DIR DIR ?
beq .6
cmp /S.STAT.MODE.BDEV VOL ?
bne .9
.6 jsr CS.RUN.DIR
bcc CS.RUN.NEXT
rts
.9 lda #MLI.E.UNSUPST
sec
.99 rts
.99 rts
*--------------------------------------
CS.RUN.NEXT jsr GetNextEntry
bcc CS.RUN.LOOP
CS.RUN.LEAVE jsr LeaveSubDir
bcs .90
jsr BasePath..
jmp CS.RUN.NEXT
.90 lda #0
@ -176,18 +176,18 @@ CS.RUN.LEAVE jsr LeaveSubDir
CS.RUN.DIR lda (ZPFileName)
cmp #'.'
bne .1
ldy #1
lda (ZPFileName),y
beq .8
cmp #'.'
bne .1
iny
lda (ZPFileName),y
beq .8
.1 jsr FilterMatch
bcs .8
@ -198,7 +198,7 @@ CS.RUN.DIR lda (ZPFileName)
>PUSHBI 2
>SYSCALL PrintF
bcs .9
>PUSHW ZPFullPath
jsr CS.RUN.GetNewPath
>PUSHYA
@ -231,9 +231,9 @@ CS.RUN.FILE jsr FilterMatch
>SYSCALL Rename
bra CS.RUN.CheckErr
.8 clc
.9 rts
.9 rts
*--------------------------------------
CS.RUN.CheckErr bcs .1
@ -272,10 +272,10 @@ CS.RUN.GetNewPath
>SYSCALL GetMemPtr
>PUSHYA
>SYSCALL StrCpy
>LDYA ZPFileName
>SYSCALL StrUpr
>PUSHW ZPNewPath
>PUSHW ZPFileName
>SYSCALL StrCat
@ -302,7 +302,7 @@ CS.QUIT jsr LeaveSubDir
.8 clc
rts
*--------------------------------------
CS.RUN.CheckOpt ldy #1
CS.RUN.CheckOpt ldy #1
lda (ZPPtr1),y
ldx #OptionVars-OptionList-1
@ -329,13 +329,13 @@ OptionList .AS "CRcr"
OptionVars .DA #bContinue,#bRecurse
.DA #bContinue,#bRecurse
*--------------------------------------
MSG.USAGE .AS "Usage : UC File(s) (*,? wildcards allowed)\r\n"
.AS " -C : Continue on error\r\n"
.AS " -R : Recurse subdirectories\r\n"
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.DIR .AZ "Dir :%s..."
MSG.FILE .AZ "File:%s..."
MSG.USAGE .CS "Usage : UC File(s) (*,? wildcards allowed)\r\n"
.CS " -C : Continue on error\r\n"
.CZ " -R : Recurse subdirectories\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
MSG.DIR .CZ "Dir :%s..."
MSG.FILE .CZ "File:%s..."
*--------------------------------------
.DUMMY
.OR 0

View File

@ -97,9 +97,8 @@ CS.RUN ldy #S.PS.ARGC
jsr CS.RUN.CheckOpt
bcc .1
.99 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.99 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
@ -345,17 +344,17 @@ OptionVars .DA #bHostName,#bHostName
.DA #bKernelMode,#bKernelMode
.DA #bKernelClk,#bKernelClk
*--------------------------------------
MSG.USAGE .AS "Usage : UNAME\r\n"
.AS " -H : Hostname\r\n"
.AS " -M : Machine Type/SubType\r\n"
.AS " -C : CPU Type\r\n"
.AS " -S : CPU Speed\r\n"
.AS " -A : Alternate CPU\r\n"
.AS " -V : Kernel Version\r\n"
.AS " -B : Kernel Build\r\n"
.AS " -K : Kernel Mode\r\n"
.AS " -Z : Kernel Timing\r\n"
MSG.CRLF .AZ "\r\n"
MSG.USAGE .CS "Usage : UNAME\r\n"
.CS " -H : Hostname\r\n"
.CS " -M : Machine Type/SubType\r\n"
.CS " -C : CPU Type\r\n"
.CS " -S : CPU Speed\r\n"
.CS " -A : Alternate CPU\r\n"
.CS " -V : Kernel Version\r\n"
.CS " -B : Kernel Build\r\n"
.CS " -K : Kernel Mode\r\n"
.CS " -Z : Kernel Timing\r\n"
MSG.CRLF .CZ "\r\n"
*--------------------------------------
ETCHOSTNAME .AZ "${ROOT}etc/hostname"
ETCVERSION .AZ "${ROOT}etc/version"

View File

@ -1,486 +1,485 @@
NEW
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000
.TF bin/unpak
.LIST OFF
.OP 65C02
.OR $2000
.TF bin/unpak
*--------------------------------------
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.e.i
.INB inc/pak.i
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.e.i
.INB inc/pak.i
*--------------------------------------
.DUMMY
.OR ZPBIN
.DUMMY
.OR ZPBIN
ZS.START
ZPPtr1 .BS 2
ZPPtr2 .BS 2
ZPPtr1 .BS 2
ZPPtr2 .BS 2
ZPInBufPtr .BS 2
ZPOutBufPtr .BS 2
ZPInBufPtr .BS 2
ZPOutBufPtr .BS 2
ZPnCnt .BS 2
ZPInMask .BS 1
ZPBLOfsLBits .BS 1
ZPBLOfsHBits .BS 1
ZPBLLenBits .BS 1
ZPnCnt .BS 2
ZPInMask .BS 1
ZPBLOfsLBits .BS 1
ZPBLOfsHBits .BS 1
ZPBLLenBits .BS 1
ZPInBufLen .BS 2
ZPOutBufLen .BS 2
ZPInBufLen .BS 2
ZPOutBufLen .BS 2
ZPFullPathPtr .BS 2
ZPRelPathPtr .BS 2
ZPFullPathPtr .BS 2
ZPRelPathPtr .BS 2
ZPProgress .BS 1
ZPProgress .BS 1
ZS.END .ED
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
* File Header (16 Bytes)
*--------------------------------------
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 CS
.DA DS.END-DS.START DS
.DA #64 SS
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
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 CS
.DA DS.END-DS.START DS
.DA #64 SS
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
*--------------------------------------
* Relocation Table
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.DIR .DA MSG.DIR
L.MSG.FILE .DA MSG.FILE
L.MSG.OK .DA MSG.OK
L.MSG.E.IARC .DA MSG.E.IARC
L.MSG.SPINNER .DA MSG.SPINNER
.DA 0
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.DIR .DA MSG.DIR
L.MSG.FILE .DA MSG.FILE
L.MSG.OK .DA MSG.OK
L.MSG.E.IARC .DA MSG.E.IARC
L.MSG.SPINNER .DA MSG.SPINNER
.DA 0
*--------------------------------------
CS.INIT clc
rts
CS.INIT clc
rts
*--------------------------------------
CS.RUN stz ZPProgress
>LDYAI CHNK.SIZE
>SYSCALL GetMem
bcc s1
rts
CS.RUN stz ZPProgress
>LDYAI CHNK.SIZE
>SYSCALL GetMem
bcc s1
rts
s1
>STYA ZPInBufPtr
txa
>STA.G hInBuf
>STYA ZPInBufPtr
txa
>STA.G hInBuf
lda #1
>SYSCALL ArgV
bcs .99
lda #1
>SYSCALL ArgV
bcs .99
>STYA ZPPtr1 See if first arg is -p
pha
lda (ZPPtr1)
cmp #'-'
bne .1 No dash-arguments
pla
ldy #$01
lda (ZPPtr1),y
cmp #'p'
bne .99 -p is only valid argument
sty ZPProgress
lda #2
>SYSCALL ArgV
bcs .99
bra .11
>STYA ZPPtr1 See if first arg is -p
pha
lda (ZPPtr1)
cmp #'-'
bne .1 No dash-arguments
pla
ldy #$01
lda (ZPPtr1),y
cmp #'p'
bne .99 -p is only valid argument
sty ZPProgress
lda #2
>SYSCALL ArgV
bcs .99
bra .11
.1 pla
.11 jsr CS.RUN.OpenArc
bcs .9
.1 pla
.11 jsr CS.RUN.OpenArc
bcs .9
>LDYAI 256
>SYSCALL GetMem
bcc .15
rts
>LDYAI 256
>SYSCALL GetMem
bcc .15
rts
.15 >STYA ZPFullPathPtr
txa
>STA.G hFullPath
.15 >STYA ZPFullPathPtr
txa
>STA.G hFullPath
lda ZPProgress See if -p was provided
beq .2
lda #' ' Space for spinner to eat
>SYSCALL PutChar
lda #3 Have dash-args, check arg #3
bra .3
.2 lda #2 No dash-args, check arg #2
.3 >SYSCALL ArgV
bcc .4
lda ZPProgress See if -p was provided
beq .2
lda #' ' Space for spinner to eat
>SYSCALL PutChar
lda #3 Have dash-args, check arg #3
bra .3
.2 lda #2 No dash-args, check arg #2
.3 >SYSCALL ArgV
bcc .4
ldy #S.PS.hCWD
lda (pPS),y
>SYSCALL GetMemPtr
ldy #S.PS.hCWD
lda (pPS),y
>SYSCALL GetMemPtr
.4 jsr CS.RUN.SetupPath
.4 jsr CS.RUN.SetupPath
>LDYAI CHNK.SIZE
>SYSCALL GetMem
bcs .9
>LDYAI CHNK.SIZE
>SYSCALL GetMem
bcs .9
txa
>STA.G hOutBuf
txa
>STA.G hOutBuf
jsr CS.RUN.LOOP
bcs .9
jsr CS.RUN.LOOP
bcs .9
jsr CS.RUN.TidyUp
lda #0
sec
.9 rts
jsr CS.RUN.TidyUp
lda #0
sec
.9 rts
.99 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
lda #E.SYN
sec
rts
.99 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
rts
*--------------------------------------
CS.RUN.SetupPath
>STYA ZPPtr1
>STYA ZPPtr1
ldy #$ff
ldy #$ff
.2 iny
lda (ZPPtr1),y
sta (ZPFullPathPtr),y
bne .2
dey
lda #'/'
cmp (ZPFullPathPtr),y
beq .3
iny
sta (ZPFullPathPtr),y
.3 tya
sec
adc ZPFullPathPtr
sta ZPRelPathPtr
lda #0
adc ZPFullPathPtr+1
sta ZPRelPathPtr+1
rts
.2 iny
lda (ZPPtr1),y
sta (ZPFullPathPtr),y
bne .2
dey
lda #'/'
cmp (ZPFullPathPtr),y
beq .3
iny
sta (ZPFullPathPtr),y
.3 tya
sec
adc ZPFullPathPtr
sta ZPRelPathPtr
lda #0
adc ZPFullPathPtr+1
sta ZPRelPathPtr+1
rts
*--------------------------------------
CS.RUN.LOOP jsr CS.RUN.GetByte
bcs .9
CS.RUN.LOOP jsr CS.RUN.GetByte
bcs .9
.10 cmp #CHNK.T.DIR
bne .1
.10 cmp #CHNK.T.DIR
bne .1
jsr CS.RUN.GetFileName
bcs .99
jsr CS.RUN.GetFileName
bcs .99
ldx #0
jsr CS.RUN.PrintFN
ldx #0
jsr CS.RUN.PrintFN
jsr CS.RUN.CheckDir
bcs .99
jsr CS.RUN.CheckDir
bcs .99
lda ZPProgress
bne CS.RUN.LOOP
>LDYA L.MSG.OK
>SYSCALL PutS
bra CS.RUN.LOOP
lda ZPProgress
bne CS.RUN.LOOP
>LDYA L.MSG.OK
>SYSCALL PutS
bra CS.RUN.LOOP
.99 rts
.99 rts
.9 jmp CS.RUN.E.IARC
.9 jmp CS.RUN.E.IARC
.1 cmp #CHNK.T.FILE
bne .9
.1 cmp #CHNK.T.FILE
bne .9
jsr CS.RUN.GetFileType
bcs .99
jsr CS.RUN.GetFileType
bcs .99
jsr CS.RUN.GetFileName
bcs .99
jsr CS.RUN.GetFileName
bcs .99
ldx #2
jsr CS.RUN.PrintFN
jsr CS.RUN.OpenFile
bcs .99
ldx #2
jsr CS.RUN.PrintFN
jsr CS.RUN.OpenFile
bcs .99
*--------------------------------------
jsr CS.RUN.GetByte DATA
bcs CS.RUN.Exit eof
.2 cmp #CHNK.T.DATA
bne .3 Could be a 0 byte file
jsr CS.RUN.GetByte DATA
bcs CS.RUN.Exit eof
.2 cmp #CHNK.T.DATA
bne .3 Could be a 0 byte file
.20 lda ZPProgress
beq .21
.20 lda ZPProgress
beq .21
jsr CS.RUN.Spinner
bra .22
jsr CS.RUN.Spinner
bra .22
.21 lda #'.'
>SYSCALL PutChar
.21 lda #'.'
>SYSCALL PutChar
.22 jsr CS.RUN.GetByte DataLen LO
bcs .99
.22 jsr CS.RUN.GetByte DataLen LO
bcs .99
sta ZPInBufLen
sta ZPInBufLen
jsr CS.RUN.GetByte DataLen HI
bcs .99
jsr CS.RUN.GetByte DataLen HI
bcs .99
sta ZPInBufLen+1
sta ZPInBufLen+1
jsr CS.RUN.ReadData
bcs .99
jsr CS.RUN.ReadData
bcs .99
ldy #1
lda (ZPInBufPtr),y
sta ZPOutBufLen
ldy #1
lda (ZPInBufPtr),y
sta ZPOutBufLen
iny
lda (ZPInBufPtr),y
sta ZPOutBufLen+1
iny
lda (ZPInBufPtr),y
sta ZPOutBufLen+1
>LDA.G hOutBuf
>SYSCALL GetMemPtr
>STYA ZPOutBufPtr
>LDA.G hOutBuf
>SYSCALL GetMemPtr
>STYA ZPOutBufPtr
jsr X.Unpak
bcs .9
jsr X.Unpak
bcs .9
jsr CS.RUN.WriteFile
bcs .99
jsr CS.RUN.WriteFile
bcs .99
jsr CS.RUN.GetByte
bcs CS.RUN.Exit
jsr CS.RUN.GetByte
bcs CS.RUN.Exit
cmp #CHNK.T.DATA
beq .20
cmp #CHNK.T.DATA
beq .20
.3 pha
jsr CS.RUN.Exit
pla
jmp .10
.3 pha
jsr CS.RUN.Exit
pla
jmp .10
*--------------------------------------
CS.RUN.Exit >LDA.G hFile
>SYSCALL FClose
lda ZPProgress
bne .9
CS.RUN.Exit >LDA.G hFile
>SYSCALL FClose
lda ZPProgress
bne .9
>LDYA L.MSG.OK
>SYSCALL PutS
.9 rts
>LDYA L.MSG.OK
>SYSCALL PutS
.9 rts
*--------------------------------------
CS.RUN.PrintFN lda ZPProgress
bne .9
>PUSHW L.MSG.DIR,x
>PUSHW ZPFullPathPtr
>PUSHBI 2
>SYSCALL PrintF
.9 rts
CS.RUN.PrintFN lda ZPProgress
bne .9
>PUSHW L.MSG.DIR,x
>PUSHW ZPFullPathPtr
>PUSHBI 2
>SYSCALL PrintF
.9 rts
*--------------------------------------
CS.RUN.Spinner lda #8 Backspace
>SYSCALL PutChar
>LDYA L.MSG.SPINNER
>STYA ZPPtr2
>LDA.G SpinState
tay
lda (ZPPtr2),y
>SYSCALL PutChar
>INC.G SpinState
cmp #4
bne .9
>STZ.G SpinState
.9 rts
CS.RUN.Spinner lda #8 Backspace
>SYSCALL PutChar
>LDYA L.MSG.SPINNER
>STYA ZPPtr2
>LDA.G SpinState
tay
lda (ZPPtr2),y
>SYSCALL PutChar
>INC.G SpinState
cmp #4
bne .9
>STZ.G SpinState
.9 rts
*--------------------------------------
CS.RUN.NewLine LDA #C.CR
>SYSCALL PutChar
LDA #C.LF
>SYSCALL PutChar
rts
CS.RUN.NewLine LDA #C.CR
>SYSCALL PutChar
LDA #C.LF
>SYSCALL PutChar
rts
*--------------------------------------
CS.RUN.TidyUp lda ZPProgress
beq .9
lda #8
>SYSCALL PutChar
lda #' '
>SYSCALL PutChar
jsr CS.RUN.NewLine
.9 rts
CS.RUN.TidyUp lda ZPProgress
beq .9
lda #8
>SYSCALL PutChar
lda #' '
>SYSCALL PutChar
jsr CS.RUN.NewLine
.9 rts
*--------------------------------------
CS.RUN.OpenArc >PUSHYA
>PUSHBI O.RDONLY
>PUSHBI $CF PAK
>PUSHWZ Aux type
>SYSCALL FOpen
bcs .9
>STA.G hArcFile
>PUSHA
>PUSHW ZPInBufPtr
>PUSHWI 3
>SYSCALL FRead
bcs .9
cpy #3
bne .99
dey
.1 lda MSG.PAK,y
cmp (ZPInBufPtr),y
bne .99
dey
bpl .1
clc
.9 rts
.99
CS.RUN.E.IARC >PUSHW L.MSG.E.IARC
>PUSHBI 0
>SYSCALL PrintF
lda #E.SYN
sec
rts
CS.RUN.OpenArc >PUSHYA
>PUSHBI O.RDONLY
>PUSHBI $CF PAK
>PUSHWZ Aux type
>SYSCALL FOpen
bcs .9
>STA.G hArcFile
>PUSHA
>PUSHW ZPInBufPtr
>PUSHWI 3
>SYSCALL FRead
bcs .9
cpy #3
bne .99
dey
.1 lda MSG.PAK,y
cmp (ZPInBufPtr),y
bne .99
dey
bpl .1
clc
.9 rts
.99
CS.RUN.E.IARC >PUSHW L.MSG.E.IARC
>PUSHBI 0
>SYSCALL PrintF
lda #E.SYN
sec
rts
*--------------------------------------
CS.RUN.GetFileType
>PUSHB.G hArcFile
>PUSHEA.G FileType
>PUSHWI 3
>SYSCALL FRead
rts
>PUSHB.G hArcFile
>PUSHEA.G FileType
>PUSHWI 3
>SYSCALL FRead
rts
*--------------------------------------
CS.RUN.GetFileName
jsr CS.RUN.GetByte
bcs .9
pha
jsr CS.RUN.GetByte
bcs .9
pha
>PUSHB.G hArcFile
>PUSHW ZPRelPathPtr
>PUSHB.G hArcFile
>PUSHW ZPRelPathPtr
ply
lda #0
>PUSHYA
>SYSCALL FRead
bcs .9
ply
lda #0
>PUSHYA
>SYSCALL FRead
bcs .9
lda #0
sta (ZPRelPathPtr),y
lda #0
sta (ZPRelPathPtr),y
* clc
.9 rts
* clc
.9 rts
*--------------------------------------
CS.RUN.ReadData >PUSHB.G hArcFile
>LDA.G hInBuf
>SYSCALL GetMemPtr
>STYA ZPInBufPtr
>PUSHYA
>PUSHW ZPInBufLen
>SYSCALL FRead
rts
CS.RUN.ReadData >PUSHB.G hArcFile
>LDA.G hInBuf
>SYSCALL GetMemPtr
>STYA ZPInBufPtr
>PUSHYA
>PUSHW ZPInBufLen
>SYSCALL FRead
rts
*--------------------------------------
CS.RUN.GetByte >LDA.G hArcFile
>SYSCALL GetC
rts
CS.RUN.GetByte >LDA.G hArcFile
>SYSCALL GetC
rts
*--------------------------------------
CS.RUN.CheckDir >PUSHW ZPFullPathPtr
>PUSHEA.G STAT
>SYSCALL Stat
bcc .1
CS.RUN.CheckDir >PUSHW ZPFullPathPtr
>PUSHEA.G STAT
>SYSCALL Stat
bcc .1
>PUSHW ZPFullPathPtr
>PUSHWI S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU
>SYSCALL MKDir
>PUSHW ZPFullPathPtr
>PUSHWI S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU
>SYSCALL MKDir
rts
rts
.1 ldy #STAT+S.STAT.MODE+1
lda (pData),y
and #$F0
cmp /S.STAT.MODE.DIR
bne .99
clc
rts
.1 ldy #STAT+S.STAT.MODE+1
lda (pData),y
and #$F0
cmp /S.STAT.MODE.DIR
bne .99
clc
rts
.99 lda #MLI.E.INVPATH
sec
.9 rts
.99 lda #MLI.E.INVPATH
sec
.9 rts
*--------------------------------------
CS.RUN.OpenFile >PUSHW ZPFullPathPtr
>PUSHBI O.CREATE+O.WRONLY+O.TRUNC
>PUSHB.G FileType
>PUSHW.G FileAuxType
>SYSCALL FOpen
bcs .9
>STA.G hFile
.9 rts
CS.RUN.OpenFile >PUSHW ZPFullPathPtr
>PUSHBI O.CREATE+O.WRONLY+O.TRUNC
>PUSHB.G FileType
>PUSHW.G FileAuxType
>SYSCALL FOpen
bcs .9
>STA.G hFile
.9 rts
*--------------------------------------
CS.RUN.WriteFile
>PUSHB.G hFile
>LDA.G hOutBuf
>SYSCALL GetMemPtr
>PUSHYA
>PUSHW ZPOutBufLen
>SYSCALL FWrite
rts
>PUSHB.G hFile
>LDA.G hOutBuf
>SYSCALL GetMemPtr
>PUSHYA
>PUSHW ZPOutBufLen
>SYSCALL FWrite
rts
*--------------------------------------
CS.DOEVENT sec
rts
CS.DOEVENT sec
rts
*--------------------------------------
CS.QUIT >LDA.G hFile
beq .1
>SYSCALL FClose
CS.QUIT >LDA.G hFile
beq .1
>SYSCALL FClose
.1 >LDA.G hFullPath
beq .2
.1 >LDA.G hFullPath
beq .2
>SYSCALL FreeMem
.2 >LDA.G hOutBuf
beq .3
>SYSCALL FreeMem
.2 >LDA.G hOutBuf
beq .3
>SYSCALL FreeMem
.3 >LDA.G hInBuf
beq .4
>SYSCALL FreeMem
.3 >LDA.G hInBuf
beq .4
>SYSCALL FreeMem
>SYSCALL FreeMem
.4 >LDA.G hArcFile
beq .8
>SYSCALL FClose
.4 >LDA.G hArcFile
beq .8
>SYSCALL FClose
.8 clc
rts
.8 clc
rts
*--------------------------------------
.INB usr/src/shared/x.unpak.s
.INB usr/src/shared/x.unpak.s
*--------------------------------------
CS.END
MSG.USAGE .AS "Usage : UNPAK [-p] Archive [DstDir]\r\n"
.AZ " -p: Show progress spinner\r\n"
MSG.DIR .AZ "Creating Dir:%s..."
MSG.FILE .AZ "Extracting File:%s..."
MSG.OK .AZ "[OK]"
MSG.E.IARC .AZ "\r\nInvalid/corrupt archive"
MSG.PAK .AS "PAK"
MSG.SPINNER .AS "|/-\"
MSG.USAGE .CS "Usage : UNPAK [-p] Archive [DstDir]\r\n"
.CZ " -p: Show progress spinner\r\n"
MSG.DIR .CZ "Creating Dir:%s..."
MSG.FILE .CZ "Extracting File:%s..."
MSG.OK .CZ "[OK]"
MSG.E.IARC .CZ "\r\nInvalid/corrupt archive"
MSG.PAK .CS "PAK"
MSG.SPINNER .CS "|/-\"
*--------------------------------------
.DUMMY
.OR 0
.DUMMY
.OR 0
DS.START
hArcFile .BS 1
hFullPath .BS 1
hInBuf .BS 1
hOutBuf .BS 1
hFile .BS 1
FileType .BS 1
FileAuxType .BS 2
SpinState .BS 1
STAT .BS S.STAT
hArcFile .BS 1
hFullPath .BS 1
hInBuf .BS 1
hOutBuf .BS 1
hFile .BS 1
FileType .BS 1
FileAuxType .BS 2
SpinState .BS 1
STAT .BS S.STAT
DS.END
.ED
.ED
*--------------------------------------
MAN
SAVE usr/src/bin/unpak.s

View File

@ -115,9 +115,8 @@ CS.RUN >LDYAI S.PW
sec
rts
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts
@ -174,9 +173,8 @@ CS.RUN.ROOT ldy #0
sec
.9 rts
.99 >PUSHW L.MSG.MISMATCH
>PUSHBI 0
>SYSCALL PrintF
.99 >LDYA L.MSG.MISMATCH
>SYSCALL PutS
lda #E.SYN
sec
rts
@ -407,16 +405,16 @@ OptionCnt .EQ *-OptionList
*--------------------------------------
* Initialized DATA
*--------------------------------------
MSG.USAGE .AS "Usage : USERADD username\r\n"
.AS " -c : Comment (GECOS)\r\n"
.AS " -d : Home Directory\r\n"
.AS " -p : Password\r\n"
.AS " -s : Shell"
MSG.CRLF .AZ "\r\n"
MSG.BS .DA #C.BS,#C.SPACE,#C.BS,#0
MSG.ROOTPWD1 .AZ "\r\nPlease enter ROOT password : "
MSG.ROOTPWD2 .AZ "\r\nPlease retype ROOT password : "
MSG.MISMATCH .AZ "\r\nPasswords mismatch...\r\n"
MSG.USAGE .CS "Usage : USERADD username\r\n"
.CS " -c : Comment (GECOS)\r\n"
.CS " -d : Home Directory\r\n"
.CS " -p : Password\r\n"
.CS " -s : Shell"
MSG.CRLF .CZ "\r\n"
MSG.BS .CZ "\b \b"
MSG.ROOTPWD1 .CZ "\r\nPlease enter ROOT password : "
MSG.ROOTPWD2 .CZ "\r\nPlease retype ROOT password : "
MSG.MISMATCH .CZ "\r\nPasswords mismatch...\r\n"
*--------------------------------------
PW.ROOT .AS "root"
.BS 17-4

View File

@ -43,8 +43,6 @@ CS.START cld
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.CRLF .DA MSG.CRLF
L.MSG.BS .DA MSG.BS
J.CS.RUN.CheckArg
.DA CS.RUN.CheckArg.C
.DA CS.RUN.CheckArg.D
@ -76,9 +74,8 @@ CS.RUN ldy #S.PS.ARGC
sec
rts
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
.99 rts
@ -226,13 +223,11 @@ OptionCnt .EQ *-OptionList
*--------------------------------------
* Initialized DATA
*--------------------------------------
MSG.USAGE .AS "Usage : USERMOD username\r\n"
.AS " -c : Comment (GECOS)\r\n"
.AS " -d : Home Directory\r\n"
.AS " -p : Password\r\n"
.AS " -s : Shell"
MSG.CRLF .AZ "\r\n"
MSG.BS .DA #C.BS,#C.SPACE,#C.BS,#0
MSG.USAGE .CS "Usage : USERMOD username\r\n"
.CS " -c : Comment (GECOS)\r\n"
.CS " -d : Home Directory\r\n"
.CS " -p : Password\r\n"
.CZ " -s : Shell\r\n"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -87,9 +87,8 @@ CS.RUN inc ArgIndex
jsr CS.RUN.CheckOpt
bcc CS.RUN
.9 >PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
.9 >LDYA L.MSG.USAGE
>SYSCALL PutS
lda #E.SYN
sec
rts
@ -602,16 +601,16 @@ OptionList .AS "CRMLWcrmlw"
OptionVars .DA #bContinue,#bRecurse,#bChar,#bLine,#bWord
.DA #bContinue,#bRecurse,#bChar,#bLine,#bWord
*--------------------------------------
MSG.USAGE .AS "Usage : WC File(s) (*,? wildcards allowed)\r\n"
.AS " -C : Continue on error\r\n"
.AS " -R : Recurse subdirectories\r\n"
.AS " -M : Print the CHAR counts\r\n"
.AS " -L : Print the LINE counts\r\n"
.AZ " -W : Print the WORD counts\r\n"
MSG.ERR .AZ "[%h]\r\n"
MSG.LONG .AZ "%L"
MSG.LONGTAB .AZ "%10L "
MSG.TOTAL .AZ "(total)"
MSG.USAGE .CS "Usage : WC File(s) (*,? wildcards allowed)\r\n"
.CS " -C : Continue on error\r\n"
.CS " -R : Recurse subdirectories\r\n"
.CS " -M : Print the CHAR counts\r\n"
.CS " -L : Print the LINE counts\r\n"
.CZ " -W : Print the WORD counts\r\n"
MSG.ERR .CZ "[%h]\r\n"
MSG.LONG .CZ "%L"
MSG.LONGTAB .CZ "%10L "
MSG.TOTAL .CZ "(total)"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -133,8 +133,8 @@ CS.QUIT clc
rts
*--------------------------------------
CS.END
MSG0 .AZ "SID hSD Privilege UID GID Name Dev"
MSG1 .AZ "%3d $%0h %b %3d %3d %16s %s\r\n"
MSG0 .CZ "SID hSD Privilege UID GID Name Dev"
MSG1 .CZ "%3d $%0h %b %3d %3d %16s %s\r\n"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -187,9 +187,9 @@ CS.RUN.Newline >PUSHW L.MSG.NEWLINE
*--------------------------------------
CS.END
*--------------------------------------
MSG.USAGE .AS "Usage : XMASTREE <size>\r\n"
.AZ " size : height of the tree to generate\r\n"
MSG.MSG.NEWLINE .AZ "\r\n"
MSG.USAGE .CS "Usage : XMASTREE <size>\r\n"
.CZ " size : height of the tree to generate\r\n"
MSG.MSG.NEWLINE .CZ "\r\n"
*--------------------------------------
* Per Process DATA segment (0 filled before INIT)
*--------------------------------------

View File

@ -111,9 +111,9 @@ CS.END
DEVSIG.Offset .HS 05070B0C
DEVSIG.Value .HS 38180114
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
MSG.DETECT .AZ "Orange Grappler Series // Boards"
MSG.DETECT.OK .AZ "Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "No HW Found."
MSG.DETECT .CZ "Orange Grappler Series // Boards"
MSG.DETECT.OK .CZ "Installed As Device : %s\r\n"
MSG.DETECT.KO .CZ "No HW Found."
ARGS .BS 2
*--------------------------------------
FD.DEV .DA #S.FD.T.CDEV
@ -291,10 +291,10 @@ DEVSLOTn0 .BS 1
*--------------------------------------
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
.DA #0,#0,#0
>PSTR "Grappler // Card"
.PS "Grappler // Card"
.DA #S.DIB.T.CHAR
.DA #0
.DA K.VER
.DA 0094
*--------------------------------------
DCB .DA #S.DCB.T.COM
.DA #0 FLAGS

View File

@ -111,9 +111,9 @@ CS.END
DEVSIG.Offset .HS 05070B0C
DEVSIG.Value .HS 38180114
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
MSG.DETECT .AZ "Orange Grappler Series // Boards"
MSG.DETECT.OK .AZ "Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "No HW Found."
MSG.DETECT .CZ "Orange Grappler Series // Boards"
MSG.DETECT.OK .CZ "Installed As Device : %s\r\n"
MSG.DETECT.KO .CZ "No HW Found."
ARGS .BS 2
*--------------------------------------
FD.DEV .DA #S.FD.T.CDEV
@ -288,10 +288,10 @@ DEVSLOTn0 .BS 1
*--------------------------------------
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
.DA #0,#0,#0
>PSTR "Grappler+ // Crd"
.PS "Grappler+ // Crd"
.DA #S.DIB.T.CHAR
.DA #0
.DA K.VER
.DA 00
*--------------------------------------
DCB .DA #S.DCB.T.COM
.DA #0 FLAGS

View File

@ -7,9 +7,9 @@ NEW
*--------------------------------------
S.DCB.SND .EQ 16
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.E.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.e.i
*--------------------------------------
ZPArgPtr .EQ ZPBIN
*--------------------------------------
@ -120,8 +120,8 @@ Dev.ParseArgs >LDYA ARGS
rts
*--------------------------------------
CS.END
MSG.DETECT.OK .AZ "MockingBoard Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "HW Not Found."
MSG.DETECT.OK .CZ "MockingBoard Installed As Device : %s\r\n"
MSG.DETECT.KO .CZ "HW Not Found."
ARGS .BS 2
*--------------------------------------
FD.DEV .DA #S.FD.T.CDEV
@ -321,10 +321,10 @@ DEVSLOTn08F .BS 1
*--------------------------------------
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ+S.DIB.S.IRQ
.DA #0,#0,#0
>PSTR "MockingBoard "
.PS "MockingBoard "
.DA #S.DIB.T.CHAR
.DA #0
.DA K.VER
.DA #0,#94
*--------------------------------------
DCB .DA #S.DCB.T.SND
.DA #0 FLAGS
@ -339,5 +339,5 @@ DCB .DA #S.DCB.T.SND
*--------------------------------------
DRV.END
MAN
SAVE USR/SRC/DRV/MKBOARD.DRV.S
SAVE usr/src/drv/mkboard.drv.s
ASM

View File

@ -111,9 +111,9 @@ CS.END
DEVSIG.Offset .HS 0507
DEVSIG.Value .HS 4848
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
MSG.DETECT .AZ "Apple PIC (Parallel Interface Card)"
MSG.DETECT.OK .AZ "PIC Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "No PIC Found."
MSG.DETECT .CZ "Apple PIC (Parallel Interface Card)"
MSG.DETECT.OK .CZ "PIC Installed As Device : %s\r\n"
MSG.DETECT.KO .CZ "No PIC Found."
ARGS .BS 2
*--------------------------------------
FD.DEV .DA #S.FD.T.CDEV
@ -289,10 +289,10 @@ DEVSLOTn0 .BS 1
*--------------------------------------
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
.DA #0,#0,#0
>PSTR "Apple // Int Crd"
.PS "Apple // Int Crd"
.DA #S.DIB.T.CHAR
.DA #0
.DA K.VER
.DA #0,#94
*--------------------------------------
DCB .DA #S.DCB.T.COM
.DA #0 FLAGS

View File

@ -843,7 +843,7 @@ INBUF.MidFrame .BS 1
*--------------------------------------
DIB .DA #0
.DA #0,#0,#0 size
>PSTR "SSC/PPP Driver "
.PS "SSC/PPP Driver "
.DA #S.DIB.T.NIC
.DA #0
.DA K.VER

View File

@ -18,6 +18,7 @@ INBUF.SIZE .EQ 2048
.INB inc/com.6551.i
.INB inc/nic.i
.INB inc/eth.i
.INB inc/net.tcpip.i
.INB inc/libtcpip.i
*--------------------------------------
.DUMMY
@ -990,23 +991,23 @@ CS.END
DEVSIG.Offset .HS 05070B0C
DEVSIG.Value .HS 38180131
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
MSG.DETECT .AZ "PPP Driver For Apple SSC."
MSG.DETECT.OK .AZ "PPP Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "No SSC Found."
MSG.DETECT .CZ "PPP Driver For Apple SSC."
MSG.DETECT.OK .CZ "PPP Installed As Device : %s\r\n"
MSG.DETECT.KO .CZ "No SSC Found."
ETCFILE .AZ "${ROOT}etc/ppp.conf"
*--------------------------------------
MSG.ETCFILE .AZ "Executing %s File...\r\n"
MSG.UNEXPECTED .AZ "\r\nERR:Unexpected reply From Modem\r\n{%s}\r\n"
MSG.SYNTAX .AZ "\r\nERR:Bad Syntax In ppp.conf\r\n{%s}\r\n"
MSG.SSCInit .AZ "Connecting..."
MSG.LCPInit .AZ "LCP Negotiation..."
MSG.IPCPInit .AZ "IPCP Negotiation..."
MSG.LocalIP .AZ "Local IP is %d.%d.%d.%d\r\n"
MSG.RemoteIP .AZ "Remote IP is %d.%d.%d.%d\r\n"
MSG.ETCFILE .CZ "Executing %s File...\r\n"
MSG.UNEXPECTED .CZ "\r\nERR:Unexpected reply From Modem\r\n{%s}\r\n"
MSG.SYNTAX .CZ "\r\nERR:Bad Syntax In ppp.conf\r\n{%s}\r\n"
MSG.SSCInit .CZ "Connecting..."
MSG.LCPInit .CZ "LCP Negotiation..."
MSG.IPCPInit .CZ "IPCP Negotiation..."
MSG.LocalIP .CZ "Local IP is %d.%d.%d.%d\r\n"
MSG.RemoteIP .CZ "Remote IP is %d.%d.%d.%d\r\n"
.DO DBG=1
MSG.DUMPBUFS .AZ ">>Send:%H\r\n"
MSG.DUMPBUFR .AZ "Recv<<:%H\r\n"
MSG.HEXDUMP .AZ "%H:%h %h %h %h %h %h %h %h:%h %h %h %h %h %h %h %h\r\n"
MSG.DUMPBUFS .CZ ">>Send:%H\r\n"
MSG.DUMPBUFR .CZ "Recv<<:%H\r\n"
MSG.HEXDUMP .CZ "%H:%h %h %h %h %h %h %h %h:%h %h %h %h %h %h %h %h\r\n"
.FIN
*--------------------------------------
FD.DEV .DA #S.FD.T.CDEV

View File

@ -159,9 +159,9 @@ SP.Call stx SP.Params+S.IOCTL.UNITNUM
*--------------------------------------
CS.END
*--------------------------------------
MSG.DETECT .AZ "A2osX SmartPort Tape Driver"
MSG.DETECT.OK .AZ "Tape Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "No Device Found."
MSG.DETECT .CZ "A2osX SmartPort Tape Driver"
MSG.DETECT.OK .CZ "Tape Installed As Device : %s\r\n"
MSG.DETECT.KO .CZ "No Device Found."
ARGS .BS 2
*--------------------------------------
SmartPort.OFS .HS 01030507

View File

@ -6,17 +6,19 @@ LIBGUI.PTR.SetPos .EQ 6
LIBGUI.PTR.Hide .EQ 8
LIBGUI.PTR.Show .EQ 10
LIBGUI.PTR.Update .EQ 12
*LIBGUI.ReadMouse .EQ 14
LIBGUI.DRAW.Line .EQ 16
LIBGUI.OBJ.SetProp .EQ 18
LIBGUI.OBJ.GetProp .EQ 20
LIBGUI.WND.New .EQ 22
LIBGUI.WND.Destroy .EQ 24
LIBGUI.WND.Show .EQ 26
LIBGUI.WND.Paint .EQ 28
LIBGUI.WND.SetMBar .EQ 30
LIBGUI.MSG.Get .EQ 32
*LIBGUI.MBAR.New .EQ 34
LIBGUI.DRAW.Line .EQ 14
LIBGUI.DRAW.Fill .EQ 16
LIBGUI.DRAW.BitMap .EQ 18
LIBGUI.DRAW.Text .EQ 20
LIBGUI.OBJ.SetProp .EQ 22
LIBGUI.OBJ.GetProp .EQ 24
LIBGUI.WND.New .EQ 26
LIBGUI.WND.Destroy .EQ 28
LIBGUI.WND.Show .EQ 30
LIBGUI.WND.Paint .EQ 32
LIBGUI.WND.SetMBar .EQ 34
LIBGUI.MSG.Get .EQ 36
LIBGUI.MBOX.MsgBox .EQ 38
*--------------------------------------
C.BLACK .EQ 0
C16.D.BLUE .EQ 1
@ -111,13 +113,14 @@ S.OBJ.T .EQ 0
S.OBJ.T.WND .EQ 0
S.OBJ.T.MBAR .EQ 2
S.OBJ.T.MENU .EQ 4
S.OBJ.T.MITEM .EQ 6
S.OBJ.T.BUT .EQ 8
S.OBJ.T.TEXT .EQ 10
S.OBJ.T.BUT .EQ 6
S.OBJ.T.TEXT .EQ 8
S.OBJ.F .EQ 1
S.OBJ.F.BORDER .EQ %10000000
S.OBJ.S .EQ 2
S.OBJ.S.VISIBLE .EQ %10000000
S.OBJ.ID .EQ 3
S.OBJ.hOWNER .EQ 4
S.OBJ.hPARENT .EQ 6
@ -128,17 +131,18 @@ S.OBJ.X2 .EQ 12
S.OBJ.Y2 .EQ 14
S.OBJ.W .EQ 16
S.OBJ.H .EQ 18
S.OBJ.pNEXT .EQ 20
*
S.OBJ .EQ 20
*
S.OBJ .EQ 24
*--------------------------------------
S.WND.F.RESIZE .EQ %00000001
S.WND.F.MOVE .EQ %00000010
S.WND.F.CLOSE .EQ %00000100
S.WND.F.MIN .EQ %00001000
S.WND.F.MAX .EQ %00010000
S.WND.F.BORDER .EQ %00100000
S.WND.F.MODAL .EQ %01000000
S.WND.F.SYSMODAL .EQ %10000000
S.WND.F.MODAL .EQ %00100000
*
S.WND.S.HASTBAR .EQ %00000001
S.WND.S.HASMBAR .EQ %00000010
@ -155,30 +159,30 @@ S.WND.pSTATUS .EQ S.OBJ+8
S.WND.ICON .EQ S.OBJ+10
S.WND.BGCOLOR .EQ S.OBJ+12
S.WND.BGBM .EQ S.OBJ+14
S.WND.hCUR .EQ S.OBJ+16
S.WND.hPTR .EQ S.OBJ+16
*
* private
*
S.WND.TitleX1 .EQ S.OBJ+18
S.WND.TitleX2 .EQ S.OBJ+20
*
S.WND.TBarY1 .EQ S.OBJ+20
* S.WND.TBarY1 .EQ S.OBJ.X1
S.WND.TBarY2 .EQ S.OBJ+22
S.WND.MBarY1 .EQ S.OBJ+22
S.WND.MBarY2 .EQ S.OBJ+24
S.WND.InnerY1 .EQ S.OBJ+26
S.WND.InnerY2 .EQ S.OBJ+28
S.WND.SBarY1 .EQ S.OBJ+28
S.WND.InnerW .EQ S.OBJ+32
S.WND.InnerH .EQ S.OBJ+34
S.WND.DocW .EQ S.OBJ+36
S.WND.DocH .EQ S.OBJ+38
S.WND.DocX .EQ S.OBJ+40
S.WND.DocY .EQ S.OBJ+42
S.WND.fPaint .EQ S.OBJ+44
S.WND.MBarY1 .EQ S.OBJ+24
S.WND.MBarY2 .EQ S.OBJ+26
S.WND.InnerY1 .EQ S.OBJ+28
S.WND.InnerY2 .EQ S.OBJ+30
S.WND.SBarY1 .EQ S.OBJ+32
S.WND.InnerX2 .EQ S.OBJ+34
S.WND.InnerW .EQ S.OBJ+36
S.WND.InnerH .EQ S.OBJ+38
S.WND.DocW .EQ S.OBJ+40
S.WND.DocH .EQ S.OBJ+42
S.WND.DocX .EQ S.OBJ+44
S.WND.DocY .EQ S.OBJ+46
S.WND.fPaint .EQ S.OBJ+48
S.WND.pChilds .EQ S.OBJ+50
*
S.WND .EQ S.OBJ+46
S.WND .EQ S.OBJ+52
*--------------------------------------
S.MBAR.Items .EQ S.OBJ
*
@ -217,13 +221,18 @@ S.MITEM.ID .EQ 10
*
S.MITEM .EQ 12
*--------------------------------------
S.BUT.F.DISABLED .EQ %10000000
S.BUT.F.DISABLED .EQ %00000010
S.BUT.F.NOSPACE .EQ %00000001
*
S.BUT.S.PUSHED .EQ %10000000
*
S.BUT.hBM .EQ S.OBJ
S.BUT.TEXT .EQ S.OBJ+2
* ...
S.BUT.pICON .EQ S.OBJ
S.BUT.pTEXT .EQ S.OBJ+2
S.BUT.KEYMOD .EQ S.OBJ+4
S.BUT.KEY .EQ S.OBJ+5
S.BUT.ID .EQ S.OBJ+6
*
S.BUT .EQ S.OBJ+8
*--------------------------------------
S.TEXT.F.DISABLED .EQ %10000000
*

View File

@ -15,14 +15,14 @@ NEW
#define PTR_T_TEXT 14
#define PTR_T_WAIT 16
#define OBJ_F_BORDER 128
#define WND_F_RESIZE 1
#define WND_F_MOVE 2
#define WND_F_CLOSE 4
#define WND_F_MIN 8
#define WND_F_MAX 16
#define WND_F_BORDER 32
#define WND_F_MODAL 64
#define WND_F_SYSMODAL 128
#define WND_F_MODAL 32
#define WND_S_HASTBAR 1
#define WND_S_HASMBAR 2
@ -31,14 +31,14 @@ NEW
#define WND_S_MINIMIZED 16
#define WND_S_ACTIVE 64
#define WND_P_pTITLE 24
#define WND_P_pMBAR 26
#define WND_P_pSTATUS 28
#define WND_P_pICON 30
#define WND_P_pTITLE 28
#define WND_P_pMBAR 30
#define WND_P_pSTATUS 32
#define WND_P_pICON 34
#define WND_P_BGCOLOR 32
#define WND_P_pBGBM 34
#define WND_P_pPTR 36
#define WND_P_BGCOLOR 36
#define WND_P_pBGBM 38
#define WND_P_pPTR 40
#define MSG_T_KEY 0
#define MSG_T_XY 2
@ -68,7 +68,14 @@ void guiShowWnd(HWND);
void* guiSetProp(HWND,short int,void*);
void* guiGetProp(HWND,short int);
void guiDrawLine(HWND, short int, short int, int, int, int, int);
void guiFill(HWND, short int, short int, int, int, int, int);
void guiDrawBitMap(HWND, short int, short int, void*, int, int);
void guiDrawText(HWND, short int, short int, short int, int, int, char*);
int fastcall guiGetMsg(MSG*);
int guiMsgBox(HWND, void*, void*, void*, int);
MAN
TEXT include/libgui.h

View File

@ -183,35 +183,35 @@ BM.Info .DA #S.BM.F.BBP4
.DA 14 H
.DA BM.INFO.AND-BM.INFO
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS FFFFFFF0
.HS 00000000
.HS 00000000
.HS 00000000
.HS 00000000
.HS 0BBBBB00
.HS 0BBBBB00
.HS 0BBBBB00
.HS 0BBBBB00
.HS 0BBBBB00
.HS 0BBBBB00
.HS 00000000
.HS 00000000
.HS 00000000
.HS 00000000
BM.Info.AND .HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
.HS FFFFFFFF
BM.Info.AND .HS FFF0FFF0
.HS FF000FF0
.HS FF000FF0
.HS F00000F0
.HS F00000F0
.HS 00000000
.HS 00000000
.HS 00000000
.HS 00000000
.HS F00000F0
.HS F00000F0
.HS FF0000F0
.HS FF000FF0
.HS FFF0FFF0
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.g.bm

View File

@ -6,6 +6,15 @@ NEW
*--------------------------------------
.INB inc/libgui.i
*--------------------------------------
.PS "guiDrawLine"
.DA #LIBGUI.DRAW.Line
.PS "guiFill"
.DA #LIBGUI.DRAW.Fill
.PS "guiDrawBitMap"
.DA #LIBGUI.DRAW.BitMap
.PS "guiDrawText"
.DA #LIBGUI.DRAW.Text
.PS "guiSetProp"
.DA #LIBGUI.OBJ.SetProp
.PS "guiGetProp"
@ -21,6 +30,9 @@ NEW
.PS "guiGetMsg"
.DA #LIBGUI.MSG.Get
.PS "guiMsgBox"
.DA #LIBGUI.MBOX.MsgBox
.DA #0
*--------------------------------------
MAN

View File

@ -1,33 +1,103 @@
NEW
AUTO 3,1
*--------------------------------------
BUT.New >STYA ZPPtr1
* NewBut(HWND, bFlags, wW, pICON, pTEXT, bKEYMOD, bKEY, wID, wX, wY)
*--------------------------------------
BUT.New lda #S.OBJ.T.BUT
jsr OBJ.New
bcs .9
* >STYA ZPObjPtr
ldy #S.OBJ.Y1
jsr OBJ.PullWordAtY
ldy #S.OBJ.X1
jsr OBJ.PullWordAtY
ldy #S.BUT.KEYMOD
jsr OBJ.PullWordAtY
ldy #S.BUT.pTEXT
jsr OBJ.PullWordAtY
ldy #S.BUT.pICON
jsr OBJ.PullWordAtY
ldy #S.OBJ.W
jsr OBJ.PullWordAtY
ldy #S.OBJ.F
jsr OBJ.PullByteAtY
jsr OBJ.PullHWND
ldy #S.OBJ.W
lda (ZPPtr1),y
iny
ora (ZPPtr1),y
bne .1 W in !NULL, static size
jsr OBJ.GetPropAtY
bcc .5 W in !NULL, static size
ldy #S.BUT.hBM
lda (ZPPtr1),y
beq .1
ldy #S.BM.W
* >SYSCALL2 GetStkObjProp
stz DX
stz DX+1
phy
ldy #S.OBJ.W+1
sta (ZPPtr1),y
dey
pla
sta (ZPPtr1),y
ldy #S.BUT.pICON
jsr OBJ.GetPropAtY
bcs .1 no icon
.1
lda #16 IconW
sta DX
.1 ldy #S.BUT.pTEXT
jsr OBJ.GetPropAtY
bcs .3 no text
ldx hSYSFON
jsr FON.GetTextSize
ldy #S.OBJ.F
lda (ZPObjPtr),y
and #S.BUT.F.NOSPACE
bne .2
lda DX
beq .2
clc
adc PREFS.XSeparator
sta DX
.2 clc
lda CB.CACHE+S.CB.SrcW
adc DX
sta DX
lda CB.CACHE+S.CB.SrcW+1
adc DX+1
sta DX+1
.3 lda #PREFS.XSeparator
asl
* clc
adc DX
ldy #S.OBJ.W
sta (ZPObjPtr),y
lda #0
adc DX+1
iny
sta (ZPObjPtr),y
.5
.8 clc
rts
.9 >POP 14
rts
*--------------------------------------
BUT.Paint
BUT.Enter
*--------------------------------------
BUT.Draw
*--------------------------------------
BUT.Close

View File

@ -2,8 +2,8 @@ NEW
AUTO 3,1
*--------------------------------------
CB.InitCacheA sta CB.Cache+S.CB.CMD
*--------------------------------------
CB.ClearCache ldx #S.CB-1
ldx #S.CB-1
.1 stz CB.Cache,x
dex
@ -97,7 +97,7 @@ CB.FlushBufToYA ldx hCBBuf
bit PTR.bVisible
bpl .1
jsr PTR.Hide.I
jsr PTR.Disable
.1 lda #0
sta (ZPCBBufPtr)
@ -155,10 +155,7 @@ CB.FlushBufToYA ldx hCBBuf
stz hCBBuf
>SYSCALL2 FreeMem
bit PTR.bVisible
bpl .8
jmp PTR.Show.I
jmp PTR.Enable
.8 clc
.9 rts

View File

@ -228,6 +228,7 @@ CLIP.Line.BOTTOM .EQ 4
CLIP.Line.TOP .EQ 8
*--------------------------------------
CLIP.Line jsr CLIP.Line.EncodeP1
>DEBUG
jsr CLIP.Line.EncodeP2
.1 lda CLIP.Line.P1
@ -273,7 +274,6 @@ CLIP.Line jsr CLIP.Line.EncodeP1
* P2
.5 lda CLIP.Line.P2
bit #CLIP.Line.TOP
beq .6
@ -315,11 +315,12 @@ CLIP.Line.EncodeP1
lda CB.Cache+S.CB.X1
ldx CB.Cache+S.CB.X1+1
jsr CLIP.Line.EncodeX.AX
tay
lda CB.Cache+S.CB.Y1
ldx CB.Cache+S.CB.Y1+1
jsr CLIP.Line.EncodeY.AX
sta CLIP.Line.P1
sty CLIP.Line.P1
rts
*--------------------------------------
CLIP.Line.EncodeP2
@ -328,11 +329,12 @@ CLIP.Line.EncodeP2
lda CB.Cache+S.CB.X2
ldx CB.Cache+S.CB.X2+1
jsr CLIP.Line.EncodeX.AX
tay
lda CB.Cache+S.CB.Y2
ldx CB.Cache+S.CB.Y2+1
jsr CLIP.Line.EncodeY.AX
sta CLIP.Line.P2
sty CLIP.Line.P2
rts
*--------------------------------------
CLIP.Line.EncodeX.AX
@ -340,9 +342,12 @@ CLIP.Line.EncodeX.AX
>SCMPAX OBJ.Cache+S.OBJ.X1
bpl .1
pla
tya
ora #CLIP.Line.LEFT
plx
tay
rts
.1 pla
@ -351,19 +356,20 @@ CLIP.Line.EncodeX.AX
tya
ora #CLIP.Line.RIGHT
rts
tay
.8 tya
rts
.8 rts
*--------------------------------------
CLIP.Line.EncodeY.AX
pha
>SCMPAX OBJ.Cache+S.OBJ.Y1
bpl .1
pla
tya
ora #CLIP.Line.TOP
plx
tya
rts
.1 pla
@ -372,10 +378,9 @@ CLIP.Line.EncodeY.AX
tya
ora #CLIP.Line.BOTTOM
rts
tay
.8 tya
rts
.8 rts
*--------------------------------------
CB.Cache.SetX2Y2
lda CB.Cache+S.CB.SrcW

View File

@ -8,8 +8,8 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
>PULLB CB.Cache+S.CB.COLOR
>PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND
jsr DRAW.PullInnerWND
lda CB.Cache+S.CB.X2
sec
sbc CB.Cache+S.CB.X1
@ -19,6 +19,7 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
sta DX+1 DX = X2 - X1
bmi .1 DX < 0....
ora DX
bne .2 DX > 0...
@ -54,14 +55,17 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
bcs .8
jmp CB.GFXWrite
.8 rts
.8 clc
rts
*--------------------------------------
.3 >NOT16 DY set DY=-DY
lda #$ff
sta IY set IY=-1
.4 jsr CLIP.Line
bcs .8
.4
* jsr CLIP.Line
* bcs .8
lda #S.CB.CMD.SETPIXEL
sta CB.Cache+S.CB.CMD
@ -96,6 +100,7 @@ DRAW.Line.IncXY lda DX DX=DY
bne .3
inc CB.Cache+S.CB.X1+1
.3 lda CB.Cache+S.CB.Y1 Y1=Y1+IY
clc
adc IY
@ -103,7 +108,8 @@ DRAW.Line.IncXY lda DX DX=DY
jsr CB.GFXWrite
bra .1
.8 rts
.8 clc
rts
*--------------------------------------
DRAW.Line.IncY lda DY
eor #$ff
@ -179,7 +185,8 @@ DRAW.Line.IncY lda DY
jsr CB.GFXWrite
bra .1
.8 rts
.8 clc
rts
*--------------------------------------
DRAW.Line.IncX lda DX
eor #$ff
@ -187,6 +194,7 @@ DRAW.Line.IncX lda DX
lda DX+1
eor #$ff
sta Counter+1
lda DY IE=2*DY
asl
sta IE
@ -256,16 +264,17 @@ DRAW.Line.IncX lda DX
.6 jsr CB.GFXWrite
bra .1
.8 rts
.8 clc
rts
*--------------------------------------
* fillrectangle (short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int Y2)
* fill (short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int Y2)
*--------------------------------------
FillRectangle jsr DRAW.PullY2X2Y1X1
DRAW.Fill jsr DRAW.PullY2X2Y1X1
>PULLB CB.Cache+S.CB.COLOR
>PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND
jsr DRAW.PullInnerWND
lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD
@ -275,11 +284,12 @@ FillRectangle jsr DRAW.PullY2X2Y1X1
jmp CB.GFXWrite
.8 rts
.8 clc
rts
*--------------------------------------
* drawbitmap (short int hWND, short int OP, short int M, S.BM *bitmap, int X1, int Y1)
*--------------------------------------
DrawBitMap lda #S.CB.CMD.BITBLT
DRAW.BitMap lda #S.CB.CMD.BITBLT
jsr CB.InitCacheA
jsr DRAW.PullY1X1
@ -289,28 +299,18 @@ DrawBitMap lda #S.CB.CMD.BITBLT
>PULLB CB.Cache+S.CB.M
>PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND
jsr DRAW.PullInnerWND
jsr CLIP.CB.Cache
bcs .8
jmp CB.GFXWrite
.8 rts
.8 clc
rts
*--------------------------------------
DRAW.xBM >LDYA L.BMs,x
DRAW.yaBM >STYA ZPBMPtr
bra DRAW.BM
DRAW.xBMAtDXDY >LDYA L.BMs,x
DRAW.yaBMAtDXDY >STYA ZPBMPtr Src BM
ldx #3
.1 lda DX,x
sta CB.Cache+S.CB.X1,x
dex
bpl .1
DRAW.BM lda #S.CB.CMD.BITBLT
sta CB.Cache+S.CB.CMD
@ -341,7 +341,7 @@ DRAW.BM lda #S.CB.CMD.BITBLT
*--------------------------------------
* drawtext (short int hWND, short int OP, short int hFONT, int X1, int Y1, char *str)
*--------------------------------------
DrawText lda #S.CB.CMD.DRAWTEXT2
DRAW.Text lda #S.CB.CMD.DRAWTEXT2
jsr CB.InitCacheA
>PULLW CB.Cache+S.CB.TxtPtr
@ -351,31 +351,20 @@ DrawText lda #S.CB.CMD.DRAWTEXT2
>PULLB CB.Cache+S.CB.hFont
>PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND
jsr DRAW.PullInnerWND
jsr CLIP.CB.Cache
bcs .8
jmp CB.GFXWrite
.8 rts
.8 clc
rts
*--------------------------------------
DRAW.YAText >STYA CB.Cache+S.CB.TxtPtr
stx CB.Cache+S.CB.hFont
bra DRAW.Text
*--------------------------------------
DRAW.YATextAtDXDY
>STYA CB.Cache+S.CB.TxtPtr
stx CB.Cache+S.CB.hFont
ldx #3
.1 lda DX,x DX,DY -> S.CB.X1,S.CB.Y1
sta CB.Cache+S.CB.X1,x
dex
bpl .1
DRAW.Text lda #S.CB.CMD.DRAWTEXT2
lda #S.CB.CMD.DRAWTEXT2
sta CB.Cache+S.CB.CMD
lda #0
@ -398,17 +387,21 @@ DRAW.PullY2X2Y1X1
DRAW.PullY1X1 ldx #3
DRAW.PullX >PULLA
sta CB.Cache+S.CB.X1-1,x
>PULLA
sta CB.Cache+S.CB.X1,x
dex
dex
bpl DRAW.PullX
rts
*--------------------------------------
DRAW.PullWND >PULLA hWND
>SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
DRAW.PullInnerWND
jsr OBJ.PullHWND get dest window at ZPWNDPtr
jsr DRAW.ToGlobal set CB.Cache to global coord.
jsr DRAW.GetInnerWND get inners in OBJ.Cache
jmp DRAW.ToGlobal set CB.Cache to global coord.
*--------------------------------------
DRAW.GetInnerWND
ldy #S.OBJ.X1
@ -435,7 +428,7 @@ DRAW.GetInnerWND
lda (ZPWNDPtr),y
sta OBJ.Cache+S.OBJ.W+1
iny #S.WND.InnerH
ldy #S.WND.InnerH
lda (ZPWNDPtr),y
sta OBJ.Cache+S.OBJ.H
iny
@ -443,26 +436,26 @@ DRAW.GetInnerWND
sta OBJ.Cache+S.OBJ.H+1
>LDYA L.OBJ.Cache
jmp OBJ.SetX2Y2
jmp OBJ.SetX2Y2 set X2 = X1 + W - 1...
*--------------------------------------
DRAW.ToGlobal >LDYA ZPWNDPtr
>STYA ZPPtr1
.1 ldy #S.OBJ.X1
ldx #S.CB.X1
jsr DRAW.AddP1YtoCBX
jsr DRAW.AddPtr1YtoCBX
ldy #S.WND.InnerY1
ldx #S.CB.Y1
jsr DRAW.AddP1YtoCBX
jsr DRAW.AddPtr1YtoCBX
ldy #S.OBJ.X1
ldx #S.CB.X2
jsr DRAW.AddP1YtoCBX
jsr DRAW.AddPtr1YtoCBX
ldy #S.WND.InnerY1
ldx #S.CB.Y2
jsr DRAW.AddP1YtoCBX
jsr DRAW.AddPtr1YtoCBX
ldy #S.OBJ.hPARENT+1
lda (ZPPtr1),y
@ -479,7 +472,7 @@ DRAW.ToGlobal >LDYA ZPWNDPtr
.8 clc
rts
*--------------------------------------
DRAW.AddP1YtoCBX
DRAW.AddPtr1YtoCBX
lda (ZPPtr1),y
clc
adc CB.Cache,x

View File

@ -1,9 +1,102 @@
NEW
AUTO 3,1
*--------------------------------------
* idButton MsgBox(hWND, pTITLE, pTEXT, pBM, idButtons)
*--------------------------------------
* idButton MsgBox(pTITLE, pTEXT, pBM, idButtons)
* guiNewWnd(sFlags, iX1, iY1, iW, iH)
*--------------------------------------
MBOX.MsgBox >LDYAI 360
>STYA IE
>LDYAI 80
>STYA INE
lda WND.Desktop+S.OBJ.W
sec
sbc IE
sta DX
lda WND.Desktop+S.OBJ.W+1
sbc IE+1
lsr
sta DX+1
ror DX
lda WND.Desktop+S.OBJ.H
sec
sbc INE
sta DY
lda WND.Desktop+S.OBJ.H+1
sbc INE+1
lsr
sta DY+1
ror DY
>PUSHBI S.OBJ.F.BORDER+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MODAL
>PUSHW DX
>PUSHW DY
>PUSHW IE
>PUSHW INE
jsr WND.New
bcs .9
pha
ldy #S.WND.BGCOLOR
lda #C.WHITE
sta (ZPObjPtr),y
ldy #6
lda (pStack),y
tax
dey
lda (pStack),y
ldy #S.WND.pTITLE
jsr OBJ.SetAXAtY
pla
jsr WND.Show
bcs .9
ldy #2 pBM
lda (pStack),y
tax
dey
lda (pStack),y
jsr MBOX.DrawBM
.9 >POP 7
rts
*--------------------------------------
MBOX.DrawBM cpx #0
bne .1
tax
>LDYA L.BMs,x
.1 >STYA ZPBMPtr
jsr CB.GetBuf
bcs .9
lda #28
sta CB.Cache+S.CB.X1
stz CB.Cache+S.CB.X1+1
sta CB.Cache+S.CB.Y1
stz CB.Cache+S.CB.Y1+1
jsr DRAW.BM
* >DEBUG
* >LDYA ZPWNDPtr
>LDYA L.WND.Desktop
jmp CB.FlushBufToYA
.9 rts
*--------------------------------------
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.s.mbox

View File

@ -319,9 +319,7 @@ MENU.SetMenuSizePos
sta (ZPMENUPtr),y
.5 >LDYA ZPMENUPtr
jsr OBJ.SetX2Y2
rts
jmp OBJ.SetX2Y2
*--------------------------------------
MENU.GetMItemW ldy #S.MITEM.pICON
lda (ZPPtr1),y
@ -347,7 +345,7 @@ MENU.GetMItemW ldy #S.MITEM.pICON
sta IE+1
.2 jsr MENU.GetKeyString
bcs .8
beq .8
ldx hSYSFON
jsr FON.GetTextSize
@ -462,11 +460,9 @@ MENU.Enter jsr MENU.GetDXDY
eor #S.MITEM.S.SELECTED
sta (ZPPtr1),y was selected before...
jsr CB.GetBuf
jsr MENU.DrawMItemBuf
bcs .9
jsr MENU.DrawMItem
.2 jsr MENU.NextMItemDY
bra .1
*--------------------------------------
@ -477,11 +473,9 @@ MENU.Enter jsr MENU.GetDXDY
eor #S.MITEM.S.SELECTED
sta (ZPPtr1),y
jsr CB.GetBuf
jsr MENU.DrawMItemBuf
bcs .9
jsr MENU.DrawMItem
.30 ldx MENU.Stack.Idx
inx
cpx MENU.Stack.Cnt
@ -576,6 +570,18 @@ MENU.Draw >SYSCALL2 GetMemPtr
.8 >LDYA L.WND.Screen
jmp CB.FlushBufToYA
.9 rts
*--------------------------------------
MENU.DrawMItemBuf
jsr CB.GetBuf
bcs .9
jsr MENU.DrawMItem
bcs .9
>LDYA L.WND.Screen
jmp CB.FlushBufToYA
.9 rts
*--------------------------------------
MENU.DrawMItem jsr MENU.ResetX1Y1X2
@ -588,22 +594,14 @@ MENU.DrawMItem jsr MENU.ResetX1Y1X2
jmp CB.Cache2CBBuf
*--------------------------------------
MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
MENU.DrawMItem1 jsr MENU.IsSelected
ldx PREFS.MenuColor
jsr MENU.IsSelected
lda PREFS.MenuColor
bcc .15
txa
eor #C.WHITE
tax
eor #$ff
.15 stx CB.Cache+S.CB.COLOR
.15 jsr CB.FillRectMonoA
lda CB.Cache+S.CB.Y1
sec
@ -642,9 +640,8 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
inc CB.Cache+S.CB.X1+1
.21 jsr MENU.GetText
jsr MENU.IsSelected
.21 jsr MENU.IsSelected
jsr MENU.GetText
ldx hSYSFON
jsr DRAW.YAText
@ -662,10 +659,10 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
cmp #S.MITEM.T.ITEM
bne .3
jsr MENU.GetKeyString
bcs .3
jsr MENU.IsSelected
jsr MENU.GetKeyString C untouched
beq .3
ldx hSYSFON
jsr DRAW.YAText
@ -711,15 +708,9 @@ MENU.GetIcon ldy #S.MITEM.pICON+1
rts
*--------------------------------------
MENU.IsSelected phy
pha
ldy #S.MITEM.S
MENU.IsSelected ldy #S.MITEM.S
lda (ZPPtr1),y
asl
.9 pla
ply
rts
*--------------------------------------
MENU.GetText ldy #S.MITEM.pTEXT
@ -768,8 +759,8 @@ MENU.GetKeyString
sta TEXTBUF,x
stz TEXTBUF+1,x
>LDYA L.TEXTBUF
clc
>LDYA L.TEXTBUF NZ
rts
*--------------------------------------
.4 pha
@ -784,12 +775,11 @@ MENU.GetKeyString
.6 pla
rts
.9 sec
rts
.9 rts
*--------------------------------------
MENU.Save lda #S.CB.CMD.GETRECTBUFSIZE
MENU.Save jsr PTR.Disable
lda #S.CB.CMD.GETRECTBUFSIZE
jsr CB.InitCacheA
ldy #S.OBJ.X1
@ -830,8 +820,8 @@ MENU.Save lda #S.CB.CMD.GETRECTBUFSIZE
bne .2
jsr CB.GFXWrite
clc
jmp PTR.Enable
.9 rts
*--------------------------------------
@ -885,34 +875,6 @@ MENU.ResetX1Y1X2
rts
*--------------------------------------
MENU.FindSelected
>LDYA ZPPtr1
>STYA D
jsr MENU.GetMItems
.1 lda (ZPPtr1)
beq .9
cmp #S.MITEM.T.SEP
beq .2
ldy #S.MITEM.S
lda (ZPPtr1),y
bmi .8
.2 jsr MENU.NextMItem
bra .1
.8 clc
rts
.9 >LDYA D
>STYA ZPPtr1
sec
rts
*--------------------------------------
MENU.GetMItems lda ZPMENUPtr
clc
adc #S.MENU.Items
@ -953,7 +915,7 @@ MENU.Destroy clc
bit PTR.bVisible
bpl .1
jsr PTR.Hide.I
jsr PTR.Disable
.1 lda #S.CB.CMD.BITBLT
jsr CB.InitCacheA
@ -1010,10 +972,7 @@ MENU.Destroy clc
bne .2
.7 bit PTR.bVisible
bpl .8
jmp PTR.Show.I
.7 jmp PTR.Enable
.8 clc
rts

View File

@ -109,12 +109,11 @@ MOU.CheckOverWND
.1 stx WND.Stack.Idx
lda WND.Stack-1,x
>SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
jsr OBJ.GetHWNDA
ldy #S.OBJ.F
lda (ZPWNDPtr),y
and #S.WND.F.BORDER
and #S.OBJ.F.BORDER
beq .2
jsr MOU.ChkWNDBorders

View File

@ -16,10 +16,9 @@ OBJ.New pha
pla
sta (ZPObjPtr)
phx hObj
tax
ldy OBJ.SizeOf,x
tay
lda OBJ.SizeOf,y
tay
dey
lda #0
@ -27,11 +26,9 @@ OBJ.New pha
dey
bne .1
>LDYA ZPObjPtr
* clc
.9 plx
rts
.9 rts
*--------------------------------------
* hOBJ, Prop8, Value16
*--------------------------------------
@ -74,10 +71,16 @@ OBJ.GetProp >PULLA
ply
lda (ZPObjPtr),y
OBJ.GetPropAtY lda (ZPObjPtr),y
pha
iny
lda (ZPObjPtr),y
ora (ZPObjPtr),y
clc
bne .1
sec
.1 lda (ZPObjPtr),y
ply
rts
@ -135,6 +138,27 @@ OBJ.SetX2Y2 >STYA ZPPtr1
rts
*--------------------------------------
OBJ.SetAXAtY sta (ZPObjPtr),y
iny
txa
sta (ZPObjPtr),y
rts
*--------------------------------------
OBJ.PullWordAtY >PULLA
sta (ZPObjPtr),y
iny
OBJ.PullByteAtY >PULLA
sta (ZPObjPtr),y
rts
*--------------------------------------
OBJ.PullHWND >PULLA
OBJ.GetHWNDA >SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
rts
*--------------------------------------
OBJ.GetInCache >STYA .1+1
ldx #S.OBJ-1

View File

@ -99,22 +99,37 @@ PTR.SetPos >PULLW ZPPtr1
clc
rts
*--------------------------------------
PTR.Disable bit PTR.bVisible
bmi PTR.Hide.I
clc
rts
*--------------------------------------
PTR.Enable bit PTR.bVisible
bmi PTR.Show.I
clc
rts
*--------------------------------------
PTR.Hide lda PTR.bVisible
bpl .9
bpl .8
jsr PTR.Hide.I
stz PTR.bVisible
.9 clc
bra PTR.Hide.I
.8 clc
rts
*--------------------------------------
PTR.Show lda PTR.bVisible
bmi .9
bmi .8
jsr PTR.Show.I
dec PTR.bVisible
.9 rts
bra PTR.Show.I
.8 clc
rts
*--------------------------------------
PTR.Hide.I lda #S.CB.OP.RESTORE
bra PTR.Draw.I

View File

@ -59,22 +59,13 @@ SYSBAR.Show jsr CB.GetBuf
.9 rts
*--------------------------------------
SYSBAR.ShowSysBut
lda #S.CB.CMD.FILLRECT
jsr CB.InitCacheA
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
lda PREFS.SYSBARCOLOR
lda PREFS.SysBarColor
bit WND.SysBar.bSysBut
bpl .1
eor #$ff
.1 sta CB.Cache+S.CB.COLOR
.1 jsr CB.FillRectMonoA
ldx #S.RECT-1
@ -85,57 +76,45 @@ SYSBAR.ShowSysBut
jsr CB.Cache2CBBuf
lda RECT.SysBut+S.RECT.X1
lda CB.Cache+S.CB.X1
clc
adc #4
sta DX
lda RECT.SysBut+S.RECT.X1+1
sta CB.Cache+S.CB.X1
lda CB.Cache+S.CB.X1+1
adc #0
sta DX+1
sta CB.Cache+S.CB.X1+1
lda RECT.SysBut+S.RECT.Y1
inc CB.Cache+S.CB.Y1
bne .30
inc CB.Cache+S.CB.Y1+1
.30 ldx #BM.ID.APPLE
jsr DRAW.xBM
lda CB.Cache+S.CB.X1
clc
adc #1
sta DY
lda RECT.SysBut+S.RECT.Y1+1
adc #20
sta CB.Cache+S.CB.X1
lda CB.Cache+S.CB.X1+1
adc #0
sta DY+1
sta CB.Cache+S.CB.X1+1
ldx #BM.ID.APPLE
jsr DRAW.xBMAtDXDY
inc CB.Cache+S.CB.Y1
bne .31
lda RECT.SysBut+S.RECT.X1
clc
adc #21
sta DX
lda RECT.SysBut+S.RECT.X1+1
adc #0
sta DX+1
inc CB.Cache+S.CB.Y1+1
inc DY
bne .3
inc DY+1
.3 lda WND.SysBar.bSysBut
.31 lda WND.SysBar.bSysBut
asl
>LDYA L.WND.SysBar.2osX
ldx hSYSFON
jmp DRAW.YATextAtDXDY
jmp DRAW.YAText
*--------------------------------------
SYSBAR.ShowSysWNDs
lda #S.CB.CMD.FILLRECT
jsr CB.InitCacheA
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
lda PREFS.SYSBARCOLOR
sta CB.Cache+S.CB.COLOR
lda PREFS.SysBarColor
jsr CB.FillRectMonoA
ldx #S.RECT-1
@ -147,17 +126,8 @@ SYSBAR.ShowSysWNDs
jmp CB.Cache2CBBuf
*--------------------------------------
SYSBAR.ShowSysClk
lda #S.CB.CMD.FILLRECT
jsr CB.InitCacheA
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
lda PREFS.SYSBARCOLOR
sta CB.Cache+S.CB.COLOR
lda PREFS.SysBarColor
jsr CB.FillRectMonoA
ldx #S.RECT-1

View File

@ -118,100 +118,67 @@ WND.Quit.RTS rts
*--------------------------------------
WND.New ldy WND.Stack.Top
cpy #WND.MAX
bcc .10
bcs .98
lda #E.OOH
.9 >POP 9
rts
.10 lda #S.OBJ.T.WND
lda #S.OBJ.T.WND
jsr OBJ.New
bcs .9
bcs .99
>STYA ZPWNDPtr
* >STYA ZPObjPtr
phx
ldy #S.WND.fPaint
lda L.WND.fPaint
sta (ZPWNDPtr),y
iny
lda L.WND.fPaint+1
sta (ZPWNDPtr),y
>PULLA
ldy #S.OBJ.H
sta (ZPWNDPtr),y
pha
>PULLA
iny
sta (ZPWNDPtr),y
ldy #S.WND.InnerH+1
sta (ZPWNDPtr),y
pla
dey
sta (ZPWNDPtr),y
jsr OBJ.PullWordAtY
>PULLA
ldy #S.OBJ.W
sta (ZPWNDPtr),y
pha
>PULLA
iny
sta (ZPWNDPtr),y
ldy #S.WND.InnerW+1
sta (ZPWNDPtr),y
pla
dey
sta (ZPWNDPtr),y
>PULLA
jsr OBJ.PullWordAtY
ldy #S.OBJ.Y1
sta (ZPWNDPtr),y
>PULLA
iny
sta (ZPWNDPtr),y
jsr OBJ.PullWordAtY
>PULLA
ldy #S.OBJ.X1
and PREFS.BestViewedX
sta (ZPWNDPtr),y
>PULLA
iny
sta (ZPWNDPtr),y
jsr OBJ.PullWordAtY
>PULLA
bit #S.WND.F.RESIZE
beq .2
ora #S.WND.F.BORDER
ora #S.OBJ.F.BORDER
.2 ldy #S.OBJ.F
sta (ZPWNDPtr),y
sta (ZPObjPtr),y
ldy #S.PS.PID
lda (pPs),y
ldy #S.OBJ.hOWNER
sta (ZPWNDPtr),y
sta (ZPObjPtr),y
lda L.WND.Desktop
ldx L.WND.Desktop+1
ldy #S.OBJ.hPARENT
sta (ZPWNDPtr),y
iny
lda L.WND.Desktop+1
sta (ZPWNDPtr),y
jsr OBJ.SetAXAtY
txa ID
lda L.WND.fPaint
ldx L.WND.fPaint+1
ldy #S.WND.fPaint
jsr OBJ.SetAXAtY
pla ID
* clc
rts
.98 lda #E.OOH
.99 >POP 9
rts
*--------------------------------------
WND.Destroy clc
rts
*--------------------------------------
WND.Activate >SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
WND.Activate jsr OBJ.GetHWNDA
clc
@ -240,11 +207,10 @@ WND.Bring2Front ldx WND.Stack.Idx
WND.Show sta WND.hWND
ldx WND.Stack.Top
beq WND.Show2
beq .1
lda WND.Stack-1,x
>SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
jsr OBJ.GetHWNDA
lda #S.WND.S.ACTIVE
jsr WND.ClrStatus
@ -259,21 +225,16 @@ WND.Show sta WND.hWND
lda WND.hWND
ldx WND.Stack.Top
*--------------------------------------
WND.Show2 sta WND.Stack,x
.1 sta WND.Stack,x
inc WND.Stack.Top
*--------------------------------------
WND.Draw jsr OBJ.GetHWNDA Y,A = ZPWNDPtr
>SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
jsr OBJ.SetX2Y2
ldy #S.WND.InnerY2
sta (ZPWNDPtr),y
txa
iny
sta (ZPWNDPtr),y
jsr OBJ.SetX2Y2
jsr WND.ResetInnerW
jsr CB.GetBuf
bcs WND.Activate.RTS
@ -282,7 +243,7 @@ WND.Show2 sta WND.Stack,x
ldy #S.OBJ.F
lda (ZPWNDPtr),y
and #S.WND.F.BORDER
and #S.OBJ.F.BORDER
beq .1
>LDYA ZPWNDPtr
@ -309,10 +270,7 @@ WND.Show2 sta WND.Stack,x
jsr WND.Add2Counter
ldy #S.WND.TBarY2
sta (ZPWNDPtr),y
iny
txa
sta (ZPWNDPtr),y
jsr WND.SetAXAtY
lda #S.WND.S.HASTBAR
jsr WND.SetStatus
@ -324,14 +282,14 @@ WND.Show2 sta WND.Stack,x
lda (ZPWNDPtr),y
beq .4
ldy #S.WND.MBarY1
jsr WND.SetCounterAtY
lda SYSFON.Hp1
jsr WND.Add2Counter
ldy #S.WND.MBarY2
sta (ZPWNDPtr),y
iny
txa
sta (ZPWNDPtr),y
jsr WND.SetAXAtY
lda #S.WND.S.HASMBAR
jsr WND.SetStatus
@ -340,29 +298,37 @@ WND.Show2 sta WND.Stack,x
lda (ZPWNDPtr),y
jsr MBAR.Draw
*--------------------------------------
.4 lda Counter
ldy #S.WND.InnerY1
sta (ZPWNDPtr),y
iny
lda Counter+1
sta (ZPWNDPtr),y
.4 ldy #S.WND.InnerY1
jsr WND.SetCounterAtY
ldy #S.WND.pSTATUS+1
lda (ZPWNDPtr),y
beq .8
lda SYSFON.Hp1
lda SYSFON.H
jsr WND.Add2Counter
ldy #S.WND.InnerY2
lda (ZPWNDPtr),y
sec
clc +1
sbc SYSFON.H
sta (ZPWNDPtr),y
tax
iny
lda (ZPWNDPtr),y
sbc #0
sta (ZPWNDPtr),y
inx
bne .5
inc
.5 ldy #S.WND.SBarY1+1
sta (ZPWNDPtr),y
dey
txa
sta (ZPWNDPtr),y
lda #S.WND.S.HASSBAR
jsr WND.SetStatus
@ -385,15 +351,277 @@ WND.Show2 sta WND.Stack,x
lda WND.hWND
pha
bra WND.Paint1
jmp WND.Paint1
.9
WND.Show.RTS rts
.9 rts
*--------------------------------------
WND.ResetInnerW ldy #S.OBJ.W
ldx #S.WND.InnerW
jsr .1
ldy #S.OBJ.H
ldx #S.WND.InnerH
jsr .1
ldy #S.OBJ.X2
ldx #S.WND.InnerX2
jsr .1
ldy #S.OBJ.Y2
ldx #S.WND.InnerY2
.1 lda (ZPWNDPtr),y
pha
iny
lda (ZPWNDPtr),y
phx
ply
iny
sta (ZPWNDPtr),y
dey
pla
sta (ZPWNDPtr),y
rts
*--------------------------------------
WND.Add2Counter clc
adc Counter
sta Counter
bcc .8
inc Counter+1
.8 ldx Counter+1
rts
*--------------------------------------
WND.SetCounterAtY
lda Counter
ldx Counter+1
*--------------------------------------
WND.SetAXAtY sta (ZPWNDPtr),y
iny
txa
sta (ZPWNDPtr),y
rts
*--------------------------------------
WND.DrawTitleBar
lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.C16
sta CB.Cache+S.CB.M
ldx PREFS.TBarColorI
ldy #S.OBJ.S
lda (ZPWNDPtr),y
and #S.WND.S.ACTIVE
beq .10
ldx PREFS.TBarColorA
.10 stx CB.Cache+S.CB.COLOR
ldy #S.OBJ.X1+5 X1,Y1,X2
ldx #5
.11 lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X1,x
dey
dex
bpl .11
ldy #S.OBJ.Y1
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.Y1
sec
adc SYSFON.H
sta CB.Cache+S.CB.Y2
iny
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.Y1+1
adc #0
sta CB.Cache+S.CB.Y2+1
jsr CB.Cache2CBBuf
inc CB.Cache+S.CB.Y1
bne .12
inc CB.Cache+S.CB.Y1+1
* TOP LEFT ICON
.12 ldy #S.WND.ICON+1
lda (ZPWNDPtr),y
tax
dey
ora (ZPWNDPtr),y
bne .1
>LDYA L.BM.Apple
bra .2
.1 lda (ZPWNDPtr),y
tay
txa
.2 jsr DRAW.yaBM
jsr WND.DrawTitleBarText
bcs .9
* TOP RIGHT ICONS
ldy #S.OBJ.X2
lda (ZPWNDPtr),y
sec
sbc #48
sta CB.Cache+S.CB.X1
iny
lda (ZPWNDPtr),y
sbc #0
sta CB.Cache+S.CB.X1+1
ldy #S.OBJ.F
lda (ZPWNDPtr),y
bit #S.WND.F.MIN
beq .3
ldx #BM.ID.MIN
jsr DRAW.xBM
.3 lda CB.Cache+S.CB.X1
clc
adc #16
sta CB.Cache+S.CB.X1
bcc .31
inc CB.Cache+S.CB.X1+1
.31 ldy #S.OBJ.F
lda (ZPWNDPtr),y
bit #S.WND.F.MAX
beq .4
ldx #BM.ID.MAX
jsr DRAW.xBM
.4 lda CB.Cache+S.CB.X1
clc
adc #16
sta CB.Cache+S.CB.X1
bcc .41
inc CB.Cache+S.CB.X1+1
.41 ldy #S.OBJ.F
lda (ZPWNDPtr),y
bit #S.WND.F.CLOSE
beq .8
ldx #BM.ID.CLOSE
jsr DRAW.xBM
.8 clc
.9 rts
*--------------------------------------
WND.DrawTitleBarText
ldy #S.WND.pTITLE
lda (ZPWNDPtr),y
pha
iny
lda (ZPWNDPtr),y
ply
ldx hSYSFON
jsr FON.GetTextSize
ldy #S.OBJ.W
lda (ZPWNDPtr),y
sec
sbc CB.Cache+S.CB.SrcW
sta DX
iny
lda (ZPWNDPtr),y
sbc CB.Cache+S.CB.SrcW+1
lsr
ror DX
sta DX+1
ldy #S.OBJ.X1
lda (ZPWNDPtr),y
clc
adc DX
and PREFS.BestViewedX
sta CB.Cache+S.CB.X1
iny
lda (ZPWNDPtr),y
adc DX+1
sta CB.Cache+S.CB.X1+1
ldy #S.WND.pTITLE
lda (ZPWNDPtr),y
pha
iny
lda (ZPWNDPtr),y
ply
ldx hSYSFON
clc
jmp DRAW.YAText
*--------------------------------------
WND.DrawStatusBar
jsr CB.BorderLineH
ldy #S.OBJ.X1
ldx #S.CB.X1
jsr CB.GetWndYCacheX
ldy #S.OBJ.X2
ldx #S.CB.X2
jsr CB.GetWndYCacheX
ldy #S.WND.SBarY1
ldx #S.CB.Y1
jsr CB.GetWndYCacheX
jsr CB.Cache2CBBuf
inc CB.Cache+S.CB.Y1
bne .1
inc CB.Cache+S.CB.Y1+1
.1 lda PREFS.SBarColor
jsr CB.FillRectMonoA
ldy #S.OBJ.Y2
ldx #S.CB.Y2
jsr CB.GetWndYCacheX
jsr CB.Cache2CBBuf
ldy #S.WND.pSTATUS
lda (ZPWNDPtr),y
pha
iny
lda (ZPWNDPtr),y
ply
ldx hSYSFON
clc
jmp DRAW.YAText
*--------------------------------------
WND.Paint pha hWND
>SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
jsr OBJ.GetHWNDA
WND.Paint1 ldy #S.WND.fPaint
lda (ZPWNDPtr),y
@ -406,11 +634,12 @@ WND.Paint1 ldy #S.WND.fPaint
jmp (ZPPtr1)
*--------------------------------------
WND.fPaint >SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
WND.fPaint.RTS rts
WND.fPaint jsr OBJ.GetHWNDA
jsr CB.GetBuf
bcs WND.Show.RTS
bcs WND.fPaint.RTS
lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD
@ -434,15 +663,12 @@ WND.fPaint >SYSCALL2 GetMemPtr
ldy #S.WND.InnerY1
lda (ZPWNDPtr),y
clc
adc #1
sta CB.Cache+S.CB.Y1
iny
lda (ZPWNDPtr),y
adc #0
sta CB.Cache+S.CB.Y1+1
ldy #S.OBJ.X2
ldy #S.WND.InnerX2
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X2
iny
@ -451,16 +677,13 @@ WND.fPaint >SYSCALL2 GetMemPtr
ldy #S.WND.InnerY2
lda (ZPWNDPtr),y
sec
sbc #1
sta CB.Cache+S.CB.Y2
iny
lda (ZPWNDPtr),y
sbc #0
sta CB.Cache+S.CB.Y2+1
jsr CB.Cache2CBBuf
*--------------------------------------
ldy #S.WND.BGBM
lda (ZPWNDPtr),y
sta CB.Cache+S.CB.SrcPtr
@ -493,229 +716,11 @@ WND.fPaint >SYSCALL2 GetMemPtr
.8 >LDYA L.WND.Desktop
jmp CB.FlushBufToYA
*--------------------------------------
WND.DrawTitleBar
lda #S.CB.CMD.FILLRECT
jsr CB.InitCacheA
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.C16
sta CB.Cache+S.CB.M
ldx PREFS.TBARCOLORI
ldy #S.OBJ.S
lda (ZPWNDPtr),y
and #S.WND.S.ACTIVE
beq .10
ldx PREFS.TBARCOLORA
.10 stx CB.Cache+S.CB.COLOR
ldy #S.OBJ.X1+5 X1,Y1,X2
ldx #5
.11 lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X1,x
dey
dex
bpl .11
>LDYA CB.Cache+S.CB.X1
>STYA DX
ldy #S.OBJ.Y1
lda (ZPWNDPtr),y
sta DY
sec
adc SYSFON.H
sta CB.Cache+S.CB.Y2
iny
lda (ZPWNDPtr),y
sta DY+1
adc #0
sta CB.Cache+S.CB.Y2+1
jsr CB.Cache2CBBuf
inc DY
bne .12
inc DY+1
* TOP LEFT ICON
.12 ldy #S.WND.ICON+1
lda (ZPWNDPtr),y
tax
dey
ora (ZPWNDPtr),y
bne .1
>LDYA L.BM.Apple
bra .2
.1 lda (ZPWNDPtr),y
tay
txa
.2 jsr DRAW.yaBMAtDXDY
jsr WND.DrawTitleBarText
bcs .9
* TOP RIGHT ICONS
ldy #S.OBJ.X2
lda (ZPWNDPtr),y
sec
sbc #48
sta DX
iny
lda (ZPWNDPtr),y
sbc #0
sta DX+1
ldy #S.OBJ.F
lda (ZPWNDPtr),y
bit #S.WND.F.MIN
beq .3
ldx #BM.ID.MIN
jsr DRAW.xBMAtDXDY
.3 lda DX
clc
adc #16
sta DX
bcc .31
inc DX+1
.31 ldy #S.OBJ.F
lda (ZPWNDPtr),y
bit #S.WND.F.MAX
beq .4
ldx #BM.ID.MAX
jsr DRAW.xBMAtDXDY
.4 lda DX
clc
adc #16
sta DX
bcc .41
inc DX+1
.41 ldy #S.OBJ.F
lda (ZPWNDPtr),y
bit #S.WND.F.CLOSE
beq .8
ldx #BM.ID.CLOSE
jsr DRAW.xBMAtDXDY
.8 clc
.9 rts
*--------------------------------------
WND.DrawTitleBarText
ldy #S.WND.pTITLE
lda (ZPWNDPtr),y
pha
iny
lda (ZPWNDPtr),y
ply
ldx hSYSFON
jsr FON.GetTextSize
ldy #S.OBJ.W
lda (ZPWNDPtr),y
sec
sbc CB.Cache+S.CB.SrcW
sta DX
iny
lda (ZPWNDPtr),y
sbc CB.Cache+S.CB.SrcW+1
lsr
ror DX
sta DX+1
ldy #S.OBJ.X1
lda (ZPWNDPtr),y
clc
adc DX
and PREFS.BestViewedX
sta DX
iny
lda (ZPWNDPtr),y
adc DX+1
sta DX+1
ldy #S.WND.pTITLE
lda (ZPWNDPtr),y
pha
iny
lda (ZPWNDPtr),y
ply
ldx hSYSFON
clc
jmp DRAW.YATextAtDXDY
*--------------------------------------
WND.DrawStatusBar
jsr CB.BorderLineH
ldy #S.OBJ.X1
ldx #S.CB.X1
jsr CB.GetWndYCacheX
ldy #S.WND.SBarY1
ldx #S.CB.Y1
jsr CB.GetWndYCacheX
ldy #S.OBJ.X2
ldx #S.CB.X2
jsr CB.GetWndYCacheX
jsr CB.Cache2CBBuf
lda PREFS.SBarColor
jsr CB.FillRectMonoA
inc CB.Cache+S.CB.Y1
bne .1
inc CB.Cache+S.CB.Y1+1
.1 ldy #S.OBJ.Y2
ldx #S.CB.Y2
jsr CB.GetWndYCacheX
jsr CB.Cache2CBBuf
ldy #S.WND.pSTATUS
lda (ZPWNDPtr),y
pha
iny
lda (ZPWNDPtr),y
ply
ldx hSYSFON
clc
jmp DRAW.YAText
jmp CB.FlushBufToYA
*--------------------------------------
WND.SetMBar >PULLW ZPPtr1
>PULLA
>SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
jsr OBJ.PullHWND
>LDYA ZPPtr1
jsr MBAR.New
@ -739,16 +744,6 @@ WND.SetStatus ldy #S.OBJ.S
sta (ZPWNDPtr),y
rts
*--------------------------------------
WND.Add2Counter clc
adc Counter
sta Counter
bcc .8
inc Counter+1
.8 ldx Counter+1
rts
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.s.wnd
LOAD usr/src/lib/libgui.s

View File

@ -126,8 +126,10 @@ CS.START cld
.DA PTR.Hide
.DA PTR.Show
.DA PTR.Update
.DA $ffff MOU.ReadMouse
.DA DRAW.Line
.DA DRAW.Fill
.DA DRAW.BitMap
.DA DRAW.Text
.DA OBJ.SetProp
.DA OBJ.GetProp
.DA WND.New
@ -136,7 +138,7 @@ CS.START cld
.DA WND.Paint
.DA WND.SetMBar
.DA MSG.Get
.DA MBAR.New
.DA MBOX.MsgBox
*--------------------------------------
L.WND.fPaint .DA WND.fPaint
*--------------------------------------
@ -307,6 +309,10 @@ LibCount .BS 1
hDevMouse .BS 1
*--------------------------------------
OBJ.SizeOf .DA S.WND
.DA 0
.DA 0
.DA S.BUT
* .DA S.TEXT
*--------------------------------------
CB.CmdLen .DA #S.CB.Y1+1 SETPIXEL
.DA #S.CB.Y1+1 GETPIXEL
@ -342,6 +348,7 @@ CB.PTR .DA #S.CB.CMD.BITBLT
CB.Cache .BS S.CB
OBJ.Cache .BS S.OBJ
*--------------------------------------
MENU.Stack.Owner .BS 1
MENU.Stack.Idx .BS 1
MENU.Stack.Cnt .BS 1
MENU.Stack .BS MENU.MAX
@ -445,14 +452,15 @@ TEXTBUF .BS 16 for composing HotKey strings
*--------------------------------------
PREFS.BestViewedX .DA #$FC
PREFS.MBarXMargin .DA #5
PREFS.XSeparator .DA #6
*
PREFS.MenuColor .DA #C.WHITE
PREFS.SYSBARCOLOR .DA #C.WHITE
PREFS.SysBarColor .DA #C.WHITE
PREFS.BorderColor .DA #C.BLACK
PREFS.TBARCOLORA .DA #C16.D.BLUE
PREFS.TBARCOLORI .DA #C16.L.BLUE
PREFS.TBarColorA .DA #C16.D.BLUE
PREFS.TBarColorI .DA #C16.L.BLUE
PREFS.MBarColor .DA #C.WHITE
PREFS.SBARCOLOR .DA #C.WHITE
PREFS.SBarColor .DA #C.WHITE
PREFS.DESKTOPCOLOR .DA #C16.D.BLUE
*--------------------------------------
MAN

View File

@ -663,17 +663,17 @@ Pak.PrintStats lda Pak.BL.OfsBitsL
CS.END
*--------------------------------------
.DO STATS=1
MSG.Stats .AS "\r\nLength : %5D\r\n"
.AS "Pass 1 : %5D\r\n"
.AS "Pass 2 : %5D\r\n"
.AS "Top 8 : %5D\r\n"
.AS "Top 16 : %5D\r\n"
.AS "Top 24 : %5D\r\n"
.AS "Top 32 : %5D\r\n"
.AS "Byte 8 : %5D\r\n"
.AZ "BL : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n"
MSG.TopBytes .AS "Top : (%2d) %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
.AZ " %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
MSG.Stats .CS "\r\nLength : %5D\r\n"
.CS "Pass 1 : %5D\r\n"
.CS "Pass 2 : %5D\r\n"
.CS "Top 8 : %5D\r\n"
.CS "Top 16 : %5D\r\n"
.CS "Top 24 : %5D\r\n"
.CS "Top 32 : %5D\r\n"
.CS "Byte 8 : %5D\r\n"
.CZ "BL : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n"
MSG.TopBytes .CS "Top : (%2d) %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
.CZ " %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
.FIN
TOP.Bits .DA #PAK.B.TOP8,#PAK.B.TOP16,#PAK.B.TOP24,#PAK.B.TOP32
TOP.BitCnt .DA #PAK.B.TOP8.W,#PAK.B.TOP16.W,#PAK.B.TOP24.W,#PAK.B.TOP32.W

View File

@ -8,6 +8,7 @@ NEW
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/gfx.i
.INB inc/libgui.i
*--------------------------------------
.DUMMY
@ -16,6 +17,7 @@ ZS.START
hLogo .BS 2 00xx
hWND .BS 1
hMBAR .BS 1
TmpWord .BS 2
ZS.END .ED
*--------------------------------------
* File Header (16 Bytes)
@ -92,10 +94,10 @@ CS.QUIT.RTS rts
*--------------------------------------
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
>PUSHWI 80
>PUSHWI 40
>PUSHWI 360
>PUSHWI 96
>PUSHWI 40
>PUSHWI 400
>PUSHWI 120
>LIBCALL hLIBGUI,LIBGUI.WND.New
bcs CS.QUIT.RTS
sta hWND
@ -105,10 +107,10 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
>PUSHWI C.WHITE
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
>PUSHB hWND
>PUSHBI S.WND.BGBM
>PUSHW hLogo
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
* >PUSHB hWND
* >PUSHBI S.WND.BGBM
* >PUSHW hLogo
* >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
>PUSHB hWND
>PUSHBI S.WND.pTITLE
@ -151,17 +153,79 @@ WND.Test.fPaint sta hWND
WND.Test.fPaint1
jsr $ffff Default WND.fPaint
* >PUSHB hWND
* >PUSHBI S.CB.OP.SET
* >PUSHBI C.BLACK
* >PUSHWI 10
* >PUSHWI 10
* >PUSHWI 200
* >PUSHWI 60
* >LIBCALL hLIBGUI,LIBGUI.DrawLine
.1 jsr WND.Test.1
>PUSHW TmpWord
>PUSHWI 0
jsr WND.Test.2
jsr WND.Test.1
>PUSHW TmpWord
>PUSHWI 94
jsr WND.Test.2
jsr WND.Test.3
lda TmpWord
cmp #400
lda TmpWord+1
sbc /400
bcc .1
stz TmpWord
stz TmpWord+1
.3
jsr WND.Test.1
>PUSHWI 0
>PUSHW TmpWord
jsr WND.Test.2
jsr WND.Test.1
>PUSHWI 399
>PUSHW TmpWord
jsr WND.Test.2
jsr WND.Test.4
lda TmpWord
cmp #94
lda TmpWord+1
sbc /94
bcc .3
clc
rts
*--------------------------------------
WND.Test.1 >PUSHB hWND
>PUSHBI S.CB.OP.SET +S.CB.OP.COLOR
>PUSHBI C.BLACK C16.D.GREEN
rts
WND.Test.2 >PUSHWI 250
>PUSHWI 60
>LIBCALL hLIBGUI,LIBGUI.DRAW.Line
rts
WND.Test.3 lda TmpWord
clc
adc #4
sta TmpWord
bcc .1
inc TmpWord+1
.1 rts
WND.Test.4 lda TmpWord
clc
adc #10
sta TmpWord
bcc .1
inc TmpWord+1
.1 rts
*--------------------------------------
CS.END
LIBGUI .AZ "libgui"
hLIBGUI .BS 1

View File

@ -399,7 +399,7 @@ MSG.TCPWAIT .AZ "BBSD:Waiting for TCP/IP initializing..."
MSG.INITOK .AZ "BBSD:Init Ok, Listening."
MSG.TCPIPERR .AZ "BBSD:TCP/IP Not initialized properly."
MSG.SKTERR .AZ "BBSD:Listen Error."
MSG.INCOMING .AZ "BBSD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
MSG.INCOMING .CZ "BBSD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
*--------------------------------------
NOD.Template .AZ "/dev/tty%h"
CMD.Template .AZ "${ROOT}sbin/getty -E %s %s"

View File

@ -350,11 +350,11 @@ hLIBCRYPT .BS 1
.FIN
*--------------------------------------
MSG.USAGE .AZ "Usage : CIFSD <ip|host> sharename mountpoint [[domain\]user]"
MSG.TCPIPERR .AZ "CIFSD:TCP/IP Not initialized properly."
MSG.UNKNOWN .AZ "CIFSD:%s: Unknown host\r\n"
MSG.NOCONN .AZ "CIFSD:No Connection To %s\r\n"
MSG.CONNECTED .AZ "CIFSD:Connected To %s\r\n"
MSG.MOUNTED .AZ "CIFSD:%s Mounted As %s\r\n"
MSG.TCPIPERR .CZ "CIFSD:TCP/IP Not initialized properly."
MSG.UNKNOWN .CZ "CIFSD:%s: Unknown host\r\n"
MSG.NOCONN .CZ "CIFSD:No Connection To %s\r\n"
MSG.CONNECTED .CZ "CIFSD:Connected To %s\r\n"
MSG.MOUNTED .CZ "CIFSD:%s Mounted As %s\r\n"
*--------------------------------------
.DUMMY
.OR 0

View File

@ -40,6 +40,8 @@ CS.START cld
.DA CS.DOEVENT
.DA CS.QUIT
L.LIBGUI .DA LIBGUI
L.ABOUT.T .DA ABOUT.T
L.ABOUT.M .DA ABOUT.M
L.GUITEST1 .DA GUITEST1
L.GUITEST2 .DA GUITEST2
L.MSG .DA MSG
@ -69,26 +71,38 @@ CS.RUN >SLEEP
cmp #2
bne .1
jsr CS.RUN.MsgBox
bra CS.RUN
.1 cmp #42
bne .2
>PUSHW L.GUITEST1
>PUSHBI 0
>SYSCALL ExecL
>LDYA L.GUITEST1
jsr CS.RUN.Exec
bra CS.RUN
.2 cmp #44
bne CS.RUN
>PUSHW L.GUITEST2
>PUSHBI 0
>SYSCALL ExecL
>LDYA L.GUITEST2
jsr CS.RUN.Exec
bra CS.RUN
clc
rts
*--------------------------------------
CS.RUN.MsgBox >PUSHW L.ABOUT.T
>PUSHW L.ABOUT.M
>PUSHWI BM.ID.INFO
>PUSHBI BUT.ID.OK
>LIBCALL hLIBGUI,LIBGUI.MBOX.MsgBox
rts
*--------------------------------------
CS.RUN.Exec >PUSHYA
>PUSHBI 0
>SYSCALL ExecL
rts
*--------------------------------------
CS.DOEVENT lda (pEvent)
bpl .9
@ -103,6 +117,8 @@ CS.QUIT.RTS rts
CS.END
LIBGUI .AZ "libgui"
hLIBGUI .BS 1
ABOUT.T .AZ "About GUI"
ABOUT.M .AZ "MsgBox message."
GUITEST1 .AZ "${ROOT}root/asmtest/testgui"
GUITEST2 .AZ "${ROOT}root/ctest/testgui"
*--------------------------------------

View File

@ -380,21 +380,21 @@ CS.QUIT ldx #0
*--------------------------------------
CS.END
*--------------------------------------
MSG.RUNNING .AZ "NETWORKD:Already loaded, exiting."
MSG.DEV.KO .AZ "NETWORKD:No Device Found, exiting."
MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n"
MSG.LIB .AZ "NETWORKD:Loading %s..."
MSG.EXEC .AZ "NETWORKD:Running %s..."
MSG.RUNNING .CZ "NETWORKD:Already loaded, exiting."
MSG.DEV.KO .CZ "NETWORKD:No Device Found, exiting."
MSG.DEV.OK .CZ "NETWORKD:Bound To Device : %s\r\n"
MSG.LIB .CZ "NETWORKD:Loading %s..."
MSG.EXEC .CZ "NETWORKD:Running %s..."
*--------------------------------------
MSG.OK .AZ "[OK]"
MSG.ERR .AZ "[%h]\r\n"
MSG.OK .CZ "[OK]"
MSG.ERR .CZ "[%h]\r\n"
*--------------------------------------
ETCNETWORK .AZ "${BOOT}etc/network"
.DO DBG=1
MSG.DBG .AS "FRM ETH:%h%h%h%h%h%h.%h%h%h%h%h%h.%h%h\r\n"
.AS " IP :%h%h.%h%h.%h%h.%h%h.%h [%d] (%h%h) %d.%d.%d.%d>%d.%d.%d.%d\r\n"
.AZ " TCP:%D>%D %h%h%h%h %h%h%h%h %h %b [%h%h] (%h%h) %h%h\r\n"
MSG.DBG.REJECT .AZ "Rejected"
MSG.DBG .CS "FRM ETH:%h%h%h%h%h%h.%h%h%h%h%h%h.%h%h\r\n"
.CS " IP :%h%h.%h%h.%h%h.%h%h.%h [%d] (%h%h) %d.%d.%d.%d>%d.%d.%d.%d\r\n"
.CZ " TCP:%D>%D %h%h%h%h %h%h%h%h %h %b [%h%h] (%h%h) %h%h\r\n"
MSG.DBG.REJECT .CZ "Rejected"
.FIN
*--------------------------------------
DevID .BS 1

View File

@ -331,13 +331,13 @@ CS.END
DEVSIG.Offset .HS 05070B0C
DEVSIG.Value .HS 38180131
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
MSG.DETECT .AS "Apple SSC (Super Serial Card,//c Serial Port) Driver"
MSG.DETECT .CS "Apple SSC (Super Serial Card,//c Serial Port) Driver"
.DO SSCIRQ=1
.AS " (IRQ Enabled)"
.CS " (IRQ Enabled)"
.FIN
.AZ "."
MSG.DETECT.OK .AZ "SSC Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "No SSC Found."
.CZ "."
MSG.DETECT.OK .CZ "SSC Installed As Device : %s\r\n"
MSG.DETECT.KO .CZ "No SSC Found."
*--------------------------------------
P1 .DA >115200 Baud
.DA >50

View File

@ -8,7 +8,7 @@ KeyID .EQ *
iByte .BS 1
iBlk .BS 1
*--------------------------------------
BLISTX.New sta SLIST.Opt
BLISTX.New sta SLISTX.Opt
>LDYAI 128 32k Max before out of memory!!!
ldx #S.MEM.F.INIT0+8 index
@ -28,7 +28,7 @@ BLISTX.New sta SLIST.Opt
lda #0
sta (DBlkPtr)
lda SLIST.Opt
lda SLISTX.Opt
sta (IBlkPtr)
txa

View File

@ -48,29 +48,39 @@ K.SListSetData >PULLW ZPSListDataLen
* Y,A = Next KeyID
*\--------------------------------------
K.SListGetByID .EQ K.SYSCALL.JMPX2A
* >PULLW FORPNT
* >PULLW TXTPTR
* >PULLA
*/--------------------------------------
* # SListNewKey
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyPtr`
* `>PUSHW ScopeID`
* `>SYSCALL SListNewKey`
* ## RETURN VALUE
* Y,A = KeyID
* X = KeyLen
*\--------------------------------------
K.SListNewKey
K.SListNewKey .EQ K.SYSCALL.JMPX2A
* >PULLW FORPNT
* >PULLW TXTPTR
* >PULLA
*/--------------------------------------
* # SListLookup
* ## ASM
* `>PUSHB hSList`
* `>PUSHW KeyPtr`
* `>PUSHW ScopeID`
* `>SYSCALL SListLookup`
* ## RETURN VALUE
* Y,A = KeyID
* X = Key Length
*\--------------------------------------
K.SListLookup >PULLW TXTPTR
>PULLA
K.SListLookup .EQ K.SYSCALL.JMPX2A
* >PULLW FORPNT
* >PULLW TXTPTR
* >PULLA
*/--------------------------------------
* # SListFree
* ## ASM
@ -78,7 +88,7 @@ K.SListLookup >PULLW TXTPTR
* `>SYSCALL SListFree`
* ## RETURN VALUE
*\--------------------------------------
K.SListFree
K.SListFree .EQ K.SYSCALL.JMPX
*/--------------------------------------
* # SListNew
* ## ASM
@ -87,7 +97,7 @@ K.SListFree
* ## RETURN VALUE
* A=hSList
*\--------------------------------------
K.SListNew jmp K.SYSCALL.JMPX
K.SListNew .EQ K.SYSCALL.JMPX
*--------------------------------------
MAN
SAVE usr/src/sys/kernel.s.slist

View File

@ -4,55 +4,58 @@ NEW
ZPSListDataOfs .EQ ZPMEMMGR+8
ZPSListDataLen .EQ ZPMEMMGR+10
*--------------------------------------
SLIST.Opt .BS 1
SLIST.KeyLen .BS 1
SLIST.DataLen .BS 2
SLIST.nDataCnt .BS 2
SLIST.nBufCnt .BS 2
SLIST.bStr .BS 1
SLIST.b0 .BS 1
SLIST.KeyID .BS 2
SLISTX.Opt .BS 1
SLISTX.KeyLen .BS 1
SLISTX.DataLen .BS 2
SLISTX.nDataCnt .BS 2
SLISTX.nBufCnt .BS 2
SLISTX.bStr .BS 1
SLISTX.b0 .BS 1
SLISTX.KeyID .BS 2
*--------------------------------------
SLISTX.GetData jsr SLIST.Select
SLISTX.GetData jsr SLISTX.Select
jsr SLIST.SkipKey
jsr SLIST.GetDataLen
jsr SLISTX.SkipKey
lda SLIST.DataLen
jsr SLISTX.GetDataLen
lda SLISTX.DataLen
sec
sbc ZPSListDataOfs Offset
eor #$ff
sta SLIST.nDataCnt
sta SLISTX.nDataCnt
lda SLIST.DataLen+1
lda SLISTX.DataLen+1
sbc ZPSListDataOfs+1
eor #$ff
sta SLIST.nDataCnt+1 Data remaining
sta SLISTX.nDataCnt+1 Data remaining
bcc .99 Offset Beyond DataLen
lda ZPSListDataOfs Skip to Offset
ldx ZPSListDataOfs+1
jsr SLIST.SkipDataAX
jsr SLISTX.SkipDataAX
stz SLIST.b0
stz SLISTX.b0
lda FORPNT
ora FORPNT+1
bne .12 buffer provided
>LDYA SLIST.DataLen
>LDYA SLISTX.DataLen
iny
bne .11
inc +1 for ending 0
sec
ror SLIST.b0
ror SLISTX.b0
.11 ldx #SYS.GetMem
jsr K.SYSCALL2.MAIN !!! Get a buffer In MAIN Mem !!!
bcs .9
stx .88+1
>STYA FORPNT
@ -63,32 +66,33 @@ SLISTX.GetData jsr SLIST.Select
lda ZPSListDataLen
eor #$ff
sta SLIST.nBufCnt
sta SLISTX.nBufCnt
lda ZPSListDataLen+1
eor #$ff
sta SLIST.nBufCnt+1
sta SLISTX.nBufCnt+1
clc
.1 ror SLIST.bStr
.1 ror SLISTX.bStr
stz ZPSListDataLen
stz ZPSListDataLen+1
.2 inc SLIST.nDataCnt
.2 inc SLISTX.nDataCnt
bne .3
inc SLIST.nDataCnt+1
inc SLISTX.nDataCnt+1
beq .80
.3 bit SLIST.bStr
.3 bit SLISTX.bStr
bmi .4 String mode : until CR
inc SLIST.nBufCnt
inc SLISTX.nBufCnt
bne .4
inc SLIST.nBufCnt+1
inc SLISTX.nBufCnt+1
beq .80 not string mode : until end of buffer
.4 jsr BLISTX.GetNByte
bit SLIST.bStr
bit SLISTX.bStr
bpl .5
cmp #C.CR
@ -105,8 +109,8 @@ SLISTX.GetData jsr SLIST.Select
sec
.9 rts
.80 lda SLIST.bStr
ora SLIST.b0
.80 lda SLISTX.bStr
ora SLISTX.b0
bpl .82
.81 lda #0
@ -117,9 +121,9 @@ SLISTX.GetData jsr SLIST.Select
clc
rts
*--------------------------------------
SLISTX.AddData jsr SLIST.Select
SLISTX.AddData jsr SLISTX.Select
jsr SLIST.SkipKey
jsr SLISTX.SkipKey
jsr SLISTX.CheckLen
@ -142,7 +146,7 @@ SLISTX.AddData jsr SLIST.Select
plx
pla
jsr SLIST.SkipDataAX
jsr SLISTX.SkipDataAX
lda ZPSListDataLen
eor #$ff
sta ZPSListDataLen
@ -173,31 +177,32 @@ SLISTX.AddData jsr SLIST.Select
.8 lda #0
jmp BLISTX.AddByte Add an extra 0 to stop Search here
*--------------------------------------
SLISTX.SetData jsr SLIST.Select
SLISTX.SetData jsr SLISTX.Select
jsr SLIST.SkipKey
jsr SLISTX.SkipKey
jsr SLISTX.CheckLen
jsr SLIST.GetDataLen
jsr SLISTX.GetDataLen
lda SLIST.DataLen
lda SLISTX.DataLen
cmp ZPSListDataLen
bne .9
ldx SLIST.DataLen+1
ldx SLISTX.DataLen+1
cpx ZPSListDataLen+1
bne .9
eor #$ff
sta SLIST.nDataCnt
sta SLISTX.nDataCnt
txa
eor #$ff
sta SLIST.nDataCnt+1
sta SLISTX.nDataCnt+1
.1 inc SLIST.nDataCnt
.1 inc SLISTX.nDataCnt
bne .2
inc SLIST.nDataCnt+1
inc SLISTX.nDataCnt+1
beq .8
.2 jsr SHARED.FORPNTgn
@ -215,8 +220,8 @@ SLISTX.CheckLen lda ZPSListDataLen
ora ZPSListDataLen+1
bne .8
ldx #0
ldy #0
tax ldx #0
tay ldy #0
lda FORPNT+1
pha
@ -243,7 +248,7 @@ SLISTX.CheckLen lda ZPSListDataLen
.8 rts
*--------------------------------------
SLISTX.GetByID jsr SLIST.Select
SLISTX.GetByID jsr SLISTX.Select
jsr BLISTX.GetNByte
tax
@ -263,9 +268,15 @@ SLISTX.GetByID jsr SLIST.Select
txa lda #0
jsr SHARED.FORPNTpn ending \0
jsr BLISTX.GetNByte ScopeID lo
jsr SHARED.FORPNTpn
jsr SLIST.SkipData
jsr BLISTX.GetNByte ScopeID hi
jsr SHARED.FORPNTpn
jsr SLISTX.SkipData
>LDYA KeyID
clc
rts
@ -274,13 +285,13 @@ SLISTX.GetByID jsr SLIST.Select
sec
rts
*--------------------------------------
SLISTX.NewKey jsr SLIST.Search
SLISTX.NewKey jsr SLISTX.Lookup
bcc .99
>LDYA KeyID
>STYA SLIST.KeyID End of list
>STYA SLISTX.KeyID End of list
lda SLIST.KeyLen
lda SLISTX.KeyLen
jsr BLISTX.SetBlkByte override ending 0, already allocated
ldy #0
@ -290,9 +301,17 @@ SLISTX.NewKey jsr SLIST.Search
bcs .9
iny
cpy SLIST.KeyLen
cpy SLISTX.KeyLen
bne .1
lda FORPNT
jsr BLISTX.AddByte ScopeID lo
bcs .9
lda FORPNT+1 ScopeID hi
jsr BLISTX.AddByte
bcs .9
lda #0 Data Len lo = 0
jsr BLISTX.AddByte
bcs .9
@ -303,30 +322,24 @@ SLISTX.NewKey jsr SLIST.Search
lda #0 Ending Len = 0
jsr BLISTX.AddByte
bcs .9
>LDYA SLIST.KeyID
ldx SLIST.KeyLen
* clc
bcc SLISTX.8
rts
.99 lda #E.DUPKEY
sec
.9 rts
*--------------------------------------
SLISTX.Lookup jsr SLIST.Search
bcs .9
ldx SLIST.KeyLen
.9 rts
SLISTX.8 >LDYA SLISTX.KeyID
ldx SLISTX.KeyLen
clc
rts
*--------------------------------------
* PRIVATE
*--------------------------------------
SLIST.Search jsr K.GetMemPtr
SLISTX.Lookup jsr K.GetMemPtr
>STYA IBlkPtr
lda (IBlkPtr)
sta SLIST.Opt
sta SLISTX.Opt
stz iByte
@ -343,19 +356,19 @@ SLIST.Search jsr K.GetMemPtr
jsr SHARED.TXTPTRgY
beq .2
jsr SLIST.IsIDValid
jsr SLISTX.IsIDValid
bcc .1
.2 sty SLIST.KeyLen
.2 sty SLISTX.KeyLen
.3 >LDYA KeyID
>STYA SLIST.KeyID
>STYA SLISTX.KeyID
ldy iByte
lda (DBlkPtr),y
beq .9
cmp SLIST.KeyLen
cmp SLISTX.KeyLen
bne .6
jsr BLISTX.GetNByte Skip Len
@ -373,29 +386,36 @@ SLIST.Search jsr K.GetMemPtr
bne .6
iny
cpy SLIST.KeyLen
cpy SLISTX.KeyLen
bne .4
>LDYA SLIST.KeyID
clc
rts
.6 >LDYA SLIST.KeyID
jsr SLISTX.GetDataLen Get Scope
cmp FORPNT+1
bne .6
jsr SLIST.Select.I move back...
jsr SLIST.Next
lda FORPNT
cmp SLISTX.DataLen
beq SLISTX.8
.6 >LDYA SLISTX.KeyID
jsr SLISTX.Select.I move back...
jsr SLISTX.SkipKey
jsr SLISTX.SkipData
bra .3
.9 lda #E.NOKEY
sec
rts
*--------------------------------------
SLIST.Select jsr K.GetMemPtr
* PRIVATE
*--------------------------------------
SLISTX.Select jsr K.GetMemPtr
>STYA IBlkPtr
>LDYA TXTPTR
SLIST.Select.I >STYA KeyID
SLISTX.Select.I >STYA KeyID
ldy iBlk
@ -405,13 +425,24 @@ SLIST.Select.I >STYA KeyID
rts
*--------------------------------------
SLIST.Next jsr SLIST.SkipKey
SLISTX.SkipKey ldy iByte
lda (DBlkPtr),y Get KeyLen
sec len
inc
inc Skip ScopeID
adc iByte
sta iByte
bcc .8
SLIST.SkipData jsr SLIST.GetDataLen
jmp BLISTX.2NBlk
.8 rts
*--------------------------------------
SLISTX.SkipData jsr SLISTX.GetDataLen
lda SLIST.DataLen
ldx SLIST.DataLen+1
SLIST.SkipDataAX
lda SLISTX.DataLen
ldx SLISTX.DataLen+1
SLISTX.SkipDataAX
clc
adc iByte
sta iByte
@ -425,31 +456,21 @@ SLIST.SkipDataAX
rts
*--------------------------------------
SLIST.SkipKey ldy iByte
lda (DBlkPtr),y Get KeyLen
sec
adc iByte
sta iByte
bcc .8
jmp BLISTX.2NBlk
.8 rts
*--------------------------------------
SLIST.GetDataLen
SLISTX.GetDataLen
jsr BLISTX.GetNByte Get DataLenLo
sta SLIST.DataLen
sta SLISTX.DataLen
jsr BLISTX.GetNByte Get DataLenHI
sta SLIST.DataLen+1
sta SLISTX.DataLen+1
rts
*--------------------------------------
SLIST.IsIDValid bit SLIST.Opt
SLISTX.IsIDValid
bit SLISTX.Opt
bpl .2
cmp #'.'
beq .8
.1 bit SLIST.Opt
.1 bit SLISTX.Opt
.2 bvc .3
cmp #'_'