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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -258,7 +258,7 @@ TYPE.NewTag >LDA.G CC.hTags
*-------------------------------------- *--------------------------------------
TYPE.GetTag >PUSHB.G CC.hTags TYPE.GetTag >PUSHB.G CC.hTags
>PUSHW ZPLineBufPtr >PUSHW ZPLineBufPtr
>PUSHWI 0 ScopeID
>SYSCALL SListLookup >SYSCALL SListLookup
bcs .9 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" .CZ " -L Libname1 -L Libname2 ...\r\n"
MSG.READING .CZ "*** Reading file: %s\r\n" MSG.READING .CZ "*** Reading file: %s\r\n"
MSG.LINKING .CZ "*** Linking..." 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.GENERATING .CZ "*** Generating: %s\r\n"
MSG.DEBUG .CS "*** pCode=%H, pConst=%H, pData=%H, pStack=%H\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" .CZ " LSP=%h, CSP=%H:%h>%h:%h, ScopeIdx=%h\r\n"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -6,6 +6,15 @@ NEW
*-------------------------------------- *--------------------------------------
.INB inc/libgui.i .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" .PS "guiSetProp"
.DA #LIBGUI.OBJ.SetProp .DA #LIBGUI.OBJ.SetProp
.PS "guiGetProp" .PS "guiGetProp"
@ -21,6 +30,9 @@ NEW
.PS "guiGetMsg" .PS "guiGetMsg"
.DA #LIBGUI.MSG.Get .DA #LIBGUI.MSG.Get
.PS "guiMsgBox"
.DA #LIBGUI.MBOX.MsgBox
.DA #0 .DA #0
*-------------------------------------- *--------------------------------------
MAN MAN

View File

@ -1,33 +1,103 @@
NEW NEW
AUTO 3,1 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 ldy #S.OBJ.W
lda (ZPPtr1),y jsr OBJ.GetPropAtY
iny bcc .5 W in !NULL, static size
ora (ZPPtr1),y
bne .1 W in !NULL, static size
ldy #S.BUT.hBM stz DX
lda (ZPPtr1),y stz DX+1
beq .1
ldy #S.BM.W
* >SYSCALL2 GetStkObjProp
phy ldy #S.BUT.pICON
ldy #S.OBJ.W+1 jsr OBJ.GetPropAtY
sta (ZPPtr1),y bcs .1 no icon
dey
pla
sta (ZPPtr1),y
.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 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 rts
*-------------------------------------- *--------------------------------------
BUT.Paint BUT.Enter
*--------------------------------------
BUT.Draw
*-------------------------------------- *--------------------------------------
BUT.Close BUT.Close

View File

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

View File

@ -228,6 +228,7 @@ CLIP.Line.BOTTOM .EQ 4
CLIP.Line.TOP .EQ 8 CLIP.Line.TOP .EQ 8
*-------------------------------------- *--------------------------------------
CLIP.Line jsr CLIP.Line.EncodeP1 CLIP.Line jsr CLIP.Line.EncodeP1
>DEBUG
jsr CLIP.Line.EncodeP2 jsr CLIP.Line.EncodeP2
.1 lda CLIP.Line.P1 .1 lda CLIP.Line.P1
@ -273,7 +274,6 @@ CLIP.Line jsr CLIP.Line.EncodeP1
* P2 * P2
.5 lda CLIP.Line.P2 .5 lda CLIP.Line.P2
bit #CLIP.Line.TOP bit #CLIP.Line.TOP
beq .6 beq .6
@ -315,11 +315,12 @@ CLIP.Line.EncodeP1
lda CB.Cache+S.CB.X1 lda CB.Cache+S.CB.X1
ldx CB.Cache+S.CB.X1+1 ldx CB.Cache+S.CB.X1+1
jsr CLIP.Line.EncodeX.AX jsr CLIP.Line.EncodeX.AX
tay
lda CB.Cache+S.CB.Y1 lda CB.Cache+S.CB.Y1
ldx CB.Cache+S.CB.Y1+1 ldx CB.Cache+S.CB.Y1+1
jsr CLIP.Line.EncodeY.AX jsr CLIP.Line.EncodeY.AX
sta CLIP.Line.P1
sty CLIP.Line.P1
rts rts
*-------------------------------------- *--------------------------------------
CLIP.Line.EncodeP2 CLIP.Line.EncodeP2
@ -328,11 +329,12 @@ CLIP.Line.EncodeP2
lda CB.Cache+S.CB.X2 lda CB.Cache+S.CB.X2
ldx CB.Cache+S.CB.X2+1 ldx CB.Cache+S.CB.X2+1
jsr CLIP.Line.EncodeX.AX jsr CLIP.Line.EncodeX.AX
tay
lda CB.Cache+S.CB.Y2 lda CB.Cache+S.CB.Y2
ldx CB.Cache+S.CB.Y2+1 ldx CB.Cache+S.CB.Y2+1
jsr CLIP.Line.EncodeY.AX jsr CLIP.Line.EncodeY.AX
sta CLIP.Line.P2
sty CLIP.Line.P2
rts rts
*-------------------------------------- *--------------------------------------
CLIP.Line.EncodeX.AX CLIP.Line.EncodeX.AX
@ -340,9 +342,12 @@ CLIP.Line.EncodeX.AX
>SCMPAX OBJ.Cache+S.OBJ.X1 >SCMPAX OBJ.Cache+S.OBJ.X1
bpl .1 bpl .1
pla
tya tya
ora #CLIP.Line.LEFT ora #CLIP.Line.LEFT
plx tay
rts rts
.1 pla .1 pla
@ -351,19 +356,20 @@ CLIP.Line.EncodeX.AX
tya tya
ora #CLIP.Line.RIGHT ora #CLIP.Line.RIGHT
rts tay
.8 tya .8 rts
rts
*-------------------------------------- *--------------------------------------
CLIP.Line.EncodeY.AX CLIP.Line.EncodeY.AX
pha pha
>SCMPAX OBJ.Cache+S.OBJ.Y1 >SCMPAX OBJ.Cache+S.OBJ.Y1
bpl .1 bpl .1
pla
tya tya
ora #CLIP.Line.TOP ora #CLIP.Line.TOP
plx tya
rts rts
.1 pla .1 pla
@ -372,10 +378,9 @@ CLIP.Line.EncodeY.AX
tya tya
ora #CLIP.Line.BOTTOM ora #CLIP.Line.BOTTOM
rts tay
.8 tya .8 rts
rts
*-------------------------------------- *--------------------------------------
CB.Cache.SetX2Y2 CB.Cache.SetX2Y2
lda CB.Cache+S.CB.SrcW 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.COLOR
>PULLB CB.Cache+S.CB.OP >PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND jsr DRAW.PullInnerWND
lda CB.Cache+S.CB.X2 lda CB.Cache+S.CB.X2
sec sec
sbc CB.Cache+S.CB.X1 sbc CB.Cache+S.CB.X1
@ -19,6 +19,7 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
sta DX+1 DX = X2 - X1 sta DX+1 DX = X2 - X1
bmi .1 DX < 0.... bmi .1 DX < 0....
ora DX ora DX
bne .2 DX > 0... bne .2 DX > 0...
@ -54,14 +55,17 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
bcs .8 bcs .8
jmp CB.GFXWrite jmp CB.GFXWrite
.8 rts
.8 clc
rts
*-------------------------------------- *--------------------------------------
.3 >NOT16 DY set DY=-DY .3 >NOT16 DY set DY=-DY
lda #$ff lda #$ff
sta IY set IY=-1 sta IY set IY=-1
.4 jsr CLIP.Line .4
bcs .8 * jsr CLIP.Line
* bcs .8
lda #S.CB.CMD.SETPIXEL lda #S.CB.CMD.SETPIXEL
sta CB.Cache+S.CB.CMD sta CB.Cache+S.CB.CMD
@ -96,6 +100,7 @@ DRAW.Line.IncXY lda DX DX=DY
bne .3 bne .3
inc CB.Cache+S.CB.X1+1 inc CB.Cache+S.CB.X1+1
.3 lda CB.Cache+S.CB.Y1 Y1=Y1+IY .3 lda CB.Cache+S.CB.Y1 Y1=Y1+IY
clc clc
adc IY adc IY
@ -103,7 +108,8 @@ DRAW.Line.IncXY lda DX DX=DY
jsr CB.GFXWrite jsr CB.GFXWrite
bra .1 bra .1
.8 rts .8 clc
rts
*-------------------------------------- *--------------------------------------
DRAW.Line.IncY lda DY DRAW.Line.IncY lda DY
eor #$ff eor #$ff
@ -179,7 +185,8 @@ DRAW.Line.IncY lda DY
jsr CB.GFXWrite jsr CB.GFXWrite
bra .1 bra .1
.8 rts .8 clc
rts
*-------------------------------------- *--------------------------------------
DRAW.Line.IncX lda DX DRAW.Line.IncX lda DX
eor #$ff eor #$ff
@ -187,6 +194,7 @@ DRAW.Line.IncX lda DX
lda DX+1 lda DX+1
eor #$ff eor #$ff
sta Counter+1 sta Counter+1
lda DY IE=2*DY lda DY IE=2*DY
asl asl
sta IE sta IE
@ -256,16 +264,17 @@ DRAW.Line.IncX lda DX
.6 jsr CB.GFXWrite .6 jsr CB.GFXWrite
bra .1 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.COLOR
>PULLB CB.Cache+S.CB.OP >PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND jsr DRAW.PullInnerWND
lda #S.CB.CMD.FILLRECT lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD sta CB.Cache+S.CB.CMD
@ -275,11 +284,12 @@ FillRectangle jsr DRAW.PullY2X2Y1X1
jmp CB.GFXWrite 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 (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 CB.InitCacheA
jsr DRAW.PullY1X1 jsr DRAW.PullY1X1
@ -289,28 +299,18 @@ DrawBitMap lda #S.CB.CMD.BITBLT
>PULLB CB.Cache+S.CB.M >PULLB CB.Cache+S.CB.M
>PULLB CB.Cache+S.CB.OP >PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND jsr DRAW.PullInnerWND
jsr CLIP.CB.Cache jsr CLIP.CB.Cache
bcs .8 bcs .8
jmp CB.GFXWrite jmp CB.GFXWrite
.8 rts .8 clc
rts
*-------------------------------------- *--------------------------------------
DRAW.xBM >LDYA L.BMs,x DRAW.xBM >LDYA L.BMs,x
DRAW.yaBM >STYA ZPBMPtr 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 DRAW.BM lda #S.CB.CMD.BITBLT
sta CB.Cache+S.CB.CMD 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 (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 jsr CB.InitCacheA
>PULLW CB.Cache+S.CB.TxtPtr >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.hFont
>PULLB CB.Cache+S.CB.OP >PULLB CB.Cache+S.CB.OP
jsr DRAW.PullWND jsr DRAW.PullInnerWND
jsr CLIP.CB.Cache jsr CLIP.CB.Cache
bcs .8 bcs .8
jmp CB.GFXWrite jmp CB.GFXWrite
.8 rts .8 clc
rts
*-------------------------------------- *--------------------------------------
DRAW.YAText >STYA CB.Cache+S.CB.TxtPtr DRAW.YAText >STYA CB.Cache+S.CB.TxtPtr
stx CB.Cache+S.CB.hFont 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 lda #S.CB.CMD.DRAWTEXT2
.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
sta CB.Cache+S.CB.CMD sta CB.Cache+S.CB.CMD
lda #0 lda #0
@ -398,17 +387,21 @@ DRAW.PullY2X2Y1X1
DRAW.PullY1X1 ldx #3 DRAW.PullY1X1 ldx #3
DRAW.PullX >PULLA DRAW.PullX >PULLA
sta CB.Cache+S.CB.X1-1,x
>PULLA
sta CB.Cache+S.CB.X1,x sta CB.Cache+S.CB.X1,x
dex dex
dex
bpl DRAW.PullX bpl DRAW.PullX
rts rts
*-------------------------------------- *--------------------------------------
DRAW.PullWND >PULLA hWND DRAW.PullInnerWND
>SYSCALL2 GetMemPtr jsr OBJ.PullHWND get dest window at ZPWNDPtr
>STYA 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 DRAW.GetInnerWND
ldy #S.OBJ.X1 ldy #S.OBJ.X1
@ -435,7 +428,7 @@ DRAW.GetInnerWND
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sta OBJ.Cache+S.OBJ.W+1 sta OBJ.Cache+S.OBJ.W+1
iny #S.WND.InnerH ldy #S.WND.InnerH
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sta OBJ.Cache+S.OBJ.H sta OBJ.Cache+S.OBJ.H
iny iny
@ -443,26 +436,26 @@ DRAW.GetInnerWND
sta OBJ.Cache+S.OBJ.H+1 sta OBJ.Cache+S.OBJ.H+1
>LDYA L.OBJ.Cache >LDYA L.OBJ.Cache
jmp OBJ.SetX2Y2 jmp OBJ.SetX2Y2 set X2 = X1 + W - 1...
*-------------------------------------- *--------------------------------------
DRAW.ToGlobal >LDYA ZPWNDPtr DRAW.ToGlobal >LDYA ZPWNDPtr
>STYA ZPPtr1 >STYA ZPPtr1
.1 ldy #S.OBJ.X1 .1 ldy #S.OBJ.X1
ldx #S.CB.X1 ldx #S.CB.X1
jsr DRAW.AddP1YtoCBX jsr DRAW.AddPtr1YtoCBX
ldy #S.WND.InnerY1 ldy #S.WND.InnerY1
ldx #S.CB.Y1 ldx #S.CB.Y1
jsr DRAW.AddP1YtoCBX jsr DRAW.AddPtr1YtoCBX
ldy #S.OBJ.X1 ldy #S.OBJ.X1
ldx #S.CB.X2 ldx #S.CB.X2
jsr DRAW.AddP1YtoCBX jsr DRAW.AddPtr1YtoCBX
ldy #S.WND.InnerY1 ldy #S.WND.InnerY1
ldx #S.CB.Y2 ldx #S.CB.Y2
jsr DRAW.AddP1YtoCBX jsr DRAW.AddPtr1YtoCBX
ldy #S.OBJ.hPARENT+1 ldy #S.OBJ.hPARENT+1
lda (ZPPtr1),y lda (ZPPtr1),y
@ -479,7 +472,7 @@ DRAW.ToGlobal >LDYA ZPWNDPtr
.8 clc .8 clc
rts rts
*-------------------------------------- *--------------------------------------
DRAW.AddP1YtoCBX DRAW.AddPtr1YtoCBX
lda (ZPPtr1),y lda (ZPPtr1),y
clc clc
adc CB.Cache,x adc CB.Cache,x

View File

@ -1,9 +1,102 @@
NEW NEW
AUTO 3,1 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 MAN
SAVE usr/src/lib/libgui.s.mbox SAVE usr/src/lib/libgui.s.mbox

View File

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

View File

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

View File

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

View File

@ -99,22 +99,37 @@ PTR.SetPos >PULLW ZPPtr1
clc clc
rts 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 PTR.Hide lda PTR.bVisible
bpl .9 bpl .8
jsr PTR.Hide.I
stz PTR.bVisible stz PTR.bVisible
.9 clc bra PTR.Hide.I
.8 clc
rts rts
*-------------------------------------- *--------------------------------------
PTR.Show lda PTR.bVisible PTR.Show lda PTR.bVisible
bmi .9 bmi .8
jsr PTR.Show.I
dec PTR.bVisible dec PTR.bVisible
.9 rts bra PTR.Show.I
.8 clc
rts
*-------------------------------------- *--------------------------------------
PTR.Hide.I lda #S.CB.OP.RESTORE PTR.Hide.I lda #S.CB.OP.RESTORE
bra PTR.Draw.I bra PTR.Draw.I

View File

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

View File

@ -118,100 +118,67 @@ WND.Quit.RTS rts
*-------------------------------------- *--------------------------------------
WND.New ldy WND.Stack.Top WND.New ldy WND.Stack.Top
cpy #WND.MAX cpy #WND.MAX
bcc .10 bcs .98
lda #E.OOH lda #S.OBJ.T.WND
.9 >POP 9
rts
.10 lda #S.OBJ.T.WND
jsr OBJ.New 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 ldy #S.OBJ.H
sta (ZPWNDPtr),y jsr OBJ.PullWordAtY
pha
>PULLA
iny
sta (ZPWNDPtr),y
ldy #S.WND.InnerH+1
sta (ZPWNDPtr),y
pla
dey
sta (ZPWNDPtr),y
>PULLA
ldy #S.OBJ.W ldy #S.OBJ.W
sta (ZPWNDPtr),y jsr OBJ.PullWordAtY
pha
>PULLA
iny
sta (ZPWNDPtr),y
ldy #S.WND.InnerW+1
sta (ZPWNDPtr),y
pla
dey
sta (ZPWNDPtr),y
>PULLA
ldy #S.OBJ.Y1 ldy #S.OBJ.Y1
sta (ZPWNDPtr),y jsr OBJ.PullWordAtY
>PULLA
iny
sta (ZPWNDPtr),y
>PULLA
ldy #S.OBJ.X1 ldy #S.OBJ.X1
and PREFS.BestViewedX jsr OBJ.PullWordAtY
sta (ZPWNDPtr),y
>PULLA
iny
sta (ZPWNDPtr),y
>PULLA >PULLA
bit #S.WND.F.RESIZE bit #S.WND.F.RESIZE
beq .2 beq .2
ora #S.WND.F.BORDER ora #S.OBJ.F.BORDER
.2 ldy #S.OBJ.F .2 ldy #S.OBJ.F
sta (ZPWNDPtr),y sta (ZPObjPtr),y
ldy #S.PS.PID ldy #S.PS.PID
lda (pPs),y lda (pPs),y
ldy #S.OBJ.hOWNER ldy #S.OBJ.hOWNER
sta (ZPWNDPtr),y sta (ZPObjPtr),y
lda L.WND.Desktop lda L.WND.Desktop
ldx L.WND.Desktop+1
ldy #S.OBJ.hPARENT ldy #S.OBJ.hPARENT
sta (ZPWNDPtr),y jsr OBJ.SetAXAtY
iny
lda L.WND.Desktop+1
sta (ZPWNDPtr),y
txa ID lda L.WND.fPaint
ldx L.WND.fPaint+1
ldy #S.WND.fPaint
jsr OBJ.SetAXAtY
pla ID
* clc * clc
rts rts
.98 lda #E.OOH
.99 >POP 9
rts
*-------------------------------------- *--------------------------------------
WND.Destroy clc WND.Destroy clc
rts rts
*-------------------------------------- *--------------------------------------
WND.Activate >SYSCALL2 GetMemPtr WND.Activate jsr OBJ.GetHWNDA
>STYA ZPWNDPtr
clc clc
@ -240,11 +207,10 @@ WND.Bring2Front ldx WND.Stack.Idx
WND.Show sta WND.hWND WND.Show sta WND.hWND
ldx WND.Stack.Top ldx WND.Stack.Top
beq WND.Show2 beq .1
lda WND.Stack-1,x lda WND.Stack-1,x
>SYSCALL2 GetMemPtr jsr OBJ.GetHWNDA
>STYA ZPWNDPtr
lda #S.WND.S.ACTIVE lda #S.WND.S.ACTIVE
jsr WND.ClrStatus jsr WND.ClrStatus
@ -259,21 +225,16 @@ WND.Show sta WND.hWND
lda WND.hWND lda WND.hWND
ldx WND.Stack.Top ldx WND.Stack.Top
*--------------------------------------
WND.Show2 sta WND.Stack,x .1 sta WND.Stack,x
inc WND.Stack.Top inc WND.Stack.Top
*--------------------------------------
WND.Draw jsr OBJ.GetHWNDA Y,A = ZPWNDPtr
>SYSCALL2 GetMemPtr jsr OBJ.SetX2Y2
>STYA ZPWNDPtr
jsr OBJ.SetX2Y2
ldy #S.WND.InnerY2
sta (ZPWNDPtr),y
txa
iny
sta (ZPWNDPtr),y
jsr WND.ResetInnerW
jsr CB.GetBuf jsr CB.GetBuf
bcs WND.Activate.RTS bcs WND.Activate.RTS
@ -282,7 +243,7 @@ WND.Show2 sta WND.Stack,x
ldy #S.OBJ.F ldy #S.OBJ.F
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
and #S.WND.F.BORDER and #S.OBJ.F.BORDER
beq .1 beq .1
>LDYA ZPWNDPtr >LDYA ZPWNDPtr
@ -309,10 +270,7 @@ WND.Show2 sta WND.Stack,x
jsr WND.Add2Counter jsr WND.Add2Counter
ldy #S.WND.TBarY2 ldy #S.WND.TBarY2
sta (ZPWNDPtr),y jsr WND.SetAXAtY
iny
txa
sta (ZPWNDPtr),y
lda #S.WND.S.HASTBAR lda #S.WND.S.HASTBAR
jsr WND.SetStatus jsr WND.SetStatus
@ -324,14 +282,14 @@ WND.Show2 sta WND.Stack,x
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
beq .4 beq .4
ldy #S.WND.MBarY1
jsr WND.SetCounterAtY
lda SYSFON.Hp1 lda SYSFON.Hp1
jsr WND.Add2Counter jsr WND.Add2Counter
ldy #S.WND.MBarY2 ldy #S.WND.MBarY2
sta (ZPWNDPtr),y jsr WND.SetAXAtY
iny
txa
sta (ZPWNDPtr),y
lda #S.WND.S.HASMBAR lda #S.WND.S.HASMBAR
jsr WND.SetStatus jsr WND.SetStatus
@ -340,29 +298,37 @@ WND.Show2 sta WND.Stack,x
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
jsr MBAR.Draw jsr MBAR.Draw
*-------------------------------------- *--------------------------------------
.4 lda Counter .4 ldy #S.WND.InnerY1
ldy #S.WND.InnerY1 jsr WND.SetCounterAtY
sta (ZPWNDPtr),y
iny
lda Counter+1
sta (ZPWNDPtr),y
ldy #S.WND.pSTATUS+1 ldy #S.WND.pSTATUS+1
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
beq .8 beq .8
lda SYSFON.Hp1 lda SYSFON.H
jsr WND.Add2Counter jsr WND.Add2Counter
ldy #S.WND.InnerY2 ldy #S.WND.InnerY2
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sec clc +1
sbc SYSFON.H sbc SYSFON.H
sta (ZPWNDPtr),y sta (ZPWNDPtr),y
tax
iny iny
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sbc #0 sbc #0
sta (ZPWNDPtr),y 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 lda #S.WND.S.HASSBAR
jsr WND.SetStatus jsr WND.SetStatus
@ -385,15 +351,277 @@ WND.Show2 sta WND.Stack,x
lda WND.hWND lda WND.hWND
pha pha
bra WND.Paint1 jmp WND.Paint1
.9 .9 rts
WND.Show.RTS 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 WND.Paint pha hWND
>SYSCALL2 GetMemPtr jsr OBJ.GetHWNDA
>STYA ZPWNDPtr
WND.Paint1 ldy #S.WND.fPaint WND.Paint1 ldy #S.WND.fPaint
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
@ -406,11 +634,12 @@ WND.Paint1 ldy #S.WND.fPaint
jmp (ZPPtr1) jmp (ZPPtr1)
*-------------------------------------- *--------------------------------------
WND.fPaint >SYSCALL2 GetMemPtr WND.fPaint.RTS rts
>STYA ZPWNDPtr
WND.fPaint jsr OBJ.GetHWNDA
jsr CB.GetBuf jsr CB.GetBuf
bcs WND.Show.RTS bcs WND.fPaint.RTS
lda #S.CB.CMD.FILLRECT lda #S.CB.CMD.FILLRECT
sta CB.Cache+S.CB.CMD sta CB.Cache+S.CB.CMD
@ -434,15 +663,12 @@ WND.fPaint >SYSCALL2 GetMemPtr
ldy #S.WND.InnerY1 ldy #S.WND.InnerY1
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
clc
adc #1
sta CB.Cache+S.CB.Y1 sta CB.Cache+S.CB.Y1
iny iny
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
adc #0
sta CB.Cache+S.CB.Y1+1 sta CB.Cache+S.CB.Y1+1
ldy #S.OBJ.X2 ldy #S.WND.InnerX2
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sta CB.Cache+S.CB.X2 sta CB.Cache+S.CB.X2
iny iny
@ -451,16 +677,13 @@ WND.fPaint >SYSCALL2 GetMemPtr
ldy #S.WND.InnerY2 ldy #S.WND.InnerY2
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sec
sbc #1
sta CB.Cache+S.CB.Y2 sta CB.Cache+S.CB.Y2
iny iny
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sbc #0
sta CB.Cache+S.CB.Y2+1 sta CB.Cache+S.CB.Y2+1
jsr CB.Cache2CBBuf jsr CB.Cache2CBBuf
*--------------------------------------
ldy #S.WND.BGBM ldy #S.WND.BGBM
lda (ZPWNDPtr),y lda (ZPWNDPtr),y
sta CB.Cache+S.CB.SrcPtr sta CB.Cache+S.CB.SrcPtr
@ -493,229 +716,11 @@ WND.fPaint >SYSCALL2 GetMemPtr
.8 >LDYA L.WND.Desktop .8 >LDYA L.WND.Desktop
jmp CB.FlushBufToYA 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
*-------------------------------------- *--------------------------------------
WND.SetMBar >PULLW ZPPtr1 WND.SetMBar >PULLW ZPPtr1
>PULLA jsr OBJ.PullHWND
>SYSCALL2 GetMemPtr
>STYA ZPWNDPtr
>LDYA ZPPtr1 >LDYA ZPPtr1
jsr MBAR.New jsr MBAR.New
@ -739,16 +744,6 @@ WND.SetStatus ldy #S.OBJ.S
sta (ZPWNDPtr),y sta (ZPWNDPtr),y
rts rts
*-------------------------------------- *--------------------------------------
WND.Add2Counter clc
adc Counter
sta Counter
bcc .8
inc Counter+1
.8 ldx Counter+1
rts
*--------------------------------------
MAN MAN
SAVE usr/src/lib/libgui.s.wnd SAVE usr/src/lib/libgui.s.wnd
LOAD usr/src/lib/libgui.s LOAD usr/src/lib/libgui.s

View File

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

View File

@ -663,17 +663,17 @@ Pak.PrintStats lda Pak.BL.OfsBitsL
CS.END CS.END
*-------------------------------------- *--------------------------------------
.DO STATS=1 .DO STATS=1
MSG.Stats .AS "\r\nLength : %5D\r\n" MSG.Stats .CS "\r\nLength : %5D\r\n"
.AS "Pass 1 : %5D\r\n" .CS "Pass 1 : %5D\r\n"
.AS "Pass 2 : %5D\r\n" .CS "Pass 2 : %5D\r\n"
.AS "Top 8 : %5D\r\n" .CS "Top 8 : %5D\r\n"
.AS "Top 16 : %5D\r\n" .CS "Top 16 : %5D\r\n"
.AS "Top 24 : %5D\r\n" .CS "Top 24 : %5D\r\n"
.AS "Top 32 : %5D\r\n" .CS "Top 32 : %5D\r\n"
.AS "Byte 8 : %5D\r\n" .CS "Byte 8 : %5D\r\n"
.AZ "BL : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n" .CZ "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" MSG.TopBytes .CS "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" .CZ " %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
.FIN .FIN
TOP.Bits .DA #PAK.B.TOP8,#PAK.B.TOP16,#PAK.B.TOP24,#PAK.B.TOP32 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 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/macros.i
.INB inc/a2osx.i .INB inc/a2osx.i
.INB inc/mli.i .INB inc/mli.i
.INB inc/gfx.i
.INB inc/libgui.i .INB inc/libgui.i
*-------------------------------------- *--------------------------------------
.DUMMY .DUMMY
@ -16,6 +17,7 @@ ZS.START
hLogo .BS 2 00xx hLogo .BS 2 00xx
hWND .BS 1 hWND .BS 1
hMBAR .BS 1 hMBAR .BS 1
TmpWord .BS 2
ZS.END .ED ZS.END .ED
*-------------------------------------- *--------------------------------------
* File Header (16 Bytes) * 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 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 40
>PUSHWI 360 >PUSHWI 40
>PUSHWI 96 >PUSHWI 400
>PUSHWI 120
>LIBCALL hLIBGUI,LIBGUI.WND.New >LIBCALL hLIBGUI,LIBGUI.WND.New
bcs CS.QUIT.RTS bcs CS.QUIT.RTS
sta hWND 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 >PUSHWI C.WHITE
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
>PUSHB hWND * >PUSHB hWND
>PUSHBI S.WND.BGBM * >PUSHBI S.WND.BGBM
>PUSHW hLogo * >PUSHW hLogo
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp * >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
>PUSHB hWND >PUSHB hWND
>PUSHBI S.WND.pTITLE >PUSHBI S.WND.pTITLE
@ -151,17 +153,79 @@ WND.Test.fPaint sta hWND
WND.Test.fPaint1 WND.Test.fPaint1
jsr $ffff Default WND.fPaint jsr $ffff Default WND.fPaint
* >PUSHB hWND .1 jsr WND.Test.1
* >PUSHBI S.CB.OP.SET >PUSHW TmpWord
* >PUSHBI C.BLACK >PUSHWI 0
* >PUSHWI 10 jsr WND.Test.2
* >PUSHWI 10
* >PUSHWI 200 jsr WND.Test.1
* >PUSHWI 60 >PUSHW TmpWord
* >LIBCALL hLIBGUI,LIBGUI.DrawLine >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 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 CS.END
LIBGUI .AZ "libgui" LIBGUI .AZ "libgui"
hLIBGUI .BS 1 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.INITOK .AZ "BBSD:Init Ok, Listening."
MSG.TCPIPERR .AZ "BBSD:TCP/IP Not initialized properly." MSG.TCPIPERR .AZ "BBSD:TCP/IP Not initialized properly."
MSG.SKTERR .AZ "BBSD:Listen Error." 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" NOD.Template .AZ "/dev/tty%h"
CMD.Template .AZ "${ROOT}sbin/getty -E %s %s" CMD.Template .AZ "${ROOT}sbin/getty -E %s %s"

View File

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

View File

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

View File

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

View File

@ -331,13 +331,13 @@ CS.END
DEVSIG.Offset .HS 05070B0C DEVSIG.Offset .HS 05070B0C
DEVSIG.Value .HS 38180131 DEVSIG.Value .HS 38180131
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset 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 .DO SSCIRQ=1
.AS " (IRQ Enabled)" .CS " (IRQ Enabled)"
.FIN .FIN
.AZ "." .CZ "."
MSG.DETECT.OK .AZ "SSC Installed As Device : %s\r\n" MSG.DETECT.OK .CZ "SSC Installed As Device : %s\r\n"
MSG.DETECT.KO .AZ "No SSC Found." MSG.DETECT.KO .CZ "No SSC Found."
*-------------------------------------- *--------------------------------------
P1 .DA >115200 Baud P1 .DA >115200 Baud
.DA >50 .DA >50

View File

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

View File

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

View File

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