Kernel 0.92+

This commit is contained in:
Rémy GIBERT 2019-03-11 15:43:33 +00:00
parent dfed36d689
commit 5847f53366
10 changed files with 84 additions and 130 deletions

Binary file not shown.

Binary file not shown.

View File

@ -52,6 +52,7 @@ L.MSG.ENTER .DA MSG.ENTER
L.MSG.DIREXT .DA MSG.DIREXT
L.MSG.FILE .DA MSG.FILE
L.MSG.FILEEXT .DA MSG.FILEEXT
L.MSG.CRLF .DA MSG.CRLF
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
L.FMT.DateTime .DA FMT.DateTime
.DA 0
@ -229,12 +230,20 @@ CS.RUN.PRINT.DIR
lda (ZPFileName)
cmp #'.'
beq .5
bne .10
jmp .5
.10 >LDA.G bLong
bmi .4
>PUSHW ZPFileName
>LDA.G bColumn
bpl .22
>LDYA ZPFileName
>SYSCALL puts
rts
.22 >PUSHW ZPFileName
>PUSHBI 2
>LDYA L.MSG.DIR
>SYSCALL printf
@ -297,7 +306,14 @@ CS.RUN.PRINT.FILE
lda (pData),y
bmi .1
>PUSHW ZPFileName
>LDA.G bColumn
bpl .22
>LDYA ZPFileName
>SYSCALL puts
rts
.22 >PUSHW ZPFileName
>PUSHBI 2
>LDYA L.MSG.FILE
>SYSCALL printf
@ -404,10 +420,9 @@ CS.RUN.UpdateColCnt
CS.RUN.NewLine >LDA.G ColCount
beq CS.RUN.NewLine.8
CS.RUN.NewLine.1
lda #13
>SYSCALL PutChar
lda #10
>SYSCALL PutChar
>PUSHBI 0
>LDYA L.MSG.CRLF
>SYSCALL printf
rts
CS.RUN.NewLine.8
clc
@ -523,15 +538,16 @@ Mod2CSTR ldy #S.STAT.MODE+1
*--------------------------------------
CS.END
*--------------------------------------
OptionList >PSTR "ALRalr"
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
OptionList >PSTR "ACLRalr"
OptionVars .DA #bAllmostAll,#bColumn,#bLong,#bRecurse,#bAllmostAll,#bColumn,#bLong,#bRecurse
*--------------------------------------
MSG.DEVEXT .AZ "/%15s S%dD%d Blocks Used:%5D Total:%5D\r\n"
MSG.DIR .AZ "\e[32m%s/\e[0m"
MSG.ENTER .AZ "Directory:%s\r\n"
MSG.DIREXT .AZ "\e[32m%16s\e[0m <dir> %s %s %s\r\n"
MSG.FILE .AZ "%19s"
MSG.FILEEXT .AZ "%15s %S $%H %s %10u %s %s\r\n"
MSG.FILEEXT .AS "%15s %S $%H %s %10u %s %s"
MSG.CRLF .AZ "\r\n"
*--------------------------------------
PRODOS.FT.HEX .HS 0406FAFCFDE2CBCCFF
PRODOS.FT.TXT >PSTR "TXT"
@ -561,6 +577,7 @@ TIME.Mod .BS 20
hFilter .BS 1
bPause .BS 1
bAllmostAll .BS 1
bColumn .BS 1
bLong .BS 1
bRecurse .BS 1

View File

@ -778,7 +778,7 @@ FOR.FILE sec
jsr CORE.StkPush
bcs .99
jsr CMD.NEXT.FILE.1
jsr CMD.NEXT.LINE
bcs .99
>ORA.G CORE.Test
@ -817,9 +817,9 @@ FOR.EXEC sec
>PUSHBI 0 type
>PUSHBI O.RDONLY+O.TEXT
>LEA.G IO.NodBuf
>SYSCALL fopen
.9 bcs .99
jsr CORE.StkPush push hPIPE
bcs .99
@ -839,7 +839,7 @@ FOR.EXEC sec
jsr CORE.StkPush
bcs .99
jsr CMD.NEXT.EXEC.1
jsr CMD.NEXT.LINE
bcs .99
>ORA.G CORE.Test
@ -1007,85 +1007,7 @@ CMD.NEXT.LIST.1 lda (pData)
* stack-1 FOR SUB TOKEN
* stack FOR TOKEN
*--------------------------------------
CMD.NEXT.FILE lda (pData),y Y = StkPtr
bpl .1
jsr CMD.NEXT.FILE.1
bcs .9
bpl .1
lda (pData)
sec
sbc #4
tay
lda (pData),y
sta ZPInputBufPtr+1
dey
lda (pData),y
sta ZPInputBufPtr
clc
rts
.1 lda (pData)
tay
sec
sbc #6
sta (pData)
dey
dey
lda (pData),y hVARNAME
pha
dey
lda (pData),y hFILE
>SYSCALL fclose
pla
>SYSCALL freemem
* clc
.9 rts
*--------------------------------------
CMD.NEXT.FILE.1 lda (pData)
dec skip FOR
dec skip SUB TOKEN
tay
lda (pData),y
phy
>SYSCALL GetMemPtr hVARNAME
>STYA ZPVarNamePtr
ply
dey
lda (pData),y hFILE
pha
>PUSHWI 256
>PUSHW ZPCLBuf
pla
>SYSCALL fgets
bcs .8
>PUSHW ZPCLBuf
>LDYA ZPVarNamePtr
>SYSCALL SetEnv
bcs .9
lda #$80
* clc
rts
.8 >LDYA ZPVarNamePtr
>SYSCALL UnSetEnv
bcs .9
lda #0
* clc
.9 rts
CMD.NEXT.FILE
*--------------------------------------
* stack-4 CmdPtr
* stack-3 hPIPE
@ -1097,7 +1019,7 @@ CMD.NEXT.EXEC lda (pData),y Y = StkPtr
bpl .1
jsr CMD.NEXT.FILE.1
jsr CMD.NEXT.LINE
bcs .9
bpl .1
@ -1126,14 +1048,14 @@ CMD.NEXT.EXEC lda (pData),y Y = StkPtr
lda (pData),y hVARNAME
pha
dey
lda (pData),y hPIPE
lda (pData),y hFILE/hPIPE
>SYSCALL fclose
pla
>SYSCALL freemem
* clc
.9 rts
*--------------------------------------
CMD.NEXT.EXEC.1 lda (pData)
CMD.NEXT.LINE lda (pData)
dec skip FOR
dec skip SUB TOKEN

View File

@ -196,52 +196,56 @@ EXP.OP.UNARY.Z lda (ZPArgVBufPtr) [ -Z ] ?
bra EXP.OP.UNARY.DEF.9 FALSE
*--------------------------------------
EXP.TEST.BINARY >LDA.G CORE.Operator
beq .1 =
cmp #2 !=
bne EXP.TEST.BINARY.NUM
lda #$80
.1 >STA.G CORE.Operator
cmp #12 =, !=, <= <, >=, >
bcs EXP.TEST.BINARY.NUM
>LDYA ZPArgVBufPrev
>STYA ZPPtr1
jsr CORE.ArgV.Next
beq .9
beq EXP.TEST.BINARY.ESYN
>PUSHW ZPPtr1
>LDYA ZPArgVBufPtr
>SYSCALL strcmp
ror CS if !=
and #$80
eor #$80
>EOR.G CORE.Operator
clc
rts
bcs .1 CS if !=
.9 lda #E.ESYN
lda #%010 010 str1 = str2
bra EXP.TEST.BINARY.END
.1 asl CS if <
bcs .2
lda #%100 010 str1 < str2
bra EXP.TEST.BINARY.END
.2 lda #%001 010 str1 > str2
bra EXP.TEST.BINARY.END
EXP.TEST.BINARY.ESYN
lda #E.ESYN
sec
rts
*--------------------------------------
EXP.TEST.BINARY.NUM
>LDYA ZPArgVBufPrev
>SYSCALL AToL
bcs .9
bcs EXP.TEST.BINARY.ESYN
>PULLL.G M32.ACC
jsr CORE.ArgV.Next
beq .9
beq EXP.TEST.BINARY.ESYN
>LDYA ZPArgVBufPtr
>SYSCALL AToL
bcs .9
bcs EXP.TEST.BINARY.ESYN
>PULLL.G M32.ARG
jsr M32.Cmp
EXP.TEST.BINARY.END
pha
>LDA.G CORE.Operator
@ -257,11 +261,7 @@ EXP.TEST.BINARY.NUM
.80 lda #0 false
clc
rts
.9 lda #E.ESYN
sec
rts
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/SH.S.EXP

View File

@ -73,7 +73,7 @@ IO.Pipe.Out >SYSCALL pipe
>SYSCALL fopen
bcc IO.Set.Out
.99 pha
>LDA.G IO.hPipe
>SYSCALL close

View File

@ -639,6 +639,10 @@ EXP.OP.UNARY .AZ "-D"
.HS 00
EXP.OP.BINARY .AZ "="
.AZ "!="
.AZ ".<"
.AZ "<="
.AZ ".>"
.AZ ">="
.AZ "-EQ"
.AZ "-NE"
.AZ "-LT"
@ -647,8 +651,13 @@ EXP.OP.BINARY .AZ "="
.AZ "-GE"
.HS 00
EXP.OP.BINARY.BITS
.DA #%000
.DA #%000
.DA #%010
.DA #%101
.DA #%100
.DA #%110
.DA #%001
.DA #%011
.DA #%010
.DA #%101
.DA #%100

View File

@ -274,6 +274,10 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
| | | [ -z $VAR variable is empty ] |
| | | [ string1 = string2 ] |
| | | [ string1 != string2 ] |
| | | [ string1 .< string2 ] |
| | | [ string1 <= string2 ] |
| | | [ string1 .> string2 ] |
| | | [ string1 >= string2 ] |
| | | [ int32 -eq int32 ] |
| | | [ int32 -ne int32 ] |
| | | [ int32 -lt int32 ] |
@ -330,7 +334,7 @@ note : '$VAR' does NOT expand Variable
| ---- | ------ | ------- |
| . | Working | use same env |
| & | Working | start proc |
| \| | | pipe |
| \| | Working | pipe |
| < | Working | StdIn redirection |
| > | Working | StdOut redirection |
| >> | Working | Append StdOut |
@ -380,6 +384,7 @@ note : '$VAR' does NOT expand Variable
| | | -0 : No Signal | |
| | | -1 : SIGQUIT | |
| LS | Working | -A : Print . & .. | 0.92 |
| | | -C : Single column listing | |
| | | -L : long listing with size/date... | |
| | | -R : Recurse subdirectories | |
| LSDEV | Working | Dump device Drivers | 0.92 |

View File

@ -544,11 +544,11 @@ CORE.PSFree sta .10+1 Save PS ID
ldy #S.PS.hStdOut
lda (ZPPtr1),y
tax
lda OF.Table.hFD-1,x
bit #1 hDev ?
bne .10
lda OF.Table.hPath-1,x
beq .10 hDEV
jsr K.GetMemPtr hNod, get FD
lda OF.Table.hFD-1,x hNod
jsr K.GetMemPtr get FD
>STYA pFD
lda (pFD)
cmp #S.FD.T.PIPE

View File

@ -930,10 +930,11 @@ CLRLINE ldy #0 Start
ldx #80 End
bra CLR
CLRSOL ldy #0
ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y Start
CLRSOL ldy #S.DCB.TTY.CH
lda (ZPDCBPtr),y
tax End
ldy #0 Start
bra CLR
CLREOL ldy #S.DCB.TTY.CH