diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 6b39e38c..aa5d6520 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 06e9a0a0..4478dc0d 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -82,13 +82,7 @@ SCRN.UpdateTopBarAsync lda #C.CR jsr SCRN.ToLineBuf - >LDA.G bUnSaved - beq .2 - - lda #'!' - jsr SCRN.ToLineBuf - -.2 >LDA.G FileType + >LDA.G FileType tax >PUSHW L.MSG.FILETYPES,x @@ -101,7 +95,13 @@ SCRN.UpdateTopBarAsync jsr SCRN.LineBufSprintf bcs .9 - ldx #SEQ.CURRESTORE-SEQS + >LDA.G bUnSaved + beq .2 + + lda #'!' + jsr SCRN.ToLineBuf + +.2 ldx #SEQ.CURRESTORE-SEQS jsr SCRN.SEQS.ToLineBuf jmp SCRN.LineBufOut @@ -562,14 +562,6 @@ SCRN.LineBufInitBut SCRN.LineBufInitEdit phx ldx #SEQ.EDIT-SEQS - bra SCRN.LineBufInit -SCRN.LineBufInitNorm - phx - ldx #SEQ.NORM-SEQS - bra SCRN.LineBufInit -SCRN.LineBufInitInv - phx - ldx #SEQ.INV-SEQS SCRN.LineBufInit >LDYA.G LineBuf diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index 85e1390d..61ba1c73 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -259,42 +259,48 @@ CS.QUIT ldy #hLineBuf CharIn tax >LDA.G bEscMode + bpl .1 Not in ESC mode - asl - txa - bcc .1 Not in ESC mode - - cmp #'[' - beq .8 - - lda (pData) #EscBuffer - inc - sta (pData) - cmp #32 - bne .10 - >DEBUG - >STZ.G bEscMode + cpx #'[' \e[ ? + bne .11 + + lda (pData) #EscBufferPtr + bne .19 buffer not empty...bad SEQ clc rts -.10 tay +.11 lda (pData) #EscBufferPtr + cmp #16 + bne .10 + +.19 >STZ.G bEscMode + + clc + rts + +.10 inc + sta (pData) + tay txa sta (pData),y cmp #64 - bcc .8 + bcc .8 not a letter...SEQ is incomplete jsr CharIn.Esc bcs .8 Not translated, exit - -.1 cmp #C.ESC + .HS B0 BCS +*-------------------------------------- +.1 txa + + cmp #C.ESC bne .2 lda #$ff >STA.G bEscMode inc - sta (pData) #EscBuffer + sta (pData) #EscBufferPtr .8 clc .9 rts @@ -321,17 +327,28 @@ CharIn tax *-------------------------------------- CharIn.Esc >STZ.G bEscMode - lda (pData) #EscBuffer + lda (pData) #EscBufferPtr tay + + lda #0 + sta (pData) + lda (pData),y + + cpy #1 + bne .10 + ldx #EscChars.Cnt-1 .1 cmp EscChars,x beq .2 dex bpl .1 + + sec + rts - cmp #'R' Response to cursor position query? +.10 cmp #'R' Response to cursor position query? beq .3 sec @@ -340,29 +357,20 @@ CharIn.Esc >STZ.G bEscMode .2 lda EscAscii,x clc rts - +*-------------------------------------- +* \e[xx;yyR +*-------------------------------------- .3 stz TmpByte - ldy #1 + ldy #0 -.4 lda (pData),y +.4 iny + + lda (pData),y cmp #';' beq .5 - and #$0f - pha - lda TmpByte - asl - asl - clc - adc TmpByte - asl - sta TmpByte - pla - clc - adc TmpByte - sta TmpByte - iny + jsr CharIn.TmpByte10pA bra .4 .5 phy @@ -382,12 +390,22 @@ CharIn.Esc >STZ.G bEscMode ply stz TmpByte - iny +.6 iny -.6 lda (pData),y + lda (pData),y cmp #'R' beq .7 + jsr CharIn.TmpByte10pA + bra .6 + +.7 lda TmpByte + >STA.G ScreenW + + sec + rts +*-------------------------------------- +CharIn.TmpByte10pA and #$0f pha lda TmpByte @@ -401,13 +419,6 @@ CharIn.Esc >STZ.G bEscMode clc adc TmpByte sta TmpByte - iny - bra .6 - -.7 lda TmpByte - >STA.G ScreenW - - sec rts *-------------------------------------- .INB USR/SRC/BIN/EDIT.S.BUF @@ -415,8 +426,8 @@ CharIn.Esc >STZ.G bEscMode .INB USR/SRC/BIN/EDIT.S.DLG .INB USR/SRC/BIN/EDIT.S.FILE .INB USR/SRC/BIN/EDIT.S.SCRN -CS.END *-------------------------------------- +CS.END SEQS .EQ * SEQ.BAR .AZ "\e[7m\e[37;40m" SEQ.DLG .AS "\e[30;46m" @@ -600,7 +611,7 @@ DLG.FIND.LEN .EQ *-DLG.FIND .DUMMY .OR 0 DS.START -EscBuffer .BS 33 +EscBuffer .BS 16 bEscMode .BS 1 bExit .BS 1