diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 491839a5..1087839a 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt index 1b60a902..e0c90092 100644 --- a/BIN/EDIT.S.BUF.txt +++ b/BIN/EDIT.S.BUF.txt @@ -166,14 +166,18 @@ BUF.DelSel jsr BUF.GetSelLen .8 clc .9 rts *-------------------------------------- -BUF.Del ldy #FileLen - lda (pData),y - iny - ora (pData),y - beq .8 exit with A=0 - - jsr BUF.ComputeCOffset - +* Erase char at CurXY +*-------------------------------------- +BUF.DelChar lda BUF.COffset + sec + sbc #1 + tay + lda BUF.COffset+1 + sbc #0 + bcc .9 deleting char #0 + + >STYA TmpCount + ldy #FileLen+1 lda (pData),y pha @@ -183,17 +187,6 @@ BUF.Del ldy #FileLen pla jsr BUF.GetNewYA BufferLen-1 bcs .9 - - lda BUF.COffset - sec - sbc #1 - tay - lda BUF.COffset+1 - sbc #0 - bcc .3 deleting char #0 - - sty TmpCount - sta TmpCount+1 jsr BUF.CopyCount @@ -268,7 +261,7 @@ BUF.SelToClipboard ldy #0 .2 jsr DecTmpCount - beq .8 + beq .7 lda (BufPtr),y sta (ClipboardPtr),y iny @@ -277,7 +270,7 @@ BUF.SelToClipboard inc ClipboardPtr+1 bra .2 - jsr BUF.ResetSel +.7 jsr BUF.ResetSel .8 clc .9 rts @@ -394,7 +387,8 @@ BUF.GetLineAX sta BUF.TmpLine1 .2 lda (BufPtr),y beq .7 - cmp #13 + + cmp #C.CR beq .3 iny diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 343cebce..9d3d0a9d 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -120,7 +120,8 @@ Ctrl.G ldy #FileX *-------------------------------------- Ctrl.BS ldy #FileX lda (pData),y - beq .1 already at begining of line + beq .1 already at beginning of line + dec sta (pData),y bra .3 @@ -158,6 +159,7 @@ Ctrl.BS ldy #FileX .8 clc rts + .9 jmp Ctrl.Q *-------------------------------------- Ctrl.TAB @@ -520,40 +522,46 @@ Ctrl.ESC clc rts *-------------------------------------- Prompt.Editor cmp #C.DEL - beq .4 + bne .2 - cmp #C.SPACE - bcs .7 + lda BUF.COffset + ora BUF.COffset+1 No Backspace possible + beq .8 + + jsr Ctrl.BS + bcs .9 - asl - tax - jmp (J.CTRL,x) - -.4 jsr BUF.Del + jsr BUF.DelChar bcs .9 cmp #C.CR did we DEL a CR ? - bne .5 + bne .1 jsr SCRN.UpdateMain bcs .9 - - bra .6 - -.5 jsr SCRN.UpdateCurrentLine - bcs .9 - -.6 jsr SCRN.UpdateStatusBar - bcs .9 + jsr SCRN.UpdateStatusBar rts -.7 jsr BUF.InsertA +.1 jsr SCRN.UpdateCurrentLine + jsr SCRN.UpdateStatusBar + rts + +.2 cmp #C.SPACE + bcc .3 + + jsr BUF.InsertA bcs .9 jsr SCRN.UpdateCurrentLine bcs .9 jsr Ctrl.FS bcs .9 + +.8 clc rts + +.3 asl + tax + jmp (J.CTRL,x) .9 jmp Ctrl.Q *-------------------------------------- diff --git a/BIN/MORE.S.txt b/BIN/MORE.S.txt index f036ce6d..e1666859 100644 --- a/BIN/MORE.S.txt +++ b/BIN/MORE.S.txt @@ -312,7 +312,7 @@ MSG.USAGE .AS "Usage : MORE \r\n" .AS " -P : Page mode, no scroll\r\n" .AS " -S : Process ESC codes" MSG.CRLF .AZ "\r\n" -MSG.Init .AZ "\e[7l" +MSG.Init .AZ "\e[?7l" MSG.NUMLINE .AZ "%5D:" MSG.Pause .AZ "\r\e[7m --- 'SPACE' for more, 'CR' one line, 'Q/q' to quit --- \e[0m" MSG.PauseErase .AZ "\r\e[2K" diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt index 46f6a176..af839322 100644 --- a/BIN/PS.S.txt +++ b/BIN/PS.S.txt @@ -212,7 +212,7 @@ CS.QUIT clc rts *-------------------------------------- CS.END -MSG0 .AZ "\e[7lhPS pPID PID cPID CPU\% Flags UID Command Line\r\n" +MSG0 .AZ "\e[?7lhPS pPID PID cPID CPU\% Flags UID Command Line\r\n" MSG1 .AZ "%3d %3d %3d %3d %3d\% %s %3d" MSG2 .AZ " %s" MSG3 .AZ "\r\n" diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index bd1d4ee5..31406a9a 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -582,8 +582,8 @@ ToUpperCase cmp #'a' CS.END *-------------------------------------- MSG.GREETINGS .AZ "\r\nA2osX-SH %d.%d\r\n\r\n" -MSG.PROMPT .AZ "\e[7h$ " Enable Line Wrap -MSG.PROMPTCRLF .AZ "\e[7l\r\n" Disable Line Wrap +MSG.PROMPT .AZ "\e[?7h$ " Enable Line Wrap +MSG.PROMPTCRLF .AZ "\e[?7l\r\n" Disable Line Wrap MSG.TRACE .AZ ">%s\r\n" MSG.BATCHERR .AZ "^\r\nLine #%D:" MSG.ERROR .AS "[$%h]:%S." diff --git a/SYS/KERNEL.S.ARG.txt b/SYS/KERNEL.S.ARG.txt index d0c1289d..906ac47a 100644 --- a/SYS/KERNEL.S.ARG.txt +++ b/SYS/KERNEL.S.ARG.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # Args2ArgV * Expand String and convert to ArgV List diff --git a/SYS/KERNEL.S.BIN.txt b/SYS/KERNEL.S.BIN.txt index 96fc524a..518634e4 100644 --- a/SYS/KERNEL.S.BIN.txt +++ b/SYS/KERNEL.S.BIN.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- .DUMMY .OR FAC 15 Bytes diff --git a/SYS/KERNEL.S.CTRL.txt b/SYS/KERNEL.S.CTRL.txt index b3894ad6..855eb087 100644 --- a/SYS/KERNEL.S.CTRL.txt +++ b/SYS/KERNEL.S.CTRL.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- * CONTROL SECTION : .LIST ON diff --git a/SYS/KERNEL.S.DEF.txt b/SYS/KERNEL.S.DEF.txt index c2abf90e..356044e2 100644 --- a/SYS/KERNEL.S.DEF.txt +++ b/SYS/KERNEL.S.DEF.txt @@ -164,19 +164,23 @@ S.DCB.TTY.CV .EQ 4 S.DCB.TTY.SCROLLTOP .EQ 5 S.DCB.TTY.SCROLLBOT .EQ 6 S.DCB.TTY.bCURON .EQ 7 -S.DCB.TTY.bNORMAL .EQ 8 -S.DCB.TTY.bLINEWRAP .EQ 9 -S.DCB.TTY.bTITLE .EQ 10 +S.DCB.TTY.bTITLE .EQ 8 -S.DCB.TTY.bG0G1 .EQ 11 -S.DCB.TTY.bG0ALT .EQ 12 -S.DCB.TTY.bG1ALT .EQ 13 +S.DCB.TTY.bNORMAL .EQ 9 +S.DCB.TTY.bLINEWRAP .EQ 10 +S.DCB.TTY.bCRLF .EQ 11 -S.DCB.TTY.OUTTAIL .EQ 14 -S.DCB.TTY.OUTHEAD .EQ 15 -S.DCB.TTY.INBUFFER .EQ 16 -S.DCB.TTY.INBUFFER.MAX .EQ 32 -S.DCB.TTY.OUTBUFFER .EQ 32 +* .EQ 12 + +S.DCB.TTY.bG0G1 .EQ 13 +S.DCB.TTY.bG0ALT .EQ 14 +S.DCB.TTY.bG1ALT .EQ 15 + +S.DCB.TTY.OUTTAIL .EQ 16 +S.DCB.TTY.OUTHEAD .EQ 17 +S.DCB.TTY.INBUFFER .EQ 18 +S.DCB.TTY.INBUFFER.MAX .EQ 33 +S.DCB.TTY.OUTBUFFER .EQ 34 S.DCB.TTY.OUTBUFFER.MAX .EQ 48 * S.DCB.TTY .EQ 48 diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index a1390d81..17ef9d88 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # GetDevByName * Y,A = Ptr to device name (C-String) diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index dfdc8966..447445ad 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # OpenDir * ## C diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 6ed2439d..7197fce3 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- * DRV.DiskII * X = IOCTL diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index 0a9044aa..b612fdf2 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # ExpandStr * **In:** diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index 4258f7b8..221d568f 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- * SYSCALL (AUXLC to AUXLC) * Used by user & kernel for inter bank Calls diff --git a/SYS/KERNEL.S.IRQ.txt b/SYS/KERNEL.S.IRQ.txt index 0d5aa855..db3163ac 100644 --- a/SYS/KERNEL.S.IRQ.txt +++ b/SYS/KERNEL.S.IRQ.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- * called directly by IRQ Vector $FFFE in AuxLC * Must keep: diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 2a8c9e10..2eb17f6b 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- * $E000-E1FF System calls Jump Table *-------------------------------------- diff --git a/SYS/KERNEL.S.MATH.txt b/SYS/KERNEL.S.MATH.txt index 86bb5d12..b3a092da 100644 --- a/SYS/KERNEL.S.MATH.txt +++ b/SYS/KERNEL.S.MATH.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # FAdd,FSub,FMult,FDiv,FPwr * Return X+Y, X-Y, X*Y, X/Y, X^Y diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index c41f1a7e..f47d3137 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- ZPMemMgrSPtr .EQ ZPMEMMGR Pointer To Slot selected ZPMemMgrTmp1 .EQ ZPMEMMGR+2 diff --git a/SYS/KERNEL.S.PFT.txt b/SYS/KERNEL.S.PFT.txt index 26cb30e0..9819e2e7 100644 --- a/SYS/KERNEL.S.PFT.txt +++ b/SYS/KERNEL.S.PFT.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- * K.PFTAdd * In : diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index ffb8395b..72c02bc1 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- .DUMMY .OR ZPTMP+21 diff --git a/SYS/KERNEL.S.PWD.txt b/SYS/KERNEL.S.PWD.txt index 42811535..2fb5e26c 100644 --- a/SYS/KERNEL.S.PWD.txt +++ b/SYS/KERNEL.S.PWD.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # GetPWUID * ## C diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index c5400a5b..0eeda129 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # strtof * Convert String to 40 bits Float diff --git a/SYS/KERNEL.S.STRING.txt b/SYS/KERNEL.S.STRING.txt index b8ddab43..77048ed9 100644 --- a/SYS/KERNEL.S.STRING.txt +++ b/SYS/KERNEL.S.STRING.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 */-------------------------------------- * # StrLen * Returns Length of C-String diff --git a/SYS/KERNEL.S.TERM.txt b/SYS/KERNEL.S.TERM.txt index 0414e36c..2565a929 100644 --- a/SYS/KERNEL.S.TERM.txt +++ b/SYS/KERNEL.S.TERM.txt @@ -19,8 +19,10 @@ ZPTmpBool .BS 1 ZPTmpChar .BS 1 *-------------------------------------- bActive .BS 1 +CsiHeader .BS 1 bCsiInNum .BS 1 CsiParamCnt .BS 1 + CsiParams .BS 4 .ED *-------------------------------------- @@ -213,22 +215,38 @@ DRV.TERM.READ jsr DRV.TERM.GetIOCTLBufCntDCB and #$7F - ldx KeyRemapped + ldx #KeyRemapped.cnt-1 + .2 cmp KeyRemapped,x beq .3 dex - bne .2 - jsr Char.Out.Put no remap....send char.... + bpl .2 + + cmp #C.CR + bne .21 + + jsr Char.Out.Put + ldy #S.DCB.TTY.bCRLF + lda (ZPDCBPtr),y + bpl .7 + + lda #C.LF + +.21 jsr Char.Out.Put no remap....send char.... bra .7 and flush -.3 lda KeyRemappedIdx,x - tax +.3 lda KeyRemapped.Tbl,x + pha -.4 lda KeyRemappedTbl,x - beq .7 end of remap....flush + lda #C.ESC jsr Char.Out.Put - inx - bra .4 + + lda #'[' + jsr Char.Out.Put + + pla + jsr Char.Out.Put + bra .7 .6 ldy #S.DCB.TTY.OUTTAIL lda (ZPDCBPtr),y @@ -274,7 +292,7 @@ DRV.TERM.WRITE jsr DRV.TERM.GetIOCTLBufCntDCB .1 inc ZPCount bne .2 inc ZPCount+1 - beq FS.8 + beq .8 .2 ldy #S.DCB.TTY.MODE lda (ZPDCBPtr),y @@ -295,6 +313,9 @@ DRV.TERM.WRITE jsr DRV.TERM.GetIOCTLBufCntDCB .DA DRV.TERM.IAC .DA DRV.TERM.G0 .DA DRV.TERM.G1 + +.8 clc + rts *-------------------------------------- DRV.TERM.COUT lda (ZPBufPtr) @@ -324,8 +345,8 @@ DRV.TERM.COUT lda (ZPBufPtr) jmp (.4,x) .4 .DA ENQ - .DA BS - .DA LF + .DA DRV.TERM.COUT.BS + .DA DRV.TERM.COUT.LF .DA DRV.TERM.COUT.FF .DA DRV.TERM.COUT.CR .DA DRV.TERM.COUT.SO @@ -343,18 +364,43 @@ DRV.TERM.COUT.FS ldy #S.DCB.TTY.bLINEWRAP lda (ZPDCBPtr),y - bpl FS.8 + bpl DRV.TERM.COUT.FS.8 ldy #S.DCB.TTY.CH lda #0 sta (ZPDCBPtr),y - jmp LF + jmp DRV.TERM.COUT.LF.1 .1 inc sta (ZPDCBPtr),y -FS.8 clc +DRV.TERM.COUT.FS.8 + clc + rts +*-------------------------------------- +DRV.TERM.COUT.BS + ldy #S.DCB.TTY.CH + lda (ZPDCBPtr),y + beq .1 + + dec + sta (ZPDCBPtr),y + clc + rts + +.1 ldy #S.DCB.TTY.CV + lda (ZPDCBPtr),y + beq .2 + + dec + sta (ZPDCBPtr),y + + lda #79 + dey + sta (ZPDCBPtr),y + +.2 clc rts *-------------------------------------- DRV.TERM.COUT.DEL @@ -367,7 +413,7 @@ DRV.TERM.COUT.DEL .1 iny S.DCB.TTY.CV lda (ZPDCBPtr),y - beq FS.8 + beq DRV.TERM.COUT.FS.8 dec sta (ZPDCBPtr),y @@ -470,11 +516,20 @@ DRV.TERM.CSI ldy #S.DCB.TTY.INBUFFER rts DRV.TERM.CSI.Exec + stz CsiHeader stz CsiParamCnt stz bCsiInNum - ldy #S.DCB.TTY.INBUFFER EscSeq Ptr + ldy #S.DCB.TTY.INBUFFER+1 EscSeq Ptr + lda (ZPDCBPtr),y + dey + cmp #'?' + bne .10 + + sta CsiHeader + iny + .10 stz ZPTmpWord stz ZPTmpWord+1 @@ -554,8 +609,8 @@ DRV.TERM.CSI.Exec tax jmp (.8,x) -.8 .DA Csi.LWEnable h - .DA Csi.LWDisable l +.8 .DA Csi.SetMode h + .DA Csi.ResetMode l .DA Csi.DispAttr m .DA Csi.Query n .DA Csi.Scroll r @@ -563,24 +618,46 @@ DRV.TERM.CSI.Exec .DA Csi.EraseLine K .DA Csi.Home H *-------------------------------------- -Csi.LWEnable sec +Csi.SetMode sec .HS 90 BCC *-------------------------------------- -Csi.LWDisable clc +Csi.ResetMode clc + ldx CsiParamCnt - beq .8 - dex - bne .8 - - lda CsiParams - eor #7 - bne .8 - - ror - ldy #S.DCB.TTY.bLINEWRAP - sta (ZPDCBPtr),y + beq .99 -.8 clc + dex + bne .99 + + ldx CsiHeader + lda CsiParams + + php + + cmp #20 bCRLF + bne .1 + txa + bne .98 + + ldy #S.DCB.TTY.bCRLF + bra .8 + +.1 cmp #7 + bne .98 + + cpx #'?' + bne .98 + + ldy #S.DCB.TTY.bLINEWRAP + +.8 plp + ror + sta (ZPDCBPtr),y + clc + rts + +.98 plp +.99 clc rts *-------------------------------------- Csi.DispAttr ldx CsiParamCnt @@ -917,30 +994,15 @@ ENQ ldx #0 .8 clc rts *-------------------------------------- -BS ldy #S.DCB.TTY.CH +DRV.TERM.COUT.LF + ldy #S.DCB.TTY.bCRLF lda (ZPDCBPtr),y - beq .1 - - dec - sta (ZPDCBPtr),y - clc - rts - -.1 ldy #S.DCB.TTY.CV - lda (ZPDCBPtr),y - beq .2 - - dec - sta (ZPDCBPtr),y - - lda #79 - dey - sta (ZPDCBPtr),y - -.2 clc - rts -*-------------------------------------- -LF ldy #S.DCB.TTY.CV + bpl DRV.TERM.COUT.LF.1 + + jsr DRV.TERM.COUT.CR + +DRV.TERM.COUT.LF.1 + ldy #S.DCB.TTY.CV lda (ZPDCBPtr),y ldy #S.DCB.TTY.SCROLLBOT cmp (ZPDCBPtr),y @@ -1280,66 +1342,6 @@ DRV.TERM.Title.OFF sta (ZPDCBPtr),y jmp DRV.TERM.LINE0CPY *-------------------------------------- -RESET.VALUES .DA #0 S.DCB.TTY.MODE - .DA #0 S.DCB.TTY.CH - .DA #0 S.DCB.TTY.CV - .DA #0 S.DCB.TTY.SCROLLTOP - .DA #23 S.DCB.TTY.SCROLLBOT - .DA #0 S.DCB.TTY.bCURON - .DA #$80 S.DCB.TTY.bNORMAL - .DA #$80 S.DCB.TTY.bLINEWRAP - .DA #0 S.DCB.TTY.bTITLE - .DA #0 S.DCB.TTY.bG0G1 - .DA #0 S.DCB.TTY.bG0ALT - .DA #$80 S.DCB.TTY.bG1ALT - .DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTTAIL - .DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTHEAD - .DA #S.DCB.TTY.INBUFFER S.DCB.TTY.INBUFFER -*-------------------------------------- -CtrlChars .DA #C.ENQ,#C.BS,#C.LF,#C.FF,#C.CR,#C.SO,#C.SI,#C.FS,#C.ESC -CtrlChars.Cnt .EQ *-CtrlChars -*-------------------------------------- -EscCodes .AZ "MDc[()" -EscCodes.Cnt .EQ *-EscCodes -EscModes .DA #0,#0,#0,#S.DCB.TTY.MODE.CSI,#S.DCB.TTY.MODE.G0,#S.DCB.TTY.MODE.G1 -CsiCodes .AS "hlmnrJKH" -CsiCodes.Cnt .EQ *-CsiCodes -*-------------------------------------- -KeyRemapped .HS 05080A0B0D15 L,D,U,CR,R -KeyRemappedIdx .HS 050004080C0F -KeyRemappedTbl .EQ * -KeyRemappedLEFT .HS 1B5B4400 esc[D -KeyRemappedDOWN .HS 1B5B4200 esc[B -KeyRemappedUP .HS 1B5B4100 esc[A -KeyRemappedCR .HS 0D0A00 crlf -KeyRemappedRGHT .HS 1B5B4300 esc[C -*-------------------------------------- -WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA -WILLDO.CNT .EQ *-WILLDO -WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS -WILLDONT.CNT .EQ *-WILLDONT -DOWILL .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.TTYPE,#TELOPT.NAWS -DOWILL.CNT .EQ *-DOWILL -DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW -DOWONT.CNT .EQ *-DOWONT -SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS -ENQ.String .AS "xterm" -ENQ.String.Len .EQ *-ENQ.String - .DA #IAC,#SE -SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE -SB.IS.NAWS .DA #IAC,#SB,#TELOPT.NAWS,#SB.IS - .DA 80 - .DA 24 - .DA #IAC,#SE -SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS -*-------------------------------------- -DRV.TERM.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ - .DA #0,#0,#0 - >PSTR "A2osX VT100 TERM" - .DA #S.DIB.T.CHAR - .DA #0 - .DA K.VER -*-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.TERM LOAD USR/SRC/SYS/KERNEL.S diff --git a/SYS/KERNEL.S.TERMLC.txt b/SYS/KERNEL.S.TERMLC.txt index 4c9627fe..688901af 100644 --- a/SYS/KERNEL.S.TERMLC.txt +++ b/SYS/KERNEL.S.TERMLC.txt @@ -285,6 +285,67 @@ REMAP.E0.FF .HS 5B4142434445464748495FA0DF544e4f * p q r s t u v w x y z { | } ~ DEL .HS 50DF5253545556575F595a5b5c5d5e5f *-------------------------------------- +RESET.VALUES .DA #0 S.DCB.TTY.MODE + .DA #0 S.DCB.TTY.CH + .DA #0 S.DCB.TTY.CV + .DA #0 S.DCB.TTY.SCROLLTOP + .DA #23 S.DCB.TTY.SCROLLBOT + .DA #0 S.DCB.TTY.bCURON + .DA #0 S.DCB.TTY.bTITLE + + .DA #$80 S.DCB.TTY.bNORMAL + .DA #$80 S.DCB.TTY.bLINEWRAP + .DA #$80 S.DCB.TTY.bCRLF + + .DA #0 + + .DA #0 S.DCB.TTY.bG0G1 + .DA #0 S.DCB.TTY.bG0ALT + .DA #$80 S.DCB.TTY.bG1ALT + + .DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTTAIL + .DA #S.DCB.TTY.OUTBUFFER S.DCB.TTY.OUTHEAD + .DA #S.DCB.TTY.INBUFFER S.DCB.TTY.INBUFFER +*-------------------------------------- +CtrlChars .DA #C.ENQ,#C.BS,#C.LF,#C.FF,#C.CR,#C.SO,#C.SI,#C.FS,#C.ESC +CtrlChars.Cnt .EQ *-CtrlChars +*-------------------------------------- +EscCodes .AZ "MDc[()" +EscCodes.Cnt .EQ *-EscCodes +EscModes .DA #0,#0,#0,#S.DCB.TTY.MODE.CSI,#S.DCB.TTY.MODE.G0,#S.DCB.TTY.MODE.G1 +CsiCodes .AS "hlmnrJKH" +CsiCodes.Cnt .EQ *-CsiCodes +*-------------------------------------- +KeyRemapped .HS 080A0B15 Left,Down,Up,Right +KeyRemapped.Cnt .EQ *-KeyRemapped +KeyRemapped.Tbl .HS 44424143 esc[D,esc[B,esc[A,esc[C +*-------------------------------------- +WILLDO .DA #TELOPT.BINARY,#TELOPT.SGA +WILLDO.CNT .EQ *-WILLDO +WILLDONT .DA #TELOPT.TSPEED,#TELOPT.LINEMODE,#TELOPT.STATUS +WILLDONT.CNT .EQ *-WILLDONT +DOWILL .DA #TELOPT.BINARY,#TELOPT.SGA,#TELOPT.TTYPE,#TELOPT.NAWS +DOWILL.CNT .EQ *-DOWILL +DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW +DOWONT.CNT .EQ *-DOWONT +SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS +ENQ.String .AS "xterm" +ENQ.String.Len .EQ *-ENQ.String + .DA #IAC,#SE +SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE +SB.IS.NAWS .DA #IAC,#SB,#TELOPT.NAWS,#SB.IS + .DA 80 + .DA 24 + .DA #IAC,#SE +SB.IS.NAWS.LEN .EQ *-SB.IS.NAWS +*-------------------------------------- +DRV.TERM.DIB .DA #S.DIB.S.WRITE+S.DIB.S.READ + .DA #0,#0,#0 + >PSTR "A2osX VT100 TERM" + .DA #S.DIB.T.CHAR + .DA #0 + .DA K.VER +*-------------------------------------- BUF.BASEL .DA #0 .DA #80 .DA #160 diff --git a/SYS/KERNEL.S.TIME.txt b/SYS/KERNEL.S.TIME.txt index b9270226..b007a3c2 100644 --- a/SYS/KERNEL.S.TIME.txt +++ b/SYS/KERNEL.S.TIME.txt @@ -1,6 +1,5 @@ NEW -PREFIX -AUTO 4,1 + AUTO 3,1 *-------------------------------------- * https://www.cise.ufl.edu/~cop4600/cgi-bin/lxr/http/source.cgi/lib/ansi/gmtime.c *--------------------------------------