mirror of https://github.com/A2osX/A2osX.git
KERNEL:changes for most compilers
This commit is contained in:
parent
b757926227
commit
3d241a05d8
Binary file not shown.
|
@ -91,9 +91,9 @@ CS.RUN
|
|||
.4
|
||||
bit bFast ; did they want us to switch to fast mode?
|
||||
bpl .5 ; no, so go check next possibility
|
||||
>PUSHW L.MSG.FAST ; push address for fast mode message
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF ; print fast mode msg
|
||||
|
||||
>LDYA L.MSG.FAST ; push address for fast mode message
|
||||
>SYSCALL PutS ; print fast mode msg
|
||||
jsr CS.RUN.SetFastMode ; call fast mode routine
|
||||
jmp .99 ; jump to successful exit
|
||||
|
||||
|
@ -101,17 +101,15 @@ CS.RUN
|
|||
.5
|
||||
bit bSlow ; did they want us to switch to slow mode?
|
||||
bpl .9 ; no, so go display usage
|
||||
>PUSHW L.MSG.SLOW ; push address for slow mode message
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF ; print slow mode message
|
||||
>LDYA L.MSG.SLOW ; push address for slow mode message
|
||||
>SYSCALL PutS ; print slow mode message
|
||||
jsr CS.RUN.SetSlowMode ; call slow mode routine
|
||||
jmp .99 ; jump to successful exit
|
||||
|
||||
*--- Display usage and error out ------
|
||||
.9
|
||||
>PUSHW L.MSG.USAGE ; push address for usage text
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF ; print usage message
|
||||
>LDYA L.MSG.USAGE ; push address for usage text
|
||||
>SYSCALL PutS ; print usage message
|
||||
lda #E.SYN ; set OS return code as Syntax Error
|
||||
sec ; indicate we don't want CS.RUN called again
|
||||
rts ; return to OS
|
||||
|
@ -216,11 +214,11 @@ CS.RUN.SetSlowMode
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : ACC\r\n"
|
||||
.AS " -F : Fast speed\r\n"
|
||||
.AZ " -S : Slow speed\r\n"
|
||||
MSG.MSG.FAST .AZ "FAST mode enabled\r\n"
|
||||
MSG.MSG.SLOW .AZ "SLOW mode enabled\r\n"
|
||||
MSG.USAGE .CS "Usage : ACC\r\n"
|
||||
.CS " -F : Fast speed\r\n"
|
||||
.CZ " -S : Slow speed\r\n"
|
||||
MSG.MSG.FAST .CZ "FAST mode enabled"
|
||||
MSG.MSG.SLOW .CZ "SLOW mode enabled"
|
||||
*--------------------------------------
|
||||
OptionList .AS "FfSs"
|
||||
OptionVars .DA #bFast,#bFast,#bSlow,#bSlow
|
||||
|
|
|
@ -190,7 +190,7 @@ CORE.Compile jsr CORE.GetChar
|
|||
bra .8
|
||||
|
||||
.4 jsr CODE.LDVARDDRI
|
||||
|
||||
|
||||
ldx #RT.IntSet.ID
|
||||
jsr CODE.JSRRT Store Int16 result in DATASEG
|
||||
*--------------------------------------
|
||||
|
@ -262,7 +262,7 @@ CORE.FWREF >LDYA L.MSG.FWREF
|
|||
>PUSHW ZPInputBufPtr
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
lda #E.CSYN
|
||||
sec
|
||||
rts
|
||||
|
@ -291,13 +291,13 @@ CORE.Run jsr CORE.Cleanup
|
|||
>PUSHA
|
||||
pla
|
||||
>PUSHA Code Size
|
||||
|
||||
|
||||
lda ZPDataBufPtr
|
||||
sta ZPPtr1
|
||||
|
||||
sta ZPPtr1
|
||||
|
||||
lda ZPDataBufPtr+1
|
||||
sta ZPPtr1+1
|
||||
|
||||
sta ZPPtr1+1
|
||||
|
||||
>LDA.G hDataBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPDataBufPtr
|
||||
|
@ -314,28 +314,28 @@ CORE.Run jsr CORE.Cleanup
|
|||
>PUSHA
|
||||
eor #$ff
|
||||
sta ZPPtr2+1
|
||||
|
||||
|
||||
pla
|
||||
>PUSHA Data Size
|
||||
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
lda #0
|
||||
tay
|
||||
|
||||
|
||||
.1 inc ZPPtr2
|
||||
bne .2
|
||||
|
||||
inc ZPPtr2+1
|
||||
beq .8
|
||||
|
||||
|
||||
.2 sta (ZPDataBufPtr),y
|
||||
iny
|
||||
bne .1
|
||||
inc ZPDataBufPtr+1
|
||||
bra .1
|
||||
|
||||
|
||||
.8 jmp (ZPCodeBufPtr)
|
||||
*--------------------------------------
|
||||
CORE.LookupAOPS lda (ZPInputBufPtr)
|
||||
|
@ -496,6 +496,7 @@ CORE.CreateLabel
|
|||
*--------------------------------------
|
||||
CORE.GetLabel >PUSHB.G hLabels
|
||||
>PUSHW ZPInputBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
|
@ -584,7 +585,7 @@ CORE.CreateOrGetVar
|
|||
lda #E.TMISMATCH
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -592,6 +593,7 @@ CORE.NewVarKey >LDA.G hVars
|
|||
|
||||
CORE.NewKey >PUSHA
|
||||
>PUSHW ZPInputBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .9
|
||||
|
||||
|
@ -609,6 +611,7 @@ CORE.GetAddr >PUSHA
|
|||
>PUSHA for SListGetData
|
||||
|
||||
>PUSHW ZPInputBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
|
@ -655,11 +658,11 @@ CORE.GetWord lda ZPDataBufPtr
|
|||
|
||||
lda ZPDataBufPtr+1
|
||||
bcc .8
|
||||
|
||||
|
||||
inc ZPDataBufPtr+1
|
||||
|
||||
clc
|
||||
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CORE.GetStrID inc STRID
|
||||
|
|
|
@ -54,7 +54,7 @@ EXP.Eval.R lda EXP.AOP
|
|||
|
||||
jsr EXP.FNjmpX
|
||||
bra .39
|
||||
|
||||
|
||||
.25 jsr EXP.VARLookup
|
||||
bra .39
|
||||
*--------------------------------------
|
||||
|
@ -77,7 +77,7 @@ EXP.Eval.R lda EXP.AOP
|
|||
phx
|
||||
jsr EXP.ComputeAll compute all until $FF
|
||||
plx
|
||||
|
||||
|
||||
bcs .99
|
||||
|
||||
txa
|
||||
|
@ -115,7 +115,7 @@ EXP.Eval.R lda EXP.AOP
|
|||
*--------------------------------------
|
||||
.80 jsr EXP.ComputeAll go compute (arg1 op1 arg2)
|
||||
bcs .99
|
||||
|
||||
|
||||
inc pStack discard $FF
|
||||
|
||||
bra .88
|
||||
|
@ -154,7 +154,7 @@ EXP.CreateStrConst
|
|||
sta (ZPStrBuf1),y
|
||||
iny
|
||||
bne .1
|
||||
|
||||
|
||||
.9 lda #E.ESYN
|
||||
* sec
|
||||
.99 rts
|
||||
|
@ -178,10 +178,10 @@ EXP.CreateStrConst
|
|||
*--------------------------------------
|
||||
EXP.Int16 jsr CORE.IsDigit10
|
||||
bcc .1
|
||||
|
||||
|
||||
cmp #'-'
|
||||
bne .90
|
||||
|
||||
|
||||
.1 >PUSHW ZPInputBufPtr
|
||||
>PUSHWI ZPInputBufPtr
|
||||
>PUSHBI 10
|
||||
|
@ -191,11 +191,11 @@ EXP.Int16 jsr CORE.IsDigit10
|
|||
jsr CODE.PUSHINT16
|
||||
|
||||
>POP 4 Discard long on stack
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.90 lda #E.ESYN
|
||||
|
||||
.90 lda #E.ESYN
|
||||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
|
@ -205,6 +205,7 @@ EXP.VARLookup >LDA.G hVars
|
|||
>PUSHA for SListGetData/SListAddData
|
||||
|
||||
>PUSHW ZPInputBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .3
|
||||
|
||||
|
@ -253,7 +254,7 @@ EXP.VARLookup >LDA.G hVars
|
|||
*--------------------------------------
|
||||
.7 ldy EXP.ADDR
|
||||
ldx EXP.ADDR+1
|
||||
|
||||
|
||||
lda EXP.TYPE
|
||||
bne .8
|
||||
|
||||
|
@ -262,8 +263,8 @@ EXP.VARLookup >LDA.G hVars
|
|||
ldx #RT.IntGet.ID
|
||||
clc
|
||||
jmp CODE.JSRRT
|
||||
|
||||
.8 clc
|
||||
|
||||
.8 clc
|
||||
jmp CODE.PUSHYXI
|
||||
*--------------------------------------
|
||||
EXP.ComputeAll lda (pStack)
|
||||
|
@ -274,12 +275,12 @@ EXP.ComputeAll lda (pStack)
|
|||
tay
|
||||
jsr EXP.ComputeY go compute (arg1 op1 arg2)
|
||||
bcc EXP.ComputeAll
|
||||
|
||||
* sec
|
||||
|
||||
* sec
|
||||
rts
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
rts
|
||||
*--------------------------------------
|
||||
EXP.ComputeY lda EXP.TYPE
|
||||
bne .1
|
||||
|
@ -288,32 +289,32 @@ EXP.ComputeY lda EXP.TYPE
|
|||
jsr CODE.FPUCALL
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.1 cpy #3 +
|
||||
bne .2
|
||||
|
||||
|
||||
ldx #RT.StrAdd.ID
|
||||
clc
|
||||
jmp CODE.JSRRT
|
||||
jmp CODE.JSRRT
|
||||
|
||||
.2 stz EXP.TYPE at the end ....TRUE/FALSE is int
|
||||
|
||||
cpy #11 <>
|
||||
bne .3
|
||||
|
||||
|
||||
ldx #RT.StrCmp.ID
|
||||
clc
|
||||
jmp CODE.JSRRT
|
||||
|
||||
|
||||
.3 cpy #13 =
|
||||
bne .9
|
||||
|
||||
|
||||
ldx #RT.StrCmp.ID
|
||||
jsr CODE.JSRRT
|
||||
|
||||
ldx #RT.NOT.ID
|
||||
clc
|
||||
jmp CODE.JSRRT
|
||||
jmp CODE.JSRRT
|
||||
|
||||
.9 lda #E.TMISMATCH
|
||||
sec
|
||||
|
|
|
@ -505,37 +505,31 @@ CCODE.TESTTRUE.LEN .EQ *-CCODE.TESTTRUE
|
|||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
MSG.GREETINGS .AZ "\r\nACOS-Shell %d.%d\r\n\r\n"
|
||||
MSG.USAGE .AS "Usage : ACOS <option> file\r\n"
|
||||
.AS " -D : Debug Mode\r\n"
|
||||
.AS " -T : Trace On"
|
||||
.AZ "\r\n"
|
||||
MSG.GREETINGS .CZ "\r\nACOS-Shell %d.%d\r\n\r\n"
|
||||
MSG.USAGE .CS "Usage : ACOS <option> file\r\n"
|
||||
.CS " -D : Debug Mode\r\n"
|
||||
.CS " -T : Trace On"
|
||||
OUT.CRLF .CZ "\r\n"
|
||||
*--------------------------------------
|
||||
MSG.COMPILING .AZ "***Compiling : %s...\r\n"
|
||||
MSG.DEBUG .AZ "***CodePtr=%H DataPtr=%H StackPtr=%H\r\n"
|
||||
MSG.TRACE .AZ "%05D>%s\r\n"
|
||||
MSG.ERROR .AZ " %s^\r\n"
|
||||
MSG.FWREF .AZ "***Resolving FWRefs..."
|
||||
MSG.FWREFERR .AZ "***Unresolved FWRef : %s\r\n"
|
||||
MSG.RUN .AZ "***Code size: %D, Data Size: %D, Running...\r\n"
|
||||
MSG.STR .AZ "%s"
|
||||
MSG.INT16 .AZ "%I"
|
||||
MSG.COMPILING .CZ "***Compiling : %s...\r\n"
|
||||
MSG.DEBUG .CZ "***CodePtr=%H DataPtr=%H StackPtr=%H\r\n"
|
||||
MSG.TRACE .CZ "%05D>%s\r\n"
|
||||
MSG.ERROR .CZ " %s^\r\n"
|
||||
MSG.FWREF .CZ "***Resolving FWRefs..."
|
||||
MSG.FWREFERR .CZ "***Unresolved FWRef : %s\r\n"
|
||||
MSG.RUN .CZ "***Code size: %D, Data Size: %D, Running...\r\n"
|
||||
MSG.STR .CZ "%s"
|
||||
MSG.INT16 .CZ "%I"
|
||||
*--------------------------------------
|
||||
OUT.ELW .DA #C.ESC
|
||||
.AZ "[?7h" Enable Line Wrap
|
||||
OUT.DLW .DA #C.ESC
|
||||
.AZ "[?7l" Disable Line Wrap
|
||||
OUT.CRLF .DA #C.CR,#C.LF,#0
|
||||
OUT.BSSPBS .DA #C.BS,#C.SPACE,#C.BS,#0
|
||||
OUT.CLRSCR .DA #C.ESC
|
||||
.AS "c"
|
||||
.DA #C.ESC
|
||||
.AS "(B"
|
||||
.DA #C.ESC
|
||||
.AZ ")0"
|
||||
OUT.ELW .CZ "\e[?7h" Enable Line Wrap
|
||||
OUT.DLW .CZ "\e[?7l" Disable Line Wrap
|
||||
OUT.BSSPBS .CZ "\b \b"
|
||||
OUT.CLRSCR .CS "\ec"
|
||||
.CS "\e(B"
|
||||
.CZ "\e)0"
|
||||
*--------------------------------------
|
||||
FMT.DATE .AZ "%m/%d/%y"
|
||||
FMT.TIME .AZ "%H:%M:%S"
|
||||
FMT.DATE .CZ "%m/%d/%y"
|
||||
FMT.TIME .CZ "%H:%M:%S"
|
||||
*--------------------------------------
|
||||
OptionList .AS "DdTt"
|
||||
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace
|
||||
|
|
|
@ -66,6 +66,7 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
|
|||
lda (pPS),y
|
||||
cmp #1
|
||||
bcs .2
|
||||
|
||||
jmp CS.RUN.DUMP
|
||||
|
||||
.2 lda #1
|
||||
|
@ -88,9 +89,8 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG
|
|||
bne CS.RUN.ERR
|
||||
jmp CS.RUN.ADD
|
||||
|
||||
CS.RUN.ERR >PUSHW L.MSG.Usage
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
CS.RUN.ERR >LDYA L.MSG.Usage
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
@ -101,13 +101,17 @@ CS.RUN.QUERY jsr Init.Timeout
|
|||
>PUSHEA.G DST.IP
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.Query
|
||||
bcc .2 success, print & exit
|
||||
|
||||
jsr Wait.TimeOut
|
||||
bcs .8
|
||||
|
||||
>SLEEP
|
||||
>SYSCALL GetChar
|
||||
bcs .1
|
||||
|
||||
cmp #3
|
||||
beq .9
|
||||
|
||||
bra .1
|
||||
|
||||
.2 >PUSHW L.MSG2
|
||||
|
@ -130,7 +134,9 @@ CS.RUN.QUERY jsr Init.Timeout
|
|||
|
||||
>PUSHBI 10
|
||||
>SYSCALL PrintF
|
||||
|
||||
.8 lda #0
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -151,8 +157,10 @@ CS.RUN.ADD lda #2
|
|||
>PUSHEA.G DST.MAC
|
||||
>PUSHEA.G DST.IP
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.ARP.Add
|
||||
|
||||
clc
|
||||
.8 rts
|
||||
rts
|
||||
|
||||
.9 jmp CS.RUN.ERR
|
||||
*--------------------------------------
|
||||
CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.ARP.GetCache
|
||||
|
@ -213,8 +221,10 @@ CS.DOEVENT lda (pEvent)
|
|||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
beq .9
|
||||
|
||||
dec
|
||||
sta (pData),y
|
||||
|
||||
.9 sec do not discard TIMER event
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -222,6 +232,7 @@ CS.QUIT lda hLIBTCPIP
|
|||
beq .8
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -234,20 +245,22 @@ Wait.TimeOut sec
|
|||
ldy #TimeOut
|
||||
lda (pData),y
|
||||
beq .9
|
||||
|
||||
clc
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
SSCANF.IP .AZ "%d.%d.%d.%d"
|
||||
SSCANF.MAC .AZ "%h:%h:%h:%h:%h:%h"
|
||||
MSG.Usage .AS "Usage : ARP, display ARP cache\r\n"
|
||||
.AS " ARP ip.ip.ip.ip query cache or network\r\n"
|
||||
.AZ " ARP ip.ip.ip.ip HH:HH:HH:HH:HH:HH add a static ARP record in Cache\r\n"
|
||||
MSG0 .AZ "STS TTL MAC Address IP Address"
|
||||
MSG1 .AZ "$%h %5D %h:%h:%h:%h:%h:%h %d.%d.%d.%d\r\n"
|
||||
MSG2 .AZ "%d.%d.%d.%d is at %h:%h:%h:%h:%h:%h\r\n"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.Usage .CS "Usage : ARP display ARP cache\r\n"
|
||||
.CS " ARP ip.ip.ip.ip query cache or network\r\n"
|
||||
.CZ " ARP ip.ip.ip.ip HH:HH:HH:HH:HH:HH add a static ARP record in cache\r\n"
|
||||
MSG0 .CZ "STS TTL MAC Address IP Address"
|
||||
MSG1 .CZ "$%h %5D %h:%h:%h:%h:%h:%h %d.%d.%d.%d\r\n"
|
||||
MSG2 .CZ "%d.%d.%d.%d is at %h:%h:%h:%h:%h:%h\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -627,6 +627,7 @@ DIR.MA >LDA.G ASM.MA.ON
|
|||
|
||||
>PUSHB.G MAC.hList
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .99
|
||||
|
||||
|
|
|
@ -6,18 +6,18 @@ MAC.Init lda #SL..+SL._
|
|||
bcs .9
|
||||
|
||||
>STA.G MAC.hList
|
||||
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
|
||||
txa
|
||||
>STA.G MAC.hBuf
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
|
||||
>STYA ZPMacroArgBuf
|
||||
txa
|
||||
>STA.G MAC.hArgBuf
|
||||
|
@ -25,16 +25,16 @@ MAC.Init lda #SL..+SL._
|
|||
>LDYAI MA.MAXDEPTH*6
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
|
||||
>STYA ZPMacroStk
|
||||
txa
|
||||
>STA.G MAC.hStk
|
||||
|
||||
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
MAC.Quit >LDA.G MAC.StkPtr
|
||||
beq .10
|
||||
|
||||
|
||||
jsr MAC.Pop
|
||||
bra MAC.Quit
|
||||
|
||||
|
@ -42,7 +42,7 @@ MAC.Quit >LDA.G MAC.StkPtr
|
|||
beq .1
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
|
||||
.1 >LDA.G MAC.hBuf
|
||||
beq .2
|
||||
|
||||
|
@ -55,22 +55,22 @@ MAC.Quit >LDA.G MAC.StkPtr
|
|||
|
||||
.3 >LDA.G MAC.hList
|
||||
beq .8
|
||||
|
||||
|
||||
>SYSCALL SListFree
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.Learn >LDA.G MAC.hBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPMacroBuf
|
||||
|
||||
|
||||
>STZ.G MAC.BufPtr
|
||||
sta (ZPMacroBuf)
|
||||
lda (ZPLinePtr)
|
||||
cmp #C.SPACE No label, scan to DIR/OP if any
|
||||
bne .1
|
||||
|
||||
|
||||
jsr SRC.GetNextCharNB
|
||||
bcs .8
|
||||
|
||||
|
@ -80,66 +80,66 @@ MAC.Learn >LDA.G MAC.hBuf
|
|||
|
||||
lda (ZPLinePtr) get back non blank char
|
||||
bra .2
|
||||
|
||||
|
||||
.1 jsr MAC.AddChar
|
||||
bcs .99
|
||||
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
bcs .80
|
||||
|
||||
|
||||
cmp #C.SPACE
|
||||
bne .1
|
||||
|
||||
|
||||
jsr MAC.AddChar
|
||||
.90 bcs .99
|
||||
|
||||
jsr SRC.GetNextCharNB
|
||||
bcs .80
|
||||
|
||||
|
||||
.2 cmp #'.' Directive ?
|
||||
bne .4
|
||||
|
||||
ldy #1
|
||||
lda (ZPLinePtr),y
|
||||
beq .3
|
||||
|
||||
|
||||
cmp #'E'
|
||||
beq .21
|
||||
|
||||
|
||||
cmp #'e'
|
||||
bne .3
|
||||
|
||||
|
||||
.21 iny
|
||||
lda (ZPLinePtr),y
|
||||
beq .3
|
||||
|
||||
|
||||
cmp #'M'
|
||||
beq .22
|
||||
|
||||
|
||||
cmp #'m'
|
||||
bne .3
|
||||
|
||||
|
||||
.22 >STZ.G ASM.MA.ON
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.80 lda #C.CR
|
||||
jmp MAC.AddChar
|
||||
|
||||
|
||||
.3 lda (ZPLinePtr)
|
||||
|
||||
.4 jsr MAC.AddChar
|
||||
bcs .99
|
||||
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
bcs .80
|
||||
|
||||
|
||||
cmp #C.SPACE
|
||||
bne .4
|
||||
|
||||
|
||||
jsr SRC.GetNextChar
|
||||
bcs .8
|
||||
|
||||
|
||||
cmp #C.SPACE
|
||||
beq .80 Comments...
|
||||
|
||||
|
@ -165,7 +165,7 @@ MAC.Learn >LDA.G MAC.hBuf
|
|||
MAC.AddChar tax
|
||||
>LDA.G ASM.PASS If Pass#2, ignore
|
||||
bne .8
|
||||
|
||||
|
||||
>LDA.G MAC.BufPtr
|
||||
tay
|
||||
txa
|
||||
|
@ -176,7 +176,7 @@ MAC.AddChar tax
|
|||
|
||||
cmp #C.CR
|
||||
bne .8
|
||||
|
||||
|
||||
.1 >PUSHB.G MAC.hList
|
||||
>PUSHW.G MAC.ID
|
||||
>PUSHW ZPMacroBuf
|
||||
|
@ -186,7 +186,7 @@ MAC.AddChar tax
|
|||
>PUSHYA
|
||||
>SYSCALL SListAddData
|
||||
rts
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
|
@ -195,11 +195,12 @@ MAC.Exec jsr SRC.GetNextChar skip '>'
|
|||
|
||||
>PUSHB.G MAC.hList
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .90
|
||||
|
||||
>STYA ZPPtr1 MAC.ID
|
||||
|
||||
|
||||
jsr SRC.SkipX
|
||||
|
||||
.1 jsr SRC.GetChar
|
||||
|
@ -218,19 +219,19 @@ MAC.Exec jsr SRC.GetNextChar skip '>'
|
|||
bcc .2
|
||||
|
||||
.8 jmp MAC.Push
|
||||
|
||||
|
||||
.90 lda #E.MACRO.INV
|
||||
* sec
|
||||
rts
|
||||
rts
|
||||
|
||||
.92 lda #E.SYNTAX.ERROR
|
||||
sec
|
||||
MAC.Exec.RTS rts
|
||||
MAC.Exec.RTS rts
|
||||
*---------------------------------------
|
||||
MAC.ReadLine >LDA.G MAC.hBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPMacroBuf
|
||||
|
||||
|
||||
jsr MAC.Get ZPMacroArgBuf = args
|
||||
|
||||
>PUSHB.G MAC.hList
|
||||
|
@ -251,67 +252,67 @@ MAC.ReadLine >LDA.G MAC.hBuf
|
|||
sta ZPPtr2+1
|
||||
|
||||
ldy #0
|
||||
|
||||
|
||||
stz DIR.Byte
|
||||
|
||||
|
||||
.1 lda (ZPMacroBuf)
|
||||
beq .8
|
||||
|
||||
|
||||
cmp #C.CR
|
||||
beq .8
|
||||
|
||||
|
||||
inc ZPMacroBuf
|
||||
bne .2
|
||||
inc ZPMacroBuf+1
|
||||
|
||||
|
||||
.2 cmp #']'
|
||||
bne .7
|
||||
|
||||
|
||||
bit DIR.Byte
|
||||
bmi .7
|
||||
|
||||
|
||||
lda (ZPMacroBuf)
|
||||
beq .9
|
||||
|
||||
inc ZPMacroBuf
|
||||
bne .21
|
||||
inc ZPMacroBuf+1
|
||||
|
||||
|
||||
.21 cmp #'#'
|
||||
bne .22
|
||||
|
||||
lda ZPMacroArgCnt
|
||||
ora #$30
|
||||
bra .7
|
||||
|
||||
|
||||
.22 cmp #'1'
|
||||
bcc .6
|
||||
|
||||
|
||||
cmp #'9'+1
|
||||
bcs .6
|
||||
|
||||
|
||||
and #$0f
|
||||
tax
|
||||
dec
|
||||
cmp ZPMacroArgCnt
|
||||
bcs .1
|
||||
|
||||
|
||||
jsr MAC.GetArgX
|
||||
bcs .1 no arg ]n, append nothing
|
||||
|
||||
.3 lda (ZPPtr1)
|
||||
sta (ZPLineBuf),y
|
||||
iny
|
||||
|
||||
|
||||
inc ZPPtr1
|
||||
bne .4
|
||||
inc ZPPtr1+1
|
||||
|
||||
|
||||
.4 dex
|
||||
bne .3
|
||||
|
||||
|
||||
bra .1
|
||||
|
||||
|
||||
.6 pha
|
||||
lda #']'
|
||||
sta (ZPLineBuf),y
|
||||
|
@ -321,15 +322,15 @@ MAC.ReadLine >LDA.G MAC.hBuf
|
|||
.7 sta (ZPLineBuf),y
|
||||
iny
|
||||
bra .1
|
||||
|
||||
|
||||
.8 lda #0
|
||||
sta (ZPLineBuf),y
|
||||
jmp MAC.Put
|
||||
|
||||
|
||||
.9 lda #E.SYNTAX.ERROR
|
||||
sec
|
||||
MAC.ReadLine.RTS
|
||||
rts
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.Push >LDA.G MAC.StkPtr
|
||||
cmp #MA.MAXDEPTH*6
|
||||
|
@ -337,28 +338,28 @@ MAC.Push >LDA.G MAC.StkPtr
|
|||
|
||||
>LDA.G MAC.CtxID
|
||||
pha
|
||||
|
||||
|
||||
>INC.G MAC.CtxStackPtr
|
||||
clc
|
||||
adc #MAC.CtxStack-1
|
||||
tay
|
||||
pla
|
||||
sta (pData),y
|
||||
|
||||
|
||||
>INC.G MAC.CtxNextID
|
||||
>STA.G MAC.CtxID
|
||||
|
||||
ldy #$ff
|
||||
|
||||
|
||||
.10 iny
|
||||
lda (ZPLinePtr),y
|
||||
bne .10
|
||||
|
||||
|
||||
iny
|
||||
iny
|
||||
|
||||
|
||||
lda #0
|
||||
|
||||
|
||||
>SYSCALL GetMem
|
||||
bcs MAC.ReadLine.RTS
|
||||
|
||||
|
@ -366,35 +367,35 @@ MAC.Push >LDA.G MAC.StkPtr
|
|||
phx hArgs
|
||||
|
||||
ldx #0 arg cnt
|
||||
|
||||
|
||||
.1 ldy #$ff
|
||||
|
||||
stz DIR.Byte between " flag
|
||||
|
||||
|
||||
.2 iny
|
||||
lda (ZPLinePtr),y
|
||||
beq .3
|
||||
|
||||
|
||||
cmp #C.SPACE end of args ?
|
||||
bne .21
|
||||
|
||||
|
||||
bit DIR.Byte
|
||||
beq .3
|
||||
|
||||
|
||||
.20 sta (ZPPtr2)
|
||||
inc ZPPtr2
|
||||
bne .2
|
||||
inc ZPPtr2+1
|
||||
bra .2
|
||||
|
||||
|
||||
.21 cmp #'"'
|
||||
bne .22
|
||||
|
||||
|
||||
lda DIR.Byte
|
||||
eor #$ff
|
||||
sta DIR.Byte
|
||||
bra .2
|
||||
|
||||
|
||||
.22 cmp #','
|
||||
bne .20
|
||||
|
||||
|
@ -403,35 +404,35 @@ MAC.Push >LDA.G MAC.StkPtr
|
|||
|
||||
lda #0
|
||||
sta (ZPPtr2)
|
||||
|
||||
|
||||
inc ZPPtr2
|
||||
bne .23
|
||||
inc ZPPtr2+1
|
||||
|
||||
.23 tya
|
||||
beq .4
|
||||
|
||||
|
||||
inx
|
||||
|
||||
sec
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .1
|
||||
|
||||
|
||||
inc ZPLinePtr+1
|
||||
bra .1
|
||||
|
||||
|
||||
.3 lda #0
|
||||
sta (ZPPtr2)
|
||||
|
||||
|
||||
tya
|
||||
beq .4
|
||||
|
||||
|
||||
inx
|
||||
|
||||
.4 >LDA.G MAC.StkPtr
|
||||
tay
|
||||
|
||||
|
||||
pla push hArgs
|
||||
sta (ZPMacroStk),y
|
||||
iny
|
||||
|
@ -439,19 +440,19 @@ MAC.Push >LDA.G MAC.StkPtr
|
|||
txa push arg count
|
||||
sta (ZPMacroStk),y
|
||||
iny
|
||||
|
||||
|
||||
lda #0 push offset
|
||||
sta (ZPMacroStk),y
|
||||
iny
|
||||
sta (ZPMacroStk),y
|
||||
|
||||
|
||||
iny
|
||||
lda ZPPtr1+1 push MAC.ID
|
||||
sta (ZPMacroStk),y
|
||||
iny
|
||||
lda ZPPtr1
|
||||
sta (ZPMacroStk),y
|
||||
|
||||
|
||||
iny
|
||||
tya
|
||||
>STA.G MAC.StkPtr
|
||||
|
@ -469,12 +470,12 @@ MAC.Pop >LDA.G MAC.StkPtr
|
|||
|
||||
dec
|
||||
dec offset
|
||||
|
||||
|
||||
dec arg cnt
|
||||
dec hArgs
|
||||
|
||||
|
||||
sta (pData),y 6 bytes off stack
|
||||
|
||||
|
||||
tay
|
||||
lda (ZPMacroStk),y
|
||||
>SYSCALL FreeMem
|
||||
|
@ -486,36 +487,36 @@ MAC.Pop >LDA.G MAC.StkPtr
|
|||
lda (pData),y
|
||||
>STA.G MAC.CtxID
|
||||
>DEC.G MAC.CtxStackPtr
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.Get >LDA.G MAC.StkPtr
|
||||
|
||||
tay
|
||||
|
||||
|
||||
dey
|
||||
lda (ZPMacroStk),y
|
||||
sta ZPPtr1
|
||||
dey
|
||||
lda (ZPMacroStk),y
|
||||
sta ZPPtr1+1 get mac ID
|
||||
|
||||
|
||||
dey
|
||||
lda (ZPMacroStk),y
|
||||
sta ZPPtr2
|
||||
dey
|
||||
lda (ZPMacroStk),y
|
||||
sta ZPPtr2+1 get offset
|
||||
|
||||
|
||||
dey
|
||||
lda (ZPMacroStk),y get arg count
|
||||
sta ZPMacroArgCnt
|
||||
|
||||
|
||||
dey
|
||||
lda (ZPMacroStk),y
|
||||
>SYSCALL GetMemPtr
|
||||
|
||||
|
||||
>STYA ZPMacroArgBuf get args
|
||||
rts
|
||||
*---------------------------------------
|
||||
|
@ -524,14 +525,14 @@ MAC.Put >LDA.G MAC.StkPtr
|
|||
tay
|
||||
|
||||
dey to arg cnt
|
||||
|
||||
|
||||
dey
|
||||
dey skip mac ID
|
||||
|
||||
lda ZPPtr2
|
||||
sta (ZPMacroStk),y
|
||||
dey
|
||||
|
||||
|
||||
lda ZPPtr2+1
|
||||
sta (ZPMacroStk),y save offset
|
||||
clc
|
||||
|
@ -541,26 +542,26 @@ MAC.GetArgX phy
|
|||
|
||||
>LDYA ZPMacroArgBuf
|
||||
>STYA ZPPtr1
|
||||
|
||||
|
||||
.1 ldy #$ff
|
||||
|
||||
|
||||
.2 iny
|
||||
lda (ZPPtr1),y
|
||||
bne .2
|
||||
|
||||
|
||||
.3 dex
|
||||
beq .4
|
||||
|
||||
|
||||
tya
|
||||
beq .9
|
||||
|
||||
|
||||
sec
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
bcc .1
|
||||
inc ZPPtr1+1
|
||||
bra .1
|
||||
|
||||
|
||||
.4 tya
|
||||
tax
|
||||
beq .9
|
||||
|
@ -568,7 +569,7 @@ MAC.GetArgX phy
|
|||
ply
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.9 ply
|
||||
sec
|
||||
rts
|
||||
|
|
|
@ -51,6 +51,7 @@ SYM.NewGlobal >LDA.G ASM.PASS
|
|||
|
||||
>PUSHB.G SYM.hList
|
||||
>PUSHW ZPLinePtr Pass #1: try to add global...
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .9 Already Defined
|
||||
|
||||
|
@ -87,6 +88,7 @@ SYM.NewGlobal.RTS
|
|||
*---------------------------------------
|
||||
SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined...
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs SYM.NewGlobal.RTS
|
||||
|
||||
|
@ -143,6 +145,7 @@ SYM.GetGlobal >PUSHB.G SYM.hList Pass #2: should be already defined...
|
|||
SYM.LookupGlobal
|
||||
>PUSHB.G SYM.hList
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .4
|
||||
|
||||
|
@ -403,7 +406,7 @@ SYM.LookupLocalX
|
|||
beq .99
|
||||
|
||||
phy SYML.ID
|
||||
|
||||
|
||||
txa
|
||||
cmp (ZPSymbolBuf),y
|
||||
bne .4
|
||||
|
@ -622,16 +625,16 @@ SYM.Dump.PushValueY
|
|||
iny
|
||||
lda (ZPSymbolBuf),y
|
||||
sta SRC.ACC+1
|
||||
|
||||
|
||||
stz SRC.ACC+2
|
||||
stz SRC.ACC+3
|
||||
|
||||
ldy #SYMG.V
|
||||
ldx #0
|
||||
|
||||
|
||||
clc
|
||||
|
||||
.1 lda (ZPSymbolBuf),y
|
||||
|
||||
.1 lda (ZPSymbolBuf),y
|
||||
adc SRC.ACC,x
|
||||
sta SRC.ACC,x
|
||||
iny
|
||||
|
@ -641,8 +644,8 @@ SYM.Dump.PushValueY
|
|||
bne .1
|
||||
|
||||
ldx #3
|
||||
|
||||
.2 lda SRC.ACC,x
|
||||
|
||||
.2 lda SRC.ACC,x
|
||||
>PUSHA
|
||||
dex
|
||||
bpl .1
|
||||
|
|
|
@ -89,9 +89,8 @@ CS.RUN jsr CS.RUN.GetInfo
|
|||
sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.USAGE >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
CS.RUN.USAGE >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
|
||||
lda #E.SYN
|
||||
sec
|
||||
|
@ -326,16 +325,16 @@ CS.QUIT lda hReplyBuf
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.USAGE .AZ "Usage : ATMOUNT [VOLUME]"
|
||||
MSG.NOATK .AZ "AppleTalk Not Loaded."
|
||||
MSG.NOSESSION .AZ "No Active AppleTalk Session."
|
||||
MSG.ATKERR .AZ "AppleTalk Call %h, ERR:%H\r\n"
|
||||
MSG.GETINFO .AS "Network/Node:%H/%h\r\n"
|
||||
.AS "Bridge : %h\r\n"
|
||||
.AZ "HWID/ROMVER :%H/%h\r\n"
|
||||
MSG.VOLLIST .AZ "Flags Volume Name"
|
||||
MSG.VOL .AZ "%b %S\r\n"
|
||||
MSG.MOUNTED .AZ "Volume %S Mounted as s%dd%d\r\n"
|
||||
MSG.USAGE .CZ "Usage : ATMOUNT [VOLUME]"
|
||||
MSG.NOATK .CZ "AppleTalk Not Loaded."
|
||||
MSG.NOSESSION .CZ "No Active AppleTalk Session."
|
||||
MSG.ATKERR .CZ "AppleTalk Call %h, ERR:%H\r\n"
|
||||
MSG.GETINFO .CS "Network/Node:%H/%h\r\n"
|
||||
.CS "Bridge : %h\r\n"
|
||||
.CZ "HWID/ROMVER :%H/%h\r\n"
|
||||
MSG.VOLLIST .CZ "Flags Volume Name"
|
||||
MSG.VOL .CZ "%b %S\r\n"
|
||||
MSG.MOUNTED .CZ "Volume %S Mounted as s%dd%d\r\n"
|
||||
*--------------------------------------
|
||||
FPGetSrvrParms .DA #16
|
||||
FPGetSrvrParms.Len .EQ *-FPGetSrvrParms
|
||||
|
|
|
@ -83,9 +83,8 @@ CS.RUN dec AttrAND set mask = $ff
|
|||
.1 jsr CS.RUN.CheckSwitch
|
||||
bcc CS.RUN
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
@ -406,10 +405,14 @@ CS.QUIT jsr LeaveSubDir
|
|||
bcc CS.QUIT
|
||||
>LDA.G hFilter
|
||||
beq .1
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.1 >LDA.G hSrcFullPath
|
||||
beq .8
|
||||
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -425,22 +428,22 @@ AttrMask .DA #S.FI.A.D,#S.FI.A.RN,#S.FI.A.B,#S.FI.A.I,#S.FI.A.W,#S.FI.A.R
|
|||
*--------------------------------------
|
||||
ATTRS .AS "DeReBn----InWrRd"
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : ATTR File(s) (*,? wildcards allowed)\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AS " -R : Recurse subdirectories\r\n"
|
||||
.AS "+|-De : Destroy enable\r\n"
|
||||
.AS "+|-Re : Rename enable\r\n"
|
||||
.AS "+|-Bn : Backup needed\r\n"
|
||||
.AS "+|-In : Invisible\r\n"
|
||||
.AS "+|-Wr : Write enable\r\n"
|
||||
.AZ "+|-Rd : Read enable\r\n"
|
||||
MSG.USAGE .CS "Usage : ATTR File(s) (*,? wildcards allowed)\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CS " -R : Recurse subdirectories\r\n"
|
||||
.CS "+|-De : Destroy enable\r\n"
|
||||
.CS "+|-Re : Rename enable\r\n"
|
||||
.CS "+|-Bn : Backup needed\r\n"
|
||||
.CS "+|-In : Invisible\r\n"
|
||||
.CS "+|-Wr : Write enable\r\n"
|
||||
.CZ "+|-Rd : Read enable\r\n"
|
||||
*--------------------------------------
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.DIRDUMP .AZ "%s %s/\r\n"
|
||||
MSG.FILEDUMP .AZ "%s %s\r\n"
|
||||
MSG.DIR .AZ "Dir :%s..."
|
||||
MSG.FILE .AZ "File:%s..."
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.DIRDUMP .CZ "%s %s/\r\n"
|
||||
MSG.FILEDUMP .CZ "%s %s\r\n"
|
||||
MSG.DIR .CZ "Dir :%s..."
|
||||
MSG.FILE .CZ "File:%s..."
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
19
BIN/BF.S.txt
19
BIN/BF.S.txt
|
@ -163,9 +163,8 @@ CS.RUN.ARGS inc ArgIndex
|
|||
clc
|
||||
.9 rts
|
||||
|
||||
.90 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.90 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
|
||||
lda #E.SYN
|
||||
sec QUIT Process
|
||||
|
@ -494,13 +493,13 @@ CS.END
|
|||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
MSG.GREETINGS .AZ "\r\nBrainFuck-Shell %d.%d\r\n\r\n"
|
||||
MSG.USAGE .AS "Usage : BF <option> file\r\n"
|
||||
.AS " -D : Debug Mode\r\n"
|
||||
.AS " -T : Trace On"
|
||||
MSG.ECHOCRLF .AZ "\r\n"
|
||||
MSG.DEBUG .AZ "pCode=%H, pData=%H(%h), pStack=%H\r\n"
|
||||
MSG.ERR .AZ "-^\r\nLine #%D:"
|
||||
MSG.GREETINGS .CZ "\r\nBrainFuck-Shell %d.%d\r\n\r\n"
|
||||
MSG.USAGE .CS "Usage : BF <option> file\r\n"
|
||||
.CS " -D : Debug Mode\r\n"
|
||||
.CS " -T : Trace On"
|
||||
MSG.ECHOCRLF .CZ "\r\n"
|
||||
MSG.DEBUG .CZ "pCode=%H, pData=%H(%h), pStack=%H\r\n"
|
||||
MSG.ERR .CZ "-^\r\nLine #%D:"
|
||||
*--------------------------------------
|
||||
OptionList .AS "DdTt"
|
||||
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace
|
||||
|
|
|
@ -516,9 +516,9 @@ CS.RUN.OpenInput
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.ReadInput
|
||||
>PUSHW ZPInputRowBytes
|
||||
>PUSHB.G hInputFile
|
||||
>PUSHW ZPInputBuf
|
||||
>LDA.G hInputFile
|
||||
>PUSHW ZPInputRowBytes
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
|
@ -584,15 +584,15 @@ CS.RUN.WriteOutput
|
|||
>LDA.G bNoHeader
|
||||
bmi .1
|
||||
|
||||
>PUSHWI S.BM
|
||||
>PUSHB.G hOutputFile
|
||||
>PUSHEA.G PIX.Header
|
||||
>LDA.G hOutputFile
|
||||
>PUSHWI S.BM
|
||||
>SYSCALL FWrite
|
||||
bcs .9
|
||||
|
||||
.1 >PUSHW.G OutputDataLen
|
||||
.1 >PUSHB.G hOutputFile
|
||||
>PUSHW ZPOutputBuf
|
||||
>LDA.G hOutputFile
|
||||
>PUSHW.G OutputDataLen
|
||||
>SYSCALL FWrite
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -701,11 +701,11 @@ CS.END
|
|||
*--------------------------------------
|
||||
OptionList .AS "VvHh"
|
||||
OptionVars .DA #bVerbose,#bVerbose,#bNoHeader,#bNoHeader
|
||||
MSG.USAGE .AS "Usage : BMP2PIX BMP-File \r\n"
|
||||
.AZ " -V : Verbose Mode\r\n"
|
||||
MSG.HEADER.OK .AZ "BMP Size : %D x %D pixels, %d bit(s)/pixel\r\n"
|
||||
MSG.HEADER.KO .AZ "Invalid Input File Format"
|
||||
MSG.DONE .AZ "All Done!!!"
|
||||
MSG.USAGE .CS "Usage : BMP2PIX BMP-File\r\n"
|
||||
.CZ " -V : Verbose Mode\r\n"
|
||||
MSG.HEADER.OK .CZ "BMP Size : %D x %D pixels, %d bit(s)/pixel\r\n"
|
||||
MSG.HEADER.KO .CZ "Invalid Input File Format"
|
||||
MSG.DONE .CZ "All Done!!!"
|
||||
*--------------------------------------
|
||||
* LOWRES Patette : https://comp.sys.apple2.narkive.com/lTSrj2ZI/apple-ii-colour-rgb
|
||||
*--------------------------------------
|
||||
|
|
|
@ -319,6 +319,7 @@ CC.GetDefine >LDA.G CC.hDefines
|
|||
CC.SListLookup >PUSHA hSList
|
||||
>PUSHA ...for SListGetData
|
||||
>PUSHW ZPLineBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .99
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ CC.Link >LDYA L.MSG.LINKING
|
|||
|
||||
jsr CC.Link.Lookup
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr CC.Link.Update
|
||||
bcs .99
|
||||
|
||||
|
@ -66,7 +66,7 @@ CC.Link.Lookup >LDYA L.CC.SYSCALL
|
|||
jsr CC.Link.LookupYA
|
||||
ldx #1
|
||||
bcc .99
|
||||
|
||||
|
||||
>LDYA L.CC.FPUCALL
|
||||
jsr CC.Link.LookupYA
|
||||
ldx #2
|
||||
|
@ -79,21 +79,21 @@ CC.Link.Lookup >LDYA L.CC.SYSCALL
|
|||
lda #0
|
||||
sta ArgIndex
|
||||
clc
|
||||
|
||||
|
||||
.1 adc #hLibOs
|
||||
tay
|
||||
lda (pData),y
|
||||
|
||||
|
||||
>SYSCALL GetMemPtr
|
||||
jsr CC.Link.LookupYA
|
||||
bcs .2
|
||||
|
||||
|
||||
ldx ArgIndex
|
||||
inx
|
||||
inx
|
||||
inx
|
||||
rts
|
||||
|
||||
|
||||
.2 inc ArgIndex
|
||||
lda ArgIndex
|
||||
>CMP.G LibCount
|
||||
|
@ -135,7 +135,7 @@ CC.Link.LookupYA
|
|||
tay
|
||||
iny
|
||||
lda (ZPLookupPtr),y get fID
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
|
@ -151,7 +151,7 @@ CC.Link.LookupYA
|
|||
*--------------------------------------
|
||||
CC.Link.Update ldy #SYM.Addr
|
||||
sta (ZPSymBufPtr),y
|
||||
|
||||
|
||||
iny
|
||||
txa
|
||||
sta (ZPSymBufPtr),y
|
||||
|
@ -166,10 +166,24 @@ CC.Link.Update ldy #SYM.Addr
|
|||
>SYSCALL SListSetData
|
||||
rts
|
||||
*--------------------------------------
|
||||
CC.Link.Dump >PUSHW L.MSG.LINKING2
|
||||
CC.Link.Dump ldy #$ff
|
||||
|
||||
.1 iny
|
||||
lda (pData),y
|
||||
bne .1
|
||||
|
||||
iny
|
||||
lda (pData),y
|
||||
sta ZPPtr3
|
||||
iny
|
||||
lda (pData),y
|
||||
sta ZPPtr3+1
|
||||
|
||||
>PUSHW L.MSG.LINKING2
|
||||
|
||||
>PUSHW ZPPtr1 ID
|
||||
|
||||
>PUSHW ZPPtr3 Scope
|
||||
|
||||
>PUSHW pData Name
|
||||
|
||||
>PUSHB (ZPSymBufPtr) SYM.T
|
||||
|
@ -181,7 +195,7 @@ CC.Link.Dump >PUSHW L.MSG.LINKING2
|
|||
>PUSHB (ZPSymBufPtr),y SYM.SC
|
||||
|
||||
ldy #SYM.DefSize
|
||||
>PUSHB (ZPSymBufPtr),y
|
||||
>PUSHB (ZPSymBufPtr),y
|
||||
|
||||
ldy #SYM.SizeOf+1
|
||||
>PUSHB (ZPSymBufPtr),y
|
||||
|
@ -193,13 +207,14 @@ CC.Link.Dump >PUSHW L.MSG.LINKING2
|
|||
dey
|
||||
>PUSHB (ZPSymBufPtr),y
|
||||
|
||||
>PUSHBI 12
|
||||
>PUSHBI 14
|
||||
>SYSCALL PrintF
|
||||
rts
|
||||
*--------------------------------------
|
||||
CC.Link.CheckMain
|
||||
>PUSHB.G CC.hScopes
|
||||
>PUSHW L.CC.MAIN
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ SYM.New >STYA ZPPtr2 T/Q
|
|||
|
||||
>PUSHB.G CC.hScopes Global Scope
|
||||
>PUSHW ZPLineBufPtr
|
||||
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs SYM.New.9
|
||||
|
||||
|
@ -360,6 +360,7 @@ SYM.GetAddr2 ldy #SYM.SC
|
|||
*--------------------------------------
|
||||
SYM.NewKey >PUSHA
|
||||
>PUSHW ZPLineBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .9
|
||||
|
||||
|
@ -467,7 +468,7 @@ SYM.NewA bit bPass2
|
|||
|
||||
>PUSHB.G CC.hScopes Global Scope
|
||||
>PUSHEA.G CC.CPSPFX
|
||||
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .99
|
||||
|
||||
|
@ -626,6 +627,7 @@ SYM.LookupA bit bPass2
|
|||
|
||||
>PUSHB.G CC.hScopes Global Scope
|
||||
>PUSHEA.G CC.CPSPFX
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .99
|
||||
|
||||
|
|
|
@ -258,7 +258,7 @@ TYPE.NewTag >LDA.G CC.hTags
|
|||
*--------------------------------------
|
||||
TYPE.GetTag >PUSHB.G CC.hTags
|
||||
>PUSHW ZPLineBufPtr
|
||||
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
|
|
|
@ -659,7 +659,7 @@ MSG.USAGE .CS "Usage : CC <option> srcfile.c dstfile\r\n"
|
|||
.CZ " -L Libname1 -L Libname2 ...\r\n"
|
||||
MSG.READING .CZ "*** Reading file: %s\r\n"
|
||||
MSG.LINKING .CZ "*** Linking..."
|
||||
MSG.LINKING2 .CZ "*** %H:%18s T/Q=%h/%h, SC=%h, Def=%h, SizeOf=%H, @=%H\r\n"
|
||||
MSG.LINKING2 .CZ "*** %H:%H:%18s T/Q=%h/%h, SC=%h, Def=%h, SizeOf=%H, @=%H\r\n"
|
||||
MSG.GENERATING .CZ "*** Generating: %s\r\n"
|
||||
MSG.DEBUG .CS "*** pCode=%H, pConst=%H, pData=%H, pStack=%H\r\n"
|
||||
.CZ " LSP=%h, CSP=%H:%h>%h:%h, ScopeIdx=%h\r\n"
|
||||
|
|
|
@ -91,9 +91,8 @@ CS.RUN inc ArgIndex
|
|||
dex
|
||||
bne .2
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.99 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
@ -341,15 +340,15 @@ CS.END
|
|||
OptionList .AS "CRcr"
|
||||
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : CHAUX auxtype [File *,? wildcards allowed]\r\n"
|
||||
.AS " auxtype : 12345 (Decimal word) ,xABCD (Hexadecimal word)\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.FILE .AZ "CHAUX File:%S..."
|
||||
SSCANF.D .AZ "%D"
|
||||
SSCANF.H .AZ "%H"
|
||||
MSG.USAGE .CS "Usage : CHAUX auxtype [File *,? wildcards allowed]\r\n"
|
||||
.CS " auxtype : 12345 (Decimal word) ,xABCD (Hexadecimal word)\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.FILE .CZ "CHAUX File:%S..."
|
||||
SSCANF.D .CZ "%D"
|
||||
SSCANF.H .CZ "%H"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -73,9 +73,8 @@ CS.RUN >INC.G ArgIndex
|
|||
dex
|
||||
bpl .2
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
@ -237,6 +236,7 @@ CS.RUN.GetGID >SYSCALL ArgV
|
|||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckErr bcs .1
|
||||
|
||||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
rts
|
||||
|
@ -287,13 +287,13 @@ CS.END
|
|||
OptionList .AS "CRcr"
|
||||
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : CHGRP groupname [File *,? wildcards allowed]\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.DIR .AZ "Dir :%s..."
|
||||
MSG.FILE .AZ "File:%s..."
|
||||
MSG.USAGE .CS "Usage : CHGRP groupname [File *,? wildcards allowed]\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.DIR .CZ "Dir :%s..."
|
||||
MSG.FILE .CZ "File:%s..."
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -76,9 +76,8 @@ CS.RUN inc ArgIndex
|
|||
dex
|
||||
bpl .2
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
|
|
@ -73,9 +73,8 @@ CS.RUN >INC.G ArgIndex
|
|||
dex
|
||||
bpl .2
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
@ -289,13 +288,13 @@ CS.END
|
|||
OptionList .AS "CRcr"
|
||||
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : CHOWN username [File *,? wildcards allowed]\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.DIR .AZ "Dir :%s..."
|
||||
MSG.FILE .AZ "File:%s..."
|
||||
MSG.USAGE .CS "Usage : CHOWN username [File *,? wildcards allowed]\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.DIR .CZ "Dir :%s..."
|
||||
MSG.FILE .CZ "File:%s..."
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -56,14 +56,14 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
*--------------------------------------
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.FILE .DA MSG.FILE
|
||||
L.MSG.OK .DA MSG.OK
|
||||
L.MSG.ERR .DA MSG.ERR
|
||||
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
||||
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT clc
|
||||
|
@ -79,7 +79,7 @@ CS.RUN inc ArgIndex
|
|||
cmp #'-'
|
||||
bne .4
|
||||
|
||||
ldy #1
|
||||
ldy #1
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldx #OptionVars-OptionList-1
|
||||
|
@ -89,9 +89,8 @@ CS.RUN inc ArgIndex
|
|||
dex
|
||||
bne .2
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.99 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
@ -103,7 +102,7 @@ CS.RUN inc ArgIndex
|
|||
*--------------------------------------
|
||||
.4 lda HexFileType
|
||||
bne .5
|
||||
|
||||
|
||||
jsr GetHexFileType
|
||||
bcs .99
|
||||
bra CS.RUN
|
||||
|
@ -121,7 +120,7 @@ CS.RUN inc ArgIndex
|
|||
|
||||
lda HexFileType
|
||||
beq .99 we also have a TYPE
|
||||
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .99
|
||||
|
@ -181,12 +180,12 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
*--------------------------------------
|
||||
CS.RUN.NEXT jsr GetNextEntry
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
|
||||
CS.RUN.LEAVE jsr LeaveSubDir
|
||||
bcs .90
|
||||
|
||||
jsr BasePath..
|
||||
|
||||
|
||||
jmp CS.RUN.NEXT
|
||||
|
||||
.90 lda #0
|
||||
|
@ -199,20 +198,20 @@ CS.RUN.DIR bit bRecurse
|
|||
lda (ZPFileName)
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
ldy #1
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
iny
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
.1 jsr CS.RUN.GetFilePath
|
||||
|
||||
|
||||
>LDYA ZPFileName
|
||||
jmp EnterSubDirYA
|
||||
|
||||
|
@ -221,15 +220,15 @@ CS.RUN.DIR bit bRecurse
|
|||
*--------------------------------------
|
||||
CS.RUN.FILE jsr FilterMatch
|
||||
bcs .8 no match, skip....
|
||||
|
||||
|
||||
jsr CS.RUN.GetFilePath
|
||||
|
||||
|
||||
>PUSHW L.MSG.FILE
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHW ZPFullPath
|
||||
|
||||
>PUSHB HexFileType
|
||||
|
@ -314,7 +313,7 @@ GetHexFileType ldy #$ff
|
|||
asl
|
||||
asl
|
||||
sta HexFileType
|
||||
|
||||
|
||||
iny
|
||||
lda (ZPPtr1),y
|
||||
jsr IsDigit16
|
||||
|
@ -356,7 +355,7 @@ GetHexFileType ldy #$ff
|
|||
adc #3
|
||||
sta ZPPtr2
|
||||
bcc .6
|
||||
|
||||
|
||||
inc ZPPtr2+1
|
||||
|
||||
.6 inx
|
||||
|
@ -403,13 +402,13 @@ CS.END
|
|||
OptionList .AS "CRcr"
|
||||
OptionVars .DA #bContinue,#bRecurse,#bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : CHTYP type [File *,? wildcards allowed]\r\n"
|
||||
.AS " type : 0xx (Hexadecimal byte),SYS,TXT...\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.FILE .AZ "CHTYP File:%S..."
|
||||
MSG.USAGE .CS "Usage : CHTYP type [File *,? wildcards allowed]\r\n"
|
||||
.CS " type : 0xx (Hexadecimal byte),SYS,TXT...\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.FILE .CZ "CHTYP File:%S..."
|
||||
*--------------------------------------
|
||||
PRODOS.FT.HEX .HS 0406FAFCFDCBCCCFFF
|
||||
PRODOS.FT.TXT .AS "TXT"
|
||||
|
@ -419,7 +418,7 @@ PRODOS.FT.TXT .AS "TXT"
|
|||
.AS "VAR"
|
||||
.AS "PIX"
|
||||
.AS "FON"
|
||||
.AS "PAK"
|
||||
.AS "PAK"
|
||||
.AS "SYS"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
|
|
@ -77,9 +77,8 @@ CS.RUN
|
|||
jsr CS.RUN.CheckOpt
|
||||
bcc .1
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.99 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.9 rts
|
||||
|
@ -333,10 +332,10 @@ CS.END
|
|||
OptionList .AS "AaVv"
|
||||
OptionVars .DA #bAll,#bAll,#bVerbose,#bVerbose
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : CMP File1 File2 [SKIP1 [SKIP2]]\r\n"
|
||||
.AS " -A : Shows All differences\r\n"
|
||||
.AZ " -V : Verbose Mode\r\n"
|
||||
MSG.DIFF .AZ "%H%h:%h %h\r\n"
|
||||
MSG.USAGE .CS "Usage : CMP File1 File2 [SKIP1 [SKIP2]]\r\n"
|
||||
.CS " -A : Shows All differences\r\n"
|
||||
.CZ " -V : Verbose Mode\r\n"
|
||||
MSG.DIFF .CZ "%H%h:%h %h\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -162,7 +162,7 @@ CSH.Run.1 cmp #C.CR empty line....
|
|||
lda ZPVarQual
|
||||
bit #CSH.Q.FUNC
|
||||
bne .21
|
||||
|
||||
|
||||
jsr CSH.GetCharNB
|
||||
bcs .99
|
||||
|
||||
|
@ -215,8 +215,8 @@ CSH.Run.1 cmp #C.CR empty line....
|
|||
lda #0
|
||||
jsr CSH.fExec
|
||||
bcs .9
|
||||
|
||||
bra .8
|
||||
|
||||
bra .8
|
||||
*--------------------------------------
|
||||
.60 jsr CSH.GetCharNB
|
||||
bcs .9
|
||||
|
@ -244,7 +244,7 @@ CSH.Run.1 cmp #C.CR empty line....
|
|||
*--------------------------------------
|
||||
.7 ldy #0 no return value type check required
|
||||
lda #0
|
||||
|
||||
|
||||
jsr CSH.fCall Y,A = Type/Qual
|
||||
bcs .9
|
||||
|
||||
|
@ -365,7 +365,7 @@ CSH.MainExec lda #0
|
|||
|
||||
ldy #S.PS.ARGC
|
||||
lda (pPS),y
|
||||
|
||||
|
||||
>PUSHA push int ARGC
|
||||
|
||||
>PUSHW ZPCSHConst push int ARGV
|
||||
|
@ -375,28 +375,28 @@ CSH.MainExec lda #0
|
|||
.1 lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
bcs .2
|
||||
|
||||
|
||||
inc ArgIndex
|
||||
|
||||
|
||||
pha
|
||||
tya
|
||||
|
||||
|
||||
sta (ZPCSHConst)
|
||||
pla
|
||||
|
||||
|
||||
ldy #1
|
||||
sta (ZPCSHConst),y
|
||||
|
||||
|
||||
lda ZPCSHConst
|
||||
* clc
|
||||
adc #2
|
||||
sta ZPCSHConst
|
||||
bcc .1
|
||||
|
||||
|
||||
inc ZPCSHConst+1
|
||||
bra .1
|
||||
|
||||
.2
|
||||
|
||||
.2
|
||||
*--------------------------------------
|
||||
CSH.ZPPtr1GetNextW
|
||||
jsr CSH.ZPPtr1NextW
|
||||
|
@ -463,18 +463,18 @@ CSH.AddSymbol >LDA.G CSH.hSymbols
|
|||
|
||||
jsr CSH.GetCharNB
|
||||
bcs .8
|
||||
|
||||
|
||||
cmp #'('
|
||||
beq .7
|
||||
|
||||
lda ZPVarQual
|
||||
and #CSH.Q.FUNC
|
||||
beq .8
|
||||
|
||||
|
||||
lda #E.CSYN
|
||||
sec
|
||||
rts
|
||||
|
||||
rts
|
||||
|
||||
.7 lda #CSH.Q.FUNC
|
||||
tsb ZPVarQual
|
||||
|
||||
|
@ -483,7 +483,7 @@ CSH.AddSymbol >LDA.G CSH.hSymbols
|
|||
|
||||
lda ZPCSHfDecl+1
|
||||
sta ZPVarDefPtr+1
|
||||
|
||||
|
||||
.8 >PUSHB.G CSH.hSymbols
|
||||
>PUSHW ZPVarID
|
||||
>PUSHWI ZPVarDef
|
||||
|
@ -516,7 +516,7 @@ CSH.fExec ldx ZPPtr1
|
|||
>STYA ZPPtr1
|
||||
|
||||
stz ZPPtr3 Reset VARIADIC byte count
|
||||
|
||||
|
||||
jsr CSH.GetNextCharNB skip '('
|
||||
bcs .10
|
||||
|
||||
|
@ -644,10 +644,10 @@ CSH.fDecl >ENTER 2
|
|||
bcs .99
|
||||
|
||||
pha
|
||||
|
||||
|
||||
tya
|
||||
jsr CSH.fDeclAddA
|
||||
|
||||
|
||||
pla
|
||||
jsr CSH.fDeclAddA
|
||||
|
||||
|
@ -656,16 +656,16 @@ CSH.fDecl >ENTER 2
|
|||
|
||||
jsr CSH.IsLetter
|
||||
bcs .5
|
||||
|
||||
* TODO: AddLocal
|
||||
|
||||
|
||||
* TODO: AddLocal
|
||||
|
||||
.3 jsr CSH.GetNextCharNB
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr CSH.IsLetterOrDigit
|
||||
bcc .3
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.5 cmp #')'
|
||||
beq .6
|
||||
|
@ -780,12 +780,13 @@ CSH.tDecl >ENTER 2
|
|||
*--------------------------------------
|
||||
CSH.NewKey >PUSHA
|
||||
>PUSHW ZPInputBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .9
|
||||
|
||||
pha
|
||||
phy
|
||||
|
||||
|
||||
txa
|
||||
* clc
|
||||
adc ZPInputBufPtr
|
||||
|
@ -806,7 +807,7 @@ CSH.SetVarValue cpy ZPVarType
|
|||
|
||||
cmp ZPVarQual
|
||||
bne .99
|
||||
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 lda (pStack)
|
||||
|
@ -855,6 +856,7 @@ CSH.GetDefine >PUSHB.G CSH.hDefines
|
|||
CSH.GetVar >PUSHB.G CSH.hSymbols
|
||||
|
||||
CSH.Get >PUSHW ZPInputBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
|
|
|
@ -259,12 +259,13 @@ CSH.GetNumOnStack
|
|||
CSH.VarLookup >PUSHB.G CSH.hSymbols
|
||||
|
||||
>PUSHW ZPInputBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
phy
|
||||
pha
|
||||
|
||||
|
||||
txa
|
||||
* clc
|
||||
adc ZPInputBufPtr
|
||||
|
@ -304,13 +305,13 @@ CSH.GetValue lda ZPPtr2 target type
|
|||
.9 lda #E.TMISMATCH
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
.1 >LDA.G CSH.VarDef Type
|
||||
sta ZPPtr2
|
||||
iny
|
||||
lda (pData),y
|
||||
sta ZPPtr2+1
|
||||
|
||||
|
||||
.2 lda ZPPtr3
|
||||
pha
|
||||
lda ZPPtr3+1
|
||||
|
@ -324,13 +325,13 @@ CSH.GetValue lda ZPPtr2 target type
|
|||
|
||||
ldx ZPPtr2
|
||||
ldy CSH.TYPESIZE-1,x
|
||||
|
||||
|
||||
.3 dey
|
||||
lda (ZPPtr3),y
|
||||
>PUSHA
|
||||
tya
|
||||
bne .3
|
||||
|
||||
|
||||
pla
|
||||
sta ZPPtr3+1
|
||||
pla
|
||||
|
@ -375,7 +376,7 @@ CSH.fCall ldx ZPPtr1
|
|||
|
||||
cmp #'('
|
||||
bne .52
|
||||
|
||||
|
||||
jsr CSH.GetNextCharNB skip '('
|
||||
|
||||
bcs .10
|
||||
|
|
|
@ -75,9 +75,8 @@ CS.RUN.IPOK ldy #S.PS.ARGC
|
|||
.1 cmp #2
|
||||
beq CS.RUN.ADD
|
||||
|
||||
>PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
>LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
|
||||
lda #E.SYN
|
||||
sec
|
||||
|
@ -188,15 +187,16 @@ CS.QUIT lda hLIBTCPIP
|
|||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
SSCANF.IP .AZ "%d.%d.%d.%d"
|
||||
MSG0 .AZ "Status TR.ID Hostname IP Address TTL"
|
||||
MSG1 .AZ "%7s $%H %32s %03d.%03d.%03d.%03d %u\r\n"
|
||||
MSG1.S .AZ "Static"
|
||||
MSG1.P .AZ "Pending"
|
||||
MSG1.D .AZ "Dynamic"
|
||||
MSG.USAGE .AS "Usage : Add a static entry, DNSINFO <host> <IP>\r\n"
|
||||
.AZ " Dump DNS Cache, DNSINFO\r\n"
|
||||
*--------------------------------------
|
||||
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
|
||||
MSG0 .CZ "Status TR.ID Hostname IP Address TTL"
|
||||
MSG1 .CZ "%7s $%H %32s %03d.%03d.%03d.%03d %u\r\n"
|
||||
MSG1.S .CZ "Static"
|
||||
MSG1.P .CZ "Pending"
|
||||
MSG1.D .CZ "Dynamic"
|
||||
MSG.USAGE .CS "Usage : Add a static entry, DNSINFO <host> <IP>\r\n"
|
||||
.CZ " Dump DNS Cache, DNSINFO\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
758
BIN/DU.S.txt
758
BIN/DU.S.txt
|
@ -1,462 +1,464 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/du
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/du
|
||||
*--------------------------------------
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/kernel.i
|
||||
.INB inc/mli.i
|
||||
.INB inc/mli.e.i
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/kernel.i
|
||||
.INB inc/mli.i
|
||||
.INB inc/mli.e.i
|
||||
*--------------------------------------
|
||||
X.ENTER.SUBDIR .EQ 1
|
||||
X.COPY.TO.DEST .EQ 0
|
||||
X.DELETE.SOURCE .EQ 0
|
||||
X.ENTER.SUBDIR .EQ 1
|
||||
X.COPY.TO.DEST .EQ 0
|
||||
X.DELETE.SOURCE .EQ 0
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPPtr1 .BS 2
|
||||
ZPPtr2 .BS 2
|
||||
ZPFileName .BS 2
|
||||
ZPFileStat .BS 2
|
||||
ZPPW .BS 2
|
||||
hLineBuf .BS 1
|
||||
ZPLineBuf .BS 2
|
||||
bPass2 .BS 1
|
||||
bDirLevel .BS 1
|
||||
bIsTTY .BS 1
|
||||
ZPPtr1 .BS 2
|
||||
ZPPtr2 .BS 2
|
||||
ZPFileName .BS 2
|
||||
ZPFileStat .BS 2
|
||||
ZPPW .BS 2
|
||||
hLineBuf .BS 1
|
||||
ZPLineBuf .BS 2
|
||||
bPass2 .BS 1
|
||||
bDirLevel .BS 1
|
||||
bIsTTY .BS 1
|
||||
ZS.END
|
||||
.ED
|
||||
.ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA #0 S.PS.F.EVENT
|
||||
.DA #0
|
||||
.DA CS.END-CS.START Code Size (without Constants)
|
||||
.DA DS.END-DS.START Data SegmentSize
|
||||
.DA #64 Stack Size
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA #0 S.PS.F.EVENT
|
||||
.DA #0
|
||||
.DA CS.END-CS.START Code Size (without Constants)
|
||||
.DA DS.END-DS.START Data SegmentSize
|
||||
.DA #64 Stack Size
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.REG1 .DA MSG.REG1
|
||||
L.MSG.REG2 .DA MSG.REG2
|
||||
L.MSG.DIRSUMM .DA MSG.DIRSUMM
|
||||
L.MSG.BDEV .DA MSG.BDEV
|
||||
L.MSG.BDEVEXT .DA MSG.BDEVEXT
|
||||
L.MSG.CWD .DA MSG.CWD
|
||||
J.CS.RUN.PRINT .DA CS.RUN.PRINT.REG
|
||||
.DA CS.RUN.PRINT.DIR
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.BDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA 0
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.REG1 .DA MSG.REG1
|
||||
L.MSG.REG2 .DA MSG.REG2
|
||||
L.MSG.DIRSUMM .DA MSG.DIRSUMM
|
||||
L.MSG.BDEV .DA MSG.BDEV
|
||||
L.MSG.BDEVEXT .DA MSG.BDEVEXT
|
||||
L.MSG.CWD .DA MSG.CWD
|
||||
J.CS.RUN.PRINT .DA CS.RUN.PRINT.REG
|
||||
.DA CS.RUN.PRINT.DIR
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.BDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA CS.RUN.PRINT.CDEV
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT clc
|
||||
rts
|
||||
CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN
|
||||
stz bIsTTY
|
||||
jsr CS.RUN.ISATTY
|
||||
CS.RUN stz bIsTTY
|
||||
jsr CS.RUN.ISATTY
|
||||
|
||||
.1 stz bDirLevel
|
||||
>INC.G ArgCount
|
||||
>SYSCALL ArgV
|
||||
bcs .6
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
ldy #1
|
||||
lda (ZPPtr1),y
|
||||
.1 stz bDirLevel
|
||||
>INC.G ArgCount
|
||||
>SYSCALL ArgV
|
||||
bcs .6
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
ldy #1
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldx #OptionVars-OptionList-1
|
||||
ldx #OptionVars-OptionList-1
|
||||
|
||||
.2 cmp OptionList,x
|
||||
beq .3
|
||||
dex
|
||||
bpl .2
|
||||
.2 cmp OptionList,x
|
||||
beq .3
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
>PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
>PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.3 ldy OptionVars,x
|
||||
lda #$80
|
||||
sta (pData),y
|
||||
bra .1
|
||||
.4 >LDYA ZPPtr1
|
||||
jsr InitSrcDirYA
|
||||
bcc .1 scan for any other args
|
||||
.9 rts
|
||||
.6 >LDA.G index do we have a Source dir ?
|
||||
bne .8
|
||||
ldy #S.PS.hCWD
|
||||
lda (pPS),y
|
||||
>SYSCALL GetMemPtr
|
||||
jsr InitSrcDirYA
|
||||
bcs .9
|
||||
.3 ldy OptionVars,x
|
||||
lda #$80
|
||||
sta (pData),y
|
||||
bra .1
|
||||
.4 >LDYA ZPPtr1
|
||||
jsr InitSrcDirYA
|
||||
bcc .1 scan for any other args
|
||||
.9 rts
|
||||
.6 >LDA.G index do we have a Source dir ?
|
||||
bne .8
|
||||
ldy #S.PS.hCWD
|
||||
lda (pPS),y
|
||||
>SYSCALL GetMemPtr
|
||||
jsr InitSrcDirYA
|
||||
bcs .9
|
||||
|
||||
.8 >PUSHEA.G TIME.SysTime
|
||||
>SYSCALL Time
|
||||
.8 >PUSHEA.G TIME.SysTime
|
||||
>SYSCALL Time
|
||||
|
||||
>LDYAI S.PW
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
>STYA ZPPW
|
||||
txa
|
||||
>STA.G hPW
|
||||
>LDYAI S.PW
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
>STYA ZPPW
|
||||
txa
|
||||
>STA.G hPW
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
>STYA ZPLineBuf
|
||||
stx hLineBuf
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
>STYA ZPLineBuf
|
||||
stx hLineBuf
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP
|
||||
stz bPass2
|
||||
CS.RUN.LOOP stz bPass2
|
||||
|
||||
.1 ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
>SYSCALL FEOF
|
||||
bcc .2
|
||||
rts I/O error
|
||||
.1 ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
>SYSCALL FEOF
|
||||
bcc .2
|
||||
rts I/O error
|
||||
|
||||
.2 tay
|
||||
bne .3 no char
|
||||
.2 tay
|
||||
bne .3 no char
|
||||
|
||||
>SYSCALL GetChar
|
||||
cmp #$03 Ctrl-C
|
||||
beq .99 Abort....
|
||||
>SYSCALL GetChar
|
||||
cmp #$03 Ctrl-C
|
||||
beq .99 Abort....
|
||||
|
||||
cmp #$13 Ctrl-S
|
||||
bne .3
|
||||
cmp #$13 Ctrl-S
|
||||
bne .3
|
||||
|
||||
>LDA.G bPause
|
||||
eor #$ff
|
||||
sta (pData),y
|
||||
bne .1
|
||||
>LDA.G bPause
|
||||
eor #$ff
|
||||
sta (pData),y
|
||||
bne .1
|
||||
|
||||
.3 >LDA.G bPause
|
||||
bne .1
|
||||
.3 >LDA.G bPause
|
||||
bne .1
|
||||
|
||||
jsr GetEntry First entry
|
||||
bcs .9
|
||||
jsr GetEntry First entry
|
||||
bcs .9
|
||||
|
||||
jsr FilterMatch Filter filename
|
||||
bcs .8 no match, skip....
|
||||
jsr FilterMatch Filter filename
|
||||
bcs .8 no match, skip....
|
||||
|
||||
lda (ZPFileName)
|
||||
cmp #'.'
|
||||
beq .8
|
||||
lda (ZPFileName)
|
||||
cmp #'.'
|
||||
beq .8
|
||||
|
||||
.4 ldy #S.STAT.MODE+1
|
||||
lda (ZPFileStat),y
|
||||
.4 ldy #S.STAT.MODE+1
|
||||
lda (ZPFileStat),y
|
||||
|
||||
and #$70
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tax
|
||||
jsr CS.RUN.PRINT.JMP
|
||||
bcs .99
|
||||
and #$70
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tax
|
||||
jsr CS.RUN.PRINT.JMP
|
||||
bcs .99
|
||||
|
||||
.8 jsr GetNextEntry Next entry
|
||||
bcc .1 If there is one, go again
|
||||
.8 jsr GetNextEntry Next entry
|
||||
bcc .1 If there is one, go again
|
||||
|
||||
bit bPass2
|
||||
bmi .9
|
||||
bit bPass2
|
||||
bmi .9
|
||||
|
||||
jsr ResetSrcDir
|
||||
bcs .99
|
||||
jsr ResetSrcDir
|
||||
bcs .99
|
||||
|
||||
dec bPass2
|
||||
bra .1
|
||||
dec bPass2
|
||||
bra .1
|
||||
|
||||
.9 >LDA.G bSummary
|
||||
bne .91
|
||||
.9 >LDA.G bSummary
|
||||
bne .91
|
||||
|
||||
jsr CS.RUN.PrintDirSumm
|
||||
jsr CS.RUN.PrintCwd
|
||||
jsr CS.RUN.NewLine
|
||||
jsr CS.RUN.PrintDirSumm
|
||||
jsr CS.RUN.PrintCwd
|
||||
jsr CS.RUN.NewLine
|
||||
|
||||
.91 dec bDirLevel
|
||||
jsr LeaveSubDir "cd .."
|
||||
bcs .97 This means we are done
|
||||
.91 dec bDirLevel
|
||||
jsr LeaveSubDir "cd .."
|
||||
bcs .97 This means we are done
|
||||
|
||||
jsr BasePath.. Prune pathname
|
||||
jsr BasePath.. Prune pathname
|
||||
|
||||
jsr GetNextEntry Get next entry
|
||||
jmp CS.RUN.LOOP Go again
|
||||
jsr GetNextEntry Get next entry
|
||||
jmp CS.RUN.LOOP Go again
|
||||
|
||||
.97 >LDA.G bSummary
|
||||
beq .98
|
||||
inc bDirLevel
|
||||
jsr CS.RUN.PrintDirSumm
|
||||
jsr CS.RUN.PrintCwd
|
||||
jsr CS.RUN.NewLine
|
||||
.98 lda #0
|
||||
sec
|
||||
.99 rts
|
||||
.97 >LDA.G bSummary
|
||||
beq .98
|
||||
inc bDirLevel
|
||||
jsr CS.RUN.PrintDirSumm
|
||||
jsr CS.RUN.PrintCwd
|
||||
jsr CS.RUN.NewLine
|
||||
.98 lda #0
|
||||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PRINT.JMP
|
||||
jmp (J.CS.RUN.PRINT,x)
|
||||
jmp (J.CS.RUN.PRINT,x)
|
||||
*--------------------------------------
|
||||
CS.RUN.PRINT.REG bit bPass2
|
||||
bmi .1
|
||||
clc
|
||||
rts
|
||||
CS.RUN.PRINT.REG
|
||||
bit bPass2
|
||||
bmi .1
|
||||
clc
|
||||
rts
|
||||
|
||||
.1 ldx bDirLevel X is loop ctr bDirLevel..0
|
||||
.2 >LEA.G BlkCounters
|
||||
>STYA ZPPtr1
|
||||
ldy #S.STAT.BLOCKS+3 Read 32-bit number of blocks
|
||||
lda (ZPFileStat),y
|
||||
pha And push to stack
|
||||
dey
|
||||
lda (ZPFileStat),y
|
||||
pha
|
||||
dey
|
||||
lda (ZPFileStat),y
|
||||
pha
|
||||
dey
|
||||
lda (ZPFileStat),y
|
||||
pha
|
||||
txa Get loop counter
|
||||
asl x2
|
||||
asl x2 again
|
||||
tay
|
||||
pla Do 32-bit add
|
||||
clc
|
||||
adc (ZPPtr1),y LSB
|
||||
sta (ZPPtr1),y
|
||||
pla
|
||||
iny
|
||||
adc (ZPPtr1),y
|
||||
sta (ZPPtr1),y
|
||||
pla
|
||||
iny
|
||||
adc (ZPPtr1),y
|
||||
sta (ZPPtr1),y
|
||||
pla
|
||||
iny
|
||||
adc (ZPPtr1),y MSB
|
||||
sta (ZPPtr1),y
|
||||
dex Decrement loop counter
|
||||
cpx #$ff Stop if -1
|
||||
bne .2
|
||||
.1 ldx bDirLevel X is loop ctr bDirLevel..0
|
||||
.2 >LEA.G BlkCounters
|
||||
>STYA ZPPtr1
|
||||
ldy #S.STAT.BLOCKS+3 Read 32-bit number of blocks
|
||||
lda (ZPFileStat),y
|
||||
pha And push to stack
|
||||
dey
|
||||
lda (ZPFileStat),y
|
||||
pha
|
||||
dey
|
||||
lda (ZPFileStat),y
|
||||
pha
|
||||
dey
|
||||
lda (ZPFileStat),y
|
||||
pha
|
||||
txa Get loop counter
|
||||
asl x2
|
||||
asl x2 again
|
||||
tay
|
||||
pla Do 32-bit add
|
||||
clc
|
||||
adc (ZPPtr1),y LSB
|
||||
sta (ZPPtr1),y
|
||||
pla
|
||||
iny
|
||||
adc (ZPPtr1),y
|
||||
sta (ZPPtr1),y
|
||||
pla
|
||||
iny
|
||||
adc (ZPPtr1),y
|
||||
sta (ZPPtr1),y
|
||||
pla
|
||||
iny
|
||||
adc (ZPPtr1),y MSB
|
||||
sta (ZPPtr1),y
|
||||
dex Decrement loop counter
|
||||
cpx #$ff Stop if -1
|
||||
bne .2
|
||||
|
||||
>LDA.G bAllFiles
|
||||
beq .8
|
||||
>LDA.G bAllFiles
|
||||
beq .8
|
||||
|
||||
>PUSHW L.MSG.REG1
|
||||
ldy #S.STAT.BLOCKS+3
|
||||
ldx #4
|
||||
.3 lda (ZPFileStat),y
|
||||
>PUSHA
|
||||
dey
|
||||
dex
|
||||
bne .3 (4)
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
jsr CS.RUN.PrintCwd
|
||||
>PUSHW L.MSG.REG2
|
||||
>PUSHW ZPFileName (2)
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
jmp CS.RUN.NewLine
|
||||
>PUSHW L.MSG.REG1
|
||||
ldy #S.STAT.BLOCKS+3
|
||||
ldx #4
|
||||
.3 lda (ZPFileStat),y
|
||||
>PUSHA
|
||||
dey
|
||||
dex
|
||||
bne .3 (4)
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
jsr CS.RUN.PrintCwd
|
||||
>PUSHW L.MSG.REG2
|
||||
>PUSHW ZPFileName (2)
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
jmp CS.RUN.NewLine
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PRINT.DIR bit bPass2
|
||||
bmi .8
|
||||
CS.RUN.PRINT.DIR
|
||||
bit bPass2
|
||||
bmi .8
|
||||
|
||||
lda (ZPFileName)
|
||||
cmp #'.'
|
||||
beq .8
|
||||
lda (ZPFileName)
|
||||
cmp #'.'
|
||||
beq .8
|
||||
|
||||
inc bDirLevel
|
||||
>LDYA ZPFileName
|
||||
jmp EnterSubDirYA
|
||||
inc bDirLevel
|
||||
>LDYA ZPFileName
|
||||
jmp EnterSubDirYA
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PRINT.CDEV clc
|
||||
rts
|
||||
CS.RUN.PRINT.CDEV
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PRINT.BDEV bit bPass2
|
||||
bmi .8
|
||||
CS.RUN.PRINT.BDEV
|
||||
bit bPass2
|
||||
bmi .8
|
||||
|
||||
>PUSHW L.MSG.BDEVEXT
|
||||
>PUSHW ZPFileName
|
||||
>PUSHW L.MSG.BDEVEXT
|
||||
>PUSHW ZPFileName
|
||||
|
||||
ldy #S.STAT.P.SLOT
|
||||
>PUSHB (ZPFileStat),y
|
||||
iny DRIVE
|
||||
>PUSHB (ZPFileStat),y
|
||||
ldy #S.STAT.BLOCKS+1
|
||||
>PUSHB (ZPFileStat),y
|
||||
dey
|
||||
>PUSHB (ZPFileStat),y
|
||||
ldy #S.STAT.P.DEVBLOCKS+1
|
||||
>PUSHB (ZPFileStat),y
|
||||
dey
|
||||
>PUSHB (ZPFileStat),y
|
||||
ldy #S.STAT.P.SLOT
|
||||
>PUSHB (ZPFileStat),y
|
||||
iny DRIVE
|
||||
>PUSHB (ZPFileStat),y
|
||||
ldy #S.STAT.BLOCKS+1
|
||||
>PUSHB (ZPFileStat),y
|
||||
dey
|
||||
>PUSHB (ZPFileStat),y
|
||||
ldy #S.STAT.P.DEVBLOCKS+1
|
||||
>PUSHB (ZPFileStat),y
|
||||
dey
|
||||
>PUSHB (ZPFileStat),y
|
||||
|
||||
>PUSHBI 8
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
>PUSHBI 8
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
|
||||
jsr CS.RUN.NewLine
|
||||
bcs .9
|
||||
jsr CS.RUN.NewLine
|
||||
bcs .9
|
||||
|
||||
inc bDirLevel
|
||||
inc bDirLevel
|
||||
|
||||
>LDYA ZPFileName
|
||||
jsr EnterSubDirYA
|
||||
bcs .9
|
||||
>LDYA ZPFileName
|
||||
jsr EnterSubDirYA
|
||||
bcs .9
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PrintDirSumm >LEA.G BlkCounters
|
||||
>STYA ZPPtr1
|
||||
lda bDirLevel
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
lda #$00
|
||||
adc ZPPtr1+1
|
||||
sta ZPPtr1+1
|
||||
>PUSHW L.MSG.DIRSUMM
|
||||
ldy #$03
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
CS.RUN.PrintDirSumm
|
||||
>LEA.G BlkCounters
|
||||
>STYA ZPPtr1
|
||||
lda bDirLevel
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc ZPPtr1
|
||||
sta ZPPtr1
|
||||
lda #$00
|
||||
adc ZPPtr1+1
|
||||
sta ZPPtr1+1
|
||||
>PUSHW L.MSG.DIRSUMM
|
||||
ldy #$03
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPtr1),y
|
||||
>PUSHA
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
|
||||
ldy #$03
|
||||
lda #$00
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
sta (ZPPtr1),y
|
||||
ldy #$03
|
||||
lda #$00
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
sta (ZPPtr1),y
|
||||
|
||||
rts
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PrintCwd >PUSHW L.MSG.CWD
|
||||
ldy #hSrcBasePath
|
||||
lda (pData),y
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
rts
|
||||
CS.RUN.PrintCwd >PUSHW L.MSG.CWD
|
||||
ldy #hSrcBasePath
|
||||
lda (pData),y
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.NewLine lda #C.CR
|
||||
>SYSCALL PutChar
|
||||
lda bIsTTY
|
||||
beq .9
|
||||
lda #C.LF
|
||||
>SYSCALL PutChar
|
||||
.9 rts
|
||||
CS.RUN.NewLine lda #C.CR
|
||||
>SYSCALL PutChar
|
||||
lda bIsTTY
|
||||
beq .9
|
||||
lda #C.LF
|
||||
>SYSCALL PutChar
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.ISATTY ldy #S.PS.hStdOut
|
||||
lda (pPS),y
|
||||
tax
|
||||
lda hFDs-1,x
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
beq .9
|
||||
inc bIsTTY
|
||||
.9 rts
|
||||
CS.RUN.ISATTY ldy #S.PS.hStdOut
|
||||
lda (pPS),y
|
||||
tax
|
||||
lda hFDs-1,x
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
beq .9
|
||||
inc bIsTTY
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT jsr LeaveSubDir
|
||||
bcc CS.QUIT
|
||||
>LDA.G hFilter
|
||||
beq .3
|
||||
>SYSCALL FreeMem
|
||||
.3 >LDA.G hPW
|
||||
beq .4
|
||||
>SYSCALL FreeMem
|
||||
.4 lda hLineBuf
|
||||
beq .8
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
CS.QUIT jsr LeaveSubDir
|
||||
bcc CS.QUIT
|
||||
>LDA.G hFilter
|
||||
beq .3
|
||||
>SYSCALL FreeMem
|
||||
.3 >LDA.G hPW
|
||||
beq .4
|
||||
>SYSCALL FreeMem
|
||||
.4 lda hLineBuf
|
||||
beq .8
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.fileenum.s
|
||||
.INB usr/src/shared/x.fileenum.s
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
OptionList .AS "SAsa"
|
||||
OptionVars .DA #bSummary,#bAllFiles,#bSummary,#bAllFiles
|
||||
OptionList .AS "SAsa"
|
||||
OptionVars .DA #bSummary,#bAllFiles,#bSummary,#bAllFiles
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : DU [-A] [-S] [filespec]\r\n"
|
||||
.AS " -A : Show all files (not only directories)\r\n"
|
||||
.AZ " -S : Show only summary\r\n"
|
||||
MSG.REG1 .AZ "%5u "
|
||||
MSG.REG2 .AZ "%s"
|
||||
MSG.CWD .AZ "%s"
|
||||
MSG.DIRSUMM .AZ "%5u "
|
||||
MSG.BDEVEXT .AZ "/%15s s%dd%d Blocks Used:%5D Total:%5D"
|
||||
MSG.BDEV .AZ "\e[32m%s/\e[0m"
|
||||
MSG.USAGE .CS "Usage : DU [-A] [-S] [filespec]\r\n"
|
||||
.CS " -A : Show all files (not only directories)\r\n"
|
||||
.CZ " -S : Show only summary\r\n"
|
||||
MSG.REG1 .CZ "%5u "
|
||||
MSG.REG2 .CZ "%s"
|
||||
MSG.CWD .CZ "%s"
|
||||
MSG.DIRSUMM .CZ "%5u "
|
||||
MSG.BDEVEXT .CZ "/%15s s%dd%d Blocks Used:%5D Total:%5D"
|
||||
MSG.BDEV .CZ "\e[32m%s/\e[0m"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
ArgCount .BS 1
|
||||
TIME.SysTime .BS S.TIME
|
||||
bPause .BS 1
|
||||
bSummary .BS 1
|
||||
bAllFiles .BS 1
|
||||
hPW .BS 1
|
||||
BlkCounters .BS 64 Array of 32 bit integers, size 16
|
||||
.INB usr/src/shared/x.fileenum.g
|
||||
DS.END .ED
|
||||
ArgCount .BS 1
|
||||
TIME.SysTime .BS S.TIME
|
||||
bPause .BS 1
|
||||
bSummary .BS 1
|
||||
bAllFiles .BS 1
|
||||
hPW .BS 1
|
||||
BlkCounters .BS 64 Array of 32 bit integers, size 16
|
||||
.INB usr/src/shared/x.fileenum.g
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/du.s
|
||||
|
|
|
@ -133,12 +133,10 @@ CS.RUN ldy #S.PS.ARGC
|
|||
>STYA BlkCnt
|
||||
bra .1
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE1
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
>PUSHW L.MSG.USAGE2
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.99 >LDYA L.MSG.USAGE1
|
||||
>SYSCALL PutS
|
||||
>LDYA L.MSG.USAGE2
|
||||
>SYSCALL Puts
|
||||
lda #E.SYN
|
||||
sec
|
||||
.9 rts
|
||||
|
@ -654,9 +652,8 @@ CS.RUN.BuildCat jsr .7
|
|||
>PUSHB AltBB
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.WriteCat >PUSHW L.MSG.WRITECAT
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
CS.RUN.WriteCat >LDYA L.MSG.WRITECAT
|
||||
>SYSCALL PutS
|
||||
|
||||
>STZ.G IOCTL+S.IOCTL.BLKNUM
|
||||
iny
|
||||
|
@ -772,27 +769,27 @@ CS.END
|
|||
LIBBLKDEV .AZ "libblkdev"
|
||||
hLIBBLKDEV .BS 1
|
||||
*--------------------------------------
|
||||
MSG.USAGE1 .AS "Usage : FORMAT <BLOCKDEV> [VOL.NAME]\r\n"
|
||||
.AS " -L : Low-Level Format\r\n"
|
||||
.AS "-L -V : Verify After LLF\r\n"
|
||||
.AS " -B xxxx : Smrtprt, Override Device block size\r\n"
|
||||
.AZ " -1-9 : Catalog Size (Blocks)\r\n"
|
||||
MSG.USAGE2 .AS "------- ProDOS.FX only ------\r\n"
|
||||
.AS " -H : 35trk drives, High Density: 48 tracks, 384 Blocks\r\n"
|
||||
.AS " -X : 40trk drives, 320 Blocks\r\n"
|
||||
.AS "-H -X : 40trk drives, 432 Blocks\r\n"
|
||||
.AS " -D : Rana Elite II 640 Blocks, 2 Sides\r\n"
|
||||
.AZ "-H -D : Rana Elite III 1280 Blocks, 2 Sides\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AS "[%h]"
|
||||
MSG.CRLF .AZ "\r\n"
|
||||
MSG.NOSIZE .AZ "Unable to get media size."
|
||||
MSG.INIT .AZ "Formatting %s, Volname:%s\r\n"
|
||||
MSG.LL .AZ "Low Level Format %D Blks\r\n"
|
||||
MSG.LLDISK2 .AZ "\rWriting Head %d/Track %02d (%02d/%02d)..."
|
||||
MSG.VERIFY .AZ "\rVerifying Head %d/Track %02d/Block %d (%05D)..."
|
||||
MSG.WRITECAT .AZ "Writing Catalog..."
|
||||
FMT.BLANK .AZ "BLANK%H%H"
|
||||
MSG.USAGE1 .CS "Usage : FORMAT <BLOCKDEV> [VOL.NAME]\r\n"
|
||||
.CS " -L : Low-Level Format\r\n"
|
||||
.CS "-L -V : Verify After LLF\r\n"
|
||||
.CS " -B xxxx : Smrtprt, Override Device block size\r\n"
|
||||
.CZ " -1-9 : Catalog Size (Blocks)\r\n"
|
||||
MSG.USAGE2 .CS "------- ProDOS.FX only ------\r\n"
|
||||
.CS " -H : 35trk drives, High Density: 48 tracks, 384 Blocks\r\n"
|
||||
.CS " -X : 40trk drives, 320 Blocks\r\n"
|
||||
.CS "-H -X : 40trk drives, 432 Blocks\r\n"
|
||||
.CS " -D : Rana Elite II 640 Blocks, 2 Sides\r\n"
|
||||
.CZ "-H -D : Rana Elite III 1280 Blocks, 2 Sides\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CS "[%h]"
|
||||
MSG.CRLF .CZ "\r\n"
|
||||
MSG.NOSIZE .CZ "Unable to get media size."
|
||||
MSG.INIT .CZ "Formatting %s, Volname:%s\r\n"
|
||||
MSG.LL .CZ "Low Level Format %D Blks\r\n"
|
||||
MSG.LLDISK2 .CZ "\rWriting Head %d/Track %02d (%02d/%02d)..."
|
||||
MSG.VERIFY .CZ "\rVerifying Head %d/Track %02d/Block %d (%05D)..."
|
||||
MSG.WRITECAT .CZ "Writing Catalog..."
|
||||
FMT.BLANK .CZ "BLANK%H%H"
|
||||
*--------------------------------------
|
||||
OptionList .AS "LlBbHhXxDdVv"
|
||||
OptionVars .DA #bLL,#bLL,#bCustomBlkSize,#bCustomBlkSize
|
||||
|
|
|
@ -568,15 +568,15 @@ KW.EQ jsr CheckStackPop4
|
|||
lda (pStack),y
|
||||
eor (pStack)
|
||||
bne .1
|
||||
|
||||
|
||||
sec
|
||||
|
||||
.1 lda #0
|
||||
ror
|
||||
|
||||
|
||||
inc pStack
|
||||
inc pStack
|
||||
|
||||
|
||||
sta (pStack)
|
||||
|
||||
* clc
|
||||
|
@ -702,7 +702,7 @@ KW.PRINT >LDYAI 256
|
|||
sta (ZPPtr1),y
|
||||
eor #'"
|
||||
bne .1
|
||||
|
||||
|
||||
sec
|
||||
|
||||
.2 sta (ZPPtr1),y
|
||||
|
@ -740,19 +740,19 @@ KW.EXPECT >PULLW ZPPtr1 n
|
|||
|
||||
eor #$ff
|
||||
sta ZPPtr1+1
|
||||
|
||||
|
||||
lda ZPPtr1
|
||||
eor #$ff
|
||||
sta ZPPtr1
|
||||
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 inc ZPPtr1
|
||||
bne .2
|
||||
|
||||
|
||||
inc ZPPtr1+1
|
||||
beq .6
|
||||
|
||||
|
||||
.2 phy
|
||||
|
||||
>SYSCALL GetChar
|
||||
|
@ -760,7 +760,7 @@ KW.EXPECT >PULLW ZPPtr1 n
|
|||
ply
|
||||
cmp #C.CR
|
||||
beq .7
|
||||
|
||||
|
||||
phy
|
||||
pha
|
||||
>SYSCALL PutChar
|
||||
|
@ -770,13 +770,13 @@ KW.EXPECT >PULLW ZPPtr1 n
|
|||
sta (ZPAddrPtr),y
|
||||
|
||||
bra .1
|
||||
|
||||
|
||||
.6 tya
|
||||
beq .8
|
||||
|
||||
|
||||
sta (ZPAddrPtr)
|
||||
|
||||
.7 lda #0
|
||||
|
||||
.7 lda #0
|
||||
sta (ZPAddrPtr),y
|
||||
|
||||
.8 clc
|
||||
|
@ -787,7 +787,7 @@ KW.COUNT lda (pStack)
|
|||
sec
|
||||
adc #0
|
||||
sta (pStack)
|
||||
|
||||
|
||||
ldy #1
|
||||
lda (pStack),y
|
||||
sta ZPAddrPtr+1
|
||||
|
@ -806,32 +806,32 @@ KW.TYPE >PULLW ZPPtr1 n
|
|||
>PULLW ZPAddrPtr
|
||||
|
||||
ldy #$ff
|
||||
|
||||
|
||||
.1 iny
|
||||
lda (ZPAddrPtr),y
|
||||
bne .1
|
||||
|
||||
|
||||
cpy ZPPtr1
|
||||
bcs .8
|
||||
|
||||
|
||||
iny
|
||||
lda (ZPAddrPtr),y
|
||||
pha
|
||||
lda #0
|
||||
sta (ZPAddrPtr),y
|
||||
jsr .8
|
||||
|
||||
|
||||
pla
|
||||
sta (ZPAddrPtr),y
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.8 ldy #S.PS.hStdOut
|
||||
lda (pPS),y
|
||||
>PUSHA
|
||||
>PUSHW ZPAddrPtr
|
||||
>SYSCALL fputs
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -1081,7 +1081,7 @@ KM.VC sta ZPType
|
|||
|
||||
>PUSHB.G hSList
|
||||
>PUSHW ZPCLBufPtr
|
||||
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .9
|
||||
|
||||
|
@ -1124,7 +1124,7 @@ KM.VC sta ZPType
|
|||
*--------------------------------------
|
||||
KW.BCOLON >PUSHB.G hSList
|
||||
>PUSHW ZPCLBufPtr
|
||||
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .9
|
||||
|
||||
|
|
|
@ -539,7 +539,7 @@ CS.RUN.EXEC lda (ZPCLBufPtr)
|
|||
|
||||
bit bCompile
|
||||
bmi .3
|
||||
|
||||
|
||||
>PUSHW ZPAddrPtr CONSTANT,VARIABLE
|
||||
bra CS.RUN.EXEC
|
||||
|
||||
|
@ -548,7 +548,7 @@ CS.RUN.EXEC lda (ZPCLBufPtr)
|
|||
lda ZPAddrPtr
|
||||
jsr CP.Emit.PUSHBI
|
||||
bra CS.RUN.EXEC
|
||||
|
||||
|
||||
.4 bit bCompile
|
||||
bmi .40
|
||||
|
||||
|
@ -644,6 +644,7 @@ CS.RUN.FOpen.RTS
|
|||
CS.RUN.GetSymbol
|
||||
>PUSHB.G hSList
|
||||
>PUSHW ZPCLBufPtr
|
||||
>PUSHWI 0 ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs CS.RUN.FOpen.RTS
|
||||
|
||||
|
@ -708,7 +709,7 @@ CS.QUIT jsr GFX.Close
|
|||
|
||||
>LDA.G HIS.hBuf
|
||||
beq .10
|
||||
|
||||
|
||||
>SYSCALL FreeStkObj
|
||||
|
||||
.10 >LDA.G hSList
|
||||
|
@ -746,11 +747,11 @@ CS.QUIT jsr GFX.Close
|
|||
PrintDebugMsg lda pStack+1
|
||||
ldy pStack
|
||||
bne .1
|
||||
|
||||
|
||||
inc
|
||||
|
||||
|
||||
.1 pha
|
||||
|
||||
|
||||
>PUSHW L.MSG.DEBUG
|
||||
>PUSHW ZPCodePtr
|
||||
>PUSHW ZPDataPtr
|
||||
|
@ -910,27 +911,27 @@ CheckStackPop4 lda pStack
|
|||
CS.END
|
||||
*--------------------------------------
|
||||
DEV.GFX .AZ "/dev/gfx"
|
||||
MSG.GREETINGS .AZ "\e[?7h\r\nA2osX-FORTH %d.%d (FORTH-79)\r\n"
|
||||
MSG.HIS .AZ "\r\n%3d : %s"
|
||||
MSG.HISPROMPT .AZ "\r\n\r\n? "
|
||||
MSG.HISROMPTCLR .DA #C.BS,#C.BS,#0
|
||||
MSG.USAGE .AS "Usage : FORTH <option> file\r\n"
|
||||
.AS " -D : Debug Mode\r\n"
|
||||
.AS " -T : Trace On"
|
||||
MSG.ECHOCRLF .AZ "\r\n"
|
||||
MSG.DEBUG .AZ "(CODE:%H, DATA=%H, SP=%H, RP=%h)\r\n"
|
||||
MSG.TRACE .AZ "[%5D]%s\r\n"
|
||||
MSG.PROMPT .AZ "\e[?7h\r\n> " Enable Line Wrap
|
||||
MSG.PROMPTCRLF .AZ "\e[?7l\r\n" Disable Line Wrap
|
||||
MSG.OK .AZ "OK\r\n"
|
||||
MSG.DUMP2 .AZ "%s %s%D "
|
||||
MSG.CONST .AZ "Const V="
|
||||
MSG.VAR .AZ "Var @="
|
||||
MSG.CODE .AZ "Code @="
|
||||
FMT.Byte .AZ "%d "
|
||||
FMT.int16 .AZ "%I "
|
||||
FMT.uint16 .AZ "%D "
|
||||
FMT.int32 .AZ "%L "
|
||||
MSG.GREETINGS .CZ "\e[?7h\r\nA2osX-FORTH %d.%d (FORTH-79)\r\n"
|
||||
MSG.HIS .CZ "\r\n%3d : %s"
|
||||
MSG.HISPROMPT .CZ "\r\n\r\n? "
|
||||
MSG.HISROMPTCLR .CZ "\b \b"
|
||||
MSG.USAGE .CS "Usage : FORTH <option> file\r\n"
|
||||
.CS " -D : Debug Mode\r\n"
|
||||
.CS " -T : Trace On"
|
||||
MSG.ECHOCRLF .CZ "\r\n"
|
||||
MSG.DEBUG .CZ "(CODE:%H, DATA=%H, SP=%H, RP=%h)\r\n"
|
||||
MSG.TRACE .CZ "[%5D]%s\r\n"
|
||||
MSG.PROMPT .CZ "\e[?7h\r\n> " Enable Line Wrap
|
||||
MSG.PROMPTCRLF .CZ "\e[?7l\r\n" Disable Line Wrap
|
||||
MSG.OK .CZ "OK\r\n"
|
||||
MSG.DUMP2 .CZ "%s %s%D "
|
||||
MSG.CONST .CZ "Const V="
|
||||
MSG.VAR .CZ "Var @="
|
||||
MSG.CODE .CZ "Code @="
|
||||
FMT.Byte .CZ "%d "
|
||||
FMT.int16 .CZ "%I "
|
||||
FMT.uint16 .CZ "%D "
|
||||
FMT.int32 .CZ "%L "
|
||||
*--------------------------------------
|
||||
OptionList .AS "DdTt"
|
||||
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace
|
||||
|
@ -1076,9 +1077,9 @@ CODE.DO lda RP
|
|||
sbc #4
|
||||
sta RP
|
||||
tay
|
||||
|
||||
|
||||
ldx #4
|
||||
|
||||
|
||||
.1 >PULLA
|
||||
iny
|
||||
sta (pData),y
|
||||
|
@ -1088,14 +1089,14 @@ CODE.DO.L .EQ *-CODE.DO
|
|||
*--------------------------------------
|
||||
CODE.DOTEST ldy RP
|
||||
iny
|
||||
|
||||
|
||||
lda (pData),y I LO
|
||||
iny
|
||||
iny
|
||||
cmp (pData),y END LO
|
||||
|
||||
|
||||
dey
|
||||
|
||||
|
||||
lda (pData),y I HI
|
||||
iny
|
||||
iny
|
||||
|
@ -1107,7 +1108,7 @@ CODE.DOTEST.L .EQ *-CODE.DOTEST
|
|||
CODE.LOOP >PULLA
|
||||
ldy RP
|
||||
iny
|
||||
|
||||
|
||||
clc
|
||||
adc (pData),y
|
||||
sta (pData),y
|
||||
|
|
|
@ -132,6 +132,7 @@ CS.RUN jsr GFX.Open
|
|||
jsr GFX.Write.YA
|
||||
|
||||
jsr CS.RUN.LOGO.SHOW
|
||||
bcs .9
|
||||
|
||||
lda #0
|
||||
sec
|
||||
|
@ -144,9 +145,11 @@ CS.RUN.LOGO.SHOW
|
|||
|
||||
>LDYA L.CB.LOGO
|
||||
jsr GFX.Write.YA
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
>SYSCALL NewStkObj
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
stx CB.LOGO+S.CB.DstPtr
|
||||
|
||||
lda #S.CB.CMD.BITBLT
|
||||
|
@ -345,11 +348,11 @@ GFX.Write.YA pha
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
DEVNAME.GFX .AZ "/dev/gfx"
|
||||
FONTFILE .AZ "${ROOT}sbin/sysx7"
|
||||
FONTFILEB .AZ "${ROOT}sbin/sysx7b"
|
||||
FONTFILE .AZ "${ROOT}opt/gui/fonts/sysx7"
|
||||
FONTFILEB .AZ "${ROOT}opt/gui/fonts/sysx7b"
|
||||
MARILYNFILE .AZ "${ROOT}root/bmp/MARILYN"
|
||||
*LOGOFILE .AZ "${ROOT}A2osX.logo"
|
||||
LOGOFILE .AZ "${ROOT}root/bmp/A2OSX.LOGO"
|
||||
LOGOFILE .AZ "${ROOT}A2osX.logo"
|
||||
*LOGOFILE .AZ "${ROOT}root/bmp/A2OSX.LOGO"
|
||||
PALETTEFILE .AZ "${ROOT}root/bmp/PALETTE"
|
||||
MESSAGEB .AZ " DHGR Driver & OSD 'Off-Screen Driver' Test (SYSX7B Font, Inverse) "
|
||||
MESSAGE .AZ " 1234567890 abcdefghijklmnopqrstuvwxyz { + - * / } (SYSX7 Font, Normal) "
|
||||
|
|
|
@ -11,6 +11,7 @@ NEW
|
|||
.INB inc/mli.e.i
|
||||
.INB inc/eth.i
|
||||
.INB inc/libtcpip.i
|
||||
.INB inc/net.tcpip.i
|
||||
.INB inc/net.http.i
|
||||
*--------------------------------------
|
||||
TIMEOUT.MAX .EQ 250 25 sec.
|
||||
|
@ -743,20 +744,20 @@ Init.TimeOut lda #TIMEOUT.MAX
|
|||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AS "Usage : HTTPGET <ip|host> [port]\r\n"
|
||||
.AS " -U : Url\r\n"
|
||||
.AS " -F : UrlFile\r\n"
|
||||
.AS " -O : OutputFile"
|
||||
MSG.CRLF .AZ "\r\n"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
MSG.CONNECT .AZ "Connecting to %d.%d.%d.%d:%D (%s)..."
|
||||
MSG.SKTKO .AZ "Failed to Open Socket."
|
||||
MSG.CONNECTED .AZ "Connected."
|
||||
MSG.SKTERR .AZ "Socket Error : $%h\r\n"
|
||||
MSG.IOERR .AZ "I/O Error : $%h\r\n"
|
||||
MSG.FileLength .AZ "File Length : %10u Bytes\r\n"
|
||||
MSG.Progress .AZ "\rReceived : %10u"
|
||||
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .CS "Usage : HTTPGET <ip|host> [port]\r\n"
|
||||
.CS " -U : Url\r\n"
|
||||
.CS " -F : UrlFile\r\n"
|
||||
.CS " -O : OutputFile"
|
||||
MSG.CRLF .CZ "\r\n"
|
||||
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
|
||||
MSG.CONNECT .CZ "Connecting to %d.%d.%d.%d:%D (%s)..."
|
||||
MSG.SKTKO .CZ "Failed to Open Socket."
|
||||
MSG.CONNECTED .CZ "Connected."
|
||||
MSG.SKTERR .CZ "Socket Error : $%h\r\n"
|
||||
MSG.IOERR .CZ "I/O Error : $%h\r\n"
|
||||
MSG.FileLength .CZ "File Length : %10u Bytes\r\n"
|
||||
MSG.Progress .CZ "\rReceived : %10u"
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
|
|
|
@ -1033,22 +1033,22 @@ CS.QUIT ldy #hOutputBuf
|
|||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AZ "Usage : IRC <ip|host> <port> <nickname> <#channel> [key]"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
MSG.HOSTOK .AZ "Connecting to %d.%d.%d.%d:%D (%s)..."
|
||||
MSG.SKTKO .AZ "Failed to Open Socket."
|
||||
MSG.SKTOK .AZ "Connected\r\n(Exit key is Ctrl-T)\r\n"
|
||||
MSG.SKTERR .AZ "Socket Error : $%h\r\n"
|
||||
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .CZ "Usage : IRC <ip|host> <port> <nickname> <#channel> [key]"
|
||||
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
|
||||
MSG.HOSTOK .CZ "Connecting to %d.%d.%d.%d:%D (%s)..."
|
||||
MSG.SKTKO .CZ "Failed to Open Socket."
|
||||
MSG.SKTOK .CZ "Connected\r\n(Exit key is Ctrl-T)\r\n"
|
||||
MSG.SKTERR .CZ "Socket Error : $%h\r\n"
|
||||
.DO TLS=1
|
||||
MSG.TLS .AZ "TLS:Negociation..."
|
||||
MSG.TLS.HDR .AZ "TLS:Received %D bytes, Message Type:%h.\r\n"
|
||||
MSG.TLSKO .AZ "TLS:Negotiation failed."
|
||||
MSG.TLS .CZ "TLS:Negociation..."
|
||||
MSG.TLS.HDR .CZ "TLS:Received %D bytes, Message Type:%h.\r\n"
|
||||
MSG.TLSKO .CZ "TLS:Negotiation failed."
|
||||
.FIN
|
||||
MSG.REGISTER .AZ "Registering User..."
|
||||
MSG.JOIN .AZ "Joining Channel..."
|
||||
MSG.TOPBAR .AZ "A2osX IRC %d.%d Server:%s:%s Nick:%s"
|
||||
MSG.STATUSBAR .AZ "%s:%s"
|
||||
MSG.REGISTER .CZ "Registering User..."
|
||||
MSG.JOIN .CZ "Joining Channel..."
|
||||
MSG.TOPBAR .CZ "A2osX IRC %d.%d Server:%s:%s Nick:%s"
|
||||
MSG.STATUSBAR .CZ "%s:%s"
|
||||
MSG.STATUSBARMSG .AS "STATUS:%s"
|
||||
MSG.NULL .HS 00
|
||||
*--------------------------------------
|
||||
|
@ -1072,23 +1072,23 @@ IRC.CMDS .AZ "PING"
|
|||
.AZ "376"
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
IRC.REGISTER .AS "NICK %s\r\n"
|
||||
.AZ "USER %s %s %s :A2osX IRC\r\n"
|
||||
IRC.JOIN .AZ "JOIN %s\r\n"
|
||||
IRC.JOINKEY .AZ "JOIN %s %s\r\n"
|
||||
IRC.PONG .AZ "PONG :%s\r\n"
|
||||
IRC.PART .AS "PART %s\r\n"
|
||||
.AZ "QUIT :Pfff\r\n"
|
||||
IRC.NAMES .AZ "NAMES %s\r\n"
|
||||
IRC.PRIVMSG .AZ "PRIVMSG %s :%s\r\n"
|
||||
IRC.REGISTER .CS "NICK %s\r\n"
|
||||
.CZ "USER %s %s %s :A2osX IRC\r\n"
|
||||
IRC.JOIN .CZ "JOIN %s\r\n"
|
||||
IRC.JOINKEY .CZ "JOIN %s %s\r\n"
|
||||
IRC.PONG .CZ "PONG :%s\r\n"
|
||||
IRC.PART .CS "PART %s\r\n"
|
||||
.CZ "QUIT :Pfff\r\n"
|
||||
IRC.NAMES .CZ "NAMES %s\r\n"
|
||||
IRC.PRIVMSG .CZ "PRIVMSG %s :%s\r\n"
|
||||
*--------------------------------------
|
||||
SEQ.INIT .AZ "\ec\e(B\e)0\e[?7l\e[2;20r\e[22;1H\e[?7h"
|
||||
SEQ.BAR .AZ "\e[?7l\e7\e[%d;1H\e[7m\e[37;40m%80s\e[0m\e8\e[?7h"
|
||||
SEQ.TXTCLR .AZ "\e[22;1H\e[97;41m\e[K\r\n\e[K\r\n\e[K\e[22;1H"
|
||||
SEQ.PRIVMSG .AZ "\e7\e[20;1H\r\n\e[93;44m\e[7m%s:\e[0m\e[93;44m%s\e[K\e8"
|
||||
SEQ.DUMPMSG .AZ "\e7\e[20;1H\r\n\e[7m%s \e[0m%s %s %s\e8"
|
||||
SEQ.INFOMSG .AZ "\e7\e[20;1H\e[92;44m%s\r\n\e8"
|
||||
SEQ.RESET .AZ "\ec"
|
||||
SEQ.INIT .CZ "\ec\e(B\e)0\e[?7l\e[2;20r\e[22;1H\e[?7h"
|
||||
SEQ.BAR .CZ "\e[?7l\e7\e[%d;1H\e[7m\e[37;40m%80s\e[0m\e8\e[?7h"
|
||||
SEQ.TXTCLR .CZ "\e[22;1H\e[97;41m\e[K\r\n\e[K\r\n\e[K\e[22;1H"
|
||||
SEQ.PRIVMSG .CZ "\e7\e[20;1H\r\n\e[93;44m\e[7m%s:\e[0m\e[93;44m%s\e[K\e8"
|
||||
SEQ.DUMPMSG .CZ "\e7\e[20;1H\r\n\e[7m%s \e[0m%s %s %s\e8"
|
||||
SEQ.INFOMSG .CZ "\e7\e[20;1H\e[92;44m%s\r\n\e8"
|
||||
SEQ.RESET .CZ "\ec"
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
|
|
|
@ -33,7 +33,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.SSCANF.PID .DA SSCANF.PID
|
||||
|
@ -56,7 +56,7 @@ CS.RUN ldy #S.PS.ARGC
|
|||
cmp #'-'
|
||||
bne .2
|
||||
|
||||
ldy #1
|
||||
ldy #1
|
||||
lda (ZPTmpPtr),y
|
||||
beq .9
|
||||
|
||||
|
@ -68,9 +68,8 @@ CS.RUN ldy #S.PS.ARGC
|
|||
>STA.G Signal
|
||||
bra .1
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
|
||||
lda #E.SYN
|
||||
sec
|
||||
|
@ -98,11 +97,11 @@ CS.QUIT clc
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.USAGE .AS "Usage : KILL <signal> PID\r\n"
|
||||
.AS " -0 : No Signal\r\n"
|
||||
.AS " -1 : SIGQUIT\r\n"
|
||||
.AZ " -2 : SIGKILL\r\n"
|
||||
SSCANF.PID .AZ "%d"
|
||||
MSG.USAGE .CS "Usage : KILL <signal> PID\r\n"
|
||||
.CS " -0 : No Signal\r\n"
|
||||
.CS " -1 : SIGQUIT\r\n"
|
||||
.CZ " -2 : SIGKILL\r\n"
|
||||
SSCANF.PID .CZ "%d"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
63
BIN/LC.S.txt
63
BIN/LC.S.txt
|
@ -53,7 +53,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.DIR .DA MSG.DIR
|
||||
|
@ -69,25 +69,24 @@ CS.RUN inc ArgIndex
|
|||
lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
bcs .5
|
||||
|
||||
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
|
||||
|
||||
jsr CS.RUN.CheckOpt
|
||||
bcc CS.RUN
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
.4 >LDA.G hSrcBasePath
|
||||
bne .9
|
||||
|
||||
|
||||
>LDYA ZPPtr1
|
||||
jsr InitSrcDirYA
|
||||
bcc CS.RUN
|
||||
|
@ -142,29 +141,29 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
jsr CS.RUN.FILE
|
||||
bcc CS.RUN.NEXT
|
||||
rts
|
||||
|
||||
|
||||
.5 cmp /S.STAT.MODE.DIR DIR ?
|
||||
beq .6
|
||||
|
||||
|
||||
cmp /S.STAT.MODE.BDEV VOL ?
|
||||
bne .9
|
||||
|
||||
.6 jsr CS.RUN.DIR
|
||||
bcc CS.RUN.NEXT
|
||||
rts
|
||||
|
||||
|
||||
.9 lda #MLI.E.UNSUPST
|
||||
sec
|
||||
.99 rts
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.NEXT jsr GetNextEntry
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
|
||||
CS.RUN.LEAVE jsr LeaveSubDir
|
||||
bcs .90
|
||||
|
||||
jsr BasePath..
|
||||
|
||||
|
||||
jmp CS.RUN.NEXT
|
||||
|
||||
.90 lda #0
|
||||
|
@ -174,18 +173,18 @@ CS.RUN.LEAVE jsr LeaveSubDir
|
|||
CS.RUN.DIR lda (ZPFileName)
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
ldy #1
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
iny
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
.1 jsr FilterMatch
|
||||
bcs .8
|
||||
|
||||
|
@ -196,7 +195,7 @@ CS.RUN.DIR lda (ZPFileName)
|
|||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHW ZPFullPath
|
||||
jsr CS.RUN.GetNewPath
|
||||
>PUSHYA
|
||||
|
@ -224,14 +223,14 @@ CS.RUN.FILE jsr FilterMatch
|
|||
bcs .9
|
||||
|
||||
jsr CS.RUN.GetNewPath
|
||||
|
||||
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPNewPath
|
||||
>SYSCALL Rename
|
||||
bra CS.RUN.CheckErr
|
||||
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckErr bcs .1
|
||||
>LDYA L.MSG.OK
|
||||
|
@ -257,7 +256,7 @@ CS.RUN.GetFilePath
|
|||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>SYSCALL StrCpy
|
||||
|
||||
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPFileName
|
||||
>SYSCALL StrCat
|
||||
|
@ -269,12 +268,12 @@ CS.RUN.GetNewPath
|
|||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>SYSCALL StrCpy
|
||||
|
||||
|
||||
>PUSHW ZPNewPath
|
||||
|
||||
>LDYA ZPFileName
|
||||
>SYSCALL StrLwr
|
||||
|
||||
|
||||
>PUSHW ZPFileName
|
||||
>SYSCALL StrCat
|
||||
rts
|
||||
|
@ -300,7 +299,7 @@ CS.QUIT jsr LeaveSubDir
|
|||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldx #OptionVars-OptionList-1
|
||||
|
@ -327,13 +326,13 @@ OptionList .AS "CRcr"
|
|||
OptionVars .DA #bContinue,#bRecurse
|
||||
.DA #bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : LC File(s) (*,? wildcards allowed)\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AS " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.DIR .AZ "Dir :%s..."
|
||||
MSG.FILE .AZ "File:%s..."
|
||||
MSG.USAGE .CS "Usage : LC File(s) (*,? wildcards allowed)\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.DIR .CZ "Dir :%s..."
|
||||
MSG.FILE .CZ "File:%s..."
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -34,7 +34,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.EVENT
|
||||
.DA CS.EVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG0 .DA MSG0
|
||||
L.MSG1 .DA MSG1
|
||||
|
@ -63,7 +63,7 @@ CS.RUN >LDYA L.MSG0
|
|||
beq .7
|
||||
|
||||
>PUSHW L.MSG1
|
||||
|
||||
|
||||
txa
|
||||
>PUSHA
|
||||
|
||||
|
@ -76,7 +76,7 @@ CS.RUN >LDYA L.MSG0
|
|||
ldx FILE.ID
|
||||
lda hFDs.oCnt-1,x
|
||||
>PUSHA
|
||||
|
||||
|
||||
lda (ZPFDPtr)
|
||||
tax
|
||||
>PUSHW L.FD.T,x
|
||||
|
@ -84,18 +84,18 @@ CS.RUN >LDYA L.MSG0
|
|||
ldx FILE.ID
|
||||
lda hFDs.hName-1,x
|
||||
bne .5
|
||||
|
||||
|
||||
>LDYA L.MSG.NA
|
||||
bra .6
|
||||
|
||||
|
||||
.5 >SYSCALL GetMemPtr
|
||||
|
||||
.6 >PUSHYA
|
||||
|
||||
>PUSHBI 7
|
||||
|
||||
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
.7 ldx FILE.ID
|
||||
inx
|
||||
cpx #K.hFD.MAX+1
|
||||
|
@ -112,17 +112,17 @@ CS.QUIT clc
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG0 .AZ "hFILE hFD Cnt Type Filepath"
|
||||
MSG1 .AZ "%3d %3d %3d %5s %s\r\n"
|
||||
MSG.NA .AZ "n/a"
|
||||
FD.T.REG .AZ "REG"
|
||||
FD.T.DIR .AZ "DIR"
|
||||
FD.T.CDEV .AZ "CDEV"
|
||||
FD.T.BDEV .AZ "BDEV"
|
||||
FD.T.LNK .AZ "LNK"
|
||||
FD.T.DSOCK .AZ "DSOCK"
|
||||
FD.T.SSOCK .AZ "SSOCK"
|
||||
FD.T.PIPE .AZ "PIPE"
|
||||
MSG0 .CZ "hFILE hFD Cnt Type Filepath"
|
||||
MSG1 .CZ "%3d %3d %3d %5s %s\r\n"
|
||||
MSG.NA .CZ "n/a"
|
||||
FD.T.REG .CZ "REG"
|
||||
FD.T.DIR .CZ "DIR"
|
||||
FD.T.CDEV .CZ "CDEV"
|
||||
FD.T.BDEV .CZ "BDEV"
|
||||
FD.T.LNK .CZ "LNK"
|
||||
FD.T.DSOCK .CZ "DSOCK"
|
||||
FD.T.SSOCK .CZ "SSOCK"
|
||||
FD.T.PIPE .CZ "PIPE"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -31,7 +31,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.Main .DA MSG.Main
|
||||
L.MSG.Aux .DA MSG.Aux
|
||||
|
@ -93,16 +93,16 @@ CS.RUN >LDYA L.MemStat
|
|||
CS.RUN.PRINT pha
|
||||
phy
|
||||
>PUSHW L.MSG.Stat
|
||||
|
||||
|
||||
ldy #3
|
||||
|
||||
|
||||
.1 >PUSHW MemStat,x
|
||||
>PUSHW MemStat,x
|
||||
inx
|
||||
inx
|
||||
dey
|
||||
bne .1
|
||||
|
||||
|
||||
ply
|
||||
pla
|
||||
>PUSHYA
|
||||
|
@ -117,14 +117,14 @@ CS.QUIT clc
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.Main .AZ "--- Main Memory ----------------"
|
||||
MSG.Aux .AZ "--- Aux Memory -----------------"
|
||||
MSG.Kernel .AZ "--- Kernel (Drivers) Memory ----"
|
||||
MSG.Stat .AS " Low : %5D (%H)\r\n"
|
||||
.AS " Free Ptr : %5D (%H)\r\n"
|
||||
.AS " High : %5D (%H)\r\n"
|
||||
.AZ " Available Memory : %5D Bytes\r\n"
|
||||
MSG.End .AZ "--------------------------------"
|
||||
MSG.Main .CZ "--- Main Memory ----------------"
|
||||
MSG.Aux .CZ "--- Aux Memory -----------------"
|
||||
MSG.Kernel .CZ "--- Kernel (Drivers) Memory ----"
|
||||
MSG.Stat .CS " Low : %5D (%H)\r\n"
|
||||
.CS " Free Ptr : %5D (%H)\r\n"
|
||||
.CS " High : %5D (%H)\r\n"
|
||||
.CZ " Available Memory : %5D Bytes\r\n"
|
||||
MSG.End .CZ "--------------------------------"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -46,7 +46,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG0 .DA MSG0
|
||||
L.MSG1.INV .DA MSG1.INV
|
||||
|
@ -76,15 +76,15 @@ CS.RUN ldx #ZPCodeLen-1
|
|||
jsr CS.RUN.INIT
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP inc MEM.COUNT skip slot 0
|
||||
|
||||
|
||||
jsr CS.RUN.CheckStop
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
|
||||
.1 lda (ZPPTR1)
|
||||
bpl .2
|
||||
|
||||
|
||||
inc USED.COUNT
|
||||
|
||||
|
||||
.2 jsr CS.RUN.PRINTMEM
|
||||
lda ZPPTR1
|
||||
clc
|
||||
|
@ -92,30 +92,30 @@ CS.RUN.LOOP inc MEM.COUNT skip slot 0
|
|||
sta ZPPTR1
|
||||
bcc .3
|
||||
inc ZPPTR1+1
|
||||
|
||||
|
||||
.3 lda MEM.COUNT
|
||||
>CMP.G MemStat+S.MSTAT.MLast
|
||||
bne CS.RUN.LOOP
|
||||
|
||||
|
||||
jsr CS.RUN.SUMMARY
|
||||
|
||||
jsr CS.RUN.MSTAT
|
||||
|
||||
|
||||
jsr CS.RUN.PrintCRLF
|
||||
|
||||
|
||||
jsr CS.RUN.INIT
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOPX inc MEM.COUNT skip slot 0
|
||||
|
||||
|
||||
jsr CS.RUN.CheckStop
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
|
||||
.1 ldy #S.MEM.F
|
||||
jsr ZPReadAux
|
||||
bpl .2
|
||||
|
||||
|
||||
inc USED.COUNT
|
||||
|
||||
|
||||
.2 jsr CS.RUN.PRINTMEMX
|
||||
|
||||
lda ZPPTR1
|
||||
|
@ -124,7 +124,7 @@ CS.RUN.LOOPX inc MEM.COUNT skip slot 0
|
|||
sta ZPPTR1
|
||||
bcc .3
|
||||
inc ZPPTR1+1
|
||||
|
||||
|
||||
.3 lda MEM.COUNT
|
||||
>CMP.G MemStat+S.MSTAT.XLast
|
||||
bne CS.RUN.LOOPX
|
||||
|
@ -132,7 +132,7 @@ CS.RUN.LOOPX inc MEM.COUNT skip slot 0
|
|||
jsr CS.RUN.SUMMARY
|
||||
|
||||
jsr CS.RUN.XSTAT
|
||||
|
||||
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
|
@ -143,7 +143,7 @@ CS.RUN.INIT >LDYAI Mem.Table+S.MEM skip slot 0
|
|||
>PUSHW L.MSG0
|
||||
>PUSHBI 0
|
||||
jsr CS.RUN.PrintF
|
||||
|
||||
|
||||
stz MEM.COUNT
|
||||
stz USED.COUNT
|
||||
rts
|
||||
|
@ -191,20 +191,20 @@ CS.RUN.XSTAT jsr CS.RUN.PrintCRLF
|
|||
jmp CS.RUN.PrintF
|
||||
*--------------------------------------
|
||||
CS.RUN.PRINTMEM >PUSHW L.MSG1
|
||||
|
||||
|
||||
>PUSHB MEM.COUNT
|
||||
|
||||
lda (ZPPTR1) Get flags
|
||||
ldy #MEM.FLAGS+7
|
||||
ldx #7
|
||||
|
||||
|
||||
.20 lsr
|
||||
pha
|
||||
lda #'-'
|
||||
bcc .30
|
||||
|
||||
|
||||
lda MSG.FLAGS,x
|
||||
|
||||
|
||||
.30 sta (pData),y
|
||||
pla
|
||||
dey
|
||||
|
@ -221,38 +221,38 @@ CS.RUN.PRINTMEM >PUSHW L.MSG1
|
|||
ldy #S.MEM.REFCNT
|
||||
lda (ZPPTR1),y
|
||||
>PUSHA
|
||||
|
||||
|
||||
ldy #S.MEM.PTR+1
|
||||
lda (ZPPTR1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPTR1),y
|
||||
>PUSHA
|
||||
|
||||
|
||||
ldy #S.MEM.LEN+1
|
||||
lda (ZPPTR1),y
|
||||
>PUSHA
|
||||
dey
|
||||
lda (ZPPTR1),y
|
||||
>PUSHA
|
||||
|
||||
|
||||
lda (ZPPTR1) Get flags
|
||||
bpl .12
|
||||
|
||||
|
||||
txa
|
||||
jsr CS.RUN.CHECKPS
|
||||
bcc .12
|
||||
|
||||
|
||||
jsr CS.RUN.PrintINV
|
||||
|
||||
|
||||
.12 >PUSHBI 9
|
||||
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
lda (ZPPTR1)
|
||||
and #S.MEM.F.CODE
|
||||
bne CS.RUN.PRINTMEM.BIN
|
||||
|
||||
|
||||
CS.RUN.PRINTMEM.DATA
|
||||
|
||||
ldy #S.MEM.PTR
|
||||
|
@ -261,43 +261,43 @@ CS.RUN.PRINTMEM.DATA
|
|||
iny
|
||||
lda (ZPPTR1),y
|
||||
sta ZPPTR2+1
|
||||
|
||||
|
||||
ldy #0
|
||||
|
||||
|
||||
.1 lda (ZPPTR2),y Check if it looks like a printable string
|
||||
beq .11
|
||||
|
||||
|
||||
bmi .2
|
||||
|
||||
|
||||
cmp #$20
|
||||
bcc .2 not printable....->hex
|
||||
|
||||
|
||||
iny
|
||||
bne .1
|
||||
|
||||
.11 >PUSHW L.MSG1.STR
|
||||
tya
|
||||
beq .2 Starting with 0...PrintHEX
|
||||
|
||||
|
||||
>PUSHA len
|
||||
>PUSHW ZPPTR2 String
|
||||
>PUSHBI 3
|
||||
|
||||
|
||||
jmp CS.RUN.PrintF
|
||||
|
||||
.2 >PUSHW L.MSG1.HEX
|
||||
|
||||
|
||||
ldy #0
|
||||
|
||||
.3 >PUSHB (ZPPTR2),y
|
||||
iny
|
||||
cpy #16
|
||||
bne .3
|
||||
|
||||
|
||||
>PUSHBI 16
|
||||
|
||||
|
||||
jmp CS.RUN.PrintF
|
||||
|
||||
|
||||
CS.RUN.PRINTMEM.BIN
|
||||
>PUSHW L.MSG1.BIN
|
||||
|
||||
|
@ -310,22 +310,22 @@ CS.RUN.PRINTMEM.BIN
|
|||
*--------------------------------------
|
||||
CS.RUN.PRINTMEMX
|
||||
>PUSHW L.MSG1X
|
||||
|
||||
|
||||
>PUSHB MEM.COUNT
|
||||
|
||||
ldy #S.MEM.F Get flags
|
||||
jsr ZPReadAux
|
||||
|
||||
|
||||
ldy #MEM.FLAGS+7
|
||||
ldx #7
|
||||
|
||||
|
||||
.20 lsr
|
||||
pha
|
||||
lda #'-'
|
||||
bcc .30
|
||||
|
||||
|
||||
lda MSG.FLAGSX,x
|
||||
|
||||
|
||||
.30 sta (pData),y
|
||||
pla
|
||||
dey
|
||||
|
@ -342,31 +342,31 @@ CS.RUN.PRINTMEMX
|
|||
ldy #S.MEM.REFCNT
|
||||
jsr ZPReadAux
|
||||
>PUSHA
|
||||
|
||||
|
||||
ldy #S.MEM.PTR+1
|
||||
jsr ZPReadAux
|
||||
>PUSHA
|
||||
dey
|
||||
jsr ZPReadAux
|
||||
>PUSHA
|
||||
|
||||
|
||||
ldy #S.MEM.LEN+1
|
||||
jsr ZPReadAux
|
||||
>PUSHA
|
||||
dey
|
||||
jsr ZPReadAux
|
||||
>PUSHA
|
||||
|
||||
|
||||
ldy #S.MEM.F
|
||||
jsr ZPReadAux Get flags
|
||||
bpl .12
|
||||
|
||||
|
||||
txa
|
||||
jsr CS.RUN.CHECKPS
|
||||
bcc .12
|
||||
|
||||
|
||||
jsr CS.RUN.PrintINV
|
||||
|
||||
|
||||
.12 >PUSHBI 9
|
||||
|
||||
jmp CS.RUN.PrintF
|
||||
|
@ -375,7 +375,7 @@ CS.RUN.CHECKPS ldx #0
|
|||
|
||||
.1 cmp PS.Table.PID,x
|
||||
beq .8
|
||||
|
||||
|
||||
inx
|
||||
cpx #K.PS.MAX
|
||||
bne .1
|
||||
|
@ -393,7 +393,7 @@ CS.RUN.CheckStop
|
|||
|
||||
>SYSCALL GetChar
|
||||
bcs .9
|
||||
|
||||
|
||||
cmp #3 Ctrl-C
|
||||
beq .9 CS
|
||||
|
||||
|
@ -406,19 +406,19 @@ CS.RUN.CheckStop
|
|||
lda (pPS),y
|
||||
>SYSCALL FEOF
|
||||
bcs .9
|
||||
|
||||
|
||||
tay
|
||||
bne .8 no char
|
||||
|
||||
|
||||
>SYSCALL GetChar
|
||||
bcs .9
|
||||
|
||||
|
||||
cmp #3 Ctrl-C
|
||||
beq .9 CS
|
||||
|
||||
|
||||
cmp #$13 Ctrl-S
|
||||
bne .8
|
||||
|
||||
|
||||
dec bSTOP
|
||||
|
||||
.8 clc
|
||||
|
@ -432,19 +432,19 @@ CS.RUN.PrintINV >PUSHW L.MSG1.INV
|
|||
CS.RUN.PrintCRLF
|
||||
>PUSHW L.MSG.CRLF
|
||||
>PUSHBI 0
|
||||
|
||||
|
||||
CS.RUN.PrintF >SYSCALL PrintF
|
||||
bcs .9
|
||||
|
||||
|
||||
inc LINE.COUNT
|
||||
lda LINE.COUNT
|
||||
cmp #PAGE.LEN
|
||||
bcc .8
|
||||
|
||||
|
||||
dec bSTOP
|
||||
stz LINE.COUNT
|
||||
clc
|
||||
.8
|
||||
.8
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
|
@ -458,23 +458,23 @@ ZPCode sta SETREADAUX
|
|||
lda (ZPPTR1),y
|
||||
sta CLRREADAUX
|
||||
rts
|
||||
ZPCodeLen .EQ *-ZPCode
|
||||
ZPCodeLen .EQ *-ZPCode
|
||||
*--------------------------------------
|
||||
MSG0 .AZ "hMem Flags PID REF PTR LEN BINPATH/DATA\r\n"
|
||||
MSG1.INV .AZ "\e[7m"
|
||||
MSG1 .AZ "$%h %s %3d %3d $%H %5D "
|
||||
MSG1.BIN .AZ "\e[7m%s\e[0m\r\n"
|
||||
MSG1.STR .AZ "[%03d:%s]\e[0m\r\n"
|
||||
MSG1.HEX .AZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
|
||||
MSG1X .AZ "$%h %s %3d %3d $%H %5D\e[0m\r\n"
|
||||
MSG2 .AZ "Allocated hMem:%d, Total:%d\r\n"
|
||||
MSG3 .AS "High Memory: $%H, "
|
||||
.AS "Free ULimit: $%H, "
|
||||
.AS "Low : $%H, "
|
||||
.AS "Free : %5D Bytes."
|
||||
MSG.CRLF .AZ "\r\n"
|
||||
MSG.FLAGS .AS "UZXAfcds"
|
||||
MSG.FLAGSX .AS "UZXAidep"
|
||||
MSG0 .CZ "hMem Flags PID REF PTR LEN BINPATH/DATA\r\n"
|
||||
MSG1.INV .CZ "\e[7m"
|
||||
MSG1 .CZ "$%h %s %3d %3d $%H %5D "
|
||||
MSG1.BIN .CZ "\e[7m%s\e[0m\r\n"
|
||||
MSG1.STR .CZ "[%03d:%s]\e[0m\r\n"
|
||||
MSG1.HEX .CZ "?HEX:%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h.%h%h\e[0m\r\n"
|
||||
MSG1X .CZ "$%h %s %3d %3d $%H %5D\e[0m\r\n"
|
||||
MSG2 .CZ "Allocated hMem:%d, Total:%d\r\n"
|
||||
MSG3 .CS "High Memory: $%H, "
|
||||
.CS "Free ULimit: $%H, "
|
||||
.CS "Low : $%H, "
|
||||
.CS "Free : %5D Bytes."
|
||||
MSG.CRLF .CZ "\r\n"
|
||||
MSG.FLAGS .CS "UZXAfcds"
|
||||
MSG.FLAGSX .CS "UZXAidep"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -9,6 +9,7 @@ NEW
|
|||
.INB inc/a2osx.i
|
||||
.INB inc/mli.i
|
||||
.INB inc/eth.i
|
||||
.INB inc/net.tcpip.i
|
||||
.INB inc/libtcpip.i
|
||||
*--------------------------------------
|
||||
TIMEOUT.MAX .EQ 250 25 sec.
|
||||
|
@ -50,7 +51,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
J.CheckArgs .DA CheckArgs.A
|
||||
.DA CheckArgs.S
|
||||
|
@ -71,7 +72,7 @@ L.MSG.TIME .DA MSG.TIME
|
|||
CS.INIT >LDYA L.LIBTCPIP
|
||||
>SYSCALL LoadLib
|
||||
bcs .9
|
||||
|
||||
|
||||
sta hLIBTCPIP
|
||||
|
||||
clc
|
||||
|
@ -79,13 +80,13 @@ CS.INIT >LDYA L.LIBTCPIP
|
|||
*--------------------------------------
|
||||
CS.RUN jsr CheckArgs
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr OpenSocket
|
||||
bcs .9
|
||||
|
||||
|
||||
.1 jsr SendNTPRequest
|
||||
bcs .2
|
||||
|
||||
|
||||
jsr DecodeNTPReply
|
||||
bcs .2
|
||||
|
||||
|
@ -93,20 +94,20 @@ CS.RUN jsr CheckArgs
|
|||
bpl .2
|
||||
|
||||
jsr SetProDOSTime
|
||||
|
||||
.2 bit bDaemon
|
||||
|
||||
.2 bit bDaemon
|
||||
bpl .7
|
||||
|
||||
|
||||
lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
|
||||
|
||||
.3 >SLEEP
|
||||
|
||||
|
||||
lda TimeOut
|
||||
bne .3
|
||||
|
||||
|
||||
bra .1
|
||||
|
||||
|
||||
.7 bcc .8
|
||||
rts
|
||||
|
||||
|
@ -151,7 +152,7 @@ CheckArgs inc iArg
|
|||
ldy #2
|
||||
lda (ZPPtr),y
|
||||
bne .9
|
||||
|
||||
|
||||
dey
|
||||
lda (ZPPtr),y
|
||||
|
||||
|
@ -166,9 +167,9 @@ CheckArgs inc iArg
|
|||
dex
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
|
||||
bra .9
|
||||
|
||||
|
||||
.3 inc iArg
|
||||
|
||||
jsr .5
|
||||
|
@ -177,12 +178,12 @@ CheckArgs inc iArg
|
|||
|
||||
.4 lda iHost
|
||||
bne .9
|
||||
|
||||
|
||||
lda iArg
|
||||
sta iHost
|
||||
bra CheckArgs
|
||||
|
||||
.5 jmp (J.CheckArgs,x)
|
||||
|
||||
.5 jmp (J.CheckArgs,x)
|
||||
|
||||
.8 lda iHost
|
||||
beq .9
|
||||
|
@ -190,25 +191,24 @@ CheckArgs inc iArg
|
|||
clc
|
||||
rts
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
CheckArgs.A lda iArg
|
||||
>SYSCALL ArgV
|
||||
bcs .9
|
||||
|
||||
|
||||
>SYSCALL AToL
|
||||
>PUSHWZ
|
||||
>PUSHWI 3600
|
||||
>FPU uMUL
|
||||
>PULLL Adjust
|
||||
|
||||
|
||||
clc
|
||||
|
||||
|
||||
.9 rts
|
||||
|
||||
CheckArgs.S sec
|
||||
|
@ -226,7 +226,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
|||
|
||||
lda (ZPIPCfgPtr) Configured ?
|
||||
bmi .10
|
||||
|
||||
|
||||
.99 >LDYA L.MSG.IPKO
|
||||
>SYSCALL PutS
|
||||
sec
|
||||
|
@ -234,7 +234,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
|||
|
||||
.10 ldy #S.IPCFG.IP+3
|
||||
ldx #3
|
||||
|
||||
|
||||
.1 lda (ZPIPCfgPtr),y
|
||||
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||
dey
|
||||
|
@ -263,7 +263,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
|||
>SYSCALL PrintF
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
.3 >PUSHBI S.SOCKET.T.DGRAM
|
||||
>PUSHBI S.IP.PROTOCOL.UDP
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Socket
|
||||
|
@ -275,7 +275,7 @@ OpenSocket >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
|||
>PUSHW L.SA.LOCAL
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHB hSocket
|
||||
>PUSHW L.SA.REMOTE
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
|
||||
|
@ -319,7 +319,7 @@ SendNTPRequest >PUSHB hSocket
|
|||
DecodeNTPReply sta hFrame
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPtr
|
||||
|
||||
|
||||
lda #S.UDP+40
|
||||
|
||||
clc
|
||||
|
@ -331,9 +331,9 @@ DecodeNTPReply sta hFrame
|
|||
|
||||
ldy #3
|
||||
ldx #0
|
||||
|
||||
|
||||
clc
|
||||
|
||||
|
||||
.1 lda (ZPPtr),y
|
||||
adc Adjust,x
|
||||
sta Time1900,x
|
||||
|
@ -351,20 +351,20 @@ DecodeNTPReply sta hFrame
|
|||
sta STime+S.TIME.YEAR
|
||||
|
||||
>PUSHW L.MSG.TIME
|
||||
|
||||
|
||||
ldy #0
|
||||
|
||||
.2 >PUSHB STime,y
|
||||
iny
|
||||
cpy #7
|
||||
bne .2
|
||||
|
||||
|
||||
>PUSHBI 7
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
lda hFrame
|
||||
>SYSCALL FreeMem
|
||||
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
SetProDOSTime lda STime+S.TIME.MONTH
|
||||
|
@ -374,21 +374,21 @@ SetProDOSTime lda STime+S.TIME.MONTH
|
|||
asl
|
||||
asl
|
||||
sta DATELO
|
||||
|
||||
|
||||
lda STime+S.TIME.YEAR
|
||||
rol
|
||||
sta DATELO+1
|
||||
|
||||
|
||||
lda STime+S.TIME.DAY
|
||||
ora DATELO
|
||||
sta DATELO
|
||||
|
||||
|
||||
lda STime+S.TIME.HOUR
|
||||
sta TIMELO+1
|
||||
|
||||
lda STime+S.TIME.MINUTE
|
||||
sta TIMELO
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -399,15 +399,15 @@ hLIBTCPIP .BS 1
|
|||
OptionList .AS "AaSsDd"
|
||||
OptionCnt .EQ *-OptionList
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : NTPDATE <ip|host>\r\n"
|
||||
.AS " -A (-)nn : TZ offset\r\n"
|
||||
.AS " -S : Set ProDOS date\r\n"
|
||||
.AZ " -D : Run as Daemon\r\n"
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
MSG.SOCKET .AZ "Failed to open socket\r\n"
|
||||
MSG.TIMEOUT .AZ "No response from %s\r\n"
|
||||
MSG.TIME .AS "NTPDATE:%02d%02d/%02d/%02d %02d:%02d:%02d\r\n"
|
||||
MSG.USAGE .CS "Usage : NTPDATE <ip|host>\r\n"
|
||||
.CS " -A (-)nn : TZ offset\r\n"
|
||||
.CS " -S : Set ProDOS date\r\n"
|
||||
.CZ " -D : Run as Daemon\r\n"
|
||||
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
|
||||
MSG.SOCKET .CZ "Failed to open socket\r\n"
|
||||
MSG.TIMEOUT .CZ "No response from %s\r\n"
|
||||
MSG.TIME .CS "NTPDATE:%02d%02d/%02d/%02d %02d:%02d:%02d\r\n"
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
|
|
221
BIN/PAK.S.txt
221
BIN/PAK.S.txt
|
@ -53,7 +53,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBPAK .DA LIBPAK
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
|
@ -68,7 +68,7 @@ L.ARC.Header .DA ARC.Header
|
|||
CS.INIT >LDYA L.LIBPAK
|
||||
>SYSCALL LoadLib
|
||||
bcs .9
|
||||
|
||||
|
||||
sta hLIB
|
||||
|
||||
.9 rts
|
||||
|
@ -77,30 +77,29 @@ CS.RUN >INC.G ArgIndex
|
|||
>SYSCALL ArgV
|
||||
bcs .8
|
||||
>STYA ZPPtr1
|
||||
|
||||
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .4
|
||||
|
||||
|
||||
jsr CS.RUN.CheckOpt
|
||||
bcs .9
|
||||
|
||||
bne CS.RUN
|
||||
|
||||
|
||||
>INC.G ArgIndex -X
|
||||
>SYSCALL ArgV
|
||||
bcs .9
|
||||
|
||||
|
||||
>SYSCALL StrDup
|
||||
bcs .9
|
||||
|
||||
|
||||
txa
|
||||
>STA.G hExclude
|
||||
bra CS.RUN
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
@ -111,18 +110,18 @@ CS.RUN >INC.G ArgIndex
|
|||
>LDA.G ArgIndex
|
||||
>STA.G ArcName
|
||||
bra CS.RUN
|
||||
|
||||
|
||||
.5 >LDA.G hSrcBasePath
|
||||
bne .9
|
||||
|
||||
|
||||
>LDYA ZPPtr1
|
||||
jsr InitSrcDirYA
|
||||
bcc CS.RUN
|
||||
rts
|
||||
|
||||
|
||||
.8 >LDA.G ArcName
|
||||
beq .9
|
||||
|
||||
|
||||
>LDA.G hSrcBasePath
|
||||
beq .9
|
||||
*--------------------------------------
|
||||
|
@ -132,17 +131,17 @@ CS.RUN >INC.G ArgIndex
|
|||
>STYA ZPFullPath
|
||||
txa
|
||||
>STA.G hSrcFullPath
|
||||
|
||||
|
||||
>LDA.G hSrcBasePath
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #$ff
|
||||
|
||||
|
||||
.80 iny
|
||||
lda (ZPPtr1),y
|
||||
bne .80
|
||||
|
||||
|
||||
tya
|
||||
clc
|
||||
adc ZPFullPath
|
||||
|
@ -150,10 +149,10 @@ CS.RUN >INC.G ArgIndex
|
|||
lda ZPFullPath+1
|
||||
adc #0
|
||||
sta ZPRelPath+1
|
||||
|
||||
|
||||
jsr CS.RUN.OpenArc
|
||||
.98 bcs .99
|
||||
|
||||
|
||||
>LDYAI CHNK.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcs .98
|
||||
|
@ -172,16 +171,16 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
lda (pPS),y
|
||||
>SYSCALL FEOF
|
||||
bcs .99
|
||||
|
||||
|
||||
tay
|
||||
bne .1
|
||||
|
||||
|
||||
>SYSCALL GetChar
|
||||
bcs .99
|
||||
|
||||
|
||||
cmp #$03 Ctrl-C
|
||||
beq .99 Abort....
|
||||
|
||||
|
||||
cmp #$13 Ctrl-S
|
||||
bne .1
|
||||
|
||||
|
@ -189,31 +188,31 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
eor #$ff
|
||||
sta bPause
|
||||
bne CS.RUN.LOOP
|
||||
|
||||
|
||||
.1 lda bPause
|
||||
bne CS.RUN.LOOP Pause...
|
||||
*--------------------------------------
|
||||
jsr GetEntry
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr FilterMatch
|
||||
bcs .8 no match, skip....
|
||||
|
||||
jsr ExcludeMatch
|
||||
bcc .8 match, skip
|
||||
|
||||
|
||||
ldy #S.STAT.MODE+1
|
||||
lda (ZPFileStat),y
|
||||
and #$70
|
||||
beq .6
|
||||
|
||||
|
||||
cmp /S.STAT.MODE.DIR
|
||||
bne .8
|
||||
|
||||
jsr CS.RUN.DIR
|
||||
bcs .99
|
||||
bra .8
|
||||
|
||||
|
||||
.6 jsr CS.RUN.FILE
|
||||
bcs .99
|
||||
bra .8
|
||||
|
@ -222,16 +221,16 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
bcs .90
|
||||
|
||||
jsr BasePath..
|
||||
|
||||
|
||||
.8 jsr GetNextEntry
|
||||
jmp CS.RUN.LOOP
|
||||
|
||||
|
||||
.90 lda #0
|
||||
sec
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.DEV lda #E.BADPATH
|
||||
sec
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.DIR lda bRecurse
|
||||
|
@ -240,40 +239,40 @@ CS.RUN.DIR lda bRecurse
|
|||
lda (ZPFileName)
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
ldy #1
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
iny
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
.1 jsr CS.RUN.BuildFilePath
|
||||
|
||||
|
||||
>PUSHW L.MSG.DIR
|
||||
>PUSHW ZPRelPath
|
||||
|
||||
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr CS.RUN.WriteArcHdrDir
|
||||
bcs .9
|
||||
|
||||
|
||||
>LDYA ZPFileName
|
||||
jsr EnterSubDirYA
|
||||
|
||||
|
||||
.9 jmp CS.RUN.CheckErr
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.FILE jsr CS.RUN.BuildFilePath
|
||||
|
||||
|
||||
>PUSHW ZPFullPath
|
||||
>LDA.G hArcFile
|
||||
tay
|
||||
|
@ -285,48 +284,48 @@ CS.RUN.FILE jsr CS.RUN.BuildFilePath
|
|||
|
||||
>PUSHW L.MSG.FILE
|
||||
>PUSHW ZPRelPath
|
||||
|
||||
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr CS.RUN.WriteArcHdrFile
|
||||
bcs .9
|
||||
|
||||
jsr CS.RUN.OpenFile
|
||||
bcs .9
|
||||
|
||||
|
||||
.1 lda #'.'
|
||||
>SYSCALL PutChar
|
||||
|
||||
|
||||
jsr CS.RUN.ReadFile
|
||||
bcc .2
|
||||
|
||||
|
||||
cmp #MLI.E.EOF
|
||||
bne .4
|
||||
|
||||
|
||||
jsr CS.RUN.CloseFile
|
||||
|
||||
|
||||
bra .9
|
||||
|
||||
|
||||
.2 jsr CS.RUN.Pak
|
||||
bcs .3
|
||||
|
||||
jsr CS.RUN.WritePakData
|
||||
bcc .1
|
||||
|
||||
|
||||
bra .4
|
||||
|
||||
|
||||
.3 jsr CS.RUN.WriteSrcData
|
||||
bcc .1
|
||||
|
||||
|
||||
.4 pha
|
||||
jsr CS.RUN.CloseFile
|
||||
pla
|
||||
sec
|
||||
|
||||
|
||||
.9 jmp CS.RUN.CheckErr
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -334,14 +333,14 @@ CS.RUN.CheckErr bcs .1
|
|||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
rts
|
||||
|
||||
|
||||
.1 pha
|
||||
>PUSHW L.MSG.ERR
|
||||
pla
|
||||
pha
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
|
||||
|
||||
>SYSCALL PrintF
|
||||
|
||||
pla
|
||||
|
@ -354,7 +353,7 @@ CS.RUN.BuildFilePath
|
|||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>SYSCALL StrCpy
|
||||
|
||||
|
||||
>PUSHW ZPFullPath
|
||||
>PUSHW ZPFileName
|
||||
>SYSCALL StrCat
|
||||
|
@ -366,7 +365,7 @@ CS.RUN.OpenFile >PUSHW ZPFullPath
|
|||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
|
||||
>STA.G hFile
|
||||
|
||||
.9 rts
|
||||
|
@ -376,16 +375,16 @@ CS.RUN.ReadFile >PUSHB.G hFile
|
|||
>PUSHWI CHNK.SIZE
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
|
||||
>STYA.G Shunk.SrcSize
|
||||
|
||||
.9 rts
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CloseFile
|
||||
>LDA.G hFile
|
||||
>SYSCALL FClose
|
||||
bcs .9
|
||||
|
||||
|
||||
>STZ.G hFile
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -401,23 +400,23 @@ CS.RUN.Pak >PUSHEA.G PAKSTAT
|
|||
CS.RUN.OpenArc >LDA.G ArcName
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
|
||||
|
||||
bit bAppend
|
||||
bmi CS.RUN.AppendArc
|
||||
|
||||
|
||||
>PUSHBI O.CREATE+O.WRONLY
|
||||
>PUSHBI $CF PAK
|
||||
>PUSHWZ Aux type
|
||||
|
||||
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
|
||||
>STA.G hArcFile
|
||||
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHW L.ARC.Header
|
||||
>SYSCALL FPutS
|
||||
.9
|
||||
.9
|
||||
CS.RUN.OpenArc.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -425,13 +424,13 @@ CS.RUN.AppendArc
|
|||
>PUSHBI O.RDWR+O.APPEND
|
||||
>PUSHBI $CF PAK
|
||||
>PUSHWZ Aux type
|
||||
|
||||
|
||||
>SYSCALL FOpen
|
||||
bcs CS.RUN.OpenArc.RTS
|
||||
>STA.G hArcFile
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHLZ
|
||||
>PUSHBI SEEK.SET
|
||||
|
@ -443,18 +442,18 @@ CS.RUN.AppendArc
|
|||
>PUSHWI 3
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
|
||||
cpy #3
|
||||
bne .99
|
||||
|
||||
|
||||
dey
|
||||
|
||||
|
||||
.2 lda ARC.Header,y
|
||||
cmp (ZPSrcBufPtr),y
|
||||
bne .99
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHLZ
|
||||
>PUSHBI SEEK.END
|
||||
|
@ -476,16 +475,16 @@ CS.RUN.WriteArcHdrDir
|
|||
jsr CS.RUN.WriteArcByteA
|
||||
bcc CS.RUN.WriteArcHdr
|
||||
rts
|
||||
|
||||
|
||||
CS.RUN.WriteArcHdrFile
|
||||
lda #CHNK.T.FILE
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs CS.RUN.WriteArcHdr.9
|
||||
|
||||
|
||||
ldy #S.STAT.P.TYPE
|
||||
jsr CS.RUN.WriteArcByteY
|
||||
bcs CS.RUN.WriteArcHdr.9
|
||||
|
||||
|
||||
ldy #S.STAT.P.AUXTYPE
|
||||
jsr CS.RUN.WriteArcByteY
|
||||
bcs CS.RUN.WriteArcHdr.9
|
||||
|
@ -496,19 +495,19 @@ CS.RUN.WriteArcHdrFile
|
|||
|
||||
CS.RUN.WriteArcHdr
|
||||
ldy #$ff
|
||||
|
||||
|
||||
.1 iny
|
||||
lda (ZPRelPath),y
|
||||
bne .1
|
||||
|
||||
|
||||
tya
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs CS.RUN.WriteArcHdr.9
|
||||
|
||||
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHW ZPRelPath
|
||||
>SYSCALL FPutS
|
||||
|
||||
|
||||
CS.RUN.WriteArcHdr.9
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -516,7 +515,7 @@ CS.RUN.WriteSrcData
|
|||
lda #CHNK.T.DATA
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
||||
|
||||
>LDA.G Shunk.SrcSize
|
||||
clc
|
||||
adc #3
|
||||
|
@ -524,23 +523,23 @@ CS.RUN.WriteSrcData
|
|||
>LDA.G Shunk.SrcSize+1
|
||||
adc #0
|
||||
sta ZPPtr1+1
|
||||
|
||||
|
||||
pla
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
||||
|
||||
lda ZPPtr1+1
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
||||
|
||||
lda #0 NO COMPRESSION
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
||||
|
||||
>LDA.G Shunk.SrcSize
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
||||
|
||||
>LDA.G Shunk.SrcSize+1
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
@ -559,7 +558,7 @@ CS.RUN.WritePakData
|
|||
>LDA.G Shunk.DstSize
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
||||
|
||||
>LDA.G Shunk.DstSize+1
|
||||
jsr CS.RUN.WriteArcByteA
|
||||
bcs .9
|
||||
|
@ -572,12 +571,12 @@ CS.RUN.WritePakData
|
|||
*--------------------------------------
|
||||
CS.RUN.WriteArcByteY
|
||||
lda (ZPFileStat),y
|
||||
|
||||
|
||||
CS.RUN.WriteArcByteA
|
||||
pha
|
||||
>PUSHB.G hArcFile
|
||||
pla
|
||||
>PUSHA
|
||||
>PUSHA
|
||||
>SYSCALL FPutC
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -586,7 +585,7 @@ CS.DOEVENT sec
|
|||
*--------------------------------------
|
||||
CS.QUIT jsr LeaveSubDir
|
||||
bcc CS.QUIT
|
||||
|
||||
|
||||
ldy #hExclude
|
||||
jsr .7
|
||||
ldy #hFilter
|
||||
|
@ -604,18 +603,18 @@ CS.QUIT jsr LeaveSubDir
|
|||
|
||||
.1 lda hLIB
|
||||
beq .2
|
||||
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
|
||||
.2 clc
|
||||
rts
|
||||
|
||||
|
||||
.7 lda (pData),y
|
||||
beq .8
|
||||
>SYSCALL FreeMem
|
||||
.8 rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldx #OptionVars-OptionList-1
|
||||
|
@ -627,10 +626,10 @@ CS.RUN.CheckOpt ldy #1
|
|||
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
.2 ldy OptionVars,x
|
||||
beq .8
|
||||
|
||||
|
||||
lda #$ff
|
||||
sta 0,y
|
||||
|
||||
|
@ -644,16 +643,16 @@ CS.END
|
|||
OptionList .AS "AaRrXx"
|
||||
OptionVars .DA #bAppend,#bAppend,#bRecurse,#bRecurse,#0,#0
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : PAK Archive [File *,? wildcards allowed]\r\n"
|
||||
.AS " -A : Append to archive\r\n"
|
||||
.AS " -R : Recurse subdirectories\r\n"
|
||||
.AZ " -X <*,? wildcards allowed> : exclude files \r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.E.IARC .AZ "Invalid/corrupt archive"
|
||||
MSG.DIR .AZ "Reading Dir:%s..."
|
||||
MSG.FILE .AZ "Adding File:%s..."
|
||||
ARC.Header .AZ "PAK"
|
||||
MSG.USAGE .CS "Usage : PAK Archive [File *,? wildcards allowed]\r\n"
|
||||
.CS " -A : Append to archive\r\n"
|
||||
.CS " -R : Recurse subdirectories\r\n"
|
||||
.CZ " -X <*,? wildcards allowed> : exclude files \r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.E.IARC .CZ "Invalid/corrupt archive"
|
||||
MSG.DIR .CZ "Reading Dir:%s..."
|
||||
MSG.FILE .CZ "Adding File:%s..."
|
||||
ARC.Header .CZ "PAK"
|
||||
*--------------------------------------
|
||||
LIBPAK .AZ "libpak"
|
||||
hLIB .BS 1
|
||||
|
@ -675,7 +674,7 @@ Shunk.SrcSize .BS 2
|
|||
Shunk.DstSize .BS 2
|
||||
|
||||
PAKSTAT .BS S.PAKSTAT
|
||||
|
||||
|
||||
.INB usr/src/shared/x.fileenum.g
|
||||
DS.END
|
||||
.ED
|
||||
|
|
163
BIN/PAKME.S.txt
163
BIN/PAKME.S.txt
|
@ -57,7 +57,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBPAK .DA LIBPAK
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
|
@ -72,7 +72,7 @@ L.TAG .DA TAG
|
|||
CS.INIT >LDYA L.LIBPAK
|
||||
>SYSCALL LoadLib
|
||||
bcs .9
|
||||
|
||||
|
||||
sta hLIB
|
||||
|
||||
.9 rts
|
||||
|
@ -92,17 +92,16 @@ CS.RUN ldy #S.PS.ARGC
|
|||
>PUSHBI O.CREATE+O.WRONLY
|
||||
>PUSHB.G STATBUF+S.STAT.P.TYPE
|
||||
>PUSHW.G STATBUF+S.STAT.P.AUXTYPE
|
||||
|
||||
|
||||
>SYSCALL FOpen
|
||||
bcs .99
|
||||
|
||||
|
||||
sta hDstFile
|
||||
|
||||
|
||||
bra CS.RUN.START
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
@ -133,7 +132,7 @@ CS.RUN.START >PUSHW L.MSG.SRCFILE
|
|||
>PUSHW ZPDstTableOfs
|
||||
>SYSCALL FRead
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
|
||||
>PUSHB hDstFile
|
||||
>PUSHW ZPSrcBufPtr
|
||||
>PUSHW ZPDstTableOfs
|
||||
|
@ -141,27 +140,27 @@ CS.RUN.START >PUSHW L.MSG.SRCFILE
|
|||
bcs CS.RUN.RTS
|
||||
|
||||
jsr CS.QUIT.BUF
|
||||
|
||||
|
||||
jsr CS.RUN.WriteTable Write Fake table
|
||||
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
CS.RUN.RTS rts
|
||||
|
||||
CS.RUN.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
>SYSCALL FEOF
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
|
||||
tay
|
||||
bne .1
|
||||
|
||||
|
||||
>SYSCALL GetChar
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
|
||||
cmp #$03 Ctrl-C
|
||||
beq CS.RUN.RTS Abort....
|
||||
|
||||
|
||||
cmp #$13 Ctrl-S
|
||||
bne .1
|
||||
|
||||
|
@ -169,13 +168,13 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
eor #$ff
|
||||
sta bPause
|
||||
bne CS.RUN.LOOP
|
||||
|
||||
|
||||
.1 lda bPause
|
||||
bne CS.RUN.LOOP Pause...
|
||||
*--------------------------------------
|
||||
jsr CS.RUN.GetChunk
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
|
||||
>PUSHW L.MSG.CHUNK
|
||||
lda ZPChunkIndex
|
||||
inc
|
||||
|
@ -192,22 +191,22 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
jsr CS.RUN.WritePak
|
||||
bcc .7
|
||||
rts
|
||||
|
||||
|
||||
.2 jsr CS.RUN.WriteStore
|
||||
bcs .9
|
||||
|
||||
.7 jsr CS.QUIT.BUF
|
||||
|
||||
|
||||
jsr CS.RUN.UpdateTable
|
||||
inc ZPChunkIndex
|
||||
dec ZPChunkCnt
|
||||
beq .8
|
||||
|
||||
|
||||
jmp CS.RUN.LOOP
|
||||
|
||||
|
||||
.8 jsr CS.RUN.RewriteTable Write modified Table
|
||||
bcs .9
|
||||
|
||||
|
||||
lda #0
|
||||
sec
|
||||
.9 rts
|
||||
|
@ -219,17 +218,17 @@ CS.RUN.CheckSrcFile
|
|||
>PUSHBI O.RDONLY
|
||||
>PUSHBI 0 Type
|
||||
>PUSHWZ Aux type
|
||||
|
||||
|
||||
>SYSCALL FOpen
|
||||
bcs .99
|
||||
|
||||
|
||||
sta hSrcFile
|
||||
|
||||
|
||||
>PUSHB hSrcFile
|
||||
>PUSHEA.G STATBUF
|
||||
>SYSCALL FStat
|
||||
.99 bcs .9
|
||||
|
||||
|
||||
>LDA.G STATBUF+S.STAT.SIZE+3
|
||||
dey
|
||||
ora (pData),y
|
||||
|
@ -241,22 +240,22 @@ CS.RUN.CheckSrcFile
|
|||
dey
|
||||
lda (pData),y
|
||||
sta ZPSrcFileSize
|
||||
|
||||
|
||||
jsr CS.RUN.CheckTAG
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr CS.RUN.GetTable
|
||||
bcs .9
|
||||
|
||||
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.90 lda #MLI.E.INCFF
|
||||
sec
|
||||
.9
|
||||
.9
|
||||
CS.RUN.CheckSrcFile.RTS
|
||||
rts
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckTAG >PUSHB hSrcFile
|
||||
>PUSHWZ
|
||||
|
@ -268,19 +267,19 @@ CS.RUN.CheckTAG >PUSHB hSrcFile
|
|||
lda ZPSrcFileSize+1
|
||||
sbc #0
|
||||
>PUSHYA
|
||||
|
||||
|
||||
>PUSHBI SEEK.SET
|
||||
>SYSCALL FSeek
|
||||
bcs CS.RUN.CheckSrcFile.RTS
|
||||
|
||||
|
||||
>PUSHB hSrcFile
|
||||
>PUSHEA.G PAKME.HEADER
|
||||
>PUSHWI 10
|
||||
>SYSCALL FRead
|
||||
bcs CS.RUN.CheckSrcFile.RTS
|
||||
|
||||
|
||||
ldx #4
|
||||
|
||||
|
||||
ldy #PAKME.HEADER+4
|
||||
|
||||
.1 lda TAG,x
|
||||
|
@ -289,10 +288,10 @@ CS.RUN.CheckTAG >PUSHB hSrcFile
|
|||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.90 lda #MLI.E.INCFF
|
||||
sec
|
||||
.9 rts
|
||||
|
@ -312,7 +311,7 @@ CS.RUN.GetTable >LDA.G PAKME.HEADER+8
|
|||
>PUSHBI SEEK.SET
|
||||
>SYSCALL FSeek
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHB hSrcFile
|
||||
>PUSHEA.G PAKME.TABLE
|
||||
>LDA.G PAKME.HEADER+7
|
||||
|
@ -322,13 +321,13 @@ CS.RUN.GetTable >LDA.G PAKME.HEADER+8
|
|||
tay
|
||||
lda #0
|
||||
>PUSHYA
|
||||
|
||||
|
||||
>SYSCALL FRead
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetChunk lda ZPChunkIndex
|
||||
|
||||
|
||||
asl
|
||||
clc
|
||||
adc #PAKME.TABLE+1
|
||||
|
@ -341,7 +340,7 @@ CS.RUN.GetChunk lda ZPChunkIndex
|
|||
ldy #PAKME.HEADER+5
|
||||
sbc (pData),y
|
||||
sta ZPChunkOfs
|
||||
|
||||
|
||||
iny
|
||||
pla
|
||||
sbc (pData),y
|
||||
|
@ -353,13 +352,13 @@ CS.RUN.GetChunk lda ZPChunkIndex
|
|||
>PUSHBI SEEK.SET
|
||||
>SYSCALL FSeek
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHB hSrcFile
|
||||
>PUSHEA.G CHUNK.HEADER
|
||||
>PUSHWI 3
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
|
||||
>LDA.G CHUNK.HEADER
|
||||
bne .90
|
||||
|
||||
|
@ -370,30 +369,30 @@ CS.RUN.GetChunk lda ZPChunkIndex
|
|||
lda (pData),y
|
||||
sta ZPChunkLen+1
|
||||
ply
|
||||
|
||||
|
||||
jsr CS.RUN.GetSrcBufYA
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHB hSrcFile
|
||||
>PUSHW ZPSrcBufPtr
|
||||
>PUSHW ZPChunkLen
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
|
||||
* clc
|
||||
rts
|
||||
|
||||
.90 lda #MLI.E.INCFF
|
||||
sec
|
||||
|
||||
.9 rts
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetSrcBufYA
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
stx hSrcBuf
|
||||
>STYA ZPSrcBufPtr
|
||||
.9 rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.Pak >LDYA ZPChunkLen
|
||||
>SYSCALL GetMem
|
||||
|
@ -427,29 +426,29 @@ CS.RUN.WriteTable
|
|||
lda #0
|
||||
>PUSHYA
|
||||
>SYSCALL FWrite
|
||||
CS.RUN.WriteTable.RTS
|
||||
CS.RUN.WriteTable.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.WritePak lda hDstFile
|
||||
>SYSCALL FTell
|
||||
bcs .9
|
||||
|
||||
|
||||
>PULLW ZPChunkNewOfs
|
||||
inc pStack
|
||||
inc pStack
|
||||
|
||||
|
||||
>PUSHB hDstFile
|
||||
>PUSHW ZPDstBufPtr
|
||||
>PUSHW ZPChunkPakedLen
|
||||
>SYSCALL FWrite
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHW L.MSG.PAKED
|
||||
>PUSHW ZPChunkPakedLen
|
||||
>PUSHW ZPChunkNewOfs
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
|
||||
>SYSCALL PrintF
|
||||
|
||||
.9
|
||||
CS.RUN.WritePak.RTS
|
||||
rts
|
||||
|
@ -458,42 +457,42 @@ CS.RUN.WriteStore
|
|||
lda hDstFile
|
||||
>SYSCALL FTell
|
||||
bcs CS.RUN.WritePak.RTS
|
||||
|
||||
|
||||
>PULLW ZPChunkNewOfs
|
||||
inc pStack
|
||||
inc pStack
|
||||
|
||||
|
||||
>PUSHB hDstFile
|
||||
>PUSHEA.G CHUNK.HEADER
|
||||
>PUSHWI 3
|
||||
>SYSCALL FWrite
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHB hDstFile
|
||||
>PUSHW ZPSrcBufPtr
|
||||
>PUSHW ZPChunkLen
|
||||
>SYSCALL FWrite
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHW L.MSG.STORE
|
||||
>PUSHW ZPChunkLen
|
||||
>PUSHW ZPChunkNewOfs
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
|
||||
>SYSCALL PrintF
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.UpdateTable
|
||||
ldy #PAKME.HEADER+6
|
||||
lda (pData),y
|
||||
pha
|
||||
|
||||
|
||||
dey
|
||||
lda (pData),y
|
||||
pha
|
||||
|
||||
lda ZPChunkIndex
|
||||
|
||||
|
||||
asl
|
||||
clc
|
||||
adc #PAKME.TABLE
|
||||
|
@ -503,9 +502,9 @@ CS.RUN.UpdateTable
|
|||
clc
|
||||
adc ZPChunkNewOfs
|
||||
sta (pData),y
|
||||
|
||||
|
||||
iny
|
||||
|
||||
|
||||
pla
|
||||
adc ZPChunkNewOfs+1
|
||||
sta (pData),y
|
||||
|
@ -517,18 +516,18 @@ CS.DOEVENT sec
|
|||
CS.QUIT lda hDstFile
|
||||
beq .2
|
||||
>SYSCALL FClose
|
||||
|
||||
|
||||
.2 lda hSrcFile
|
||||
beq .3
|
||||
>SYSCALL FClose
|
||||
|
||||
|
||||
.3 jsr CS.QUIT.BUF
|
||||
|
||||
lda hLIB
|
||||
beq .8
|
||||
|
||||
|
||||
>SYSCALL UnloadLib
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -541,18 +540,18 @@ CS.QUIT.BUF lda hDstBuf
|
|||
beq .8
|
||||
stz hSrcBuf
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.8 rts
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : PAKME SourceBIN PackedBIN\r\n"
|
||||
MSG.SRCFILE .AZ "Source File : %s, Size=%5D, Org=$%H, %d Chunks at $%H.\r\n"
|
||||
MSG.CHUNK .AZ " Chunk #%02d : Ofs=$%H, Len=%5D ... "
|
||||
MSG.PAKED .AZ "PAKed : %5D Bytes, New Ofs=$%H\r\n"
|
||||
MSG.STORE .AZ "Store : %5D Bytes, New Ofs=$%H\r\n"
|
||||
MSG.E.IARC .AZ "Invalid/corrupt archive"
|
||||
TAG .AZ "PAKME"
|
||||
MSG.USAGE .CZ "Usage : PAKME SourceBIN PackedBIN\r\n"
|
||||
MSG.SRCFILE .CZ "Source File : %s, Size=%5D, Org=$%H, %d Chunks at $%H.\r\n"
|
||||
MSG.CHUNK .CZ " Chunk #%02d : Ofs=$%H, Len=%5D ... "
|
||||
MSG.PAKED .CZ "PAKed : %5D Bytes, New Ofs=$%H\r\n"
|
||||
MSG.STORE .CZ "Store : %5D Bytes, New Ofs=$%H\r\n"
|
||||
MSG.E.IARC .CZ "Invalid/corrupt archive"
|
||||
TAG .CZ "PAKME"
|
||||
*--------------------------------------
|
||||
LIBPAK .AZ "libpak"
|
||||
hLIB .BS 1
|
||||
|
|
|
@ -8,6 +8,7 @@ NEW
|
|||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/eth.i
|
||||
.INB inc/net.tcpip.i
|
||||
.INB inc/libtcpip.i
|
||||
*--------------------------------------
|
||||
TIMEOUT.MAX .EQ 40 4 sec.
|
||||
|
@ -48,7 +49,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.MSG.IPKO .DA MSG.IPKO
|
||||
|
@ -77,15 +78,15 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
|||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
.1 ldy #DATA.Len-1
|
||||
|
||||
.2 lda ICMP.Request,y
|
||||
sta (pData),y
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
|
||||
|
||||
|
||||
CS.RUN.IPOK inc ArgIndex
|
||||
lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
|
@ -96,7 +97,7 @@ CS.RUN.IPOK inc ArgIndex
|
|||
cmp #'-'
|
||||
bne .1
|
||||
|
||||
ldy #1
|
||||
ldy #1
|
||||
lda (ZPTmpPtr),y
|
||||
beq .9
|
||||
|
||||
|
@ -108,7 +109,7 @@ CS.RUN.IPOK inc ArgIndex
|
|||
|
||||
and #$0F
|
||||
sta PingCount
|
||||
bra CS.RUN.IPOK
|
||||
bra CS.RUN.IPOK
|
||||
|
||||
.1 lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
|
@ -134,9 +135,9 @@ CS.RUN.IPOK inc ArgIndex
|
|||
.8 >LDA.G SA.REMOTE+S.SOCKADDR.ADDR
|
||||
bne CS.RUN.ARGSOK
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
|
||||
|
||||
.99 >SYSCALL PrintF
|
||||
|
||||
lda #E.SYN
|
||||
|
@ -144,7 +145,7 @@ CS.RUN.IPOK inc ArgIndex
|
|||
rts
|
||||
|
||||
CS.RUN.ARGSOK >PUSHW L.MSG.HOSTOK
|
||||
|
||||
|
||||
ldx #4
|
||||
ldy #SA.REMOTE+S.SOCKADDR.ADDR
|
||||
|
||||
|
@ -160,7 +161,7 @@ CS.RUN.ARGSOK >PUSHW L.MSG.HOSTOK
|
|||
|
||||
>PUSHBI 6
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
CS.RUN.OPENSKT ldx #3
|
||||
ldy #S.IPCFG.IP+3
|
||||
|
||||
|
@ -178,7 +179,7 @@ CS.RUN.OPENSKT ldx #3
|
|||
dey
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
|
||||
lda A2osX.RANDOM16
|
||||
eor A2osX.TIMER16+1
|
||||
>STA.G SA.LOCAL+S.SOCKADDR.PORT
|
||||
|
@ -197,7 +198,7 @@ CS.RUN.OPENSKT ldx #3
|
|||
bcs .9
|
||||
|
||||
sta hSocket
|
||||
|
||||
|
||||
>PUSHB hSocket
|
||||
>PUSHEA.G SA.LOCAL
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||
|
@ -213,10 +214,10 @@ CS.RUN.OPENSKT ldx #3
|
|||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
|
||||
CS.RUN.SEND.ECHO
|
||||
>SLEEP
|
||||
|
||||
|
||||
lda Identifier
|
||||
>STA.G Request+S.ICMP.IDENTIFIER-S.IP+1
|
||||
|
||||
|
@ -226,9 +227,9 @@ CS.RUN.SEND.ECHO
|
|||
|
||||
inc Sequence
|
||||
bne .1
|
||||
|
||||
|
||||
inc Sequence+1
|
||||
|
||||
|
||||
.1 lda Sequence
|
||||
>STA.G Request+S.ICMP.SEQUENCE-S.IP+1
|
||||
|
||||
|
@ -241,7 +242,7 @@ CS.RUN.SEND.ECHO
|
|||
>PUSHWI ICMP.RequestLen
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Send
|
||||
bcs CS.RUN.ERR
|
||||
|
||||
|
||||
lda #TIMEOUT.MAX
|
||||
sta TimeOut
|
||||
CS.RUN.WAIT.REPLY
|
||||
|
@ -251,7 +252,7 @@ CS.RUN.WAIT.REPLY
|
|||
>SYSCALL FEOF
|
||||
bcs CS.RUN.ERR
|
||||
tay
|
||||
bne .1
|
||||
bne .1
|
||||
|
||||
>SYSCALL GetChar
|
||||
bcs CS.RUN.ERR
|
||||
|
@ -273,7 +274,7 @@ CS.RUN.WAIT.REPLY
|
|||
.2 sta hFrame
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPTmpPtr
|
||||
|
||||
|
||||
ldy #S.ICMP.SEQUENCE
|
||||
lda (ZPTmpPtr),y
|
||||
cmp Sequence+1
|
||||
|
@ -286,7 +287,7 @@ CS.RUN.WAIT.REPLY
|
|||
|
||||
.3 jsr CS.FrameDiscard
|
||||
bra CS.RUN.WAIT.REPLY
|
||||
|
||||
|
||||
.4 jsr CS.Print.REPLY
|
||||
bcs CS.RUN.ERR
|
||||
|
||||
|
@ -317,7 +318,7 @@ CS.DOEVENT lda (pEvent)
|
|||
*--------------------------------------
|
||||
CS.Print.UNREACH
|
||||
>PUSHW L.MSG.UNREACH
|
||||
|
||||
|
||||
ldx #4
|
||||
ldy #SA.REMOTE+S.SOCKADDR.ADDR
|
||||
|
||||
|
@ -341,7 +342,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
|
|||
beq .3
|
||||
|
||||
.1 lda TimeOut.ms
|
||||
clc
|
||||
clc
|
||||
adc #100
|
||||
sta TimeOut.ms
|
||||
bcc .2
|
||||
|
@ -352,7 +353,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
|
|||
bne .1
|
||||
|
||||
.3 >PUSHW L.MSG.REPLY
|
||||
|
||||
|
||||
ldx #4
|
||||
ldy #S.IP.SRC
|
||||
|
||||
|
@ -363,7 +364,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
|
|||
|
||||
ldy #S.ICMP.SEQUENCE
|
||||
>PUSHB (ZPTmpPtr),y
|
||||
iny
|
||||
iny
|
||||
>PUSHB (ZPTmpPtr),y
|
||||
|
||||
ldy #S.IP.TTL
|
||||
|
@ -371,7 +372,7 @@ CS.Print.REPLY lda #TIMEOUT.MAX
|
|||
|
||||
>PUSHW TimeOut.ms
|
||||
>PUSHBI 9
|
||||
|
||||
|
||||
>SYSCALL PrintF
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -399,14 +400,14 @@ CS.FrameDiscard lda hFrame
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AS "Usage : PING <ip|host>\r\n"
|
||||
.AZ " -1-9 : Ping Count\r\n"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
MSG.HOSTOK .AZ "PING %d.%d.%d.%d (%s)\r\n"
|
||||
MSG.SKTKO .AZ "Failed to Open Socket."
|
||||
MSG.UNREACH .AZ "%d.%d.%d.%d: TimeOut/Host unreachable\r\n"
|
||||
MSG.REPLY .AZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
|
||||
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .CS "Usage : PING <ip|host>\r\n"
|
||||
.CZ " -1-9 : Ping Count\r\n"
|
||||
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
|
||||
MSG.HOSTOK .CZ "PING %d.%d.%d.%d (%s)\r\n"
|
||||
MSG.SKTKO .CZ "Failed to Open Socket."
|
||||
MSG.UNREACH .CZ "%d.%d.%d.%d: TimeOut/Host unreachable\r\n"
|
||||
MSG.REPLY .CZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
|
||||
hLIBTCPIP .BS 1
|
||||
*--------------------------------------
|
||||
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
||||
|
|
|
@ -184,7 +184,7 @@ CS.RUN
|
|||
sty wLast+1
|
||||
|
||||
.5 jmp .1 ; go check for another argument
|
||||
|
||||
|
||||
|
||||
|
||||
*--- Done with args so figure out -----
|
||||
|
@ -218,9 +218,8 @@ CS.RUN
|
|||
|
||||
*--- Display usage and error out ------
|
||||
.9
|
||||
>PUSHW L.MSG.USAGE ; push address for usage text
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF ; print usage message
|
||||
>LDYA L.MSG.USAGE ; push address for usage text
|
||||
>SYSCALL PutS ; print usage message
|
||||
lda #E.SYN ; set OS return code as Syntax Error
|
||||
sec ; indicate we don't want CS.RUN called again
|
||||
rts ; return to OS
|
||||
|
@ -390,11 +389,11 @@ CS.CmpFirstLast >PUSHW wFirst ; using FPU macro, so push first,
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : SEQ [first [incr]] last\r\n"
|
||||
.AS " -F numeric format\r\n"
|
||||
.AS " -S string separator\r\n"
|
||||
.AZ " -T terminating string\r\n"
|
||||
MSG.MSG.NEWLINE .AZ "\r\n"
|
||||
MSG.USAGE .CS "Usage : SEQ [first [incr]] last\r\n"
|
||||
.CS " -F numeric format\r\n"
|
||||
.CS " -S string separator\r\n"
|
||||
.CZ " -T terminating string\r\n"
|
||||
MSG.MSG.NEWLINE .CZ "\r\n"
|
||||
*--------------------------------------
|
||||
FMT.FORMAT .AZ "%I"
|
||||
FMT.STRING .AZ "\r\n"
|
||||
|
|
|
@ -68,7 +68,7 @@ CMD.ALIAS.ADD >LDYA ZPArgVBufPtr
|
|||
|
||||
.1 >PUSHA
|
||||
>PUSHW ZPVarNamePtr
|
||||
|
||||
>PUSHWZ ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .99
|
||||
|
||||
|
@ -621,7 +621,7 @@ CMD.FUNCTION lda (ZPArgVBufPtr)
|
|||
|
||||
.1 >PUSHA
|
||||
>PUSHW ZPArgVBufPtr
|
||||
|
||||
>PUSHWZ ScopeID
|
||||
>SYSCALL SListNewKey
|
||||
bcs .99
|
||||
|
||||
|
@ -721,6 +721,7 @@ CMD.CALL.GETFUNC
|
|||
|
||||
>PUSHB.G hFunctions
|
||||
>PUSHW ZPArgVBufPtr
|
||||
>PUSHWZ ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcc CMD.CALL.RTS
|
||||
|
||||
|
|
|
@ -171,6 +171,7 @@ CORE.Run.3 >LDA.G hAliases
|
|||
|
||||
>PUSHA
|
||||
>PUSHW ZPInputBufPtr
|
||||
>PUSHWZ ScopeID
|
||||
>SYSCALL SListLookup
|
||||
bcs CORE.Run.4
|
||||
|
||||
|
|
133
BIN/STAT.S.txt
133
BIN/STAT.S.txt
|
@ -27,8 +27,8 @@ bBlocks .BS 1
|
|||
bCTime .BS 1
|
||||
bMTime .BS 1
|
||||
bATime .BS 1
|
||||
|
||||
ZS.END .ED
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
|
@ -48,7 +48,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.Filename .DA MSG.Filename
|
||||
|
@ -64,7 +64,7 @@ L.MSG.U .DA MSG.U
|
|||
CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN dec bAll
|
||||
CS.RUN dec bAll
|
||||
|
||||
.1 inc ArgIndex
|
||||
lda ArgIndex
|
||||
|
@ -80,9 +80,8 @@ CS.RUN dec bAll
|
|||
jsr CS.RUN.CheckOpt
|
||||
bcc .1
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.99 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
@ -93,21 +92,21 @@ CS.RUN dec bAll
|
|||
lda ArgIndex
|
||||
sta ArgFile
|
||||
bra .1
|
||||
|
||||
|
||||
.3 lda ArgFile
|
||||
beq .99
|
||||
|
||||
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
>PUSHW pData
|
||||
>SYSCALL Stat
|
||||
bcs .9
|
||||
|
||||
|
||||
jsr CS.RUN.CONVERT
|
||||
|
||||
|
||||
bit bAll
|
||||
bmi .7
|
||||
|
||||
|
||||
jsr CS.RUN.PRINT
|
||||
bcs .9
|
||||
|
||||
|
@ -115,38 +114,38 @@ CS.RUN dec bAll
|
|||
|
||||
.7 jsr CS.RUN.DUMP
|
||||
bcs .9
|
||||
|
||||
|
||||
.8 lda #0
|
||||
sec
|
||||
.9
|
||||
.9
|
||||
CS.RUN.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PRINT bit bAccess
|
||||
bpl .1
|
||||
|
||||
|
||||
>LEA.G AttrBuf
|
||||
>SYSCALL PutS
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
|
||||
.1 bit bMod
|
||||
bpl .2
|
||||
|
||||
|
||||
>LEA.G MOD
|
||||
>SYSCALL PutS
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
|
||||
.2 bit bUID
|
||||
bpl .3
|
||||
|
||||
|
||||
>PUSHW L.MSG.D
|
||||
>PUSHW.G StatBuf+S.STAT.UID
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
.9 bcs CS.RUN.RTS
|
||||
|
||||
|
||||
.3 bit bGID
|
||||
bpl .4
|
||||
|
||||
|
||||
>PUSHW L.MSG.D
|
||||
>PUSHW.G StatBuf+S.STAT.GID
|
||||
>PUSHBI 2
|
||||
|
@ -155,7 +154,7 @@ CS.RUN.PRINT bit bAccess
|
|||
|
||||
.4 bit bSize
|
||||
bpl .5
|
||||
|
||||
|
||||
>PUSHW L.MSG.U
|
||||
>PUSHL.G StatBuf+S.STAT.SIZE
|
||||
>PUSHBI 4
|
||||
|
@ -164,7 +163,7 @@ CS.RUN.PRINT bit bAccess
|
|||
|
||||
.5 bit bBlocks
|
||||
bpl CS.RUN.PRINT2
|
||||
|
||||
|
||||
>PUSHW L.MSG.U
|
||||
>PUSHL.G StatBuf+S.STAT.BLOCKS
|
||||
>PUSHBI 4
|
||||
|
@ -173,24 +172,24 @@ CS.RUN.PRINT bit bAccess
|
|||
|
||||
CS.RUN.PRINT2 bit bCTime
|
||||
bpl .7
|
||||
|
||||
|
||||
>LEA.G TIME.Create
|
||||
>SYSCALL PutS
|
||||
bcs .9
|
||||
|
||||
|
||||
.7 bit bMTime
|
||||
bpl .8
|
||||
|
||||
|
||||
>LEA.G TIME.Mod
|
||||
>SYSCALL PutS
|
||||
bcs .9
|
||||
|
||||
|
||||
.8 bit bATime
|
||||
bpl .9
|
||||
|
||||
|
||||
>LEA.G TIME.Access
|
||||
>SYSCALL PutS
|
||||
|
||||
|
||||
.9
|
||||
CS.RUN.PRINT.RTS
|
||||
rts
|
||||
|
@ -210,7 +209,7 @@ CS.RUN.DUMP lda ArgFile
|
|||
>SYSCALL PrintF
|
||||
pla
|
||||
>SYSCALL FreeMem
|
||||
|
||||
|
||||
>PUSHW L.MSG.Access
|
||||
>PUSHEA.G AttrBuf
|
||||
>PUSHBI 2
|
||||
|
@ -220,7 +219,7 @@ CS.RUN.DUMP lda ArgFile
|
|||
>PUSHEA.G MOD
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
>PUSHW L.MSG.UIDGIDSIZE
|
||||
>PUSHW.G StatBuf+S.STAT.UID
|
||||
>PUSHW.G StatBuf+S.STAT.GID
|
||||
|
@ -229,15 +228,15 @@ CS.RUN.DUMP lda ArgFile
|
|||
>PUSHW.G StatBuf+S.STAT.BLKSIZE
|
||||
>PUSHBI 14
|
||||
>SYSCALL PrintF
|
||||
|
||||
|
||||
>PUSHW L.MSG.CMATimes
|
||||
>PUSHEA.G TIME.Create
|
||||
>PUSHEA.G TIME.Mod
|
||||
>PUSHEA.G TIME.Access
|
||||
>PUSHBI 6
|
||||
>SYSCALL PrintF
|
||||
|
||||
rts
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CONVERT jsr Access2CSTR
|
||||
jsr Mod2CSTR
|
||||
|
@ -252,7 +251,7 @@ Access2CSTR ldy #S.STAT.P.ACCESS
|
|||
.1 lsr
|
||||
pha
|
||||
bcc .2
|
||||
|
||||
|
||||
lda ATTRS,x
|
||||
sta (pData),y
|
||||
dex
|
||||
|
@ -260,15 +259,15 @@ Access2CSTR ldy #S.STAT.P.ACCESS
|
|||
lda ATTRS,x
|
||||
sta (pData),y
|
||||
bra .3
|
||||
|
||||
|
||||
.2 lda #'-'
|
||||
sta (pData),y
|
||||
dex
|
||||
dey
|
||||
sta (pData),y
|
||||
|
||||
|
||||
.3 pla
|
||||
|
||||
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
@ -279,16 +278,16 @@ Mod2CSTR ldy #S.STAT.MODE+1
|
|||
lda (pData),y
|
||||
lsr
|
||||
php
|
||||
|
||||
|
||||
lsr
|
||||
lsr
|
||||
lsr
|
||||
tax
|
||||
lda TYPES,x
|
||||
>STA.G MOD
|
||||
|
||||
|
||||
plp
|
||||
|
||||
|
||||
ldx #8
|
||||
|
||||
ldy #S.STAT.MODE
|
||||
|
@ -303,11 +302,11 @@ Mod2CSTR ldy #S.STAT.MODE+1
|
|||
lda ACCESS,x
|
||||
|
||||
.2 sta (pData),y
|
||||
|
||||
|
||||
iny
|
||||
pla
|
||||
asl
|
||||
|
||||
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
|
@ -357,14 +356,14 @@ CS.RUN.PrintAMCTime.NODATE
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT
|
||||
CS.QUIT
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldx #OptionVars-OptionList-1
|
||||
|
@ -405,29 +404,29 @@ ACCESS .AS "xwrxwrxwr"
|
|||
MSG.NODATE .AZ "<No-Date>"
|
||||
FMT.DateTime .AZ "%d-%b-%y %H:%M:%S"
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : STAT File\r\n"
|
||||
.AS " -A : Access Flags\r\n"
|
||||
.AS " -D : Mod Flags\r\n"
|
||||
.AS " -U : UID\r\n"
|
||||
.AS " -G : GID\r\n"
|
||||
.AS " -S : Size in bytes\r\n"
|
||||
.AS " -B : Size in blocks\r\n"
|
||||
.AS " -C : Creation date/time\r\n"
|
||||
.AS " -M : Modification date/time\r\n"
|
||||
.AZ " -L : Last access date/time\r\n"
|
||||
MSG.USAGE .CS "Usage : STAT File\r\n"
|
||||
.CS " -A : Access Flags\r\n"
|
||||
.CS " -D : Mod Flags\r\n"
|
||||
.CS " -U : UID\r\n"
|
||||
.CS " -G : GID\r\n"
|
||||
.CS " -S : Size in bytes\r\n"
|
||||
.CS " -B : Size in blocks\r\n"
|
||||
.CS " -C : Creation date/time\r\n"
|
||||
.CS " -M : Modification date/time\r\n"
|
||||
.CZ " -L : Last access date/time\r\n"
|
||||
*--------------------------------------
|
||||
MSG.Filename .AZ "Filename : %s\r\n"
|
||||
MSG.Access .AZ "Access : %s\r\n"
|
||||
MSG.Mod .AZ "Mod : %s\r\n"
|
||||
MSG.UIDGIDSIZE .AS "UID : %10D\r\n"
|
||||
.AS "GID : %10D\r\n"
|
||||
.AS "Size : %10u\r\n"
|
||||
.AZ "Blocks : %10u (%D)\r\n"
|
||||
MSG.CMATimes .AS "Created : %s\r\n"
|
||||
.AS "Modified : %s\r\n"
|
||||
.AZ "Accessed : %s\r\n"
|
||||
MSG.D .AZ "%D\r\n"
|
||||
MSG.U .AZ "%u\r\n"
|
||||
MSG.Filename .CZ "Filename : %s\r\n"
|
||||
MSG.Access .CZ "Access : %s\r\n"
|
||||
MSG.Mod .CZ "Mod : %s\r\n"
|
||||
MSG.UIDGIDSIZE .CS "UID : %10D\r\n"
|
||||
.CS "GID : %10D\r\n"
|
||||
.CS "Size : %10u\r\n"
|
||||
.CZ "Blocks : %10u (%D)\r\n"
|
||||
MSG.CMATimes .CS "Created : %s\r\n"
|
||||
.CS "Modified : %s\r\n"
|
||||
.CZ "Accessed : %s\r\n"
|
||||
MSG.D .CZ "%D\r\n"
|
||||
MSG.U .CZ "%u\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -298,16 +298,15 @@ CS.QUIT lda hSocket
|
|||
CS.END
|
||||
LIBTCPIP .AZ "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG.IPKO .AZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .AZ "Usage : TELNET <ip|host> [port]"
|
||||
MSG.UNKNOWN .AZ "%s: Unknown host\r\n"
|
||||
MSG.HOSTOK .AZ "Connecting to %d.%d.%d.%d:%D (%s)..."
|
||||
MSG.SKTOK .AS "Connected"
|
||||
.DA #C.CR,#C.LF
|
||||
.AZ "(Exit key is Ctrl-T)"
|
||||
MSG.SKTERR .AZ "Socket Error : $%h\r\n"
|
||||
MSG.IOERR .AZ "I/O Error : $%h\r\n"
|
||||
MSG.USER .AZ "User interrupt."
|
||||
MSG.IPKO .CZ "TCP/IP Not Loaded/Configured."
|
||||
MSG.USAGE .CZ "Usage : TELNET <ip|host> [port]"
|
||||
MSG.UNKNOWN .CZ "%s: Unknown host\r\n"
|
||||
MSG.HOSTOK .CZ "Connecting to %d.%d.%d.%d:%D (%s)..."
|
||||
MSG.SKTOK .CS "Connected\r\n"
|
||||
.CZ "(Exit key is Ctrl-T)"
|
||||
MSG.SKTERR .CZ "Socket Error : $%h\r\n"
|
||||
MSG.IOERR .CZ "I/O Error : $%h\r\n"
|
||||
MSG.USER .CZ "User interrupt."
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
|
|
50
BIN/UC.S.txt
50
BIN/UC.S.txt
|
@ -53,7 +53,7 @@ CS.START cld
|
|||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.DIR .DA MSG.DIR
|
||||
|
@ -69,7 +69,7 @@ CS.RUN inc ArgIndex
|
|||
lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
bcs .5
|
||||
|
||||
|
||||
>STYA ZPPtr1
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
|
@ -144,29 +144,29 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
|||
jsr CS.RUN.FILE
|
||||
bcc CS.RUN.NEXT
|
||||
rts
|
||||
|
||||
|
||||
.5 cmp /S.STAT.MODE.DIR DIR ?
|
||||
beq .6
|
||||
|
||||
|
||||
cmp /S.STAT.MODE.BDEV VOL ?
|
||||
bne .9
|
||||
|
||||
.6 jsr CS.RUN.DIR
|
||||
bcc CS.RUN.NEXT
|
||||
rts
|
||||
|
||||
|
||||
.9 lda #MLI.E.UNSUPST
|
||||
sec
|
||||
.99 rts
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.NEXT jsr GetNextEntry
|
||||
bcc CS.RUN.LOOP
|
||||
|
||||
|
||||
CS.RUN.LEAVE jsr LeaveSubDir
|
||||
bcs .90
|
||||
|
||||
jsr BasePath..
|
||||
|
||||
|
||||
jmp CS.RUN.NEXT
|
||||
|
||||
.90 lda #0
|
||||
|
@ -176,18 +176,18 @@ CS.RUN.LEAVE jsr LeaveSubDir
|
|||
CS.RUN.DIR lda (ZPFileName)
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
ldy #1
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
cmp #'.'
|
||||
bne .1
|
||||
|
||||
|
||||
iny
|
||||
lda (ZPFileName),y
|
||||
beq .8
|
||||
|
||||
|
||||
.1 jsr FilterMatch
|
||||
bcs .8
|
||||
|
||||
|
@ -198,7 +198,7 @@ CS.RUN.DIR lda (ZPFileName)
|
|||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
bcs .9
|
||||
|
||||
|
||||
>PUSHW ZPFullPath
|
||||
jsr CS.RUN.GetNewPath
|
||||
>PUSHYA
|
||||
|
@ -231,9 +231,9 @@ CS.RUN.FILE jsr FilterMatch
|
|||
>SYSCALL Rename
|
||||
|
||||
bra CS.RUN.CheckErr
|
||||
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckErr bcs .1
|
||||
|
||||
|
@ -272,10 +272,10 @@ CS.RUN.GetNewPath
|
|||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>SYSCALL StrCpy
|
||||
|
||||
|
||||
>LDYA ZPFileName
|
||||
>SYSCALL StrUpr
|
||||
|
||||
|
||||
>PUSHW ZPNewPath
|
||||
>PUSHW ZPFileName
|
||||
>SYSCALL StrCat
|
||||
|
@ -302,7 +302,7 @@ CS.QUIT jsr LeaveSubDir
|
|||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
CS.RUN.CheckOpt ldy #1
|
||||
lda (ZPPtr1),y
|
||||
|
||||
ldx #OptionVars-OptionList-1
|
||||
|
@ -329,13 +329,13 @@ OptionList .AS "CRcr"
|
|||
OptionVars .DA #bContinue,#bRecurse
|
||||
.DA #bContinue,#bRecurse
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : UC File(s) (*,? wildcards allowed)\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AS " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.DIR .AZ "Dir :%s..."
|
||||
MSG.FILE .AZ "File:%s..."
|
||||
MSG.USAGE .CS "Usage : UC File(s) (*,? wildcards allowed)\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CZ " -R : Recurse subdirectories\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.DIR .CZ "Dir :%s..."
|
||||
MSG.FILE .CZ "File:%s..."
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -97,9 +97,8 @@ CS.RUN ldy #S.PS.ARGC
|
|||
jsr CS.RUN.CheckOpt
|
||||
bcc .1
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.99 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
|
||||
lda #E.SYN
|
||||
sec
|
||||
|
@ -345,17 +344,17 @@ OptionVars .DA #bHostName,#bHostName
|
|||
.DA #bKernelMode,#bKernelMode
|
||||
.DA #bKernelClk,#bKernelClk
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : UNAME\r\n"
|
||||
.AS " -H : Hostname\r\n"
|
||||
.AS " -M : Machine Type/SubType\r\n"
|
||||
.AS " -C : CPU Type\r\n"
|
||||
.AS " -S : CPU Speed\r\n"
|
||||
.AS " -A : Alternate CPU\r\n"
|
||||
.AS " -V : Kernel Version\r\n"
|
||||
.AS " -B : Kernel Build\r\n"
|
||||
.AS " -K : Kernel Mode\r\n"
|
||||
.AS " -Z : Kernel Timing\r\n"
|
||||
MSG.CRLF .AZ "\r\n"
|
||||
MSG.USAGE .CS "Usage : UNAME\r\n"
|
||||
.CS " -H : Hostname\r\n"
|
||||
.CS " -M : Machine Type/SubType\r\n"
|
||||
.CS " -C : CPU Type\r\n"
|
||||
.CS " -S : CPU Speed\r\n"
|
||||
.CS " -A : Alternate CPU\r\n"
|
||||
.CS " -V : Kernel Version\r\n"
|
||||
.CS " -B : Kernel Build\r\n"
|
||||
.CS " -K : Kernel Mode\r\n"
|
||||
.CS " -Z : Kernel Timing\r\n"
|
||||
MSG.CRLF .CZ "\r\n"
|
||||
*--------------------------------------
|
||||
ETCHOSTNAME .AZ "${ROOT}etc/hostname"
|
||||
ETCVERSION .AZ "${ROOT}etc/version"
|
||||
|
|
757
BIN/UNPAK.S.txt
757
BIN/UNPAK.S.txt
|
@ -1,486 +1,485 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/unpak
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
.OR $2000
|
||||
.TF bin/unpak
|
||||
*--------------------------------------
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/mli.e.i
|
||||
.INB inc/pak.i
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/mli.e.i
|
||||
.INB inc/pak.i
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
ZPPtr1 .BS 2
|
||||
ZPPtr2 .BS 2
|
||||
ZPPtr1 .BS 2
|
||||
ZPPtr2 .BS 2
|
||||
|
||||
ZPInBufPtr .BS 2
|
||||
ZPOutBufPtr .BS 2
|
||||
ZPInBufPtr .BS 2
|
||||
ZPOutBufPtr .BS 2
|
||||
|
||||
ZPnCnt .BS 2
|
||||
ZPInMask .BS 1
|
||||
ZPBLOfsLBits .BS 1
|
||||
ZPBLOfsHBits .BS 1
|
||||
ZPBLLenBits .BS 1
|
||||
ZPnCnt .BS 2
|
||||
ZPInMask .BS 1
|
||||
ZPBLOfsLBits .BS 1
|
||||
ZPBLOfsHBits .BS 1
|
||||
ZPBLLenBits .BS 1
|
||||
|
||||
ZPInBufLen .BS 2
|
||||
ZPOutBufLen .BS 2
|
||||
ZPInBufLen .BS 2
|
||||
ZPOutBufLen .BS 2
|
||||
|
||||
ZPFullPathPtr .BS 2
|
||||
ZPRelPathPtr .BS 2
|
||||
ZPFullPathPtr .BS 2
|
||||
ZPRelPathPtr .BS 2
|
||||
|
||||
ZPProgress .BS 1
|
||||
ZPProgress .BS 1
|
||||
|
||||
ZS.END .ED
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #64 SS
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
CS.START cld
|
||||
jmp (.1,x)
|
||||
.DA #$61 6502,Level 1 (65c02)
|
||||
.DA #1 BIN Layout Version 1
|
||||
.DA 0
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #64 SS
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
*--------------------------------------
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.DIR .DA MSG.DIR
|
||||
L.MSG.FILE .DA MSG.FILE
|
||||
L.MSG.OK .DA MSG.OK
|
||||
L.MSG.E.IARC .DA MSG.E.IARC
|
||||
L.MSG.SPINNER .DA MSG.SPINNER
|
||||
.DA 0
|
||||
.1 .DA CS.INIT
|
||||
.DA CS.RUN
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.DIR .DA MSG.DIR
|
||||
L.MSG.FILE .DA MSG.FILE
|
||||
L.MSG.OK .DA MSG.OK
|
||||
L.MSG.E.IARC .DA MSG.E.IARC
|
||||
L.MSG.SPINNER .DA MSG.SPINNER
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT clc
|
||||
rts
|
||||
CS.INIT clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN stz ZPProgress
|
||||
>LDYAI CHNK.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcc s1
|
||||
rts
|
||||
CS.RUN stz ZPProgress
|
||||
>LDYAI CHNK.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcc s1
|
||||
rts
|
||||
s1
|
||||
>STYA ZPInBufPtr
|
||||
txa
|
||||
>STA.G hInBuf
|
||||
>STYA ZPInBufPtr
|
||||
txa
|
||||
>STA.G hInBuf
|
||||
|
||||
lda #1
|
||||
>SYSCALL ArgV
|
||||
bcs .99
|
||||
lda #1
|
||||
>SYSCALL ArgV
|
||||
bcs .99
|
||||
|
||||
>STYA ZPPtr1 See if first arg is -p
|
||||
pha
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .1 No dash-arguments
|
||||
pla
|
||||
ldy #$01
|
||||
lda (ZPPtr1),y
|
||||
cmp #'p'
|
||||
bne .99 -p is only valid argument
|
||||
sty ZPProgress
|
||||
lda #2
|
||||
>SYSCALL ArgV
|
||||
bcs .99
|
||||
bra .11
|
||||
>STYA ZPPtr1 See if first arg is -p
|
||||
pha
|
||||
lda (ZPPtr1)
|
||||
cmp #'-'
|
||||
bne .1 No dash-arguments
|
||||
pla
|
||||
ldy #$01
|
||||
lda (ZPPtr1),y
|
||||
cmp #'p'
|
||||
bne .99 -p is only valid argument
|
||||
sty ZPProgress
|
||||
lda #2
|
||||
>SYSCALL ArgV
|
||||
bcs .99
|
||||
bra .11
|
||||
|
||||
.1 pla
|
||||
.11 jsr CS.RUN.OpenArc
|
||||
bcs .9
|
||||
.1 pla
|
||||
.11 jsr CS.RUN.OpenArc
|
||||
bcs .9
|
||||
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcc .15
|
||||
rts
|
||||
>LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcc .15
|
||||
rts
|
||||
|
||||
.15 >STYA ZPFullPathPtr
|
||||
txa
|
||||
>STA.G hFullPath
|
||||
.15 >STYA ZPFullPathPtr
|
||||
txa
|
||||
>STA.G hFullPath
|
||||
|
||||
lda ZPProgress See if -p was provided
|
||||
beq .2
|
||||
lda #' ' Space for spinner to eat
|
||||
>SYSCALL PutChar
|
||||
lda #3 Have dash-args, check arg #3
|
||||
bra .3
|
||||
.2 lda #2 No dash-args, check arg #2
|
||||
.3 >SYSCALL ArgV
|
||||
bcc .4
|
||||
lda ZPProgress See if -p was provided
|
||||
beq .2
|
||||
lda #' ' Space for spinner to eat
|
||||
>SYSCALL PutChar
|
||||
lda #3 Have dash-args, check arg #3
|
||||
bra .3
|
||||
.2 lda #2 No dash-args, check arg #2
|
||||
.3 >SYSCALL ArgV
|
||||
bcc .4
|
||||
|
||||
ldy #S.PS.hCWD
|
||||
lda (pPS),y
|
||||
>SYSCALL GetMemPtr
|
||||
ldy #S.PS.hCWD
|
||||
lda (pPS),y
|
||||
>SYSCALL GetMemPtr
|
||||
|
||||
.4 jsr CS.RUN.SetupPath
|
||||
.4 jsr CS.RUN.SetupPath
|
||||
|
||||
>LDYAI CHNK.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
>LDYAI CHNK.SIZE
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G hOutBuf
|
||||
txa
|
||||
>STA.G hOutBuf
|
||||
|
||||
jsr CS.RUN.LOOP
|
||||
bcs .9
|
||||
jsr CS.RUN.LOOP
|
||||
bcs .9
|
||||
|
||||
jsr CS.RUN.TidyUp
|
||||
lda #0
|
||||
sec
|
||||
.9 rts
|
||||
jsr CS.RUN.TidyUp
|
||||
lda #0
|
||||
sec
|
||||
.9 rts
|
||||
|
||||
.99 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
.99 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.SetupPath
|
||||
>STYA ZPPtr1
|
||||
>STYA ZPPtr1
|
||||
|
||||
ldy #$ff
|
||||
ldy #$ff
|
||||
|
||||
.2 iny
|
||||
lda (ZPPtr1),y
|
||||
sta (ZPFullPathPtr),y
|
||||
bne .2
|
||||
dey
|
||||
lda #'/'
|
||||
cmp (ZPFullPathPtr),y
|
||||
beq .3
|
||||
iny
|
||||
sta (ZPFullPathPtr),y
|
||||
.3 tya
|
||||
sec
|
||||
adc ZPFullPathPtr
|
||||
sta ZPRelPathPtr
|
||||
lda #0
|
||||
adc ZPFullPathPtr+1
|
||||
sta ZPRelPathPtr+1
|
||||
rts
|
||||
.2 iny
|
||||
lda (ZPPtr1),y
|
||||
sta (ZPFullPathPtr),y
|
||||
bne .2
|
||||
dey
|
||||
lda #'/'
|
||||
cmp (ZPFullPathPtr),y
|
||||
beq .3
|
||||
iny
|
||||
sta (ZPFullPathPtr),y
|
||||
.3 tya
|
||||
sec
|
||||
adc ZPFullPathPtr
|
||||
sta ZPRelPathPtr
|
||||
lda #0
|
||||
adc ZPFullPathPtr+1
|
||||
sta ZPRelPathPtr+1
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||
bcs .9
|
||||
CS.RUN.LOOP jsr CS.RUN.GetByte
|
||||
bcs .9
|
||||
|
||||
.10 cmp #CHNK.T.DIR
|
||||
bne .1
|
||||
.10 cmp #CHNK.T.DIR
|
||||
bne .1
|
||||
|
||||
jsr CS.RUN.GetFileName
|
||||
bcs .99
|
||||
jsr CS.RUN.GetFileName
|
||||
bcs .99
|
||||
|
||||
ldx #0
|
||||
jsr CS.RUN.PrintFN
|
||||
ldx #0
|
||||
jsr CS.RUN.PrintFN
|
||||
|
||||
jsr CS.RUN.CheckDir
|
||||
bcs .99
|
||||
jsr CS.RUN.CheckDir
|
||||
bcs .99
|
||||
|
||||
lda ZPProgress
|
||||
bne CS.RUN.LOOP
|
||||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
bra CS.RUN.LOOP
|
||||
lda ZPProgress
|
||||
bne CS.RUN.LOOP
|
||||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
bra CS.RUN.LOOP
|
||||
|
||||
.99 rts
|
||||
.99 rts
|
||||
|
||||
.9 jmp CS.RUN.E.IARC
|
||||
.9 jmp CS.RUN.E.IARC
|
||||
|
||||
.1 cmp #CHNK.T.FILE
|
||||
bne .9
|
||||
.1 cmp #CHNK.T.FILE
|
||||
bne .9
|
||||
|
||||
jsr CS.RUN.GetFileType
|
||||
bcs .99
|
||||
jsr CS.RUN.GetFileType
|
||||
bcs .99
|
||||
|
||||
jsr CS.RUN.GetFileName
|
||||
bcs .99
|
||||
jsr CS.RUN.GetFileName
|
||||
bcs .99
|
||||
|
||||
ldx #2
|
||||
jsr CS.RUN.PrintFN
|
||||
jsr CS.RUN.OpenFile
|
||||
bcs .99
|
||||
ldx #2
|
||||
jsr CS.RUN.PrintFN
|
||||
jsr CS.RUN.OpenFile
|
||||
bcs .99
|
||||
*--------------------------------------
|
||||
jsr CS.RUN.GetByte DATA
|
||||
bcs CS.RUN.Exit eof
|
||||
.2 cmp #CHNK.T.DATA
|
||||
bne .3 Could be a 0 byte file
|
||||
jsr CS.RUN.GetByte DATA
|
||||
bcs CS.RUN.Exit eof
|
||||
.2 cmp #CHNK.T.DATA
|
||||
bne .3 Could be a 0 byte file
|
||||
|
||||
.20 lda ZPProgress
|
||||
beq .21
|
||||
.20 lda ZPProgress
|
||||
beq .21
|
||||
|
||||
jsr CS.RUN.Spinner
|
||||
bra .22
|
||||
jsr CS.RUN.Spinner
|
||||
bra .22
|
||||
|
||||
.21 lda #'.'
|
||||
>SYSCALL PutChar
|
||||
.21 lda #'.'
|
||||
>SYSCALL PutChar
|
||||
|
||||
.22 jsr CS.RUN.GetByte DataLen LO
|
||||
bcs .99
|
||||
.22 jsr CS.RUN.GetByte DataLen LO
|
||||
bcs .99
|
||||
|
||||
sta ZPInBufLen
|
||||
sta ZPInBufLen
|
||||
|
||||
jsr CS.RUN.GetByte DataLen HI
|
||||
bcs .99
|
||||
jsr CS.RUN.GetByte DataLen HI
|
||||
bcs .99
|
||||
|
||||
sta ZPInBufLen+1
|
||||
sta ZPInBufLen+1
|
||||
|
||||
jsr CS.RUN.ReadData
|
||||
bcs .99
|
||||
jsr CS.RUN.ReadData
|
||||
bcs .99
|
||||
|
||||
ldy #1
|
||||
lda (ZPInBufPtr),y
|
||||
sta ZPOutBufLen
|
||||
ldy #1
|
||||
lda (ZPInBufPtr),y
|
||||
sta ZPOutBufLen
|
||||
|
||||
iny
|
||||
lda (ZPInBufPtr),y
|
||||
sta ZPOutBufLen+1
|
||||
iny
|
||||
lda (ZPInBufPtr),y
|
||||
sta ZPOutBufLen+1
|
||||
|
||||
>LDA.G hOutBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPOutBufPtr
|
||||
>LDA.G hOutBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPOutBufPtr
|
||||
|
||||
jsr X.Unpak
|
||||
bcs .9
|
||||
jsr X.Unpak
|
||||
bcs .9
|
||||
|
||||
jsr CS.RUN.WriteFile
|
||||
bcs .99
|
||||
jsr CS.RUN.WriteFile
|
||||
bcs .99
|
||||
|
||||
jsr CS.RUN.GetByte
|
||||
bcs CS.RUN.Exit
|
||||
jsr CS.RUN.GetByte
|
||||
bcs CS.RUN.Exit
|
||||
|
||||
cmp #CHNK.T.DATA
|
||||
beq .20
|
||||
cmp #CHNK.T.DATA
|
||||
beq .20
|
||||
|
||||
.3 pha
|
||||
jsr CS.RUN.Exit
|
||||
pla
|
||||
jmp .10
|
||||
.3 pha
|
||||
jsr CS.RUN.Exit
|
||||
pla
|
||||
jmp .10
|
||||
*--------------------------------------
|
||||
CS.RUN.Exit >LDA.G hFile
|
||||
>SYSCALL FClose
|
||||
lda ZPProgress
|
||||
bne .9
|
||||
CS.RUN.Exit >LDA.G hFile
|
||||
>SYSCALL FClose
|
||||
lda ZPProgress
|
||||
bne .9
|
||||
|
||||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
.9 rts
|
||||
>LDYA L.MSG.OK
|
||||
>SYSCALL PutS
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.PrintFN lda ZPProgress
|
||||
bne .9
|
||||
>PUSHW L.MSG.DIR,x
|
||||
>PUSHW ZPFullPathPtr
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
.9 rts
|
||||
CS.RUN.PrintFN lda ZPProgress
|
||||
bne .9
|
||||
>PUSHW L.MSG.DIR,x
|
||||
>PUSHW ZPFullPathPtr
|
||||
>PUSHBI 2
|
||||
>SYSCALL PrintF
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.Spinner lda #8 Backspace
|
||||
>SYSCALL PutChar
|
||||
>LDYA L.MSG.SPINNER
|
||||
>STYA ZPPtr2
|
||||
>LDA.G SpinState
|
||||
tay
|
||||
lda (ZPPtr2),y
|
||||
>SYSCALL PutChar
|
||||
>INC.G SpinState
|
||||
cmp #4
|
||||
bne .9
|
||||
>STZ.G SpinState
|
||||
.9 rts
|
||||
CS.RUN.Spinner lda #8 Backspace
|
||||
>SYSCALL PutChar
|
||||
>LDYA L.MSG.SPINNER
|
||||
>STYA ZPPtr2
|
||||
>LDA.G SpinState
|
||||
tay
|
||||
lda (ZPPtr2),y
|
||||
>SYSCALL PutChar
|
||||
>INC.G SpinState
|
||||
cmp #4
|
||||
bne .9
|
||||
>STZ.G SpinState
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.NewLine LDA #C.CR
|
||||
>SYSCALL PutChar
|
||||
LDA #C.LF
|
||||
>SYSCALL PutChar
|
||||
rts
|
||||
CS.RUN.NewLine LDA #C.CR
|
||||
>SYSCALL PutChar
|
||||
LDA #C.LF
|
||||
>SYSCALL PutChar
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.TidyUp lda ZPProgress
|
||||
beq .9
|
||||
lda #8
|
||||
>SYSCALL PutChar
|
||||
lda #' '
|
||||
>SYSCALL PutChar
|
||||
jsr CS.RUN.NewLine
|
||||
.9 rts
|
||||
CS.RUN.TidyUp lda ZPProgress
|
||||
beq .9
|
||||
lda #8
|
||||
>SYSCALL PutChar
|
||||
lda #' '
|
||||
>SYSCALL PutChar
|
||||
jsr CS.RUN.NewLine
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.OpenArc >PUSHYA
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI $CF PAK
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
>STA.G hArcFile
|
||||
>PUSHA
|
||||
>PUSHW ZPInBufPtr
|
||||
>PUSHWI 3
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
cpy #3
|
||||
bne .99
|
||||
|
||||
dey
|
||||
.1 lda MSG.PAK,y
|
||||
cmp (ZPInBufPtr),y
|
||||
bne .99
|
||||
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
.99
|
||||
CS.RUN.E.IARC >PUSHW L.MSG.E.IARC
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
CS.RUN.OpenArc >PUSHYA
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI $CF PAK
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
|
||||
>STA.G hArcFile
|
||||
>PUSHA
|
||||
>PUSHW ZPInBufPtr
|
||||
>PUSHWI 3
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
cpy #3
|
||||
bne .99
|
||||
|
||||
dey
|
||||
.1 lda MSG.PAK,y
|
||||
cmp (ZPInBufPtr),y
|
||||
bne .99
|
||||
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
|
||||
.99
|
||||
CS.RUN.E.IARC >PUSHW L.MSG.E.IARC
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetFileType
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHEA.G FileType
|
||||
>PUSHWI 3
|
||||
>SYSCALL FRead
|
||||
rts
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHEA.G FileType
|
||||
>PUSHWI 3
|
||||
>SYSCALL FRead
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetFileName
|
||||
jsr CS.RUN.GetByte
|
||||
bcs .9
|
||||
pha
|
||||
jsr CS.RUN.GetByte
|
||||
bcs .9
|
||||
pha
|
||||
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHW ZPRelPathPtr
|
||||
>PUSHB.G hArcFile
|
||||
>PUSHW ZPRelPathPtr
|
||||
|
||||
ply
|
||||
lda #0
|
||||
>PUSHYA
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
ply
|
||||
lda #0
|
||||
>PUSHYA
|
||||
>SYSCALL FRead
|
||||
bcs .9
|
||||
|
||||
lda #0
|
||||
sta (ZPRelPathPtr),y
|
||||
lda #0
|
||||
sta (ZPRelPathPtr),y
|
||||
|
||||
* clc
|
||||
.9 rts
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.ReadData >PUSHB.G hArcFile
|
||||
>LDA.G hInBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPInBufPtr
|
||||
>PUSHYA
|
||||
>PUSHW ZPInBufLen
|
||||
>SYSCALL FRead
|
||||
rts
|
||||
CS.RUN.ReadData >PUSHB.G hArcFile
|
||||
>LDA.G hInBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>STYA ZPInBufPtr
|
||||
>PUSHYA
|
||||
>PUSHW ZPInBufLen
|
||||
>SYSCALL FRead
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GetByte >LDA.G hArcFile
|
||||
>SYSCALL GetC
|
||||
rts
|
||||
CS.RUN.GetByte >LDA.G hArcFile
|
||||
>SYSCALL GetC
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.CheckDir >PUSHW ZPFullPathPtr
|
||||
>PUSHEA.G STAT
|
||||
>SYSCALL Stat
|
||||
bcc .1
|
||||
CS.RUN.CheckDir >PUSHW ZPFullPathPtr
|
||||
>PUSHEA.G STAT
|
||||
>SYSCALL Stat
|
||||
bcc .1
|
||||
|
||||
>PUSHW ZPFullPathPtr
|
||||
>PUSHWI S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU
|
||||
>SYSCALL MKDir
|
||||
>PUSHW ZPFullPathPtr
|
||||
>PUSHWI S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU
|
||||
>SYSCALL MKDir
|
||||
|
||||
rts
|
||||
rts
|
||||
|
||||
.1 ldy #STAT+S.STAT.MODE+1
|
||||
lda (pData),y
|
||||
and #$F0
|
||||
cmp /S.STAT.MODE.DIR
|
||||
bne .99
|
||||
clc
|
||||
rts
|
||||
.1 ldy #STAT+S.STAT.MODE+1
|
||||
lda (pData),y
|
||||
and #$F0
|
||||
cmp /S.STAT.MODE.DIR
|
||||
bne .99
|
||||
clc
|
||||
rts
|
||||
|
||||
.99 lda #MLI.E.INVPATH
|
||||
sec
|
||||
.9 rts
|
||||
.99 lda #MLI.E.INVPATH
|
||||
sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.OpenFile >PUSHW ZPFullPathPtr
|
||||
>PUSHBI O.CREATE+O.WRONLY+O.TRUNC
|
||||
>PUSHB.G FileType
|
||||
>PUSHW.G FileAuxType
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
>STA.G hFile
|
||||
.9 rts
|
||||
CS.RUN.OpenFile >PUSHW ZPFullPathPtr
|
||||
>PUSHBI O.CREATE+O.WRONLY+O.TRUNC
|
||||
>PUSHB.G FileType
|
||||
>PUSHW.G FileAuxType
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
>STA.G hFile
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.WriteFile
|
||||
>PUSHB.G hFile
|
||||
>LDA.G hOutBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHW ZPOutBufLen
|
||||
>SYSCALL FWrite
|
||||
rts
|
||||
>PUSHB.G hFile
|
||||
>LDA.G hOutBuf
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
>PUSHW ZPOutBufLen
|
||||
>SYSCALL FWrite
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
CS.DOEVENT sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.QUIT >LDA.G hFile
|
||||
beq .1
|
||||
>SYSCALL FClose
|
||||
CS.QUIT >LDA.G hFile
|
||||
beq .1
|
||||
>SYSCALL FClose
|
||||
|
||||
.1 >LDA.G hFullPath
|
||||
beq .2
|
||||
.1 >LDA.G hFullPath
|
||||
beq .2
|
||||
|
||||
>SYSCALL FreeMem
|
||||
.2 >LDA.G hOutBuf
|
||||
beq .3
|
||||
>SYSCALL FreeMem
|
||||
.2 >LDA.G hOutBuf
|
||||
beq .3
|
||||
|
||||
>SYSCALL FreeMem
|
||||
.3 >LDA.G hInBuf
|
||||
beq .4
|
||||
>SYSCALL FreeMem
|
||||
.3 >LDA.G hInBuf
|
||||
beq .4
|
||||
|
||||
>SYSCALL FreeMem
|
||||
>SYSCALL FreeMem
|
||||
|
||||
.4 >LDA.G hArcFile
|
||||
beq .8
|
||||
>SYSCALL FClose
|
||||
.4 >LDA.G hArcFile
|
||||
beq .8
|
||||
>SYSCALL FClose
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
.INB usr/src/shared/x.unpak.s
|
||||
.INB usr/src/shared/x.unpak.s
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.USAGE .AS "Usage : UNPAK [-p] Archive [DstDir]\r\n"
|
||||
.AZ " -p: Show progress spinner\r\n"
|
||||
MSG.DIR .AZ "Creating Dir:%s..."
|
||||
MSG.FILE .AZ "Extracting File:%s..."
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.E.IARC .AZ "\r\nInvalid/corrupt archive"
|
||||
MSG.PAK .AS "PAK"
|
||||
MSG.SPINNER .AS "|/-\"
|
||||
MSG.USAGE .CS "Usage : UNPAK [-p] Archive [DstDir]\r\n"
|
||||
.CZ " -p: Show progress spinner\r\n"
|
||||
MSG.DIR .CZ "Creating Dir:%s..."
|
||||
MSG.FILE .CZ "Extracting File:%s..."
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.E.IARC .CZ "\r\nInvalid/corrupt archive"
|
||||
MSG.PAK .CS "PAK"
|
||||
MSG.SPINNER .CS "|/-\"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
hArcFile .BS 1
|
||||
hFullPath .BS 1
|
||||
hInBuf .BS 1
|
||||
hOutBuf .BS 1
|
||||
hFile .BS 1
|
||||
FileType .BS 1
|
||||
FileAuxType .BS 2
|
||||
SpinState .BS 1
|
||||
STAT .BS S.STAT
|
||||
hArcFile .BS 1
|
||||
hFullPath .BS 1
|
||||
hInBuf .BS 1
|
||||
hOutBuf .BS 1
|
||||
hFile .BS 1
|
||||
FileType .BS 1
|
||||
FileAuxType .BS 2
|
||||
SpinState .BS 1
|
||||
STAT .BS S.STAT
|
||||
DS.END
|
||||
.ED
|
||||
.ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/bin/unpak.s
|
||||
|
|
|
@ -115,9 +115,8 @@ CS.RUN >LDYAI S.PW
|
|||
sec
|
||||
rts
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
@ -174,9 +173,8 @@ CS.RUN.ROOT ldy #0
|
|||
sec
|
||||
.9 rts
|
||||
|
||||
.99 >PUSHW L.MSG.MISMATCH
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.99 >LDYA L.MSG.MISMATCH
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
@ -407,16 +405,16 @@ OptionCnt .EQ *-OptionList
|
|||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : USERADD username\r\n"
|
||||
.AS " -c : Comment (GECOS)\r\n"
|
||||
.AS " -d : Home Directory\r\n"
|
||||
.AS " -p : Password\r\n"
|
||||
.AS " -s : Shell"
|
||||
MSG.CRLF .AZ "\r\n"
|
||||
MSG.BS .DA #C.BS,#C.SPACE,#C.BS,#0
|
||||
MSG.ROOTPWD1 .AZ "\r\nPlease enter ROOT password : "
|
||||
MSG.ROOTPWD2 .AZ "\r\nPlease retype ROOT password : "
|
||||
MSG.MISMATCH .AZ "\r\nPasswords mismatch...\r\n"
|
||||
MSG.USAGE .CS "Usage : USERADD username\r\n"
|
||||
.CS " -c : Comment (GECOS)\r\n"
|
||||
.CS " -d : Home Directory\r\n"
|
||||
.CS " -p : Password\r\n"
|
||||
.CS " -s : Shell"
|
||||
MSG.CRLF .CZ "\r\n"
|
||||
MSG.BS .CZ "\b \b"
|
||||
MSG.ROOTPWD1 .CZ "\r\nPlease enter ROOT password : "
|
||||
MSG.ROOTPWD2 .CZ "\r\nPlease retype ROOT password : "
|
||||
MSG.MISMATCH .CZ "\r\nPasswords mismatch...\r\n"
|
||||
*--------------------------------------
|
||||
PW.ROOT .AS "root"
|
||||
.BS 17-4
|
||||
|
|
|
@ -43,8 +43,6 @@ CS.START cld
|
|||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.CRLF .DA MSG.CRLF
|
||||
L.MSG.BS .DA MSG.BS
|
||||
J.CS.RUN.CheckArg
|
||||
.DA CS.RUN.CheckArg.C
|
||||
.DA CS.RUN.CheckArg.D
|
||||
|
@ -76,9 +74,8 @@ CS.RUN ldy #S.PS.ARGC
|
|||
sec
|
||||
rts
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
.99 rts
|
||||
|
@ -226,13 +223,11 @@ OptionCnt .EQ *-OptionList
|
|||
*--------------------------------------
|
||||
* Initialized DATA
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : USERMOD username\r\n"
|
||||
.AS " -c : Comment (GECOS)\r\n"
|
||||
.AS " -d : Home Directory\r\n"
|
||||
.AS " -p : Password\r\n"
|
||||
.AS " -s : Shell"
|
||||
MSG.CRLF .AZ "\r\n"
|
||||
MSG.BS .DA #C.BS,#C.SPACE,#C.BS,#0
|
||||
MSG.USAGE .CS "Usage : USERMOD username\r\n"
|
||||
.CS " -c : Comment (GECOS)\r\n"
|
||||
.CS " -d : Home Directory\r\n"
|
||||
.CS " -p : Password\r\n"
|
||||
.CZ " -s : Shell\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
25
BIN/WC.S.txt
25
BIN/WC.S.txt
|
@ -87,9 +87,8 @@ CS.RUN inc ArgIndex
|
|||
jsr CS.RUN.CheckOpt
|
||||
bcc CS.RUN
|
||||
|
||||
.9 >PUSHW L.MSG.USAGE
|
||||
>PUSHBI 0
|
||||
>SYSCALL PrintF
|
||||
.9 >LDYA L.MSG.USAGE
|
||||
>SYSCALL PutS
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
@ -602,16 +601,16 @@ OptionList .AS "CRMLWcrmlw"
|
|||
OptionVars .DA #bContinue,#bRecurse,#bChar,#bLine,#bWord
|
||||
.DA #bContinue,#bRecurse,#bChar,#bLine,#bWord
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : WC File(s) (*,? wildcards allowed)\r\n"
|
||||
.AS " -C : Continue on error\r\n"
|
||||
.AS " -R : Recurse subdirectories\r\n"
|
||||
.AS " -M : Print the CHAR counts\r\n"
|
||||
.AS " -L : Print the LINE counts\r\n"
|
||||
.AZ " -W : Print the WORD counts\r\n"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.LONG .AZ "%L"
|
||||
MSG.LONGTAB .AZ "%10L "
|
||||
MSG.TOTAL .AZ "(total)"
|
||||
MSG.USAGE .CS "Usage : WC File(s) (*,? wildcards allowed)\r\n"
|
||||
.CS " -C : Continue on error\r\n"
|
||||
.CS " -R : Recurse subdirectories\r\n"
|
||||
.CS " -M : Print the CHAR counts\r\n"
|
||||
.CS " -L : Print the LINE counts\r\n"
|
||||
.CZ " -W : Print the WORD counts\r\n"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
MSG.LONG .CZ "%L"
|
||||
MSG.LONGTAB .CZ "%10L "
|
||||
MSG.TOTAL .CZ "(total)"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -133,8 +133,8 @@ CS.QUIT clc
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG0 .AZ "SID hSD Privilege UID GID Name Dev"
|
||||
MSG1 .AZ "%3d $%0h %b %3d %3d %16s %s\r\n"
|
||||
MSG0 .CZ "SID hSD Privilege UID GID Name Dev"
|
||||
MSG1 .CZ "%3d $%0h %b %3d %3d %16s %s\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -187,9 +187,9 @@ CS.RUN.Newline >PUSHW L.MSG.NEWLINE
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AS "Usage : XMASTREE <size>\r\n"
|
||||
.AZ " size : height of the tree to generate\r\n"
|
||||
MSG.MSG.NEWLINE .AZ "\r\n"
|
||||
MSG.USAGE .CS "Usage : XMASTREE <size>\r\n"
|
||||
.CZ " size : height of the tree to generate\r\n"
|
||||
MSG.MSG.NEWLINE .CZ "\r\n"
|
||||
*--------------------------------------
|
||||
* Per Process DATA segment (0 filled before INIT)
|
||||
*--------------------------------------
|
||||
|
|
|
@ -111,9 +111,9 @@ CS.END
|
|||
DEVSIG.Offset .HS 05070B0C
|
||||
DEVSIG.Value .HS 38180114
|
||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||
MSG.DETECT .AZ "Orange Grappler Series // Boards"
|
||||
MSG.DETECT.OK .AZ "Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .AZ "No HW Found."
|
||||
MSG.DETECT .CZ "Orange Grappler Series // Boards"
|
||||
MSG.DETECT.OK .CZ "Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .CZ "No HW Found."
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
FD.DEV .DA #S.FD.T.CDEV
|
||||
|
@ -291,10 +291,10 @@ DEVSLOTn0 .BS 1
|
|||
*--------------------------------------
|
||||
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
||||
.DA #0,#0,#0
|
||||
>PSTR "Grappler // Card"
|
||||
.PS "Grappler // Card"
|
||||
.DA #S.DIB.T.CHAR
|
||||
.DA #0
|
||||
.DA K.VER
|
||||
.DA 0094
|
||||
*--------------------------------------
|
||||
DCB .DA #S.DCB.T.COM
|
||||
.DA #0 FLAGS
|
||||
|
|
|
@ -111,9 +111,9 @@ CS.END
|
|||
DEVSIG.Offset .HS 05070B0C
|
||||
DEVSIG.Value .HS 38180114
|
||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||
MSG.DETECT .AZ "Orange Grappler Series // Boards"
|
||||
MSG.DETECT.OK .AZ "Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .AZ "No HW Found."
|
||||
MSG.DETECT .CZ "Orange Grappler Series // Boards"
|
||||
MSG.DETECT.OK .CZ "Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .CZ "No HW Found."
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
FD.DEV .DA #S.FD.T.CDEV
|
||||
|
@ -288,10 +288,10 @@ DEVSLOTn0 .BS 1
|
|||
*--------------------------------------
|
||||
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
||||
.DA #0,#0,#0
|
||||
>PSTR "Grappler+ // Crd"
|
||||
.PS "Grappler+ // Crd"
|
||||
.DA #S.DIB.T.CHAR
|
||||
.DA #0
|
||||
.DA K.VER
|
||||
.DA 00
|
||||
*--------------------------------------
|
||||
DCB .DA #S.DCB.T.COM
|
||||
.DA #0 FLAGS
|
||||
|
|
|
@ -7,9 +7,9 @@ NEW
|
|||
*--------------------------------------
|
||||
S.DCB.SND .EQ 16
|
||||
*--------------------------------------
|
||||
.INB INC/MACROS.I
|
||||
.INB INC/A2OSX.I
|
||||
.INB INC/MLI.E.I
|
||||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/mli.e.i
|
||||
*--------------------------------------
|
||||
ZPArgPtr .EQ ZPBIN
|
||||
*--------------------------------------
|
||||
|
@ -120,8 +120,8 @@ Dev.ParseArgs >LDYA ARGS
|
|||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
MSG.DETECT.OK .AZ "MockingBoard Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .AZ "HW Not Found."
|
||||
MSG.DETECT.OK .CZ "MockingBoard Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .CZ "HW Not Found."
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
FD.DEV .DA #S.FD.T.CDEV
|
||||
|
@ -321,10 +321,10 @@ DEVSLOTn08F .BS 1
|
|||
*--------------------------------------
|
||||
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ+S.DIB.S.IRQ
|
||||
.DA #0,#0,#0
|
||||
>PSTR "MockingBoard "
|
||||
.PS "MockingBoard "
|
||||
.DA #S.DIB.T.CHAR
|
||||
.DA #0
|
||||
.DA K.VER
|
||||
.DA #0,#94
|
||||
*--------------------------------------
|
||||
DCB .DA #S.DCB.T.SND
|
||||
.DA #0 FLAGS
|
||||
|
@ -339,5 +339,5 @@ DCB .DA #S.DCB.T.SND
|
|||
*--------------------------------------
|
||||
DRV.END
|
||||
MAN
|
||||
SAVE USR/SRC/DRV/MKBOARD.DRV.S
|
||||
SAVE usr/src/drv/mkboard.drv.s
|
||||
ASM
|
||||
|
|
|
@ -111,9 +111,9 @@ CS.END
|
|||
DEVSIG.Offset .HS 0507
|
||||
DEVSIG.Value .HS 4848
|
||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||
MSG.DETECT .AZ "Apple PIC (Parallel Interface Card)"
|
||||
MSG.DETECT.OK .AZ "PIC Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .AZ "No PIC Found."
|
||||
MSG.DETECT .CZ "Apple PIC (Parallel Interface Card)"
|
||||
MSG.DETECT.OK .CZ "PIC Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .CZ "No PIC Found."
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
FD.DEV .DA #S.FD.T.CDEV
|
||||
|
@ -289,10 +289,10 @@ DEVSLOTn0 .BS 1
|
|||
*--------------------------------------
|
||||
DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ
|
||||
.DA #0,#0,#0
|
||||
>PSTR "Apple // Int Crd"
|
||||
.PS "Apple // Int Crd"
|
||||
.DA #S.DIB.T.CHAR
|
||||
.DA #0
|
||||
.DA K.VER
|
||||
.DA #0,#94
|
||||
*--------------------------------------
|
||||
DCB .DA #S.DCB.T.COM
|
||||
.DA #0 FLAGS
|
||||
|
|
|
@ -843,7 +843,7 @@ INBUF.MidFrame .BS 1
|
|||
*--------------------------------------
|
||||
DIB .DA #0
|
||||
.DA #0,#0,#0 size
|
||||
>PSTR "SSC/PPP Driver "
|
||||
.PS "SSC/PPP Driver "
|
||||
.DA #S.DIB.T.NIC
|
||||
.DA #0
|
||||
.DA K.VER
|
||||
|
|
|
@ -18,6 +18,7 @@ INBUF.SIZE .EQ 2048
|
|||
.INB inc/com.6551.i
|
||||
.INB inc/nic.i
|
||||
.INB inc/eth.i
|
||||
.INB inc/net.tcpip.i
|
||||
.INB inc/libtcpip.i
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
@ -990,23 +991,23 @@ CS.END
|
|||
DEVSIG.Offset .HS 05070B0C
|
||||
DEVSIG.Value .HS 38180131
|
||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||
MSG.DETECT .AZ "PPP Driver For Apple SSC."
|
||||
MSG.DETECT.OK .AZ "PPP Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .AZ "No SSC Found."
|
||||
MSG.DETECT .CZ "PPP Driver For Apple SSC."
|
||||
MSG.DETECT.OK .CZ "PPP Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .CZ "No SSC Found."
|
||||
ETCFILE .AZ "${ROOT}etc/ppp.conf"
|
||||
*--------------------------------------
|
||||
MSG.ETCFILE .AZ "Executing %s File...\r\n"
|
||||
MSG.UNEXPECTED .AZ "\r\nERR:Unexpected reply From Modem\r\n{%s}\r\n"
|
||||
MSG.SYNTAX .AZ "\r\nERR:Bad Syntax In ppp.conf\r\n{%s}\r\n"
|
||||
MSG.SSCInit .AZ "Connecting..."
|
||||
MSG.LCPInit .AZ "LCP Negotiation..."
|
||||
MSG.IPCPInit .AZ "IPCP Negotiation..."
|
||||
MSG.LocalIP .AZ "Local IP is %d.%d.%d.%d\r\n"
|
||||
MSG.RemoteIP .AZ "Remote IP is %d.%d.%d.%d\r\n"
|
||||
MSG.ETCFILE .CZ "Executing %s File...\r\n"
|
||||
MSG.UNEXPECTED .CZ "\r\nERR:Unexpected reply From Modem\r\n{%s}\r\n"
|
||||
MSG.SYNTAX .CZ "\r\nERR:Bad Syntax In ppp.conf\r\n{%s}\r\n"
|
||||
MSG.SSCInit .CZ "Connecting..."
|
||||
MSG.LCPInit .CZ "LCP Negotiation..."
|
||||
MSG.IPCPInit .CZ "IPCP Negotiation..."
|
||||
MSG.LocalIP .CZ "Local IP is %d.%d.%d.%d\r\n"
|
||||
MSG.RemoteIP .CZ "Remote IP is %d.%d.%d.%d\r\n"
|
||||
.DO DBG=1
|
||||
MSG.DUMPBUFS .AZ ">>Send:%H\r\n"
|
||||
MSG.DUMPBUFR .AZ "Recv<<:%H\r\n"
|
||||
MSG.HEXDUMP .AZ "%H:%h %h %h %h %h %h %h %h:%h %h %h %h %h %h %h %h\r\n"
|
||||
MSG.DUMPBUFS .CZ ">>Send:%H\r\n"
|
||||
MSG.DUMPBUFR .CZ "Recv<<:%H\r\n"
|
||||
MSG.HEXDUMP .CZ "%H:%h %h %h %h %h %h %h %h:%h %h %h %h %h %h %h %h\r\n"
|
||||
.FIN
|
||||
*--------------------------------------
|
||||
FD.DEV .DA #S.FD.T.CDEV
|
||||
|
|
|
@ -159,9 +159,9 @@ SP.Call stx SP.Params+S.IOCTL.UNITNUM
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
MSG.DETECT .AZ "A2osX SmartPort Tape Driver"
|
||||
MSG.DETECT.OK .AZ "Tape Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .AZ "No Device Found."
|
||||
MSG.DETECT .CZ "A2osX SmartPort Tape Driver"
|
||||
MSG.DETECT.OK .CZ "Tape Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .CZ "No Device Found."
|
||||
ARGS .BS 2
|
||||
*--------------------------------------
|
||||
SmartPort.OFS .HS 01030507
|
||||
|
|
|
@ -6,17 +6,19 @@ LIBGUI.PTR.SetPos .EQ 6
|
|||
LIBGUI.PTR.Hide .EQ 8
|
||||
LIBGUI.PTR.Show .EQ 10
|
||||
LIBGUI.PTR.Update .EQ 12
|
||||
*LIBGUI.ReadMouse .EQ 14
|
||||
LIBGUI.DRAW.Line .EQ 16
|
||||
LIBGUI.OBJ.SetProp .EQ 18
|
||||
LIBGUI.OBJ.GetProp .EQ 20
|
||||
LIBGUI.WND.New .EQ 22
|
||||
LIBGUI.WND.Destroy .EQ 24
|
||||
LIBGUI.WND.Show .EQ 26
|
||||
LIBGUI.WND.Paint .EQ 28
|
||||
LIBGUI.WND.SetMBar .EQ 30
|
||||
LIBGUI.MSG.Get .EQ 32
|
||||
*LIBGUI.MBAR.New .EQ 34
|
||||
LIBGUI.DRAW.Line .EQ 14
|
||||
LIBGUI.DRAW.Fill .EQ 16
|
||||
LIBGUI.DRAW.BitMap .EQ 18
|
||||
LIBGUI.DRAW.Text .EQ 20
|
||||
LIBGUI.OBJ.SetProp .EQ 22
|
||||
LIBGUI.OBJ.GetProp .EQ 24
|
||||
LIBGUI.WND.New .EQ 26
|
||||
LIBGUI.WND.Destroy .EQ 28
|
||||
LIBGUI.WND.Show .EQ 30
|
||||
LIBGUI.WND.Paint .EQ 32
|
||||
LIBGUI.WND.SetMBar .EQ 34
|
||||
LIBGUI.MSG.Get .EQ 36
|
||||
LIBGUI.MBOX.MsgBox .EQ 38
|
||||
*--------------------------------------
|
||||
C.BLACK .EQ 0
|
||||
C16.D.BLUE .EQ 1
|
||||
|
@ -111,13 +113,14 @@ S.OBJ.T .EQ 0
|
|||
S.OBJ.T.WND .EQ 0
|
||||
S.OBJ.T.MBAR .EQ 2
|
||||
S.OBJ.T.MENU .EQ 4
|
||||
S.OBJ.T.MITEM .EQ 6
|
||||
S.OBJ.T.BUT .EQ 8
|
||||
S.OBJ.T.TEXT .EQ 10
|
||||
S.OBJ.T.BUT .EQ 6
|
||||
S.OBJ.T.TEXT .EQ 8
|
||||
|
||||
S.OBJ.F .EQ 1
|
||||
S.OBJ.F.BORDER .EQ %10000000
|
||||
S.OBJ.S .EQ 2
|
||||
S.OBJ.S.VISIBLE .EQ %10000000
|
||||
|
||||
S.OBJ.ID .EQ 3
|
||||
S.OBJ.hOWNER .EQ 4
|
||||
S.OBJ.hPARENT .EQ 6
|
||||
|
@ -128,17 +131,18 @@ S.OBJ.X2 .EQ 12
|
|||
S.OBJ.Y2 .EQ 14
|
||||
S.OBJ.W .EQ 16
|
||||
S.OBJ.H .EQ 18
|
||||
S.OBJ.pNEXT .EQ 20
|
||||
*
|
||||
S.OBJ .EQ 20
|
||||
*
|
||||
S.OBJ .EQ 24
|
||||
*--------------------------------------
|
||||
S.WND.F.RESIZE .EQ %00000001
|
||||
S.WND.F.MOVE .EQ %00000010
|
||||
S.WND.F.CLOSE .EQ %00000100
|
||||
S.WND.F.MIN .EQ %00001000
|
||||
S.WND.F.MAX .EQ %00010000
|
||||
S.WND.F.BORDER .EQ %00100000
|
||||
S.WND.F.MODAL .EQ %01000000
|
||||
S.WND.F.SYSMODAL .EQ %10000000
|
||||
S.WND.F.MODAL .EQ %00100000
|
||||
|
||||
*
|
||||
S.WND.S.HASTBAR .EQ %00000001
|
||||
S.WND.S.HASMBAR .EQ %00000010
|
||||
|
@ -155,30 +159,30 @@ S.WND.pSTATUS .EQ S.OBJ+8
|
|||
S.WND.ICON .EQ S.OBJ+10
|
||||
S.WND.BGCOLOR .EQ S.OBJ+12
|
||||
S.WND.BGBM .EQ S.OBJ+14
|
||||
S.WND.hCUR .EQ S.OBJ+16
|
||||
S.WND.hPTR .EQ S.OBJ+16
|
||||
*
|
||||
* private
|
||||
*
|
||||
S.WND.TitleX1 .EQ S.OBJ+18
|
||||
S.WND.TitleX2 .EQ S.OBJ+20
|
||||
*
|
||||
S.WND.TBarY1 .EQ S.OBJ+20
|
||||
* S.WND.TBarY1 .EQ S.OBJ.X1
|
||||
S.WND.TBarY2 .EQ S.OBJ+22
|
||||
S.WND.MBarY1 .EQ S.OBJ+22
|
||||
S.WND.MBarY2 .EQ S.OBJ+24
|
||||
S.WND.InnerY1 .EQ S.OBJ+26
|
||||
S.WND.InnerY2 .EQ S.OBJ+28
|
||||
S.WND.SBarY1 .EQ S.OBJ+28
|
||||
|
||||
S.WND.InnerW .EQ S.OBJ+32
|
||||
S.WND.InnerH .EQ S.OBJ+34
|
||||
S.WND.DocW .EQ S.OBJ+36
|
||||
S.WND.DocH .EQ S.OBJ+38
|
||||
S.WND.DocX .EQ S.OBJ+40
|
||||
S.WND.DocY .EQ S.OBJ+42
|
||||
S.WND.fPaint .EQ S.OBJ+44
|
||||
S.WND.MBarY1 .EQ S.OBJ+24
|
||||
S.WND.MBarY2 .EQ S.OBJ+26
|
||||
S.WND.InnerY1 .EQ S.OBJ+28
|
||||
S.WND.InnerY2 .EQ S.OBJ+30
|
||||
S.WND.SBarY1 .EQ S.OBJ+32
|
||||
S.WND.InnerX2 .EQ S.OBJ+34
|
||||
S.WND.InnerW .EQ S.OBJ+36
|
||||
S.WND.InnerH .EQ S.OBJ+38
|
||||
S.WND.DocW .EQ S.OBJ+40
|
||||
S.WND.DocH .EQ S.OBJ+42
|
||||
S.WND.DocX .EQ S.OBJ+44
|
||||
S.WND.DocY .EQ S.OBJ+46
|
||||
S.WND.fPaint .EQ S.OBJ+48
|
||||
S.WND.pChilds .EQ S.OBJ+50
|
||||
*
|
||||
S.WND .EQ S.OBJ+46
|
||||
S.WND .EQ S.OBJ+52
|
||||
*--------------------------------------
|
||||
S.MBAR.Items .EQ S.OBJ
|
||||
*
|
||||
|
@ -217,13 +221,18 @@ S.MITEM.ID .EQ 10
|
|||
*
|
||||
S.MITEM .EQ 12
|
||||
*--------------------------------------
|
||||
S.BUT.F.DISABLED .EQ %10000000
|
||||
S.BUT.F.DISABLED .EQ %00000010
|
||||
S.BUT.F.NOSPACE .EQ %00000001
|
||||
*
|
||||
S.BUT.S.PUSHED .EQ %10000000
|
||||
*
|
||||
S.BUT.hBM .EQ S.OBJ
|
||||
S.BUT.TEXT .EQ S.OBJ+2
|
||||
* ...
|
||||
S.BUT.pICON .EQ S.OBJ
|
||||
S.BUT.pTEXT .EQ S.OBJ+2
|
||||
S.BUT.KEYMOD .EQ S.OBJ+4
|
||||
S.BUT.KEY .EQ S.OBJ+5
|
||||
S.BUT.ID .EQ S.OBJ+6
|
||||
*
|
||||
S.BUT .EQ S.OBJ+8
|
||||
*--------------------------------------
|
||||
S.TEXT.F.DISABLED .EQ %10000000
|
||||
*
|
||||
|
|
|
@ -15,14 +15,14 @@ NEW
|
|||
#define PTR_T_TEXT 14
|
||||
#define PTR_T_WAIT 16
|
||||
|
||||
#define OBJ_F_BORDER 128
|
||||
|
||||
#define WND_F_RESIZE 1
|
||||
#define WND_F_MOVE 2
|
||||
#define WND_F_CLOSE 4
|
||||
#define WND_F_MIN 8
|
||||
#define WND_F_MAX 16
|
||||
#define WND_F_BORDER 32
|
||||
#define WND_F_MODAL 64
|
||||
#define WND_F_SYSMODAL 128
|
||||
#define WND_F_MODAL 32
|
||||
|
||||
#define WND_S_HASTBAR 1
|
||||
#define WND_S_HASMBAR 2
|
||||
|
@ -31,14 +31,14 @@ NEW
|
|||
#define WND_S_MINIMIZED 16
|
||||
#define WND_S_ACTIVE 64
|
||||
|
||||
#define WND_P_pTITLE 24
|
||||
#define WND_P_pMBAR 26
|
||||
#define WND_P_pSTATUS 28
|
||||
#define WND_P_pICON 30
|
||||
#define WND_P_pTITLE 28
|
||||
#define WND_P_pMBAR 30
|
||||
#define WND_P_pSTATUS 32
|
||||
#define WND_P_pICON 34
|
||||
|
||||
#define WND_P_BGCOLOR 32
|
||||
#define WND_P_pBGBM 34
|
||||
#define WND_P_pPTR 36
|
||||
#define WND_P_BGCOLOR 36
|
||||
#define WND_P_pBGBM 38
|
||||
#define WND_P_pPTR 40
|
||||
|
||||
#define MSG_T_KEY 0
|
||||
#define MSG_T_XY 2
|
||||
|
@ -68,7 +68,14 @@ void guiShowWnd(HWND);
|
|||
void* guiSetProp(HWND,short int,void*);
|
||||
void* guiGetProp(HWND,short int);
|
||||
|
||||
void guiDrawLine(HWND, short int, short int, int, int, int, int);
|
||||
void guiFill(HWND, short int, short int, int, int, int, int);
|
||||
void guiDrawBitMap(HWND, short int, short int, void*, int, int);
|
||||
void guiDrawText(HWND, short int, short int, short int, int, int, char*);
|
||||
|
||||
int fastcall guiGetMsg(MSG*);
|
||||
|
||||
int guiMsgBox(HWND, void*, void*, void*, int);
|
||||
|
||||
MAN
|
||||
TEXT include/libgui.h
|
||||
|
|
|
@ -183,35 +183,35 @@ BM.Info .DA #S.BM.F.BBP4
|
|||
.DA 14 H
|
||||
.DA BM.INFO.AND-BM.INFO
|
||||
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS FFFFFFF0
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS 0BBBBB00
|
||||
.HS 0BBBBB00
|
||||
.HS 0BBBBB00
|
||||
.HS 0BBBBB00
|
||||
.HS 0BBBBB00
|
||||
.HS 0BBBBB00
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
|
||||
BM.Info.AND .HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
.HS FFFFFFFF
|
||||
BM.Info.AND .HS FFF0FFF0
|
||||
.HS FF000FF0
|
||||
.HS FF000FF0
|
||||
.HS F00000F0
|
||||
.HS F00000F0
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS 00000000
|
||||
.HS F00000F0
|
||||
.HS F00000F0
|
||||
.HS FF0000F0
|
||||
.HS FF000FF0
|
||||
.HS FFF0FFF0
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.g.bm
|
||||
|
|
|
@ -6,6 +6,15 @@ NEW
|
|||
*--------------------------------------
|
||||
.INB inc/libgui.i
|
||||
*--------------------------------------
|
||||
.PS "guiDrawLine"
|
||||
.DA #LIBGUI.DRAW.Line
|
||||
.PS "guiFill"
|
||||
.DA #LIBGUI.DRAW.Fill
|
||||
.PS "guiDrawBitMap"
|
||||
.DA #LIBGUI.DRAW.BitMap
|
||||
.PS "guiDrawText"
|
||||
.DA #LIBGUI.DRAW.Text
|
||||
|
||||
.PS "guiSetProp"
|
||||
.DA #LIBGUI.OBJ.SetProp
|
||||
.PS "guiGetProp"
|
||||
|
@ -21,6 +30,9 @@ NEW
|
|||
.PS "guiGetMsg"
|
||||
.DA #LIBGUI.MSG.Get
|
||||
|
||||
.PS "guiMsgBox"
|
||||
.DA #LIBGUI.MBOX.MsgBox
|
||||
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
|
|
@ -1,33 +1,103 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
BUT.New >STYA ZPPtr1
|
||||
* NewBut(HWND, bFlags, wW, pICON, pTEXT, bKEYMOD, bKEY, wID, wX, wY)
|
||||
*--------------------------------------
|
||||
BUT.New lda #S.OBJ.T.BUT
|
||||
jsr OBJ.New
|
||||
bcs .9
|
||||
|
||||
* >STYA ZPObjPtr
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
ldy #S.BUT.KEYMOD
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
ldy #S.BUT.pTEXT
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
ldy #S.BUT.pICON
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
ldy #S.OBJ.W
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
ldy #S.OBJ.F
|
||||
jsr OBJ.PullByteAtY
|
||||
|
||||
jsr OBJ.PullHWND
|
||||
|
||||
ldy #S.OBJ.W
|
||||
lda (ZPPtr1),y
|
||||
iny
|
||||
ora (ZPPtr1),y
|
||||
bne .1 W in !NULL, static size
|
||||
jsr OBJ.GetPropAtY
|
||||
bcc .5 W in !NULL, static size
|
||||
|
||||
ldy #S.BUT.hBM
|
||||
lda (ZPPtr1),y
|
||||
beq .1
|
||||
ldy #S.BM.W
|
||||
* >SYSCALL2 GetStkObjProp
|
||||
stz DX
|
||||
stz DX+1
|
||||
|
||||
phy
|
||||
ldy #S.OBJ.W+1
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPPtr1),y
|
||||
ldy #S.BUT.pICON
|
||||
jsr OBJ.GetPropAtY
|
||||
bcs .1 no icon
|
||||
|
||||
.1
|
||||
lda #16 IconW
|
||||
sta DX
|
||||
|
||||
.1 ldy #S.BUT.pTEXT
|
||||
jsr OBJ.GetPropAtY
|
||||
bcs .3 no text
|
||||
|
||||
ldx hSYSFON
|
||||
jsr FON.GetTextSize
|
||||
|
||||
ldy #S.OBJ.F
|
||||
lda (ZPObjPtr),y
|
||||
and #S.BUT.F.NOSPACE
|
||||
bne .2
|
||||
|
||||
lda DX
|
||||
beq .2
|
||||
|
||||
clc
|
||||
adc PREFS.XSeparator
|
||||
sta DX
|
||||
|
||||
.2 clc
|
||||
lda CB.CACHE+S.CB.SrcW
|
||||
adc DX
|
||||
sta DX
|
||||
|
||||
lda CB.CACHE+S.CB.SrcW+1
|
||||
adc DX+1
|
||||
sta DX+1
|
||||
|
||||
.3 lda #PREFS.XSeparator
|
||||
asl
|
||||
* clc
|
||||
adc DX
|
||||
ldy #S.OBJ.W
|
||||
sta (ZPObjPtr),y
|
||||
lda #0
|
||||
adc DX+1
|
||||
iny
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
.5
|
||||
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 >POP 14
|
||||
rts
|
||||
*--------------------------------------
|
||||
BUT.Paint
|
||||
BUT.Enter
|
||||
*--------------------------------------
|
||||
BUT.Draw
|
||||
|
||||
*--------------------------------------
|
||||
BUT.Close
|
||||
|
|
|
@ -2,8 +2,8 @@ NEW
|
|||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
CB.InitCacheA sta CB.Cache+S.CB.CMD
|
||||
*--------------------------------------
|
||||
CB.ClearCache ldx #S.CB-1
|
||||
|
||||
ldx #S.CB-1
|
||||
|
||||
.1 stz CB.Cache,x
|
||||
dex
|
||||
|
@ -97,7 +97,7 @@ CB.FlushBufToYA ldx hCBBuf
|
|||
bit PTR.bVisible
|
||||
bpl .1
|
||||
|
||||
jsr PTR.Hide.I
|
||||
jsr PTR.Disable
|
||||
|
||||
.1 lda #0
|
||||
sta (ZPCBBufPtr)
|
||||
|
@ -155,10 +155,7 @@ CB.FlushBufToYA ldx hCBBuf
|
|||
stz hCBBuf
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
bit PTR.bVisible
|
||||
bpl .8
|
||||
|
||||
jmp PTR.Show.I
|
||||
jmp PTR.Enable
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
|
|
|
@ -228,6 +228,7 @@ CLIP.Line.BOTTOM .EQ 4
|
|||
CLIP.Line.TOP .EQ 8
|
||||
*--------------------------------------
|
||||
CLIP.Line jsr CLIP.Line.EncodeP1
|
||||
>DEBUG
|
||||
jsr CLIP.Line.EncodeP2
|
||||
|
||||
.1 lda CLIP.Line.P1
|
||||
|
@ -273,7 +274,6 @@ CLIP.Line jsr CLIP.Line.EncodeP1
|
|||
* P2
|
||||
|
||||
.5 lda CLIP.Line.P2
|
||||
|
||||
bit #CLIP.Line.TOP
|
||||
beq .6
|
||||
|
||||
|
@ -315,11 +315,12 @@ CLIP.Line.EncodeP1
|
|||
lda CB.Cache+S.CB.X1
|
||||
ldx CB.Cache+S.CB.X1+1
|
||||
jsr CLIP.Line.EncodeX.AX
|
||||
tay
|
||||
|
||||
lda CB.Cache+S.CB.Y1
|
||||
ldx CB.Cache+S.CB.Y1+1
|
||||
jsr CLIP.Line.EncodeY.AX
|
||||
sta CLIP.Line.P1
|
||||
|
||||
sty CLIP.Line.P1
|
||||
rts
|
||||
*--------------------------------------
|
||||
CLIP.Line.EncodeP2
|
||||
|
@ -328,11 +329,12 @@ CLIP.Line.EncodeP2
|
|||
lda CB.Cache+S.CB.X2
|
||||
ldx CB.Cache+S.CB.X2+1
|
||||
jsr CLIP.Line.EncodeX.AX
|
||||
tay
|
||||
|
||||
lda CB.Cache+S.CB.Y2
|
||||
ldx CB.Cache+S.CB.Y2+1
|
||||
jsr CLIP.Line.EncodeY.AX
|
||||
sta CLIP.Line.P2
|
||||
|
||||
sty CLIP.Line.P2
|
||||
rts
|
||||
*--------------------------------------
|
||||
CLIP.Line.EncodeX.AX
|
||||
|
@ -340,9 +342,12 @@ CLIP.Line.EncodeX.AX
|
|||
>SCMPAX OBJ.Cache+S.OBJ.X1
|
||||
bpl .1
|
||||
|
||||
pla
|
||||
|
||||
tya
|
||||
ora #CLIP.Line.LEFT
|
||||
plx
|
||||
tay
|
||||
|
||||
rts
|
||||
|
||||
.1 pla
|
||||
|
@ -351,19 +356,20 @@ CLIP.Line.EncodeX.AX
|
|||
|
||||
tya
|
||||
ora #CLIP.Line.RIGHT
|
||||
rts
|
||||
tay
|
||||
|
||||
.8 tya
|
||||
rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CLIP.Line.EncodeY.AX
|
||||
pha
|
||||
>SCMPAX OBJ.Cache+S.OBJ.Y1
|
||||
bpl .1
|
||||
|
||||
pla
|
||||
|
||||
tya
|
||||
ora #CLIP.Line.TOP
|
||||
plx
|
||||
tya
|
||||
rts
|
||||
|
||||
.1 pla
|
||||
|
@ -372,10 +378,9 @@ CLIP.Line.EncodeY.AX
|
|||
|
||||
tya
|
||||
ora #CLIP.Line.BOTTOM
|
||||
rts
|
||||
tay
|
||||
|
||||
.8 tya
|
||||
rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CB.Cache.SetX2Y2
|
||||
lda CB.Cache+S.CB.SrcW
|
||||
|
|
|
@ -8,8 +8,8 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
|
|||
>PULLB CB.Cache+S.CB.COLOR
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
|
||||
jsr DRAW.PullWND
|
||||
|
||||
jsr DRAW.PullInnerWND
|
||||
|
||||
lda CB.Cache+S.CB.X2
|
||||
sec
|
||||
sbc CB.Cache+S.CB.X1
|
||||
|
@ -19,6 +19,7 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
|
|||
sta DX+1 DX = X2 - X1
|
||||
|
||||
bmi .1 DX < 0....
|
||||
|
||||
ora DX
|
||||
bne .2 DX > 0...
|
||||
|
||||
|
@ -54,14 +55,17 @@ DRAW.Line jsr DRAW.PullY2X2Y1X1
|
|||
bcs .8
|
||||
|
||||
jmp CB.GFXWrite
|
||||
.8 rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
.3 >NOT16 DY set DY=-DY
|
||||
lda #$ff
|
||||
sta IY set IY=-1
|
||||
|
||||
.4 jsr CLIP.Line
|
||||
bcs .8
|
||||
.4
|
||||
* jsr CLIP.Line
|
||||
* bcs .8
|
||||
|
||||
lda #S.CB.CMD.SETPIXEL
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
@ -96,6 +100,7 @@ DRAW.Line.IncXY lda DX DX=DY
|
|||
bne .3
|
||||
|
||||
inc CB.Cache+S.CB.X1+1
|
||||
|
||||
.3 lda CB.Cache+S.CB.Y1 Y1=Y1+IY
|
||||
clc
|
||||
adc IY
|
||||
|
@ -103,7 +108,8 @@ DRAW.Line.IncXY lda DX DX=DY
|
|||
jsr CB.GFXWrite
|
||||
bra .1
|
||||
|
||||
.8 rts
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.Line.IncY lda DY
|
||||
eor #$ff
|
||||
|
@ -179,7 +185,8 @@ DRAW.Line.IncY lda DY
|
|||
jsr CB.GFXWrite
|
||||
bra .1
|
||||
|
||||
.8 rts
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.Line.IncX lda DX
|
||||
eor #$ff
|
||||
|
@ -187,6 +194,7 @@ DRAW.Line.IncX lda DX
|
|||
lda DX+1
|
||||
eor #$ff
|
||||
sta Counter+1
|
||||
|
||||
lda DY IE=2*DY
|
||||
asl
|
||||
sta IE
|
||||
|
@ -256,16 +264,17 @@ DRAW.Line.IncX lda DX
|
|||
.6 jsr CB.GFXWrite
|
||||
bra .1
|
||||
|
||||
.8 rts
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
* fillrectangle (short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int Y2)
|
||||
* fill (short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int Y2)
|
||||
*--------------------------------------
|
||||
FillRectangle jsr DRAW.PullY2X2Y1X1
|
||||
DRAW.Fill jsr DRAW.PullY2X2Y1X1
|
||||
|
||||
>PULLB CB.Cache+S.CB.COLOR
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
|
||||
jsr DRAW.PullWND
|
||||
jsr DRAW.PullInnerWND
|
||||
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
@ -275,11 +284,12 @@ FillRectangle jsr DRAW.PullY2X2Y1X1
|
|||
|
||||
jmp CB.GFXWrite
|
||||
|
||||
.8 rts
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
* drawbitmap (short int hWND, short int OP, short int M, S.BM *bitmap, int X1, int Y1)
|
||||
*--------------------------------------
|
||||
DrawBitMap lda #S.CB.CMD.BITBLT
|
||||
DRAW.BitMap lda #S.CB.CMD.BITBLT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
jsr DRAW.PullY1X1
|
||||
|
@ -289,28 +299,18 @@ DrawBitMap lda #S.CB.CMD.BITBLT
|
|||
>PULLB CB.Cache+S.CB.M
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
|
||||
jsr DRAW.PullWND
|
||||
jsr DRAW.PullInnerWND
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .8
|
||||
|
||||
jmp CB.GFXWrite
|
||||
|
||||
.8 rts
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.xBM >LDYA L.BMs,x
|
||||
DRAW.yaBM >STYA ZPBMPtr
|
||||
bra DRAW.BM
|
||||
|
||||
DRAW.xBMAtDXDY >LDYA L.BMs,x
|
||||
DRAW.yaBMAtDXDY >STYA ZPBMPtr Src BM
|
||||
|
||||
ldx #3
|
||||
|
||||
.1 lda DX,x
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
DRAW.BM lda #S.CB.CMD.BITBLT
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
@ -341,7 +341,7 @@ DRAW.BM lda #S.CB.CMD.BITBLT
|
|||
*--------------------------------------
|
||||
* drawtext (short int hWND, short int OP, short int hFONT, int X1, int Y1, char *str)
|
||||
*--------------------------------------
|
||||
DrawText lda #S.CB.CMD.DRAWTEXT2
|
||||
DRAW.Text lda #S.CB.CMD.DRAWTEXT2
|
||||
jsr CB.InitCacheA
|
||||
|
||||
>PULLW CB.Cache+S.CB.TxtPtr
|
||||
|
@ -351,31 +351,20 @@ DrawText lda #S.CB.CMD.DRAWTEXT2
|
|||
>PULLB CB.Cache+S.CB.hFont
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
|
||||
jsr DRAW.PullWND
|
||||
jsr DRAW.PullInnerWND
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .8
|
||||
|
||||
jmp CB.GFXWrite
|
||||
|
||||
.8 rts
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.YAText >STYA CB.Cache+S.CB.TxtPtr
|
||||
stx CB.Cache+S.CB.hFont
|
||||
bra DRAW.Text
|
||||
*--------------------------------------
|
||||
DRAW.YATextAtDXDY
|
||||
>STYA CB.Cache+S.CB.TxtPtr
|
||||
stx CB.Cache+S.CB.hFont
|
||||
|
||||
ldx #3
|
||||
|
||||
.1 lda DX,x DX,DY -> S.CB.X1,S.CB.Y1
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
DRAW.Text lda #S.CB.CMD.DRAWTEXT2
|
||||
lda #S.CB.CMD.DRAWTEXT2
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
||||
lda #0
|
||||
|
@ -398,17 +387,21 @@ DRAW.PullY2X2Y1X1
|
|||
DRAW.PullY1X1 ldx #3
|
||||
|
||||
DRAW.PullX >PULLA
|
||||
sta CB.Cache+S.CB.X1-1,x
|
||||
>PULLA
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
dex
|
||||
bpl DRAW.PullX
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.PullWND >PULLA hWND
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
DRAW.PullInnerWND
|
||||
jsr OBJ.PullHWND get dest window at ZPWNDPtr
|
||||
|
||||
jsr DRAW.ToGlobal set CB.Cache to global coord.
|
||||
jsr DRAW.GetInnerWND get inners in OBJ.Cache
|
||||
|
||||
jmp DRAW.ToGlobal set CB.Cache to global coord.
|
||||
*--------------------------------------
|
||||
DRAW.GetInnerWND
|
||||
ldy #S.OBJ.X1
|
||||
|
@ -435,7 +428,7 @@ DRAW.GetInnerWND
|
|||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.W+1
|
||||
|
||||
iny #S.WND.InnerH
|
||||
ldy #S.WND.InnerH
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.H
|
||||
iny
|
||||
|
@ -443,26 +436,26 @@ DRAW.GetInnerWND
|
|||
sta OBJ.Cache+S.OBJ.H+1
|
||||
|
||||
>LDYA L.OBJ.Cache
|
||||
jmp OBJ.SetX2Y2
|
||||
jmp OBJ.SetX2Y2 set X2 = X1 + W - 1...
|
||||
*--------------------------------------
|
||||
DRAW.ToGlobal >LDYA ZPWNDPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
.1 ldy #S.OBJ.X1
|
||||
ldx #S.CB.X1
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
jsr DRAW.AddPtr1YtoCBX
|
||||
|
||||
ldy #S.WND.InnerY1
|
||||
ldx #S.CB.Y1
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
jsr DRAW.AddPtr1YtoCBX
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
ldx #S.CB.X2
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
jsr DRAW.AddPtr1YtoCBX
|
||||
|
||||
ldy #S.WND.InnerY1
|
||||
ldx #S.CB.Y2
|
||||
jsr DRAW.AddP1YtoCBX
|
||||
jsr DRAW.AddPtr1YtoCBX
|
||||
|
||||
ldy #S.OBJ.hPARENT+1
|
||||
lda (ZPPtr1),y
|
||||
|
@ -479,7 +472,7 @@ DRAW.ToGlobal >LDYA ZPWNDPtr
|
|||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.AddP1YtoCBX
|
||||
DRAW.AddPtr1YtoCBX
|
||||
lda (ZPPtr1),y
|
||||
clc
|
||||
adc CB.Cache,x
|
||||
|
|
|
@ -1,9 +1,102 @@
|
|||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
* idButton MsgBox(hWND, pTITLE, pTEXT, pBM, idButtons)
|
||||
*--------------------------------------
|
||||
* idButton MsgBox(pTITLE, pTEXT, pBM, idButtons)
|
||||
|
||||
* guiNewWnd(sFlags, iX1, iY1, iW, iH)
|
||||
*--------------------------------------
|
||||
MBOX.MsgBox >LDYAI 360
|
||||
>STYA IE
|
||||
|
||||
>LDYAI 80
|
||||
>STYA INE
|
||||
|
||||
lda WND.Desktop+S.OBJ.W
|
||||
sec
|
||||
sbc IE
|
||||
sta DX
|
||||
lda WND.Desktop+S.OBJ.W+1
|
||||
sbc IE+1
|
||||
lsr
|
||||
sta DX+1
|
||||
ror DX
|
||||
|
||||
lda WND.Desktop+S.OBJ.H
|
||||
sec
|
||||
sbc INE
|
||||
sta DY
|
||||
lda WND.Desktop+S.OBJ.H+1
|
||||
sbc INE+1
|
||||
lsr
|
||||
sta DY+1
|
||||
ror DY
|
||||
|
||||
>PUSHBI S.OBJ.F.BORDER+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MODAL
|
||||
>PUSHW DX
|
||||
>PUSHW DY
|
||||
>PUSHW IE
|
||||
>PUSHW INE
|
||||
jsr WND.New
|
||||
bcs .9
|
||||
|
||||
pha
|
||||
|
||||
ldy #S.WND.BGCOLOR
|
||||
lda #C.WHITE
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
ldy #6
|
||||
lda (pStack),y
|
||||
tax
|
||||
dey
|
||||
lda (pStack),y
|
||||
ldy #S.WND.pTITLE
|
||||
jsr OBJ.SetAXAtY
|
||||
|
||||
pla
|
||||
|
||||
jsr WND.Show
|
||||
bcs .9
|
||||
|
||||
ldy #2 pBM
|
||||
lda (pStack),y
|
||||
tax
|
||||
dey
|
||||
lda (pStack),y
|
||||
jsr MBOX.DrawBM
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.9 >POP 7
|
||||
rts
|
||||
*--------------------------------------
|
||||
MBOX.DrawBM cpx #0
|
||||
bne .1
|
||||
|
||||
tax
|
||||
>LDYA L.BMs,x
|
||||
|
||||
.1 >STYA ZPBMPtr
|
||||
|
||||
jsr CB.GetBuf
|
||||
bcs .9
|
||||
|
||||
lda #28
|
||||
sta CB.Cache+S.CB.X1
|
||||
stz CB.Cache+S.CB.X1+1
|
||||
sta CB.Cache+S.CB.Y1
|
||||
stz CB.Cache+S.CB.Y1+1
|
||||
|
||||
jsr DRAW.BM
|
||||
* >DEBUG
|
||||
* >LDYA ZPWNDPtr
|
||||
>LDYA L.WND.Desktop
|
||||
jmp CB.FlushBufToYA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.mbox
|
||||
|
|
|
@ -319,9 +319,7 @@ MENU.SetMenuSizePos
|
|||
sta (ZPMENUPtr),y
|
||||
|
||||
.5 >LDYA ZPMENUPtr
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
rts
|
||||
jmp OBJ.SetX2Y2
|
||||
*--------------------------------------
|
||||
MENU.GetMItemW ldy #S.MITEM.pICON
|
||||
lda (ZPPtr1),y
|
||||
|
@ -347,7 +345,7 @@ MENU.GetMItemW ldy #S.MITEM.pICON
|
|||
sta IE+1
|
||||
|
||||
.2 jsr MENU.GetKeyString
|
||||
bcs .8
|
||||
beq .8
|
||||
|
||||
ldx hSYSFON
|
||||
jsr FON.GetTextSize
|
||||
|
@ -462,11 +460,9 @@ MENU.Enter jsr MENU.GetDXDY
|
|||
eor #S.MITEM.S.SELECTED
|
||||
sta (ZPPtr1),y was selected before...
|
||||
|
||||
jsr CB.GetBuf
|
||||
jsr MENU.DrawMItemBuf
|
||||
bcs .9
|
||||
|
||||
jsr MENU.DrawMItem
|
||||
|
||||
.2 jsr MENU.NextMItemDY
|
||||
bra .1
|
||||
*--------------------------------------
|
||||
|
@ -477,11 +473,9 @@ MENU.Enter jsr MENU.GetDXDY
|
|||
eor #S.MITEM.S.SELECTED
|
||||
sta (ZPPtr1),y
|
||||
|
||||
jsr CB.GetBuf
|
||||
jsr MENU.DrawMItemBuf
|
||||
bcs .9
|
||||
|
||||
jsr MENU.DrawMItem
|
||||
|
||||
.30 ldx MENU.Stack.Idx
|
||||
inx
|
||||
cpx MENU.Stack.Cnt
|
||||
|
@ -576,6 +570,18 @@ MENU.Draw >SYSCALL2 GetMemPtr
|
|||
.8 >LDYA L.WND.Screen
|
||||
jmp CB.FlushBufToYA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MENU.DrawMItemBuf
|
||||
jsr CB.GetBuf
|
||||
bcs .9
|
||||
|
||||
jsr MENU.DrawMItem
|
||||
bcs .9
|
||||
|
||||
>LDYA L.WND.Screen
|
||||
jmp CB.FlushBufToYA
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MENU.DrawMItem jsr MENU.ResetX1Y1X2
|
||||
|
@ -588,22 +594,14 @@ MENU.DrawMItem jsr MENU.ResetX1Y1X2
|
|||
|
||||
jmp CB.Cache2CBBuf
|
||||
*--------------------------------------
|
||||
MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
||||
sta CB.Cache+S.CB.CMD
|
||||
lda #S.CB.OP.SET
|
||||
sta CB.Cache+S.CB.OP
|
||||
lda #S.CB.M.MONO
|
||||
sta CB.Cache+S.CB.M
|
||||
MENU.DrawMItem1 jsr MENU.IsSelected
|
||||
|
||||
ldx PREFS.MenuColor
|
||||
jsr MENU.IsSelected
|
||||
lda PREFS.MenuColor
|
||||
bcc .15
|
||||
|
||||
txa
|
||||
eor #C.WHITE
|
||||
tax
|
||||
eor #$ff
|
||||
|
||||
.15 stx CB.Cache+S.CB.COLOR
|
||||
.15 jsr CB.FillRectMonoA
|
||||
|
||||
lda CB.Cache+S.CB.Y1
|
||||
sec
|
||||
|
@ -642,9 +640,8 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
|||
|
||||
inc CB.Cache+S.CB.X1+1
|
||||
|
||||
.21 jsr MENU.GetText
|
||||
|
||||
jsr MENU.IsSelected
|
||||
.21 jsr MENU.IsSelected
|
||||
jsr MENU.GetText
|
||||
ldx hSYSFON
|
||||
jsr DRAW.YAText
|
||||
|
||||
|
@ -662,10 +659,10 @@ MENU.DrawMItem1 lda #S.CB.CMD.FILLRECT
|
|||
cmp #S.MITEM.T.ITEM
|
||||
bne .3
|
||||
|
||||
jsr MENU.GetKeyString
|
||||
bcs .3
|
||||
|
||||
jsr MENU.IsSelected
|
||||
jsr MENU.GetKeyString C untouched
|
||||
beq .3
|
||||
|
||||
ldx hSYSFON
|
||||
jsr DRAW.YAText
|
||||
|
||||
|
@ -711,15 +708,9 @@ MENU.GetIcon ldy #S.MITEM.pICON+1
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.IsSelected phy
|
||||
pha
|
||||
|
||||
ldy #S.MITEM.S
|
||||
MENU.IsSelected ldy #S.MITEM.S
|
||||
lda (ZPPtr1),y
|
||||
asl
|
||||
|
||||
.9 pla
|
||||
ply
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetText ldy #S.MITEM.pTEXT
|
||||
|
@ -768,8 +759,8 @@ MENU.GetKeyString
|
|||
sta TEXTBUF,x
|
||||
stz TEXTBUF+1,x
|
||||
|
||||
>LDYA L.TEXTBUF
|
||||
clc
|
||||
>LDYA L.TEXTBUF NZ
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
.4 pha
|
||||
|
@ -784,12 +775,11 @@ MENU.GetKeyString
|
|||
|
||||
.6 pla
|
||||
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MENU.Save lda #S.CB.CMD.GETRECTBUFSIZE
|
||||
MENU.Save jsr PTR.Disable
|
||||
|
||||
lda #S.CB.CMD.GETRECTBUFSIZE
|
||||
jsr CB.InitCacheA
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
|
@ -830,8 +820,8 @@ MENU.Save lda #S.CB.CMD.GETRECTBUFSIZE
|
|||
bne .2
|
||||
|
||||
jsr CB.GFXWrite
|
||||
|
||||
clc
|
||||
|
||||
jmp PTR.Enable
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -885,34 +875,6 @@ MENU.ResetX1Y1X2
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.FindSelected
|
||||
>LDYA ZPPtr1
|
||||
>STYA D
|
||||
|
||||
jsr MENU.GetMItems
|
||||
|
||||
.1 lda (ZPPtr1)
|
||||
beq .9
|
||||
|
||||
cmp #S.MITEM.T.SEP
|
||||
beq .2
|
||||
|
||||
ldy #S.MITEM.S
|
||||
lda (ZPPtr1),y
|
||||
bmi .8
|
||||
|
||||
.2 jsr MENU.NextMItem
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 >LDYA D
|
||||
>STYA ZPPtr1
|
||||
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.GetMItems lda ZPMENUPtr
|
||||
clc
|
||||
adc #S.MENU.Items
|
||||
|
@ -953,7 +915,7 @@ MENU.Destroy clc
|
|||
bit PTR.bVisible
|
||||
bpl .1
|
||||
|
||||
jsr PTR.Hide.I
|
||||
jsr PTR.Disable
|
||||
|
||||
.1 lda #S.CB.CMD.BITBLT
|
||||
jsr CB.InitCacheA
|
||||
|
@ -1010,10 +972,7 @@ MENU.Destroy clc
|
|||
|
||||
bne .2
|
||||
|
||||
.7 bit PTR.bVisible
|
||||
bpl .8
|
||||
|
||||
jmp PTR.Show.I
|
||||
.7 jmp PTR.Enable
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
|
|
@ -109,12 +109,11 @@ MOU.CheckOverWND
|
|||
.1 stx WND.Stack.Idx
|
||||
|
||||
lda WND.Stack-1,x
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
jsr OBJ.GetHWNDA
|
||||
|
||||
ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
and #S.WND.F.BORDER
|
||||
and #S.OBJ.F.BORDER
|
||||
beq .2
|
||||
|
||||
jsr MOU.ChkWNDBorders
|
||||
|
|
|
@ -16,10 +16,9 @@ OBJ.New pha
|
|||
pla
|
||||
sta (ZPObjPtr)
|
||||
|
||||
phx hObj
|
||||
|
||||
tax
|
||||
ldy OBJ.SizeOf,x
|
||||
tay
|
||||
lda OBJ.SizeOf,y
|
||||
tay
|
||||
dey
|
||||
lda #0
|
||||
|
||||
|
@ -27,11 +26,9 @@ OBJ.New pha
|
|||
dey
|
||||
bne .1
|
||||
|
||||
>LDYA ZPObjPtr
|
||||
* clc
|
||||
|
||||
.9 plx
|
||||
rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* hOBJ, Prop8, Value16
|
||||
*--------------------------------------
|
||||
|
@ -74,10 +71,16 @@ OBJ.GetProp >PULLA
|
|||
|
||||
ply
|
||||
|
||||
lda (ZPObjPtr),y
|
||||
OBJ.GetPropAtY lda (ZPObjPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPObjPtr),y
|
||||
ora (ZPObjPtr),y
|
||||
clc
|
||||
bne .1
|
||||
|
||||
sec
|
||||
|
||||
.1 lda (ZPObjPtr),y
|
||||
ply
|
||||
|
||||
rts
|
||||
|
@ -135,6 +138,27 @@ OBJ.SetX2Y2 >STYA ZPPtr1
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.SetAXAtY sta (ZPObjPtr),y
|
||||
iny
|
||||
txa
|
||||
sta (ZPObjPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.PullWordAtY >PULLA
|
||||
sta (ZPObjPtr),y
|
||||
iny
|
||||
|
||||
OBJ.PullByteAtY >PULLA
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.PullHWND >PULLA
|
||||
|
||||
OBJ.GetHWNDA >SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
rts
|
||||
*--------------------------------------
|
||||
OBJ.GetInCache >STYA .1+1
|
||||
|
||||
ldx #S.OBJ-1
|
||||
|
|
|
@ -99,22 +99,37 @@ PTR.SetPos >PULLW ZPPtr1
|
|||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
PTR.Disable bit PTR.bVisible
|
||||
bmi PTR.Hide.I
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
PTR.Enable bit PTR.bVisible
|
||||
bmi PTR.Show.I
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
PTR.Hide lda PTR.bVisible
|
||||
bpl .9
|
||||
bpl .8
|
||||
|
||||
jsr PTR.Hide.I
|
||||
stz PTR.bVisible
|
||||
|
||||
.9 clc
|
||||
bra PTR.Hide.I
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
PTR.Show lda PTR.bVisible
|
||||
bmi .9
|
||||
bmi .8
|
||||
|
||||
jsr PTR.Show.I
|
||||
dec PTR.bVisible
|
||||
|
||||
.9 rts
|
||||
bra PTR.Show.I
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
PTR.Hide.I lda #S.CB.OP.RESTORE
|
||||
bra PTR.Draw.I
|
||||
|
|
|
@ -59,22 +59,13 @@ SYSBAR.Show jsr CB.GetBuf
|
|||
.9 rts
|
||||
*--------------------------------------
|
||||
SYSBAR.ShowSysBut
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
lda #S.CB.OP.SET
|
||||
sta CB.Cache+S.CB.OP
|
||||
|
||||
lda #S.CB.M.MONO
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
lda PREFS.SYSBARCOLOR
|
||||
lda PREFS.SysBarColor
|
||||
bit WND.SysBar.bSysBut
|
||||
bpl .1
|
||||
|
||||
eor #$ff
|
||||
|
||||
.1 sta CB.Cache+S.CB.COLOR
|
||||
.1 jsr CB.FillRectMonoA
|
||||
|
||||
ldx #S.RECT-1
|
||||
|
||||
|
@ -85,57 +76,45 @@ SYSBAR.ShowSysBut
|
|||
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
lda RECT.SysBut+S.RECT.X1
|
||||
lda CB.Cache+S.CB.X1
|
||||
clc
|
||||
adc #4
|
||||
sta DX
|
||||
lda RECT.SysBut+S.RECT.X1+1
|
||||
sta CB.Cache+S.CB.X1
|
||||
lda CB.Cache+S.CB.X1+1
|
||||
adc #0
|
||||
sta DX+1
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
lda RECT.SysBut+S.RECT.Y1
|
||||
inc CB.Cache+S.CB.Y1
|
||||
bne .30
|
||||
|
||||
inc CB.Cache+S.CB.Y1+1
|
||||
|
||||
.30 ldx #BM.ID.APPLE
|
||||
jsr DRAW.xBM
|
||||
|
||||
lda CB.Cache+S.CB.X1
|
||||
clc
|
||||
adc #1
|
||||
sta DY
|
||||
lda RECT.SysBut+S.RECT.Y1+1
|
||||
adc #20
|
||||
sta CB.Cache+S.CB.X1
|
||||
lda CB.Cache+S.CB.X1+1
|
||||
adc #0
|
||||
sta DY+1
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
ldx #BM.ID.APPLE
|
||||
jsr DRAW.xBMAtDXDY
|
||||
inc CB.Cache+S.CB.Y1
|
||||
bne .31
|
||||
|
||||
lda RECT.SysBut+S.RECT.X1
|
||||
clc
|
||||
adc #21
|
||||
sta DX
|
||||
lda RECT.SysBut+S.RECT.X1+1
|
||||
adc #0
|
||||
sta DX+1
|
||||
inc CB.Cache+S.CB.Y1+1
|
||||
|
||||
inc DY
|
||||
bne .3
|
||||
|
||||
inc DY+1
|
||||
|
||||
.3 lda WND.SysBar.bSysBut
|
||||
.31 lda WND.SysBar.bSysBut
|
||||
asl
|
||||
|
||||
>LDYA L.WND.SysBar.2osX
|
||||
ldx hSYSFON
|
||||
jmp DRAW.YATextAtDXDY
|
||||
jmp DRAW.YAText
|
||||
*--------------------------------------
|
||||
SYSBAR.ShowSysWNDs
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
lda #S.CB.OP.SET
|
||||
sta CB.Cache+S.CB.OP
|
||||
|
||||
lda #S.CB.M.MONO
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
lda PREFS.SYSBARCOLOR
|
||||
sta CB.Cache+S.CB.COLOR
|
||||
lda PREFS.SysBarColor
|
||||
jsr CB.FillRectMonoA
|
||||
|
||||
ldx #S.RECT-1
|
||||
|
||||
|
@ -147,17 +126,8 @@ SYSBAR.ShowSysWNDs
|
|||
jmp CB.Cache2CBBuf
|
||||
*--------------------------------------
|
||||
SYSBAR.ShowSysClk
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
lda #S.CB.OP.SET
|
||||
sta CB.Cache+S.CB.OP
|
||||
|
||||
lda #S.CB.M.MONO
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
lda PREFS.SYSBARCOLOR
|
||||
sta CB.Cache+S.CB.COLOR
|
||||
lda PREFS.SysBarColor
|
||||
jsr CB.FillRectMonoA
|
||||
|
||||
ldx #S.RECT-1
|
||||
|
||||
|
|
|
@ -118,100 +118,67 @@ WND.Quit.RTS rts
|
|||
*--------------------------------------
|
||||
WND.New ldy WND.Stack.Top
|
||||
cpy #WND.MAX
|
||||
bcc .10
|
||||
bcs .98
|
||||
|
||||
lda #E.OOH
|
||||
|
||||
.9 >POP 9
|
||||
|
||||
rts
|
||||
|
||||
.10 lda #S.OBJ.T.WND
|
||||
lda #S.OBJ.T.WND
|
||||
jsr OBJ.New
|
||||
bcs .9
|
||||
bcs .99
|
||||
|
||||
>STYA ZPWNDPtr
|
||||
* >STYA ZPObjPtr
|
||||
phx
|
||||
|
||||
ldy #S.WND.fPaint
|
||||
lda L.WND.fPaint
|
||||
sta (ZPWNDPtr),y
|
||||
iny
|
||||
lda L.WND.fPaint+1
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.H
|
||||
sta (ZPWNDPtr),y
|
||||
pha
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPWNDPtr),y
|
||||
ldy #S.WND.InnerH+1
|
||||
sta (ZPWNDPtr),y
|
||||
pla
|
||||
dey
|
||||
sta (ZPWNDPtr),y
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.W
|
||||
sta (ZPWNDPtr),y
|
||||
pha
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPWNDPtr),y
|
||||
ldy #S.WND.InnerW+1
|
||||
sta (ZPWNDPtr),y
|
||||
pla
|
||||
dey
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
>PULLA
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
sta (ZPWNDPtr),y
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPWNDPtr),y
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
>PULLA
|
||||
ldy #S.OBJ.X1
|
||||
and PREFS.BestViewedX
|
||||
sta (ZPWNDPtr),y
|
||||
>PULLA
|
||||
iny
|
||||
sta (ZPWNDPtr),y
|
||||
jsr OBJ.PullWordAtY
|
||||
|
||||
>PULLA
|
||||
bit #S.WND.F.RESIZE
|
||||
beq .2
|
||||
|
||||
ora #S.WND.F.BORDER
|
||||
ora #S.OBJ.F.BORDER
|
||||
|
||||
.2 ldy #S.OBJ.F
|
||||
sta (ZPWNDPtr),y
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
ldy #S.PS.PID
|
||||
lda (pPs),y
|
||||
|
||||
ldy #S.OBJ.hOWNER
|
||||
sta (ZPWNDPtr),y
|
||||
sta (ZPObjPtr),y
|
||||
|
||||
lda L.WND.Desktop
|
||||
ldx L.WND.Desktop+1
|
||||
ldy #S.OBJ.hPARENT
|
||||
sta (ZPWNDPtr),y
|
||||
iny
|
||||
lda L.WND.Desktop+1
|
||||
sta (ZPWNDPtr),y
|
||||
jsr OBJ.SetAXAtY
|
||||
|
||||
txa ID
|
||||
lda L.WND.fPaint
|
||||
ldx L.WND.fPaint+1
|
||||
ldy #S.WND.fPaint
|
||||
jsr OBJ.SetAXAtY
|
||||
|
||||
pla ID
|
||||
|
||||
* clc
|
||||
rts
|
||||
|
||||
.98 lda #E.OOH
|
||||
|
||||
.99 >POP 9
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Destroy clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Activate >SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
WND.Activate jsr OBJ.GetHWNDA
|
||||
|
||||
|
||||
clc
|
||||
|
@ -240,11 +207,10 @@ WND.Bring2Front ldx WND.Stack.Idx
|
|||
WND.Show sta WND.hWND
|
||||
|
||||
ldx WND.Stack.Top
|
||||
beq WND.Show2
|
||||
beq .1
|
||||
|
||||
lda WND.Stack-1,x
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
jsr OBJ.GetHWNDA
|
||||
|
||||
lda #S.WND.S.ACTIVE
|
||||
jsr WND.ClrStatus
|
||||
|
@ -259,21 +225,16 @@ WND.Show sta WND.hWND
|
|||
|
||||
lda WND.hWND
|
||||
ldx WND.Stack.Top
|
||||
*--------------------------------------
|
||||
WND.Show2 sta WND.Stack,x
|
||||
|
||||
.1 sta WND.Stack,x
|
||||
inc WND.Stack.Top
|
||||
*--------------------------------------
|
||||
WND.Draw jsr OBJ.GetHWNDA Y,A = ZPWNDPtr
|
||||
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
ldy #S.WND.InnerY2
|
||||
sta (ZPWNDPtr),y
|
||||
txa
|
||||
iny
|
||||
sta (ZPWNDPtr),y
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
jsr WND.ResetInnerW
|
||||
|
||||
jsr CB.GetBuf
|
||||
bcs WND.Activate.RTS
|
||||
|
||||
|
@ -282,7 +243,7 @@ WND.Show2 sta WND.Stack,x
|
|||
|
||||
ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
and #S.WND.F.BORDER
|
||||
and #S.OBJ.F.BORDER
|
||||
beq .1
|
||||
|
||||
>LDYA ZPWNDPtr
|
||||
|
@ -309,10 +270,7 @@ WND.Show2 sta WND.Stack,x
|
|||
jsr WND.Add2Counter
|
||||
|
||||
ldy #S.WND.TBarY2
|
||||
sta (ZPWNDPtr),y
|
||||
iny
|
||||
txa
|
||||
sta (ZPWNDPtr),y
|
||||
jsr WND.SetAXAtY
|
||||
|
||||
lda #S.WND.S.HASTBAR
|
||||
jsr WND.SetStatus
|
||||
|
@ -324,14 +282,14 @@ WND.Show2 sta WND.Stack,x
|
|||
lda (ZPWNDPtr),y
|
||||
beq .4
|
||||
|
||||
ldy #S.WND.MBarY1
|
||||
jsr WND.SetCounterAtY
|
||||
|
||||
lda SYSFON.Hp1
|
||||
jsr WND.Add2Counter
|
||||
|
||||
ldy #S.WND.MBarY2
|
||||
sta (ZPWNDPtr),y
|
||||
iny
|
||||
txa
|
||||
sta (ZPWNDPtr),y
|
||||
jsr WND.SetAXAtY
|
||||
|
||||
lda #S.WND.S.HASMBAR
|
||||
jsr WND.SetStatus
|
||||
|
@ -340,29 +298,37 @@ WND.Show2 sta WND.Stack,x
|
|||
lda (ZPWNDPtr),y
|
||||
jsr MBAR.Draw
|
||||
*--------------------------------------
|
||||
.4 lda Counter
|
||||
ldy #S.WND.InnerY1
|
||||
sta (ZPWNDPtr),y
|
||||
iny
|
||||
lda Counter+1
|
||||
sta (ZPWNDPtr),y
|
||||
.4 ldy #S.WND.InnerY1
|
||||
jsr WND.SetCounterAtY
|
||||
|
||||
ldy #S.WND.pSTATUS+1
|
||||
lda (ZPWNDPtr),y
|
||||
beq .8
|
||||
|
||||
lda SYSFON.Hp1
|
||||
lda SYSFON.H
|
||||
jsr WND.Add2Counter
|
||||
|
||||
ldy #S.WND.InnerY2
|
||||
lda (ZPWNDPtr),y
|
||||
sec
|
||||
clc +1
|
||||
sbc SYSFON.H
|
||||
sta (ZPWNDPtr),y
|
||||
tax
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sbc #0
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
inx
|
||||
bne .5
|
||||
|
||||
inc
|
||||
|
||||
.5 ldy #S.WND.SBarY1+1
|
||||
sta (ZPWNDPtr),y
|
||||
dey
|
||||
txa
|
||||
sta (ZPWNDPtr),y
|
||||
|
||||
lda #S.WND.S.HASSBAR
|
||||
jsr WND.SetStatus
|
||||
|
@ -385,15 +351,277 @@ WND.Show2 sta WND.Stack,x
|
|||
|
||||
lda WND.hWND
|
||||
pha
|
||||
bra WND.Paint1
|
||||
jmp WND.Paint1
|
||||
|
||||
.9
|
||||
WND.Show.RTS rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.ResetInnerW ldy #S.OBJ.W
|
||||
ldx #S.WND.InnerW
|
||||
jsr .1
|
||||
|
||||
ldy #S.OBJ.H
|
||||
ldx #S.WND.InnerH
|
||||
jsr .1
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
ldx #S.WND.InnerX2
|
||||
jsr .1
|
||||
|
||||
ldy #S.OBJ.Y2
|
||||
ldx #S.WND.InnerY2
|
||||
|
||||
.1 lda (ZPWNDPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
phx
|
||||
ply
|
||||
iny
|
||||
sta (ZPWNDPtr),y
|
||||
dey
|
||||
pla
|
||||
sta (ZPWNDPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Add2Counter clc
|
||||
adc Counter
|
||||
sta Counter
|
||||
bcc .8
|
||||
|
||||
inc Counter+1
|
||||
|
||||
.8 ldx Counter+1
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.SetCounterAtY
|
||||
lda Counter
|
||||
ldx Counter+1
|
||||
*--------------------------------------
|
||||
WND.SetAXAtY sta (ZPWNDPtr),y
|
||||
iny
|
||||
txa
|
||||
sta (ZPWNDPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.DrawTitleBar
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
||||
lda #S.CB.OP.SET
|
||||
sta CB.Cache+S.CB.OP
|
||||
lda #S.CB.M.C16
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
ldx PREFS.TBarColorI
|
||||
|
||||
ldy #S.OBJ.S
|
||||
lda (ZPWNDPtr),y
|
||||
and #S.WND.S.ACTIVE
|
||||
beq .10
|
||||
|
||||
ldx PREFS.TBarColorA
|
||||
|
||||
.10 stx CB.Cache+S.CB.COLOR
|
||||
|
||||
ldy #S.OBJ.X1+5 X1,Y1,X2
|
||||
ldx #5
|
||||
|
||||
.11 lda (ZPWNDPtr),y
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dey
|
||||
dex
|
||||
bpl .11
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
lda (ZPWNDPtr),y
|
||||
sta CB.Cache+S.CB.Y1
|
||||
sec
|
||||
adc SYSFON.H
|
||||
sta CB.Cache+S.CB.Y2
|
||||
|
||||
iny
|
||||
|
||||
lda (ZPWNDPtr),y
|
||||
sta CB.Cache+S.CB.Y1+1
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.Y2+1
|
||||
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
inc CB.Cache+S.CB.Y1
|
||||
bne .12
|
||||
|
||||
inc CB.Cache+S.CB.Y1+1
|
||||
|
||||
* TOP LEFT ICON
|
||||
.12 ldy #S.WND.ICON+1
|
||||
lda (ZPWNDPtr),y
|
||||
tax
|
||||
dey
|
||||
ora (ZPWNDPtr),y
|
||||
bne .1
|
||||
|
||||
>LDYA L.BM.Apple
|
||||
bra .2
|
||||
|
||||
.1 lda (ZPWNDPtr),y
|
||||
tay
|
||||
txa
|
||||
|
||||
.2 jsr DRAW.yaBM
|
||||
|
||||
jsr WND.DrawTitleBarText
|
||||
bcs .9
|
||||
|
||||
* TOP RIGHT ICONS
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
lda (ZPWNDPtr),y
|
||||
sec
|
||||
sbc #48
|
||||
sta CB.Cache+S.CB.X1
|
||||
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sbc #0
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
bit #S.WND.F.MIN
|
||||
beq .3
|
||||
|
||||
ldx #BM.ID.MIN
|
||||
jsr DRAW.xBM
|
||||
|
||||
.3 lda CB.Cache+S.CB.X1
|
||||
clc
|
||||
adc #16
|
||||
sta CB.Cache+S.CB.X1
|
||||
bcc .31
|
||||
|
||||
inc CB.Cache+S.CB.X1+1
|
||||
|
||||
.31 ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
bit #S.WND.F.MAX
|
||||
beq .4
|
||||
|
||||
ldx #BM.ID.MAX
|
||||
jsr DRAW.xBM
|
||||
|
||||
.4 lda CB.Cache+S.CB.X1
|
||||
clc
|
||||
adc #16
|
||||
sta CB.Cache+S.CB.X1
|
||||
bcc .41
|
||||
|
||||
inc CB.Cache+S.CB.X1+1
|
||||
|
||||
.41 ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
bit #S.WND.F.CLOSE
|
||||
beq .8
|
||||
|
||||
ldx #BM.ID.CLOSE
|
||||
jsr DRAW.xBM
|
||||
|
||||
.8 clc
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.DrawTitleBarText
|
||||
ldy #S.WND.pTITLE
|
||||
lda (ZPWNDPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
ply
|
||||
|
||||
ldx hSYSFON
|
||||
jsr FON.GetTextSize
|
||||
|
||||
ldy #S.OBJ.W
|
||||
lda (ZPWNDPtr),y
|
||||
sec
|
||||
sbc CB.Cache+S.CB.SrcW
|
||||
sta DX
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sbc CB.Cache+S.CB.SrcW+1
|
||||
|
||||
lsr
|
||||
ror DX
|
||||
sta DX+1
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
lda (ZPWNDPtr),y
|
||||
clc
|
||||
adc DX
|
||||
and PREFS.BestViewedX
|
||||
sta CB.Cache+S.CB.X1
|
||||
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
adc DX+1
|
||||
sta CB.Cache+S.CB.X1+1
|
||||
|
||||
ldy #S.WND.pTITLE
|
||||
lda (ZPWNDPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
ply
|
||||
|
||||
ldx hSYSFON
|
||||
clc
|
||||
jmp DRAW.YAText
|
||||
*--------------------------------------
|
||||
WND.DrawStatusBar
|
||||
jsr CB.BorderLineH
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
ldx #S.CB.X1
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
ldx #S.CB.X2
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
ldy #S.WND.SBarY1
|
||||
ldx #S.CB.Y1
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
inc CB.Cache+S.CB.Y1
|
||||
bne .1
|
||||
|
||||
inc CB.Cache+S.CB.Y1+1
|
||||
|
||||
.1 lda PREFS.SBarColor
|
||||
jsr CB.FillRectMonoA
|
||||
|
||||
ldy #S.OBJ.Y2
|
||||
ldx #S.CB.Y2
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
ldy #S.WND.pSTATUS
|
||||
lda (ZPWNDPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
ply
|
||||
|
||||
ldx hSYSFON
|
||||
clc
|
||||
jmp DRAW.YAText
|
||||
*--------------------------------------
|
||||
WND.Paint pha hWND
|
||||
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
jsr OBJ.GetHWNDA
|
||||
|
||||
WND.Paint1 ldy #S.WND.fPaint
|
||||
lda (ZPWNDPtr),y
|
||||
|
@ -406,11 +634,12 @@ WND.Paint1 ldy #S.WND.fPaint
|
|||
|
||||
jmp (ZPPtr1)
|
||||
*--------------------------------------
|
||||
WND.fPaint >SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
WND.fPaint.RTS rts
|
||||
|
||||
WND.fPaint jsr OBJ.GetHWNDA
|
||||
|
||||
jsr CB.GetBuf
|
||||
bcs WND.Show.RTS
|
||||
bcs WND.fPaint.RTS
|
||||
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
@ -434,15 +663,12 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
|||
|
||||
ldy #S.WND.InnerY1
|
||||
lda (ZPWNDPtr),y
|
||||
clc
|
||||
adc #1
|
||||
sta CB.Cache+S.CB.Y1
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.Y1+1
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
ldy #S.WND.InnerX2
|
||||
lda (ZPWNDPtr),y
|
||||
sta CB.Cache+S.CB.X2
|
||||
iny
|
||||
|
@ -451,16 +677,13 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
|||
|
||||
ldy #S.WND.InnerY2
|
||||
lda (ZPWNDPtr),y
|
||||
sec
|
||||
sbc #1
|
||||
sta CB.Cache+S.CB.Y2
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sbc #0
|
||||
sta CB.Cache+S.CB.Y2+1
|
||||
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
*--------------------------------------
|
||||
ldy #S.WND.BGBM
|
||||
lda (ZPWNDPtr),y
|
||||
sta CB.Cache+S.CB.SrcPtr
|
||||
|
@ -493,229 +716,11 @@ WND.fPaint >SYSCALL2 GetMemPtr
|
|||
|
||||
.8 >LDYA L.WND.Desktop
|
||||
|
||||
jmp CB.FlushBufToYA
|
||||
*--------------------------------------
|
||||
WND.DrawTitleBar
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
lda #S.CB.OP.SET
|
||||
sta CB.Cache+S.CB.OP
|
||||
lda #S.CB.M.C16
|
||||
sta CB.Cache+S.CB.M
|
||||
|
||||
ldx PREFS.TBARCOLORI
|
||||
|
||||
ldy #S.OBJ.S
|
||||
lda (ZPWNDPtr),y
|
||||
and #S.WND.S.ACTIVE
|
||||
beq .10
|
||||
|
||||
ldx PREFS.TBARCOLORA
|
||||
|
||||
.10 stx CB.Cache+S.CB.COLOR
|
||||
|
||||
ldy #S.OBJ.X1+5 X1,Y1,X2
|
||||
ldx #5
|
||||
|
||||
.11 lda (ZPWNDPtr),y
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dey
|
||||
dex
|
||||
bpl .11
|
||||
|
||||
>LDYA CB.Cache+S.CB.X1
|
||||
>STYA DX
|
||||
|
||||
ldy #S.OBJ.Y1
|
||||
lda (ZPWNDPtr),y
|
||||
sta DY
|
||||
sec
|
||||
adc SYSFON.H
|
||||
sta CB.Cache+S.CB.Y2
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta DY+1
|
||||
adc #0
|
||||
sta CB.Cache+S.CB.Y2+1
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
inc DY
|
||||
bne .12
|
||||
|
||||
inc DY+1
|
||||
|
||||
* TOP LEFT ICON
|
||||
.12 ldy #S.WND.ICON+1
|
||||
lda (ZPWNDPtr),y
|
||||
tax
|
||||
dey
|
||||
ora (ZPWNDPtr),y
|
||||
bne .1
|
||||
|
||||
>LDYA L.BM.Apple
|
||||
bra .2
|
||||
|
||||
.1 lda (ZPWNDPtr),y
|
||||
tay
|
||||
txa
|
||||
|
||||
.2 jsr DRAW.yaBMAtDXDY
|
||||
|
||||
jsr WND.DrawTitleBarText
|
||||
bcs .9
|
||||
|
||||
* TOP RIGHT ICONS
|
||||
ldy #S.OBJ.X2
|
||||
lda (ZPWNDPtr),y
|
||||
sec
|
||||
sbc #48
|
||||
sta DX
|
||||
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sbc #0
|
||||
sta DX+1
|
||||
|
||||
ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
bit #S.WND.F.MIN
|
||||
beq .3
|
||||
|
||||
ldx #BM.ID.MIN
|
||||
jsr DRAW.xBMAtDXDY
|
||||
|
||||
.3 lda DX
|
||||
clc
|
||||
adc #16
|
||||
sta DX
|
||||
bcc .31
|
||||
inc DX+1
|
||||
|
||||
.31 ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
bit #S.WND.F.MAX
|
||||
beq .4
|
||||
|
||||
ldx #BM.ID.MAX
|
||||
jsr DRAW.xBMAtDXDY
|
||||
|
||||
.4 lda DX
|
||||
clc
|
||||
adc #16
|
||||
sta DX
|
||||
bcc .41
|
||||
|
||||
inc DX+1
|
||||
|
||||
.41 ldy #S.OBJ.F
|
||||
lda (ZPWNDPtr),y
|
||||
bit #S.WND.F.CLOSE
|
||||
beq .8
|
||||
|
||||
ldx #BM.ID.CLOSE
|
||||
jsr DRAW.xBMAtDXDY
|
||||
|
||||
.8 clc
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
WND.DrawTitleBarText
|
||||
ldy #S.WND.pTITLE
|
||||
lda (ZPWNDPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
ply
|
||||
|
||||
ldx hSYSFON
|
||||
jsr FON.GetTextSize
|
||||
|
||||
ldy #S.OBJ.W
|
||||
lda (ZPWNDPtr),y
|
||||
sec
|
||||
sbc CB.Cache+S.CB.SrcW
|
||||
|
||||
sta DX
|
||||
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sbc CB.Cache+S.CB.SrcW+1
|
||||
|
||||
lsr
|
||||
ror DX
|
||||
sta DX+1
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
lda (ZPWNDPtr),y
|
||||
clc
|
||||
adc DX
|
||||
and PREFS.BestViewedX
|
||||
sta DX
|
||||
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
adc DX+1
|
||||
sta DX+1
|
||||
|
||||
ldy #S.WND.pTITLE
|
||||
lda (ZPWNDPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
ply
|
||||
|
||||
ldx hSYSFON
|
||||
clc
|
||||
jmp DRAW.YATextAtDXDY
|
||||
*--------------------------------------
|
||||
WND.DrawStatusBar
|
||||
jsr CB.BorderLineH
|
||||
|
||||
ldy #S.OBJ.X1
|
||||
ldx #S.CB.X1
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
ldy #S.WND.SBarY1
|
||||
ldx #S.CB.Y1
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
ldy #S.OBJ.X2
|
||||
ldx #S.CB.X2
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
lda PREFS.SBarColor
|
||||
jsr CB.FillRectMonoA
|
||||
|
||||
inc CB.Cache+S.CB.Y1
|
||||
bne .1
|
||||
|
||||
inc CB.Cache+S.CB.Y1+1
|
||||
|
||||
.1 ldy #S.OBJ.Y2
|
||||
ldx #S.CB.Y2
|
||||
jsr CB.GetWndYCacheX
|
||||
|
||||
jsr CB.Cache2CBBuf
|
||||
|
||||
ldy #S.WND.pSTATUS
|
||||
lda (ZPWNDPtr),y
|
||||
pha
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
ply
|
||||
|
||||
ldx hSYSFON
|
||||
clc
|
||||
jmp DRAW.YAText
|
||||
jmp CB.FlushBufToYA
|
||||
*--------------------------------------
|
||||
WND.SetMBar >PULLW ZPPtr1
|
||||
|
||||
>PULLA
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
jsr OBJ.PullHWND
|
||||
|
||||
>LDYA ZPPtr1
|
||||
jsr MBAR.New
|
||||
|
@ -739,16 +744,6 @@ WND.SetStatus ldy #S.OBJ.S
|
|||
sta (ZPWNDPtr),y
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Add2Counter clc
|
||||
adc Counter
|
||||
sta Counter
|
||||
bcc .8
|
||||
|
||||
inc Counter+1
|
||||
|
||||
.8 ldx Counter+1
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.wnd
|
||||
LOAD usr/src/lib/libgui.s
|
||||
|
|
|
@ -126,8 +126,10 @@ CS.START cld
|
|||
.DA PTR.Hide
|
||||
.DA PTR.Show
|
||||
.DA PTR.Update
|
||||
.DA $ffff MOU.ReadMouse
|
||||
.DA DRAW.Line
|
||||
.DA DRAW.Fill
|
||||
.DA DRAW.BitMap
|
||||
.DA DRAW.Text
|
||||
.DA OBJ.SetProp
|
||||
.DA OBJ.GetProp
|
||||
.DA WND.New
|
||||
|
@ -136,7 +138,7 @@ CS.START cld
|
|||
.DA WND.Paint
|
||||
.DA WND.SetMBar
|
||||
.DA MSG.Get
|
||||
.DA MBAR.New
|
||||
.DA MBOX.MsgBox
|
||||
*--------------------------------------
|
||||
L.WND.fPaint .DA WND.fPaint
|
||||
*--------------------------------------
|
||||
|
@ -307,6 +309,10 @@ LibCount .BS 1
|
|||
hDevMouse .BS 1
|
||||
*--------------------------------------
|
||||
OBJ.SizeOf .DA S.WND
|
||||
.DA 0
|
||||
.DA 0
|
||||
.DA S.BUT
|
||||
* .DA S.TEXT
|
||||
*--------------------------------------
|
||||
CB.CmdLen .DA #S.CB.Y1+1 SETPIXEL
|
||||
.DA #S.CB.Y1+1 GETPIXEL
|
||||
|
@ -342,6 +348,7 @@ CB.PTR .DA #S.CB.CMD.BITBLT
|
|||
CB.Cache .BS S.CB
|
||||
OBJ.Cache .BS S.OBJ
|
||||
*--------------------------------------
|
||||
MENU.Stack.Owner .BS 1
|
||||
MENU.Stack.Idx .BS 1
|
||||
MENU.Stack.Cnt .BS 1
|
||||
MENU.Stack .BS MENU.MAX
|
||||
|
@ -445,14 +452,15 @@ TEXTBUF .BS 16 for composing HotKey strings
|
|||
*--------------------------------------
|
||||
PREFS.BestViewedX .DA #$FC
|
||||
PREFS.MBarXMargin .DA #5
|
||||
PREFS.XSeparator .DA #6
|
||||
*
|
||||
PREFS.MenuColor .DA #C.WHITE
|
||||
PREFS.SYSBARCOLOR .DA #C.WHITE
|
||||
PREFS.SysBarColor .DA #C.WHITE
|
||||
PREFS.BorderColor .DA #C.BLACK
|
||||
PREFS.TBARCOLORA .DA #C16.D.BLUE
|
||||
PREFS.TBARCOLORI .DA #C16.L.BLUE
|
||||
PREFS.TBarColorA .DA #C16.D.BLUE
|
||||
PREFS.TBarColorI .DA #C16.L.BLUE
|
||||
PREFS.MBarColor .DA #C.WHITE
|
||||
PREFS.SBARCOLOR .DA #C.WHITE
|
||||
PREFS.SBarColor .DA #C.WHITE
|
||||
PREFS.DESKTOPCOLOR .DA #C16.D.BLUE
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
|
|
@ -663,17 +663,17 @@ Pak.PrintStats lda Pak.BL.OfsBitsL
|
|||
CS.END
|
||||
*--------------------------------------
|
||||
.DO STATS=1
|
||||
MSG.Stats .AS "\r\nLength : %5D\r\n"
|
||||
.AS "Pass 1 : %5D\r\n"
|
||||
.AS "Pass 2 : %5D\r\n"
|
||||
.AS "Top 8 : %5D\r\n"
|
||||
.AS "Top 16 : %5D\r\n"
|
||||
.AS "Top 24 : %5D\r\n"
|
||||
.AS "Top 32 : %5D\r\n"
|
||||
.AS "Byte 8 : %5D\r\n"
|
||||
.AZ "BL : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n"
|
||||
MSG.TopBytes .AS "Top : (%2d) %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
|
||||
.AZ " %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
|
||||
MSG.Stats .CS "\r\nLength : %5D\r\n"
|
||||
.CS "Pass 1 : %5D\r\n"
|
||||
.CS "Pass 2 : %5D\r\n"
|
||||
.CS "Top 8 : %5D\r\n"
|
||||
.CS "Top 16 : %5D\r\n"
|
||||
.CS "Top 24 : %5D\r\n"
|
||||
.CS "Top 32 : %5D\r\n"
|
||||
.CS "Byte 8 : %5D\r\n"
|
||||
.CZ "BL : %5D, Longest : %d (%d bits), Farest : %D (%d bits)\r\n"
|
||||
MSG.TopBytes .CS "Top : (%2d) %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
|
||||
.CZ " %h.%h.%h.%h.%h.%h.%h.%h %h.%h.%h.%h.%h.%h.%h.%h\r\n"
|
||||
.FIN
|
||||
TOP.Bits .DA #PAK.B.TOP8,#PAK.B.TOP16,#PAK.B.TOP24,#PAK.B.TOP32
|
||||
TOP.BitCnt .DA #PAK.B.TOP8.W,#PAK.B.TOP16.W,#PAK.B.TOP24.W,#PAK.B.TOP32.W
|
||||
|
|
|
@ -8,6 +8,7 @@ NEW
|
|||
.INB inc/macros.i
|
||||
.INB inc/a2osx.i
|
||||
.INB inc/mli.i
|
||||
.INB inc/gfx.i
|
||||
.INB inc/libgui.i
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
|
@ -16,6 +17,7 @@ ZS.START
|
|||
hLogo .BS 2 00xx
|
||||
hWND .BS 1
|
||||
hMBAR .BS 1
|
||||
TmpWord .BS 2
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
|
@ -92,10 +94,10 @@ CS.QUIT.RTS rts
|
|||
*--------------------------------------
|
||||
WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.MIN
|
||||
|
||||
>PUSHWI 80
|
||||
>PUSHWI 40
|
||||
>PUSHWI 360
|
||||
>PUSHWI 96
|
||||
>PUSHWI 40
|
||||
>PUSHWI 400
|
||||
>PUSHWI 120
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.New
|
||||
bcs CS.QUIT.RTS
|
||||
sta hWND
|
||||
|
@ -105,10 +107,10 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
|||
>PUSHWI C.WHITE
|
||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||
|
||||
>PUSHB hWND
|
||||
>PUSHBI S.WND.BGBM
|
||||
>PUSHW hLogo
|
||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||
* >PUSHB hWND
|
||||
* >PUSHBI S.WND.BGBM
|
||||
* >PUSHW hLogo
|
||||
* >LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||
|
||||
>PUSHB hWND
|
||||
>PUSHBI S.WND.pTITLE
|
||||
|
@ -151,17 +153,79 @@ WND.Test.fPaint sta hWND
|
|||
WND.Test.fPaint1
|
||||
jsr $ffff Default WND.fPaint
|
||||
|
||||
* >PUSHB hWND
|
||||
* >PUSHBI S.CB.OP.SET
|
||||
* >PUSHBI C.BLACK
|
||||
* >PUSHWI 10
|
||||
* >PUSHWI 10
|
||||
* >PUSHWI 200
|
||||
* >PUSHWI 60
|
||||
* >LIBCALL hLIBGUI,LIBGUI.DrawLine
|
||||
.1 jsr WND.Test.1
|
||||
>PUSHW TmpWord
|
||||
>PUSHWI 0
|
||||
jsr WND.Test.2
|
||||
|
||||
jsr WND.Test.1
|
||||
>PUSHW TmpWord
|
||||
>PUSHWI 94
|
||||
jsr WND.Test.2
|
||||
|
||||
jsr WND.Test.3
|
||||
|
||||
lda TmpWord
|
||||
cmp #400
|
||||
lda TmpWord+1
|
||||
sbc /400
|
||||
bcc .1
|
||||
|
||||
stz TmpWord
|
||||
stz TmpWord+1
|
||||
|
||||
.3
|
||||
jsr WND.Test.1
|
||||
>PUSHWI 0
|
||||
>PUSHW TmpWord
|
||||
jsr WND.Test.2
|
||||
|
||||
jsr WND.Test.1
|
||||
>PUSHWI 399
|
||||
>PUSHW TmpWord
|
||||
jsr WND.Test.2
|
||||
|
||||
jsr WND.Test.4
|
||||
|
||||
lda TmpWord
|
||||
cmp #94
|
||||
lda TmpWord+1
|
||||
sbc /94
|
||||
bcc .3
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Test.1 >PUSHB hWND
|
||||
>PUSHBI S.CB.OP.SET +S.CB.OP.COLOR
|
||||
>PUSHBI C.BLACK C16.D.GREEN
|
||||
rts
|
||||
|
||||
WND.Test.2 >PUSHWI 250
|
||||
>PUSHWI 60
|
||||
>LIBCALL hLIBGUI,LIBGUI.DRAW.Line
|
||||
rts
|
||||
|
||||
WND.Test.3 lda TmpWord
|
||||
clc
|
||||
adc #4
|
||||
sta TmpWord
|
||||
bcc .1
|
||||
|
||||
inc TmpWord+1
|
||||
|
||||
.1 rts
|
||||
|
||||
WND.Test.4 lda TmpWord
|
||||
clc
|
||||
adc #10
|
||||
sta TmpWord
|
||||
bcc .1
|
||||
|
||||
inc TmpWord+1
|
||||
|
||||
.1 rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBGUI .AZ "libgui"
|
||||
hLIBGUI .BS 1
|
||||
|
|
|
@ -399,7 +399,7 @@ MSG.TCPWAIT .AZ "BBSD:Waiting for TCP/IP initializing..."
|
|||
MSG.INITOK .AZ "BBSD:Init Ok, Listening."
|
||||
MSG.TCPIPERR .AZ "BBSD:TCP/IP Not initialized properly."
|
||||
MSG.SKTERR .AZ "BBSD:Listen Error."
|
||||
MSG.INCOMING .AZ "BBSD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
|
||||
MSG.INCOMING .CZ "BBSD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
|
||||
*--------------------------------------
|
||||
NOD.Template .AZ "/dev/tty%h"
|
||||
CMD.Template .AZ "${ROOT}sbin/getty -E %s %s"
|
||||
|
|
|
@ -350,11 +350,11 @@ hLIBCRYPT .BS 1
|
|||
.FIN
|
||||
*--------------------------------------
|
||||
MSG.USAGE .AZ "Usage : CIFSD <ip|host> sharename mountpoint [[domain\]user]"
|
||||
MSG.TCPIPERR .AZ "CIFSD:TCP/IP Not initialized properly."
|
||||
MSG.UNKNOWN .AZ "CIFSD:%s: Unknown host\r\n"
|
||||
MSG.NOCONN .AZ "CIFSD:No Connection To %s\r\n"
|
||||
MSG.CONNECTED .AZ "CIFSD:Connected To %s\r\n"
|
||||
MSG.MOUNTED .AZ "CIFSD:%s Mounted As %s\r\n"
|
||||
MSG.TCPIPERR .CZ "CIFSD:TCP/IP Not initialized properly."
|
||||
MSG.UNKNOWN .CZ "CIFSD:%s: Unknown host\r\n"
|
||||
MSG.NOCONN .CZ "CIFSD:No Connection To %s\r\n"
|
||||
MSG.CONNECTED .CZ "CIFSD:Connected To %s\r\n"
|
||||
MSG.MOUNTED .CZ "CIFSD:%s Mounted As %s\r\n"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
|
|
|
@ -40,6 +40,8 @@ CS.START cld
|
|||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBGUI .DA LIBGUI
|
||||
L.ABOUT.T .DA ABOUT.T
|
||||
L.ABOUT.M .DA ABOUT.M
|
||||
L.GUITEST1 .DA GUITEST1
|
||||
L.GUITEST2 .DA GUITEST2
|
||||
L.MSG .DA MSG
|
||||
|
@ -69,26 +71,38 @@ CS.RUN >SLEEP
|
|||
cmp #2
|
||||
bne .1
|
||||
|
||||
jsr CS.RUN.MsgBox
|
||||
bra CS.RUN
|
||||
|
||||
.1 cmp #42
|
||||
bne .2
|
||||
|
||||
>PUSHW L.GUITEST1
|
||||
>PUSHBI 0
|
||||
>SYSCALL ExecL
|
||||
>LDYA L.GUITEST1
|
||||
jsr CS.RUN.Exec
|
||||
bra CS.RUN
|
||||
|
||||
.2 cmp #44
|
||||
bne CS.RUN
|
||||
|
||||
>PUSHW L.GUITEST2
|
||||
>PUSHBI 0
|
||||
>SYSCALL ExecL
|
||||
>LDYA L.GUITEST2
|
||||
jsr CS.RUN.Exec
|
||||
bra CS.RUN
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.MsgBox >PUSHW L.ABOUT.T
|
||||
>PUSHW L.ABOUT.M
|
||||
>PUSHWI BM.ID.INFO
|
||||
>PUSHBI BUT.ID.OK
|
||||
>LIBCALL hLIBGUI,LIBGUI.MBOX.MsgBox
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.RUN.Exec >PUSHYA
|
||||
>PUSHBI 0
|
||||
>SYSCALL ExecL
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
bpl .9
|
||||
|
||||
|
@ -103,6 +117,8 @@ CS.QUIT.RTS rts
|
|||
CS.END
|
||||
LIBGUI .AZ "libgui"
|
||||
hLIBGUI .BS 1
|
||||
ABOUT.T .AZ "About GUI"
|
||||
ABOUT.M .AZ "MsgBox message."
|
||||
GUITEST1 .AZ "${ROOT}root/asmtest/testgui"
|
||||
GUITEST2 .AZ "${ROOT}root/ctest/testgui"
|
||||
*--------------------------------------
|
||||
|
|
|
@ -380,21 +380,21 @@ CS.QUIT ldx #0
|
|||
*--------------------------------------
|
||||
CS.END
|
||||
*--------------------------------------
|
||||
MSG.RUNNING .AZ "NETWORKD:Already loaded, exiting."
|
||||
MSG.DEV.KO .AZ "NETWORKD:No Device Found, exiting."
|
||||
MSG.DEV.OK .AZ "NETWORKD:Bound To Device : %s\r\n"
|
||||
MSG.LIB .AZ "NETWORKD:Loading %s..."
|
||||
MSG.EXEC .AZ "NETWORKD:Running %s..."
|
||||
MSG.RUNNING .CZ "NETWORKD:Already loaded, exiting."
|
||||
MSG.DEV.KO .CZ "NETWORKD:No Device Found, exiting."
|
||||
MSG.DEV.OK .CZ "NETWORKD:Bound To Device : %s\r\n"
|
||||
MSG.LIB .CZ "NETWORKD:Loading %s..."
|
||||
MSG.EXEC .CZ "NETWORKD:Running %s..."
|
||||
*--------------------------------------
|
||||
MSG.OK .AZ "[OK]"
|
||||
MSG.ERR .AZ "[%h]\r\n"
|
||||
MSG.OK .CZ "[OK]"
|
||||
MSG.ERR .CZ "[%h]\r\n"
|
||||
*--------------------------------------
|
||||
ETCNETWORK .AZ "${BOOT}etc/network"
|
||||
.DO DBG=1
|
||||
MSG.DBG .AS "FRM ETH:%h%h%h%h%h%h.%h%h%h%h%h%h.%h%h\r\n"
|
||||
.AS " IP :%h%h.%h%h.%h%h.%h%h.%h [%d] (%h%h) %d.%d.%d.%d>%d.%d.%d.%d\r\n"
|
||||
.AZ " TCP:%D>%D %h%h%h%h %h%h%h%h %h %b [%h%h] (%h%h) %h%h\r\n"
|
||||
MSG.DBG.REJECT .AZ "Rejected"
|
||||
MSG.DBG .CS "FRM ETH:%h%h%h%h%h%h.%h%h%h%h%h%h.%h%h\r\n"
|
||||
.CS " IP :%h%h.%h%h.%h%h.%h%h.%h [%d] (%h%h) %d.%d.%d.%d>%d.%d.%d.%d\r\n"
|
||||
.CZ " TCP:%D>%D %h%h%h%h %h%h%h%h %h %b [%h%h] (%h%h) %h%h\r\n"
|
||||
MSG.DBG.REJECT .CZ "Rejected"
|
||||
.FIN
|
||||
*--------------------------------------
|
||||
DevID .BS 1
|
||||
|
|
|
@ -331,13 +331,13 @@ CS.END
|
|||
DEVSIG.Offset .HS 05070B0C
|
||||
DEVSIG.Value .HS 38180131
|
||||
DEVSIG.Length .EQ DEVSIG.Value-DEVSIG.Offset
|
||||
MSG.DETECT .AS "Apple SSC (Super Serial Card,//c Serial Port) Driver"
|
||||
MSG.DETECT .CS "Apple SSC (Super Serial Card,//c Serial Port) Driver"
|
||||
.DO SSCIRQ=1
|
||||
.AS " (IRQ Enabled)"
|
||||
.CS " (IRQ Enabled)"
|
||||
.FIN
|
||||
.AZ "."
|
||||
MSG.DETECT.OK .AZ "SSC Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .AZ "No SSC Found."
|
||||
.CZ "."
|
||||
MSG.DETECT.OK .CZ "SSC Installed As Device : %s\r\n"
|
||||
MSG.DETECT.KO .CZ "No SSC Found."
|
||||
*--------------------------------------
|
||||
P1 .DA >115200 Baud
|
||||
.DA >50
|
||||
|
|
|
@ -8,7 +8,7 @@ KeyID .EQ *
|
|||
iByte .BS 1
|
||||
iBlk .BS 1
|
||||
*--------------------------------------
|
||||
BLISTX.New sta SLIST.Opt
|
||||
BLISTX.New sta SLISTX.Opt
|
||||
|
||||
>LDYAI 128 32k Max before out of memory!!!
|
||||
ldx #S.MEM.F.INIT0+8 index
|
||||
|
@ -28,7 +28,7 @@ BLISTX.New sta SLIST.Opt
|
|||
lda #0
|
||||
sta (DBlkPtr)
|
||||
|
||||
lda SLIST.Opt
|
||||
lda SLISTX.Opt
|
||||
sta (IBlkPtr)
|
||||
|
||||
txa
|
||||
|
|
|
@ -48,29 +48,39 @@ K.SListSetData >PULLW ZPSListDataLen
|
|||
* Y,A = Next KeyID
|
||||
*\--------------------------------------
|
||||
K.SListGetByID .EQ K.SYSCALL.JMPX2A
|
||||
* >PULLW FORPNT
|
||||
* >PULLW TXTPTR
|
||||
* >PULLA
|
||||
*/--------------------------------------
|
||||
* # SListNewKey
|
||||
* ## ASM
|
||||
* `>PUSHB hSList`
|
||||
* `>PUSHW KeyPtr`
|
||||
* `>PUSHW ScopeID`
|
||||
* `>SYSCALL SListNewKey`
|
||||
* ## RETURN VALUE
|
||||
* Y,A = KeyID
|
||||
* X = KeyLen
|
||||
*\--------------------------------------
|
||||
K.SListNewKey
|
||||
K.SListNewKey .EQ K.SYSCALL.JMPX2A
|
||||
* >PULLW FORPNT
|
||||
* >PULLW TXTPTR
|
||||
* >PULLA
|
||||
*/--------------------------------------
|
||||
* # SListLookup
|
||||
* ## ASM
|
||||
* `>PUSHB hSList`
|
||||
* `>PUSHW KeyPtr`
|
||||
* `>PUSHW ScopeID`
|
||||
* `>SYSCALL SListLookup`
|
||||
* ## RETURN VALUE
|
||||
* Y,A = KeyID
|
||||
* X = Key Length
|
||||
*\--------------------------------------
|
||||
K.SListLookup >PULLW TXTPTR
|
||||
>PULLA
|
||||
K.SListLookup .EQ K.SYSCALL.JMPX2A
|
||||
* >PULLW FORPNT
|
||||
* >PULLW TXTPTR
|
||||
* >PULLA
|
||||
*/--------------------------------------
|
||||
* # SListFree
|
||||
* ## ASM
|
||||
|
@ -78,7 +88,7 @@ K.SListLookup >PULLW TXTPTR
|
|||
* `>SYSCALL SListFree`
|
||||
* ## RETURN VALUE
|
||||
*\--------------------------------------
|
||||
K.SListFree
|
||||
K.SListFree .EQ K.SYSCALL.JMPX
|
||||
*/--------------------------------------
|
||||
* # SListNew
|
||||
* ## ASM
|
||||
|
@ -87,7 +97,7 @@ K.SListFree
|
|||
* ## RETURN VALUE
|
||||
* A=hSList
|
||||
*\--------------------------------------
|
||||
K.SListNew jmp K.SYSCALL.JMPX
|
||||
K.SListNew .EQ K.SYSCALL.JMPX
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/sys/kernel.s.slist
|
||||
|
|
|
@ -4,55 +4,58 @@ NEW
|
|||
ZPSListDataOfs .EQ ZPMEMMGR+8
|
||||
ZPSListDataLen .EQ ZPMEMMGR+10
|
||||
*--------------------------------------
|
||||
SLIST.Opt .BS 1
|
||||
SLIST.KeyLen .BS 1
|
||||
SLIST.DataLen .BS 2
|
||||
SLIST.nDataCnt .BS 2
|
||||
SLIST.nBufCnt .BS 2
|
||||
SLIST.bStr .BS 1
|
||||
SLIST.b0 .BS 1
|
||||
SLIST.KeyID .BS 2
|
||||
SLISTX.Opt .BS 1
|
||||
SLISTX.KeyLen .BS 1
|
||||
SLISTX.DataLen .BS 2
|
||||
SLISTX.nDataCnt .BS 2
|
||||
SLISTX.nBufCnt .BS 2
|
||||
SLISTX.bStr .BS 1
|
||||
SLISTX.b0 .BS 1
|
||||
SLISTX.KeyID .BS 2
|
||||
*--------------------------------------
|
||||
SLISTX.GetData jsr SLIST.Select
|
||||
SLISTX.GetData jsr SLISTX.Select
|
||||
|
||||
jsr SLIST.SkipKey
|
||||
jsr SLIST.GetDataLen
|
||||
jsr SLISTX.SkipKey
|
||||
|
||||
lda SLIST.DataLen
|
||||
jsr SLISTX.GetDataLen
|
||||
|
||||
lda SLISTX.DataLen
|
||||
sec
|
||||
sbc ZPSListDataOfs Offset
|
||||
eor #$ff
|
||||
sta SLIST.nDataCnt
|
||||
sta SLISTX.nDataCnt
|
||||
|
||||
lda SLIST.DataLen+1
|
||||
lda SLISTX.DataLen+1
|
||||
sbc ZPSListDataOfs+1
|
||||
eor #$ff
|
||||
sta SLIST.nDataCnt+1 Data remaining
|
||||
sta SLISTX.nDataCnt+1 Data remaining
|
||||
|
||||
bcc .99 Offset Beyond DataLen
|
||||
|
||||
lda ZPSListDataOfs Skip to Offset
|
||||
ldx ZPSListDataOfs+1
|
||||
jsr SLIST.SkipDataAX
|
||||
jsr SLISTX.SkipDataAX
|
||||
|
||||
stz SLIST.b0
|
||||
stz SLISTX.b0
|
||||
|
||||
lda FORPNT
|
||||
ora FORPNT+1
|
||||
bne .12 buffer provided
|
||||
|
||||
>LDYA SLIST.DataLen
|
||||
>LDYA SLISTX.DataLen
|
||||
|
||||
iny
|
||||
bne .11
|
||||
|
||||
inc +1 for ending 0
|
||||
|
||||
sec
|
||||
ror SLIST.b0
|
||||
ror SLISTX.b0
|
||||
|
||||
.11 ldx #SYS.GetMem
|
||||
jsr K.SYSCALL2.MAIN !!! Get a buffer In MAIN Mem !!!
|
||||
bcs .9
|
||||
|
||||
stx .88+1
|
||||
>STYA FORPNT
|
||||
|
||||
|
@ -63,32 +66,33 @@ SLISTX.GetData jsr SLIST.Select
|
|||
|
||||
lda ZPSListDataLen
|
||||
eor #$ff
|
||||
sta SLIST.nBufCnt
|
||||
sta SLISTX.nBufCnt
|
||||
lda ZPSListDataLen+1
|
||||
eor #$ff
|
||||
sta SLIST.nBufCnt+1
|
||||
sta SLISTX.nBufCnt+1
|
||||
clc
|
||||
|
||||
.1 ror SLIST.bStr
|
||||
.1 ror SLISTX.bStr
|
||||
|
||||
stz ZPSListDataLen
|
||||
stz ZPSListDataLen+1
|
||||
|
||||
.2 inc SLIST.nDataCnt
|
||||
.2 inc SLISTX.nDataCnt
|
||||
bne .3
|
||||
inc SLIST.nDataCnt+1
|
||||
inc SLISTX.nDataCnt+1
|
||||
beq .80
|
||||
|
||||
.3 bit SLIST.bStr
|
||||
.3 bit SLISTX.bStr
|
||||
bmi .4 String mode : until CR
|
||||
|
||||
inc SLIST.nBufCnt
|
||||
inc SLISTX.nBufCnt
|
||||
bne .4
|
||||
inc SLIST.nBufCnt+1
|
||||
|
||||
inc SLISTX.nBufCnt+1
|
||||
beq .80 not string mode : until end of buffer
|
||||
|
||||
.4 jsr BLISTX.GetNByte
|
||||
bit SLIST.bStr
|
||||
bit SLISTX.bStr
|
||||
bpl .5
|
||||
|
||||
cmp #C.CR
|
||||
|
@ -105,8 +109,8 @@ SLISTX.GetData jsr SLIST.Select
|
|||
sec
|
||||
.9 rts
|
||||
|
||||
.80 lda SLIST.bStr
|
||||
ora SLIST.b0
|
||||
.80 lda SLISTX.bStr
|
||||
ora SLISTX.b0
|
||||
bpl .82
|
||||
|
||||
.81 lda #0
|
||||
|
@ -117,9 +121,9 @@ SLISTX.GetData jsr SLIST.Select
|
|||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLISTX.AddData jsr SLIST.Select
|
||||
SLISTX.AddData jsr SLISTX.Select
|
||||
|
||||
jsr SLIST.SkipKey
|
||||
jsr SLISTX.SkipKey
|
||||
|
||||
jsr SLISTX.CheckLen
|
||||
|
||||
|
@ -142,7 +146,7 @@ SLISTX.AddData jsr SLIST.Select
|
|||
|
||||
plx
|
||||
pla
|
||||
jsr SLIST.SkipDataAX
|
||||
jsr SLISTX.SkipDataAX
|
||||
lda ZPSListDataLen
|
||||
eor #$ff
|
||||
sta ZPSListDataLen
|
||||
|
@ -173,31 +177,32 @@ SLISTX.AddData jsr SLIST.Select
|
|||
.8 lda #0
|
||||
jmp BLISTX.AddByte Add an extra 0 to stop Search here
|
||||
*--------------------------------------
|
||||
SLISTX.SetData jsr SLIST.Select
|
||||
SLISTX.SetData jsr SLISTX.Select
|
||||
|
||||
jsr SLIST.SkipKey
|
||||
jsr SLISTX.SkipKey
|
||||
|
||||
jsr SLISTX.CheckLen
|
||||
|
||||
jsr SLIST.GetDataLen
|
||||
jsr SLISTX.GetDataLen
|
||||
|
||||
lda SLIST.DataLen
|
||||
lda SLISTX.DataLen
|
||||
cmp ZPSListDataLen
|
||||
bne .9
|
||||
ldx SLIST.DataLen+1
|
||||
|
||||
ldx SLISTX.DataLen+1
|
||||
cpx ZPSListDataLen+1
|
||||
bne .9
|
||||
|
||||
eor #$ff
|
||||
sta SLIST.nDataCnt
|
||||
sta SLISTX.nDataCnt
|
||||
txa
|
||||
eor #$ff
|
||||
sta SLIST.nDataCnt+1
|
||||
sta SLISTX.nDataCnt+1
|
||||
|
||||
.1 inc SLIST.nDataCnt
|
||||
.1 inc SLISTX.nDataCnt
|
||||
bne .2
|
||||
|
||||
inc SLIST.nDataCnt+1
|
||||
inc SLISTX.nDataCnt+1
|
||||
beq .8
|
||||
|
||||
.2 jsr SHARED.FORPNTgn
|
||||
|
@ -215,8 +220,8 @@ SLISTX.CheckLen lda ZPSListDataLen
|
|||
ora ZPSListDataLen+1
|
||||
bne .8
|
||||
|
||||
ldx #0
|
||||
ldy #0
|
||||
tax ldx #0
|
||||
tay ldy #0
|
||||
|
||||
lda FORPNT+1
|
||||
pha
|
||||
|
@ -243,7 +248,7 @@ SLISTX.CheckLen lda ZPSListDataLen
|
|||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
SLISTX.GetByID jsr SLIST.Select
|
||||
SLISTX.GetByID jsr SLISTX.Select
|
||||
|
||||
jsr BLISTX.GetNByte
|
||||
tax
|
||||
|
@ -263,9 +268,15 @@ SLISTX.GetByID jsr SLIST.Select
|
|||
|
||||
txa lda #0
|
||||
|
||||
jsr SHARED.FORPNTpn ending \0
|
||||
|
||||
jsr BLISTX.GetNByte ScopeID lo
|
||||
jsr SHARED.FORPNTpn
|
||||
|
||||
jsr SLIST.SkipData
|
||||
jsr BLISTX.GetNByte ScopeID hi
|
||||
jsr SHARED.FORPNTpn
|
||||
|
||||
jsr SLISTX.SkipData
|
||||
>LDYA KeyID
|
||||
clc
|
||||
rts
|
||||
|
@ -274,13 +285,13 @@ SLISTX.GetByID jsr SLIST.Select
|
|||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLISTX.NewKey jsr SLIST.Search
|
||||
SLISTX.NewKey jsr SLISTX.Lookup
|
||||
bcc .99
|
||||
|
||||
>LDYA KeyID
|
||||
>STYA SLIST.KeyID End of list
|
||||
>STYA SLISTX.KeyID End of list
|
||||
|
||||
lda SLIST.KeyLen
|
||||
lda SLISTX.KeyLen
|
||||
jsr BLISTX.SetBlkByte override ending 0, already allocated
|
||||
|
||||
ldy #0
|
||||
|
@ -290,9 +301,17 @@ SLISTX.NewKey jsr SLIST.Search
|
|||
bcs .9
|
||||
|
||||
iny
|
||||
cpy SLIST.KeyLen
|
||||
cpy SLISTX.KeyLen
|
||||
bne .1
|
||||
|
||||
lda FORPNT
|
||||
jsr BLISTX.AddByte ScopeID lo
|
||||
bcs .9
|
||||
|
||||
lda FORPNT+1 ScopeID hi
|
||||
jsr BLISTX.AddByte
|
||||
bcs .9
|
||||
|
||||
lda #0 Data Len lo = 0
|
||||
jsr BLISTX.AddByte
|
||||
bcs .9
|
||||
|
@ -303,30 +322,24 @@ SLISTX.NewKey jsr SLIST.Search
|
|||
|
||||
lda #0 Ending Len = 0
|
||||
jsr BLISTX.AddByte
|
||||
bcs .9
|
||||
|
||||
>LDYA SLIST.KeyID
|
||||
ldx SLIST.KeyLen
|
||||
* clc
|
||||
bcc SLISTX.8
|
||||
|
||||
rts
|
||||
|
||||
|
||||
.99 lda #E.DUPKEY
|
||||
sec
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
SLISTX.Lookup jsr SLIST.Search
|
||||
bcs .9
|
||||
|
||||
ldx SLIST.KeyLen
|
||||
.9 rts
|
||||
SLISTX.8 >LDYA SLISTX.KeyID
|
||||
ldx SLISTX.KeyLen
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
* PRIVATE
|
||||
*--------------------------------------
|
||||
SLIST.Search jsr K.GetMemPtr
|
||||
SLISTX.Lookup jsr K.GetMemPtr
|
||||
>STYA IBlkPtr
|
||||
|
||||
lda (IBlkPtr)
|
||||
sta SLIST.Opt
|
||||
sta SLISTX.Opt
|
||||
|
||||
stz iByte
|
||||
|
||||
|
@ -343,19 +356,19 @@ SLIST.Search jsr K.GetMemPtr
|
|||
jsr SHARED.TXTPTRgY
|
||||
beq .2
|
||||
|
||||
jsr SLIST.IsIDValid
|
||||
jsr SLISTX.IsIDValid
|
||||
bcc .1
|
||||
|
||||
.2 sty SLIST.KeyLen
|
||||
.2 sty SLISTX.KeyLen
|
||||
|
||||
.3 >LDYA KeyID
|
||||
>STYA SLIST.KeyID
|
||||
>STYA SLISTX.KeyID
|
||||
|
||||
ldy iByte
|
||||
lda (DBlkPtr),y
|
||||
beq .9
|
||||
|
||||
cmp SLIST.KeyLen
|
||||
cmp SLISTX.KeyLen
|
||||
bne .6
|
||||
|
||||
jsr BLISTX.GetNByte Skip Len
|
||||
|
@ -373,29 +386,36 @@ SLIST.Search jsr K.GetMemPtr
|
|||
bne .6
|
||||
|
||||
iny
|
||||
cpy SLIST.KeyLen
|
||||
cpy SLISTX.KeyLen
|
||||
bne .4
|
||||
|
||||
>LDYA SLIST.KeyID
|
||||
clc
|
||||
rts
|
||||
|
||||
.6 >LDYA SLIST.KeyID
|
||||
jsr SLISTX.GetDataLen Get Scope
|
||||
cmp FORPNT+1
|
||||
bne .6
|
||||
|
||||
jsr SLIST.Select.I move back...
|
||||
jsr SLIST.Next
|
||||
lda FORPNT
|
||||
cmp SLISTX.DataLen
|
||||
beq SLISTX.8
|
||||
|
||||
.6 >LDYA SLISTX.KeyID
|
||||
|
||||
jsr SLISTX.Select.I move back...
|
||||
jsr SLISTX.SkipKey
|
||||
jsr SLISTX.SkipData
|
||||
bra .3
|
||||
|
||||
.9 lda #E.NOKEY
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.Select jsr K.GetMemPtr
|
||||
* PRIVATE
|
||||
*--------------------------------------
|
||||
SLISTX.Select jsr K.GetMemPtr
|
||||
>STYA IBlkPtr
|
||||
|
||||
>LDYA TXTPTR
|
||||
|
||||
SLIST.Select.I >STYA KeyID
|
||||
SLISTX.Select.I >STYA KeyID
|
||||
|
||||
ldy iBlk
|
||||
|
||||
|
@ -405,13 +425,24 @@ SLIST.Select.I >STYA KeyID
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.Next jsr SLIST.SkipKey
|
||||
SLISTX.SkipKey ldy iByte
|
||||
lda (DBlkPtr),y Get KeyLen
|
||||
sec len
|
||||
inc
|
||||
inc Skip ScopeID
|
||||
adc iByte
|
||||
sta iByte
|
||||
bcc .8
|
||||
|
||||
SLIST.SkipData jsr SLIST.GetDataLen
|
||||
jmp BLISTX.2NBlk
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
SLISTX.SkipData jsr SLISTX.GetDataLen
|
||||
|
||||
lda SLIST.DataLen
|
||||
ldx SLIST.DataLen+1
|
||||
SLIST.SkipDataAX
|
||||
lda SLISTX.DataLen
|
||||
ldx SLISTX.DataLen+1
|
||||
SLISTX.SkipDataAX
|
||||
clc
|
||||
adc iByte
|
||||
sta iByte
|
||||
|
@ -425,31 +456,21 @@ SLIST.SkipDataAX
|
|||
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.SkipKey ldy iByte
|
||||
lda (DBlkPtr),y Get KeyLen
|
||||
sec
|
||||
adc iByte
|
||||
sta iByte
|
||||
bcc .8
|
||||
|
||||
jmp BLISTX.2NBlk
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
SLIST.GetDataLen
|
||||
SLISTX.GetDataLen
|
||||
jsr BLISTX.GetNByte Get DataLenLo
|
||||
sta SLIST.DataLen
|
||||
sta SLISTX.DataLen
|
||||
jsr BLISTX.GetNByte Get DataLenHI
|
||||
sta SLIST.DataLen+1
|
||||
sta SLISTX.DataLen+1
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.IsIDValid bit SLIST.Opt
|
||||
SLISTX.IsIDValid
|
||||
bit SLISTX.Opt
|
||||
bpl .2
|
||||
|
||||
cmp #'.'
|
||||
beq .8
|
||||
|
||||
.1 bit SLIST.Opt
|
||||
.1 bit SLISTX.Opt
|
||||
.2 bvc .3
|
||||
|
||||
cmp #'_'
|
||||
|
|
Loading…
Reference in New Issue