From adaebae51b2fcd3dc9c8c5a13bf0ad6482d55cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 22 Jan 2016 17:29:11 +0100 Subject: [PATCH] Fix DEL bug (partially) --- BIN/EDIT.S.BUF.txt | 78 +++++++++++++++++++++------------------------ BIN/EDIT.S.SCRN.txt | 39 ++++++++++++----------- 2 files changed, 57 insertions(+), 60 deletions(-) diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt index fe181a86..84acae98 100644 --- a/BIN/EDIT.S.BUF.txt +++ b/BIN/EDIT.S.BUF.txt @@ -44,16 +44,10 @@ BUF.InsertA sta TmpByte ply jsr BUF.GetNewYA bcs .9 - >STYA BufPtr >LDYA BUF.COffset >STYA TmpCount - ldy #hBufferBackup - lda (pData),y - >SYSCALL SYS.GetMemPtrA - >STYA BufPtrBackup - ldy #0 .1 jsr DecTmpCount @@ -102,24 +96,30 @@ BUF.Del ldy #FileLen clc rts -.10 lda (pData),y +.10 jsr BUF.ComputeCOffset + ldy #FileLen + lda BUF.COffset + clc + sbc (pData),y + lda BUF.COffset + iny + sbc (pData),y + bcs .11 + rts + +.11 lda (pData),y pha dey lda (pData),y - ply + tay + pla jsr BUF.GetNewYA - bcs .9 - >STYA BufPtr +* bcs .9 + bcs * - jsr BUF.ComputeCOffset >LDYA BUF.COffset >STYA TmpCount - ldy #hBufferBackup - lda (pData),y - >SYSCALL SYS.GetMemPtrA - >STYA BufPtrBackup - ldy #0 .1 jsr DecTmpCount @@ -132,7 +132,11 @@ BUF.Del ldy #FileLen inc BufPtr+1 bra .1 -.2 inc BufPtrBackup +.2 lda (BufPtrBackup) + cmp #13 + beq * + + inc BufPtrBackup bne .3 inc BufPtrBackup+1 @@ -252,10 +256,11 @@ BUF.GetLineAX >STAX BUF.TmpLine1 cmp BUF.TmpLine2+1 bne .99 -.8 lda BUF.LOffset - sta BUF.COffset - lda BUF.LOffset+1 - sta BUF.COffset+1 +.8 +* lda BUF.LOffset +* sta BUF.COffset +* lda BUF.LOffset+1 +* sta BUF.COffset+1 clc Y = Line length rts @@ -267,34 +272,25 @@ BUF.GetNewYA >STYA TmpLen lda (pData),y beq .1 >SYSCALL SYS.FreeMemA - ldy #hBufferBackup - lda #0 - sta (pData),y -.1 >PUSHW TmpLen +.1 ldy #hBuffer + lda (pData),y + ldy #hBufferBackup + sta (pData),y + >SYSCALL SYS.GetMemPtrA + >STYA BufPtrBackup + + >PUSHW TmpLen >PUSHBI S.MEM.F.INIT0 >SYSCALL SYS.GetMem bcs .9 - phy - pha - - ldy #hBuffer - lda (pData),y - ldy #hBufferBackup - sta (pData),y - + >STYA BufPtr txa ldy #hBuffer sta (pData),y - - pla - ply - clc - rts - -.9 sec - rts + +.9 rts *-------------------------------------- MAN SAVE BIN/EDIT.S.BUF diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 58b7461c..3ba540c4 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -178,9 +178,8 @@ SCRN.UpdateLineAtALenY >LDYA L.SEQ.CEOL >SYSCALL SYS.PSTRoutYA bcs .9 - - clc -.9 rts + rts +.9 jmp Ctrl.Q *-------------------------------------- * CC = set INV, CS = set NORM *-------------------------------------- @@ -205,7 +204,8 @@ SCRN.UpdateAttrC sta bSelected .8 clc -.9 rts + rts +.9 jmp Ctrl.Q *-------------------------------------- SCRN.UpdateStatusBar ldy #PromptMode @@ -249,7 +249,9 @@ SCRN.UpdateStatusBar >PUSHA >LDYA L.MSG.STATUSBAR,x >SYSCALL SYS.PSTRoutYA -.9 rts + bcs .9 + rts +.9 jmp Ctrl.Q *-------------------------------------- SCRN.UpdateStatusBarErrA >PUSHA @@ -258,7 +260,9 @@ SCRN.UpdateStatusBarErrA >PUSHA >LDYA L.MSG.STATUSBAR.E >SYSCALL SYS.PSTRoutYA + bcs .9 rts +.9 jmp Ctrl.Q *-------------------------------------- SCRN.GotoCurXCurY ldy #CurX @@ -278,7 +282,9 @@ GotoXY txa >LDYA L.MSG.GOTOXY >SYSCALL SYS.PSTRoutYA + bcs .9 rts +.9 jmp Ctrl.Q *-------------------------------------- SCRN.UpdateViewPort lda #$ff @@ -338,7 +344,7 @@ SCRN.UpdateViewPort bpl .3 jsr SCRN.scrollDn bcc .3 - rts + jmp Ctrl.Q .4 clc ldy #ScreenY @@ -377,8 +383,7 @@ SCRN.UpdateViewPort bit bNotRepaint bpl .4 jsr SCRN.scrollUp - bcc .4 - rts + bcs .9 .5 sec ldy #FileX @@ -403,7 +408,9 @@ SCRN.UpdateViewPort .6 jsr SCRN.UpdateStatusBar bcs .9 jsr SCRN.GotoCurXCurY -.9 rts + bcs .9 + rts +.9 jmp Ctrl.Q *-------------------------------------- SCRN.scrollUp lda #$1B >SYSCALL SYS.CoutA @@ -427,10 +434,8 @@ SCRN.scrollUp lda #$1B lda #21 jsr SCRN.UpdateLineAtALenY bcs .9 - - - clc -.9 rts + rts +.9 jmp Ctrl.Q *-------------------------------------- SCRN.scrollDn lda #$1B >SYSCALL SYS.CoutA @@ -450,12 +455,8 @@ SCRN.scrollDn lda #$1B lda #0 jsr SCRN.UpdateLineAtALenY bcs .9 - - - - clc -.9 rts - + rts +.9 jmp Ctrl.Q *-------------------------------------- MAN SAVE BIN/EDIT.S.SCRN