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

View File

@ -778,7 +778,7 @@ FOR.FILE sec
jsr CORE.StkPush jsr CORE.StkPush
bcs .99 bcs .99
jsr CMD.NEXT.FILE.1 jsr CMD.NEXT.LINE
bcs .99 bcs .99
>ORA.G CORE.Test >ORA.G CORE.Test
@ -817,9 +817,9 @@ FOR.EXEC sec
>PUSHBI 0 type >PUSHBI 0 type
>PUSHBI O.RDONLY+O.TEXT >PUSHBI O.RDONLY+O.TEXT
>LEA.G IO.NodBuf >LEA.G IO.NodBuf
>SYSCALL fopen >SYSCALL fopen
.9 bcs .99 .9 bcs .99
jsr CORE.StkPush push hPIPE jsr CORE.StkPush push hPIPE
bcs .99 bcs .99
@ -839,7 +839,7 @@ FOR.EXEC sec
jsr CORE.StkPush jsr CORE.StkPush
bcs .99 bcs .99
jsr CMD.NEXT.EXEC.1 jsr CMD.NEXT.LINE
bcs .99 bcs .99
>ORA.G CORE.Test >ORA.G CORE.Test
@ -1007,85 +1007,7 @@ CMD.NEXT.LIST.1 lda (pData)
* stack-1 FOR SUB TOKEN * stack-1 FOR SUB TOKEN
* stack FOR TOKEN * stack FOR TOKEN
*-------------------------------------- *--------------------------------------
CMD.NEXT.FILE lda (pData),y Y = StkPtr CMD.NEXT.FILE
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
*-------------------------------------- *--------------------------------------
* stack-4 CmdPtr * stack-4 CmdPtr
* stack-3 hPIPE * stack-3 hPIPE
@ -1097,7 +1019,7 @@ CMD.NEXT.EXEC lda (pData),y Y = StkPtr
bpl .1 bpl .1
jsr CMD.NEXT.FILE.1 jsr CMD.NEXT.LINE
bcs .9 bcs .9
bpl .1 bpl .1
@ -1126,14 +1048,14 @@ CMD.NEXT.EXEC lda (pData),y Y = StkPtr
lda (pData),y hVARNAME lda (pData),y hVARNAME
pha pha
dey dey
lda (pData),y hPIPE lda (pData),y hFILE/hPIPE
>SYSCALL fclose >SYSCALL fclose
pla pla
>SYSCALL freemem >SYSCALL freemem
* clc * clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
CMD.NEXT.EXEC.1 lda (pData) CMD.NEXT.LINE lda (pData)
dec skip FOR dec skip FOR
dec skip SUB TOKEN dec skip SUB TOKEN

View File

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

View File

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

View File

@ -639,6 +639,10 @@ EXP.OP.UNARY .AZ "-D"
.HS 00 .HS 00
EXP.OP.BINARY .AZ "=" EXP.OP.BINARY .AZ "="
.AZ "!=" .AZ "!="
.AZ ".<"
.AZ "<="
.AZ ".>"
.AZ ">="
.AZ "-EQ" .AZ "-EQ"
.AZ "-NE" .AZ "-NE"
.AZ "-LT" .AZ "-LT"
@ -647,8 +651,13 @@ EXP.OP.BINARY .AZ "="
.AZ "-GE" .AZ "-GE"
.HS 00 .HS 00
EXP.OP.BINARY.BITS EXP.OP.BINARY.BITS
.DA #%000 .DA #%010
.DA #%000 .DA #%101
.DA #%100
.DA #%110
.DA #%001
.DA #%011
.DA #%010 .DA #%010
.DA #%101 .DA #%101
.DA #%100 .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 ] | | | | [ -z $VAR variable is empty ] |
| | | [ string1 = string2 ] | | | | [ string1 = string2 ] |
| | | [ string1 != string2 ] | | | | [ string1 != string2 ] |
| | | [ string1 .< string2 ] |
| | | [ string1 <= string2 ] |
| | | [ string1 .> string2 ] |
| | | [ string1 >= string2 ] |
| | | [ int32 -eq int32 ] | | | | [ int32 -eq int32 ] |
| | | [ int32 -ne int32 ] | | | | [ int32 -ne int32 ] |
| | | [ int32 -lt int32 ] | | | | [ int32 -lt int32 ] |
@ -330,7 +334,7 @@ note : '$VAR' does NOT expand Variable
| ---- | ------ | ------- | | ---- | ------ | ------- |
| . | Working | use same env | | . | Working | use same env |
| & | Working | start proc | | & | Working | start proc |
| \| | | pipe | | \| | Working | pipe |
| < | Working | StdIn redirection | | < | Working | StdIn redirection |
| > | Working | StdOut redirection | | > | Working | StdOut redirection |
| >> | Working | Append StdOut | | >> | Working | Append StdOut |
@ -380,6 +384,7 @@ note : '$VAR' does NOT expand Variable
| | | -0 : No Signal | | | | | -0 : No Signal | |
| | | -1 : SIGQUIT | | | | | -1 : SIGQUIT | |
| LS | Working | -A : Print . & .. | 0.92 | | LS | Working | -A : Print . & .. | 0.92 |
| | | -C : Single column listing | |
| | | -L : long listing with size/date... | | | | | -L : long listing with size/date... | |
| | | -R : Recurse subdirectories | | | | | -R : Recurse subdirectories | |
| LSDEV | Working | Dump device Drivers | 0.92 | | 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 ldy #S.PS.hStdOut
lda (ZPPtr1),y lda (ZPPtr1),y
tax tax
lda OF.Table.hFD-1,x lda OF.Table.hPath-1,x
bit #1 hDev ? beq .10 hDEV
bne .10
jsr K.GetMemPtr hNod, get FD lda OF.Table.hFD-1,x hNod
jsr K.GetMemPtr get FD
>STYA pFD >STYA pFD
lda (pFD) lda (pFD)
cmp #S.FD.T.PIPE cmp #S.FD.T.PIPE

View File

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