diff --git a/.A2osX Issue List.xlsx b/.A2osX Issue List.xlsx index 1cfa2104..612f48b2 100644 Binary files a/.A2osX Issue List.xlsx and b/.A2osX Issue List.xlsx differ diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index cf803eeb..ced1b2c3 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/LS.S.txt b/BIN/LS.S.txt index ba79bbf4..1936d026 100644 --- a/BIN/LS.S.txt +++ b/BIN/LS.S.txt @@ -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 %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 diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index 17c686cd..e0447da6 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -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 diff --git a/BIN/SH.S.EXP.txt b/BIN/SH.S.EXP.txt index d743cd5e..cb7e0c02 100644 --- a/BIN/SH.S.EXP.txt +++ b/BIN/SH.S.EXP.txt @@ -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 diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index 6b0d8469..3faed7fd 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -73,7 +73,7 @@ IO.Pipe.Out >SYSCALL pipe >SYSCALL fopen bcc IO.Set.Out - + .99 pha >LDA.G IO.hPipe >SYSCALL close diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index a94134da..a54d6d94 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -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 diff --git a/README.md b/README.md index 91611901..3c473515 100644 --- a/README.md +++ b/README.md @@ -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 | diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index d5a204cf..199d923c 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -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 diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index 49db53c2..b01d1f84 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -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