diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 1120fdce..d2f89cea 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/CSH.S.EXEC.txt b/BIN/CSH.S.EXEC.txt index e4a52cff..35c3a428 100644 --- a/BIN/CSH.S.EXEC.txt +++ b/BIN/CSH.S.EXEC.txt @@ -5,38 +5,55 @@ NEW * Y = Type, A = OP *-------------------------------------- CSH.BOP.EXEC cpy #CSH.T.UINT - bcs .1 + bcs .3 + cpy #CSH.T.UCHAR + beq .1 -.1 clc - adc CSH.Type2FPU-3,y + cpy #CSH.T.SCHAR + beq .2 + + lda #E.TMISMATCH + sec + rts + +.1 tax + jmp (J.CSH.bBOPS,x) + +.2 tax + jmp (J.CSH.cBOPS,x) + +.3 clc + adc CSH.Type2FPU-CSH.T.UINT,y tax jsr A2osX.FPUCALL clc rts *-------------------------------------- -CSH.BOPS.MUL clc +CSH.BOPS.bMUL +CSH.BOPS.cMUL + clc rts *-------------------------------------- -CSH.BOPS.DIV clc +CSH.BOPS.bDIV +CSH.BOPS.cDIV + clc rts *-------------------------------------- -CSH.BOPS.MOD clc +CSH.BOPS.bMOD +CSH.BOPS.cMOD + clc rts *-------------------------------------- -CSH.BOPS.ADD -CSH.BOPS.ADDi8 -CSH.BOPS.ADDu8 clc +CSH.BOPS.ADD clc >PULLA adc (pStack) sta (pStack) clc rts *-------------------------------------- -CSH.BOPS.SUB -CSH.BOPS.SUBi8 -CSH.BOPS.SUBu8 sec +CSH.BOPS.SUB sec ldy #1 lda (pStack),y sbc (pStack) @@ -45,8 +62,7 @@ CSH.BOPS.SUBu8 sec clc rts *-------------------------------------- -CSH.BOPS.SHL -CSH.BOPS.SHL8 lda (pStack) +CSH.BOPS.SHL lda (pStack) tax beq .8 @@ -63,8 +79,23 @@ CSH.BOPS.SHL8 lda (pStack) clc rts *-------------------------------------- -CSH.BOPS.SHR +CSH.BOPS.SHR lda (pStack) + tax + beq .8 + + ldy #1 + lda (pStack),y +.1 lsr + dex + bne .1 + + sta (pStack),y + +.8 inc pStack + clc + rts +*-------------------------------------- CSH.BOPS.L CSH.BOPS.G CSH.BOPS.LE @@ -120,8 +151,7 @@ EXEC.puts >PULLYA >PUSHYA rts *-------------------------------------- -EXEC.printf - >SYSCALL PrintF +EXEC.printf >SYSCALL PrintF >PUSHYA rts *-------------------------------------- @@ -153,6 +183,8 @@ EXEC.malloc >PULLYA >PUSHYA rts *-------------------------------------- + +*-------------------------------------- MAN SAVE usr/src/bin/csh.s.exec LOAD usr/src/bin/csh.s diff --git a/BIN/CSH.S.txt b/BIN/CSH.S.txt index 4e34bedf..663575ae 100644 --- a/BIN/CSH.S.txt +++ b/BIN/CSH.S.txt @@ -88,9 +88,27 @@ L.MSG.DEBUG .DA MSG.DEBUG L.MSG.ERR .DA MSG.ERR L.ENV.INCLUDE .DA ENV.INCLUDE L.CSH.BOPS .DA CSH.BOPS -J.CSH.BOPS .DA CSH.BOPS.MUL - .DA CSH.BOPS.DIV - .DA CSH.BOPS.MOD +J.CSH.bBOPS .DA CSH.BOPS.bMUL + .DA CSH.BOPS.bDIV + .DA CSH.BOPS.bMOD + .DA CSH.BOPS.ADD + .DA CSH.BOPS.SUB + .DA CSH.BOPS.SHL + .DA CSH.BOPS.SHR + .DA CSH.BOPS.L + .DA CSH.BOPS.LE + .DA CSH.BOPS.G + .DA CSH.BOPS.GE + .DA CSH.BOPS.EQ + .DA CSH.BOPS.NE + .DA CSH.BOPS.AND + .DA CSH.BOPS.OR + .DA CSH.BOPS.EOR + .DA CSH.BOPS.LAND + .DA CSH.BOPS.LOR +J.CSH.cBOPS .DA CSH.BOPS.cMUL + .DA CSH.BOPS.cDIV + .DA CSH.BOPS.cMOD .DA CSH.BOPS.ADD .DA CSH.BOPS.SUB .DA CSH.BOPS.SHL @@ -486,8 +504,6 @@ CSH.BOPS >PSTR "*" >PSTR "||" .HS 00 *-------------------------------------- -CSH.Type2FPU .DA #FPU.wMUL,#FPU.iMUL,#FPU.uMUL,#FPU.lMUL,FPU.fMUL -*-------------------------------------- * Reserved Directives: *-------------------------------------- CSH.DIRS >PSTR "define" @@ -519,6 +535,8 @@ CSH.TYPES >PSTR "void" >PSTR "float" .HS 00 *-------------------------------------- +CSH.Type2FPU .DA #FPU.wMUL,#FPU.iMUL,#FPU.uMUL,#FPU.lMUL,FPU.fMUL +*-------------------------------------- CSH.FTYPES >PSTR "fastcall" * .HS 00 *-------------------------------------- diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index e9b95062..110f5abb 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -86,8 +86,7 @@ SCRN.UpdateTopBar.1 >PUSHW LineBufPtr >PUSHW L.MSG.TOPBAR - >PUSHB #K.VER - >PUSHB /K.VER + >PUSHW A2osX.KVER >LDA.G hFileName >SYSCALL GetMemPtr diff --git a/BIN/SH.S.EXP.txt b/BIN/SH.S.EXP.txt index 8dd51b50..dbbe2f5a 100644 --- a/BIN/SH.S.EXP.txt +++ b/BIN/SH.S.EXP.txt @@ -86,9 +86,11 @@ EXP.TEST lda (ZPArgVBufPtr) .1 jsr CORE.ArgV.Next beq .9 + >LDYA L.EXP.OP.BINARY -eq -ne .... ? jsr CORE.LookupArgVBuf bcs .9 + stx CORE.Operator jsr EXP.TEST.BINARY bcs .9 @@ -269,6 +271,7 @@ EXP.TEST.BINARY.NUM bcs EXP.TEST.BINARY.ESYN4 lda CORE.Operator + asl * clc adc #FPU.lL tax @@ -279,7 +282,8 @@ EXP.TEST.BINARY.NUM lda #$80 true -.8 >RET 4 +.8 clc + >RET 4 *-------------------------------------- EXP.GetInt8Exp jsr EXP.GET bcc EXP.GetInt8YA diff --git a/BIN/SH.S.HIS.txt b/BIN/SH.S.HIS.txt index 1a717376..9cc6c59c 100644 --- a/BIN/SH.S.HIS.txt +++ b/BIN/SH.S.HIS.txt @@ -46,14 +46,17 @@ HIS.Add >LDA.G HIS.hBuf .9 rts *-------------------------------------- HIS.Select >LDA.G HIS.Count - beq .8 + bne .10 + + clc +.99 rts - >STZ.G HIS.Index +.10 >STZ.G HIS.Index .1 jsr HIS.GetIndex - bcs .9 + bcs .99 - >PUSHW L.MSG.HISTORY + >PUSHW L.MSG.HIS >PUSHB.G HIS.Index >PUSHW ZPCLBuf >PUSHBI 3 @@ -63,28 +66,40 @@ HIS.Select >LDA.G HIS.Count >INC.G HIS.Index >CMP.G HIS.Count bne .1 - - >PUSHW L.MSG.HISTORYPROMPT + + >PUSHW L.MSG.HISPROMPT >PUSHBI 0 >SYSCALL PrintF - + + >STZ.G HIS.Index + >SYSCALL GetChar bcs HIS.Select.RTS - - - -* >PUSHW L.MSG.ECHOCRLF -* >PUSHBI 0 -* >SYSCALL PrintF + + cmp #'0' + bcc .7 + + cmp #'9'+1 + bcs .7 + + and #$f + >STA.G HIS.Index + +.7 >PUSHW L.MSG.HISROMPTCLR + >PUSHBI 0 + >SYSCALL PrintF jsr CL.PrintPrompt bcs .9 - - bra HIS.Reset - -.8 clc -.9 + >LDA.G HIS.Index + bne HIS.GetToCL1 + + jmp CL.Reset + +.8 clc + +.9 HIS.Select.RTS rts *-------------------------------------- HIS.GetPrev >LDA.G HIS.hBuf @@ -117,7 +132,7 @@ HIS.Reset >STZ.G HIS.Index *-------------------------------------- HIS.GetToCL >STA.G HIS.Index - jsr CL.CLR +HIS.GetToCL1 jsr CL.CLR jsr HIS.GetIndex bcs .9 diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 0f4e9206..1d4ec4c5 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -103,8 +103,9 @@ CS.START cld .DA CS.QUIT *-------------------------------------- L.MSG.GREETINGS .DA MSG.GREETINGS -L.MSG.HISTORY .DA MSG.HISTORY -L.MSG.HISTORYPROMPT .DA MSG.HISTORYPROMPT +L.MSG.HIS .DA MSG.HIS +L.MSG.HISPROMPT .DA MSG.HISPROMPT +L.MSG.HISROMPTCLR .DA MSG.HISROMPTCLR L.MSG.PROMPT .DA MSG.PROMPT L.MSG.PROMPTCRLF .DA MSG.PROMPTCRLF L.MSG.TRACE .DA MSG.TRACE @@ -561,8 +562,9 @@ IncPStack3 inc pStack CS.END *-------------------------------------- MSG.GREETINGS .AZ "\r\nA2osX-SH %d.%d\r\n\r\n" -MSG.HISTORY .AZ "\r\n%3d : %s" -MSG.HISTORYPROMPT .AZ "\r\n\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.PROMPT .AZ "\e[?7h$ " Enable Line Wrap MSG.PROMPTCRLF .AZ "\e[?7l\r\n" Disable Line Wrap MSG.TRACE .AS ">" @@ -649,12 +651,12 @@ EXP.OP.BINARY .AT "-LT" .AT "-GE" .AT "-EQ" .AT "-NE" - .AT "=" - .AT "!=" .AT ".<" .AT "<=" .AT ".>" .AT ">=" + .AT "=" + .AT "!=" .HS 00 EXP.OP.MATH .AT "*" .AT "/" @@ -667,13 +669,13 @@ EXP.OP.LOGIC .AT "AND" .HS 00 *-------------------------------------- EXP.OP.BINARY.BITS - .DA #%010 strcmp - .DA #%101 .DA #%100 .DA #%110 .DA #%001 .DA #%011 - + .DA #%010 + .DA #%101 +*-------------------------------------- EXP.OP.MATH.FPU .DA #FPU.lMUL,#FPU.lDIV,#FPU.lMOD,#FPU.lADD,#FPU.lSUB *-------------------------------------- SET.FLAGS .AS "CXE" diff --git a/LIB/LIBTCPIP.S.txt b/LIB/LIBTCPIP.S.txt index 3f4b1c24..13ebe850 100644 --- a/LIB/LIBTCPIP.S.txt +++ b/LIB/LIBTCPIP.S.txt @@ -155,8 +155,8 @@ J.SKT.send .DA SKT.send.RAW LIB.LOAD ldx RefCount bne .8 - sta FD.DSOCK+S.FD.DSOCK.IOHANDLER - sta FD.SSOCK+S.FD.SSOCK.IOHANDLER + sta FD.DSOCK+S.FD.DSOCK.IOH + sta FD.SSOCK+S.FD.SSOCK.IOH >LDYAI K.ARPCACHE.SIZE*S.ARPCACHE >SYSCALL2 GetMem diff --git a/SYS/KERNEL.S.TERMX.txt b/SYS/KERNEL.S.TERMX.txt index db8e9c33..49df3752 100644 --- a/SYS/KERNEL.S.TERMX.txt +++ b/SYS/KERNEL.S.TERMX.txt @@ -211,23 +211,23 @@ TERMX.READ bit bActive is screen active? cmp #C.CR bne .21 - jsr Char.Out.Put + jsr TERMX.COUT ldy #S.DCB.TTY.bCRLF lda (ZPDCBPtr),y bpl .7 lda #C.LF -.21 jsr Char.Out.Put no remap....send char.... +.21 jsr TERMX.COUT no remap....send char.... bra .7 and flush .3 lda KeyMap.Tbl,x pha lda #C.ESC - jsr Char.Out.Put + jsr TERMX.COUT lda #'[' - jsr Char.Out.Put + jsr TERMX.COUT pla - jsr Char.Out.Put + jsr TERMX.COUT bra .7 .6 ldy #S.DCB.TTY.OUTTAIL @@ -630,22 +630,22 @@ Csi.Query ldx CsiPCnt cmp #6 bne .8 lda #C.ESC - jsr Char.Out.Put + jsr TERMX.COUT lda #'[' - jsr Char.Out.Put + jsr TERMX.COUT ldy #S.DCB.TTY.CV lda (ZPDCBPtr),y inc jsr DecOut lda #';' - jsr Char.Out.Put + jsr TERMX.COUT ldy #S.DCB.TTY.CH lda (ZPDCBPtr),y inc jsr DecOut lda #'R' - jsr Char.Out.Put + jsr TERMX.COUT .8 clc rts *-------------------------------------- @@ -855,7 +855,7 @@ COUT.IAC.SB ldy #S.DCB.TTY.INBUF+2 bne COUT.IAC.SB.9 ldx #0 .1 lda SB.IS.TTYPE,x - jsr Char.Out.Put + jsr TERMX.COUT inx cpx #SB.IS.TTYPE.LEN bne .1 @@ -907,11 +907,11 @@ COUT.IAC.SendAX pha push CMD phx lda #IAC - jsr Char.Out.Put + jsr TERMX.COUT pla - jsr Char.Out.Put + jsr TERMX.COUT pla - jsr Char.Out.Put + jsr TERMX.COUT *-------------------------------------- COUT.IAC.WONT *-------------------------------------- @@ -942,7 +942,7 @@ ENQ ldx #0 .1 lda ENQ.String,x - jsr Char.Out.Put + jsr TERMX.COUT inx cpx #ENQ.String.Len bne .1 @@ -1109,10 +1109,10 @@ DecOut jsr MATH.A2STR10NP .1 lda FOUTBuf,x beq TERMX.RTS inx - jsr Char.Out.Put + jsr TERMX.COUT bra .1 *-------------------------------------- -Char.Out.Put pha save char +TERMX.COUT pha save char ldy #S.DCB.TTY.OUTHEAD lda (ZPDCBPtr),y