SH:History fix

MORE:combined options
CC:"All done" message if success
This commit is contained in:
burniouf 2022-10-08 14:37:10 +02:00
parent f61b181886
commit 947764b71e
6 changed files with 67 additions and 71 deletions

Binary file not shown.

View File

@ -132,6 +132,7 @@ L.MSG.RTSTK .DA MSG.RTSTK
L.MSG.ERROR .DA MSG.ERROR L.MSG.ERROR .DA MSG.ERROR
L.MSG.SUMMARY .DA MSG.SUMMARY L.MSG.SUMMARY .DA MSG.SUMMARY
L.MSG.NOMAIN .DA MSG.NOMAIN L.MSG.NOMAIN .DA MSG.NOMAIN
L.MSG.ALLDONE .DA MSG.ALLDONE
L.ENV.INCLUDE .DA ENV.INCLUDE L.ENV.INCLUDE .DA ENV.INCLUDE
L.ENV.LIB .DA ENV.LIB L.ENV.LIB .DA ENV.LIB
L.LIB.O .DA LIB.O L.LIB.O .DA LIB.O
@ -353,7 +354,7 @@ CS.RUN.CLOOP jsr CORE.CompileFile
jsr CC.Link jsr CC.Link
bcs .99 bcs .99
>DEBUG * >DEBUG
jsr CC.Link.CheckMain jsr CC.Link.CheckMain
bcs .99 bcs .99
@ -379,7 +380,10 @@ CS.RUN.CLOOP jsr CORE.CompileFile
jsr FIO.FClose jsr FIO.FClose
bne .2 bne .2
*-------------------------------------- *--------------------------------------
.8 lda #0 Exit Code = Success >LDYA L.MSG.ALLDONE
>SYSCALL PutS
lda #0 Exit Code = Success
sec sec
rts rts
@ -643,8 +647,9 @@ MSG.DEBUG .CS "*** pCode=%H, pConst=%H, pData=%H, pStack=%H\r\n"
MSG.TRACE .CZ "%5D> %s\r\n" MSG.TRACE .CZ "%5D> %s\r\n"
MSG.RTSTK .CZ "<pBase=%H, pVar=%H, (pVar)=%H, pStack=%H>\r\n" MSG.RTSTK .CZ "<pBase=%H, pVar=%H, (pVar)=%H, pStack=%H>\r\n"
MSG.ERROR .CZ " %s^\r\n" MSG.ERROR .CZ " %s^\r\n"
MSG.SUMMARY .CZ "*** Compilation OK : Code size=%5D, Const size=%5D, uData size=%5D\r\n" MSG.SUMMARY .CZ "*** Compilation OK : Code size=%5D, Const size=%5D, Data size=%5D\r\n"
MSG.NOMAIN .CZ "*** No 'main()' function defined." MSG.NOMAIN .CZ "*** No 'main()' function defined."
MSG.ALLDONE .CZ "*** All Done."
*-------------------------------------- *--------------------------------------
OptionList .AS "DdTtLl" OptionList .AS "DdTtLl"
OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace OptionVars .DA #bDebug,#bDebug,#bTrace,#bTrace

View File

@ -7,17 +7,13 @@ NEW
*/------------------------------------- */-------------------------------------
* # MKDIR * # MKDIR
* Create directories * Create directories
*
* ## Arguments * ## Arguments
* **-M mode** * **-M mode**
* Apply specified mode to created directories * Apply specified mode to created directories
*
* **-P** * **-P**
* Create parent directories if required * Create parent directories if required
*
* **-V** * **-V**
* Verbose mode * Verbose mode
*
* ## Return Value * ## Return Value
*\------------------------------------- *\-------------------------------------
.INB inc/macros.i .INB inc/macros.i

View File

@ -4,7 +4,19 @@ NEW
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
.TF bin/more .TF bin/more
*-------------------------------------- */-------------------------------------
* # MORE
* Displays content of specified file
* Input pipe allowed
* ## Arguments
* **-H**
* Displays help screen
* **-N**
* Number all output lines
* **-P**
* Page mode, no scroll
* ## Return Value
*\-------------------------------------
.INB inc/macros.i .INB inc/macros.i
.INB inc/a2osx.i .INB inc/a2osx.i
.INB inc/kernel.i .INB inc/kernel.i
@ -25,7 +37,6 @@ LineNum .BS 2
bHelp .BS 1 bHelp .BS 1
bLineNum .BS 1 bLineNum .BS 1
bPage .BS 1 bPage .BS 1
bEscCodes .BS 1
ArgIndex .BS 1 ArgIndex .BS 1
hBuf .BS 1 hBuf .BS 1
ZS.END .ED ZS.END .ED
@ -53,16 +64,11 @@ CS.START cld
L.MSG.USAGE .DA MSG.USAGE L.MSG.USAGE .DA MSG.USAGE
L.MSG.Init .DA MSG.Init L.MSG.Init .DA MSG.Init
L.MSG.NUMLINE .DA MSG.NUMLINE L.MSG.NUMLINE .DA MSG.NUMLINE
L.MSG.CRLF .DA MSG.CRLF
L.MSG.Pause .DA MSG.Pause L.MSG.Pause .DA MSG.Pause
L.MSG.PauseErase .DA MSG.PauseErase L.MSG.PauseErase .DA MSG.PauseErase
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
CS.INIT clc CS.RUN inc ArgCount
rts
*--------------------------------------
CS.RUN
.1 inc ArgCount
lda ArgCount lda ArgCount
>SYSCALL ArgV >SYSCALL ArgV
bcs .7 bcs .7
@ -74,8 +80,9 @@ CS.RUN
ldy #1 ldy #1
lda (ZPPtr1),y lda (ZPPtr1),y
beq .99
ldx #OptionVars-OptionList-1 .1 ldx #OptionVars-OptionList-1
.2 cmp OptionList,x .2 cmp OptionList,x
beq .3 beq .3
@ -83,17 +90,22 @@ CS.RUN
dex dex
bpl .2 bpl .2
.99 >PUSHW L.MSG.USAGE .99 >LDYA L.MSG.USAGE
>PUSHBI 0 >SYSCALL PutS
>SYSCALL PrintF
lda #E.SYN lda #E.SYN
sec sec
.9 rts .9 rts
.3 ldy OptionVars,x .3 lda OptionVars,x
lda #$80 tax
sta (pData),y sec
bra .1 ror $0,x
iny
lda (ZPPtr1),y
bne .1
bra CS.RUN
.4 lda hFile .4 lda hFile
bne .99 bne .99
@ -102,7 +114,7 @@ CS.RUN
jsr CS.RUN.OPEN jsr CS.RUN.OPEN
bcs .9 bcs .9
bra .1 scan for any other args bra CS.RUN scan for any other args
.7 lda bHelp .7 lda bHelp
beq .8 beq .8
@ -136,7 +148,7 @@ CS.RUN
>PUSHW L.MSG.Init >PUSHW L.MSG.Init
>PUSHBI 0 >PUSHBI 0
>SYSCALL PrintF >SYSCALL PrintF
*--------------------------------------
CS.RUN.LOOP jsr CS.RUN.GETLINE CS.RUN.LOOP jsr CS.RUN.GETLINE
bcs .9 bcs .9
@ -180,6 +192,7 @@ CS.RUN.OPEN >PUSHYA
>SYSCALL FOpen >SYSCALL FOpen
bcs .9 bcs .9
sta hFile sta hFile
.9 rts .9 rts
@ -188,8 +201,7 @@ CS.RUN.PAUSE ldy #S.PS.hStdErr
lda (pPS),y lda (pPS),y
>PUSHA >PUSHA
>PUSHW L.MSG.Pause >PUSHW L.MSG.Pause
>PUSHBI 0 >SYSCALL FPutS
>SYSCALL FPrintF
.10 jsr CS.RUN.GETC .10 jsr CS.RUN.GETC
bcs .99 bcs .99
@ -217,6 +229,7 @@ CS.RUN.PAUSE ldy #S.PS.hStdErr
beq .90 beq .90
rts rts
.5 inc LineNum .5 inc LineNum
bne .6 bne .6
@ -235,8 +248,7 @@ CS.RUN.ERASE ldy #S.PS.hStdErr
lda (pPS),y lda (pPS),y
>PUSHA >PUSHA
>PUSHW L.MSG.PauseErase >PUSHW L.MSG.PauseErase
>PUSHBI 0 >SYSCALL FPutS
>SYSCALL FPrintF
rts rts
*-------------------------------------- *--------------------------------------
CS.RUN.GETC lda hFile CS.RUN.GETC lda hFile
@ -272,21 +284,9 @@ CS.RUN.PRINT lda bLineNum
>SYSCALL PrintF >SYSCALL PrintF
bcs .9 bcs .9
.1 lda bEscCodes .1 >LDYA ZPBufPtr
bmi .2
>LDYA ZPBufPtr
>SYSCALL PutS >SYSCALL PutS
rts
.2 >PUSHW ZPBufPtr
>PUSHBI 0
>SYSCALL PrintF
bcs .9
>PUSHW L.MSG.CRLF
>PUSHBI 0
>SYSCALL PrintF
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
CS.QUIT lda hBuf CS.QUIT lda hBuf
@ -299,7 +299,8 @@ CS.QUIT lda hBuf
>SYSCALL FClose >SYSCALL FClose
.2 .2
.8 clc .8
CS.INIT clc
rts rts
*-------------------------------------- *--------------------------------------
CS.DOEVENT sec CS.DOEVENT sec
@ -307,15 +308,13 @@ CS.DOEVENT sec
*-------------------------------------- *--------------------------------------
CS.END CS.END
*-------------------------------------- *--------------------------------------
OptionList .AS "NnHhPpSs" OptionList .AS "NnHhPp"
OptionVars .DA #bLineNum,#bLineNum,#bHelp,#bHelp,#bPage,#bPage,#bEscCodes,#bEscCodes OptionVars .DA #bLineNum,#bLineNum,#bHelp,#bHelp,#bPage,#bPage
*-------------------------------------- *--------------------------------------
MSG.USAGE .CS "Usage : MORE <File>\r\n" MSG.USAGE .CS "Usage : MORE <File>\r\n"
.CS " -H : This help screen\r\n" .CS " -H : This help screen\r\n"
.CS " -N : Number all output lines\r\n" .CS " -N : Number all output lines\r\n"
.CS " -P : Page mode, no scroll\r\n" .CZ " -P : Page mode, no scroll\r\n"
.CS " -S : Process ESC codes"
MSG.CRLF .CZ "\r\n"
MSG.Init .CZ "\e[?7l" MSG.Init .CZ "\e[?7l"
MSG.NUMLINE .CZ "%5D:" MSG.NUMLINE .CZ "%5D:"
MSG.Pause .CZ "\r\e[7m --- 'SPACE' for more, 'CR' one line, 'Q/q' to quit --- \e[0m" MSG.Pause .CZ "\r\e[7m --- 'SPACE' for more, 'CR' one line, 'Q/q' to quit --- \e[0m"

View File

@ -378,11 +378,7 @@ CORE.ExecCmd lda #0
tax tax
jmp (J.CMD,x) jmp (J.CMD,x)
*-------------------------------------- *--------------------------------------
CORE.ExecExtCmd ldy #S.PS.RC CORE.ExecExtCmd >PUSHW ZPArgVBuf
lda #0
sta (pPS),y
>PUSHW ZPArgVBuf
>PUSHB CORE.PSFlags >PUSHB CORE.PSFlags
>SYSCALL ExecV >SYSCALL ExecV
@ -698,22 +694,16 @@ CORE.GetNextChar
inc ZPInputBufPtr+1 inc ZPInputBufPtr+1
*-------------------------------------- *--------------------------------------
CORE.GetChar phy CORE.GetChar clc
lda (ZPInputBufPtr)
.1 lda (ZPInputBufPtr)
bne .8 bne .8
>LDA.G CODE.STACK
cmp #CODE.STACK
beq .9
jsr CORE.PopBuf jsr CORE.PopBuf
bra .1 bcc CORE.GetChar
.8 clc lda #0
.9 ply .8 rts
rts
*-------------------------------------- *--------------------------------------
CORE.SkipCharsA clc CORE.SkipCharsA clc
adc ZPInputBufPtr adc ZPInputBufPtr
@ -761,7 +751,9 @@ CORE.PushBufX >LDA.G CODE.STACK
* sec * sec
rts rts
*-------------------------------------- *--------------------------------------
CORE.PopBuf >LDA.G CODE.STACK CORE.PopBuf phy
>LDA.G CODE.STACK
cmp #CODE.STACK cmp #CODE.STACK
beq .9 beq .9
@ -783,10 +775,14 @@ CORE.PopBuf >LDA.G CODE.STACK
tya tya
>STA.G CODE.STACK >STA.G CODE.STACK
ply
* clc * clc
rts rts
.9 lda #E.STACKERROR .9 ply
lda #E.STACKERROR
* sec * sec
rts rts
*-------------------------------------- *--------------------------------------

View File

@ -26,15 +26,15 @@ HIS.Add >LDA.G HIS.hBuf
sta (pData),y sta (pData),y
>STA.G HIS.Head >STA.G HIS.Head
tax bra .2
bra .7
.1 ldy #HIS.Head .1 ldy #HIS.Head
jsr HIS.NextY replace oldest jsr HIS.NextY replace oldest
sta (pData),y
tax .2 tax
.7 >PUSHB.G HIS.hBuf >PUSHB.G HIS.hBuf
>PUSHBI 0 >PUSHBI 0
txa txa
>PUSHA >PUSHA