From 7a927f173ebf0ccd3d35d21e8d72d5a7db06eb57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 31 Oct 2019 14:18:38 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CL.txt | 174 +++++++++++++++++++++++---------------- BIN/SH.S.txt | 4 +- 3 files changed, 106 insertions(+), 72 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index e8392e413f5ab1c605acc83f8ec52b38641cbc14..c253a6483e39c03a232eb551d2c556bd90abae1c 100644 GIT binary patch delta 16716 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 CEu>)p delta 15547 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 diff --git a/BIN/SH.S.CL.txt b/BIN/SH.S.CL.txt index 8d4084a0..a5fdcb4c 100644 --- a/BIN/SH.S.CL.txt +++ b/BIN/SH.S.CL.txt @@ -32,13 +32,26 @@ CL.PrintPrompt >LDYA L.PS1 >SYSCALL printf .9 rts *-------------------------------------- +CL.READN0X txa +CL.READN0A >PUSHA + >PUSHBI 1 + >PUSHW L.FMT.Byte + >LDYA ZPCLBuf + >SYSCALL sprintf + bcs .9 + + lda #$ff + >STA.G CL.bReady +* clc +.9 rts +*-------------------------------------- CL.CHARIN tax - >LDA.G bEscMode + >LDA.G CL.bEscMode \e ? beq .13 cpx #'[' - beq .9 + beq .8 \e[ lda #0 sta (pData),y Y=bEscMode @@ -48,26 +61,91 @@ CL.CHARIN tax .17 cmp EscChars,x beq .18 + dex bpl .17 - clc - rts -.18 txa +.8 rts invalid \e[ sequence + +.18 >LDA.G READ.N + bne .19 + + lda EscChars.Remap,x + bra CL.READN0A + +.19 txa asl tax jmp (J.ESC,x) *-------------------------------------- -.13 cpx #C.SPACE +.13 cpx #C.ESC + bne .11 + + lda #$ff + >STA.G CL.bEscMode + clc + rts + +.11 >LDA.G READ.N + beq CL.READN0X + + cpx #C.SPACE bcc CL.CHARIN.CTRL .1 cpx #C.DEL - bne .2 + bne CL.Insert +*-------------------------------------- +* Erase char BEFORE cursor +*-------------------------------------- + >LDA.G CL.Len + beq .8 + >LDA.G CL.Ptr + beq .8 + + lda #C.BS + >SYSCALL PutChar + + >DEC.G CL.Ptr jmp CL.DEL +*-------------------------------------- +CL.Insert >LDA.G CL.Len + >CMP.G READ.N + beq .8 Buffer full, discard... -.2 jmp CL.Insert + inc + >STA.G CL.Len -.9 clc + pha +.1 ply + dey + lda (ZPCLBuf),y Move from Ptr To end of buffer forward... + iny + sta (ZPCLBuf),y + dey + phy + tya + >CMP.G CL.Ptr + bne .1 + + ply Y=CL.Ptr +* >LDA.G CL.Ptr + + txa + sta (ZPCLBuf),y + >INC.G CL.Ptr + + >LDA.G bREAD.S + bmi .7 + txa + >SYSCALL PutChar + jsr CL.PrintEOL + +.7 >LDA.G READ.N READ N = 1, don't wait for CR + dec + bne .8 + lda #$ff + >STA.G CL.bReady +.8 clc rts *-------------------------------------- CL.CHARIN.CTRL cpx #C.CR @@ -76,18 +154,11 @@ CL.CHARIN.CTRL cpx #C.CR cpx #C.EOF beq .18 -.10 cpx #C.ESC - bne .11 - lda #$ff - >STA.G bEscMode - clc - rts - -.11 cpx #3 Ctrl-C + cpx #3 Ctrl-C beq CL.CLR cpx #26 Ctrl-Z - bne .13 + bne .8 jmp CL.SUPPR .18 jsr CheckLFAfterCR Check for any extra LF @@ -96,7 +167,7 @@ CL.CHARIN.CTRL cpx #C.CR lda #$ff >STA.G CL.bReady -.13 clc +.8 clc .9 rts *-------------------------------------- CL.CLR lda (ZPCLBuf) @@ -124,46 +195,20 @@ CL.CLR lda (ZPCLBuf) *-------------------------------------- CL.RESET lda #0 sta (ZPCLBuf) -CL.RESET.1 >STA.G CL.bReady - >STA.G CL.Ptr + +CL.RESET.1 >STA.G CL.Ptr >STA.G CL.Len - rts -*-------------------------------------- -CL.Insert >LDA.G CL.Len - >CMP.G READ.N - beq .8 Buffer full, discard... - inc - >STA.G CL.Len - - pha -.1 ply - dey - lda (ZPCLBuf),y Move from Ptr To end of buffer forward... - iny - sta (ZPCLBuf),y - dey - phy - tya - >CMP.G CL.Ptr - bne .1 - ply Y=CL.Ptr -* >LDA.G CL.Ptr - - txa - sta (ZPCLBuf),y - >INC.G CL.Ptr - - >LDA.G bREAD.S - bmi .7 - txa - >SYSCALL PutChar - jsr CL.PrintEOL -.7 >LDA.G READ.N READ N = 1, don't wait for CR - dec - bne .8 - lda #$ff >STA.G CL.bReady -.8 clc + >STA.G CL.bEscMode + rts + +*ldy #CL.Ptr + +*.1 sta (pData),y +* iny +* cpx #CL.bEscMode+1 +* bne .1 + rts *-------------------------------------- CL.BS >LDA.G CL.Ptr @@ -190,21 +235,8 @@ CL.SUPPR >LDA.G CL.Len >LDA.G CL.Ptr >CMP.G CL.Len beq CL.PrintEOL.8 - - bra CL.DEL.1 *-------------------------------------- -* Erase char BEFORE cursor -*-------------------------------------- -CL.DEL >LDA.G CL.Len - beq CL.PrintEOL.8 - >LDA.G CL.Ptr - beq CL.PrintEOL.8 - - lda #C.BS - >SYSCALL PutChar - - >DEC.G CL.Ptr -CL.DEL.1 pha +CL.DEL pha .1 ply iny lda (ZPCLBuf),y diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 8a9edd45..d1d893e5 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -123,6 +123,7 @@ L.MSG.PRINTENV .DA MSG.PRINTENV L.MSG.PID .DA MSG.PID L.FMT.DATE .DA FMT.DATE L.FMT.Long .DA FMT.Long +L.FMT.Byte .DA FMT.Byte J.ESC .DA CL.BS left arrow .DA HIS.GetNext .DA HIS.GetPrev @@ -526,6 +527,7 @@ MSG.PRINTENV .AZ "%s = %s\r\n" MSG.PID .AZ "PID=%d\r\n" FMT.DATE .AZ "%A, %B %d %Y %H:%M:%S" FMT.Long .AZ "%L" +FMT.Byte .AZ "%d" *-------------------------------------- HOME.PROFILE .AZ "${HOME}PROFILE" .HS 00 To Make It ArgV @@ -643,7 +645,6 @@ hFuncList .BS 1 bExitOnEOF .BS 1 -bEscMode .BS 1 bPause .BS 1 bSET.C .BS 1 @@ -661,6 +662,7 @@ CL.hCLBuf .BS 1 CL.Ptr .BS 1 CL.Len .BS 1 CL.bReady .BS 1 +CL.bEscMode .BS 1 CORE.hArgVBuf .BS 1 CORE.bPipeIn .BS 1