Fix DEL bug (partially)

This commit is contained in:
Rémy GIBERT 2016-01-22 17:29:11 +01:00
parent 8ad193c5fd
commit adaebae51b
2 changed files with 57 additions and 60 deletions

View File

@ -44,16 +44,10 @@ BUF.InsertA sta TmpByte
ply ply
jsr BUF.GetNewYA jsr BUF.GetNewYA
bcs .9 bcs .9
>STYA BufPtr
>LDYA BUF.COffset >LDYA BUF.COffset
>STYA TmpCount >STYA TmpCount
ldy #hBufferBackup
lda (pData),y
>SYSCALL SYS.GetMemPtrA
>STYA BufPtrBackup
ldy #0 ldy #0
.1 jsr DecTmpCount .1 jsr DecTmpCount
@ -102,24 +96,30 @@ BUF.Del ldy #FileLen
clc clc
rts 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 pha
dey dey
lda (pData),y lda (pData),y
ply tay
pla
jsr BUF.GetNewYA jsr BUF.GetNewYA
bcs .9 * bcs .9
>STYA BufPtr bcs *
jsr BUF.ComputeCOffset
>LDYA BUF.COffset >LDYA BUF.COffset
>STYA TmpCount >STYA TmpCount
ldy #hBufferBackup
lda (pData),y
>SYSCALL SYS.GetMemPtrA
>STYA BufPtrBackup
ldy #0 ldy #0
.1 jsr DecTmpCount .1 jsr DecTmpCount
@ -132,7 +132,11 @@ BUF.Del ldy #FileLen
inc BufPtr+1 inc BufPtr+1
bra .1 bra .1
.2 inc BufPtrBackup .2 lda (BufPtrBackup)
cmp #13
beq *
inc BufPtrBackup
bne .3 bne .3
inc BufPtrBackup+1 inc BufPtrBackup+1
@ -252,10 +256,11 @@ BUF.GetLineAX >STAX BUF.TmpLine1
cmp BUF.TmpLine2+1 cmp BUF.TmpLine2+1
bne .99 bne .99
.8 lda BUF.LOffset .8
sta BUF.COffset * lda BUF.LOffset
lda BUF.LOffset+1 * sta BUF.COffset
sta BUF.COffset+1 * lda BUF.LOffset+1
* sta BUF.COffset+1
clc Y = Line length clc Y = Line length
rts rts
@ -267,34 +272,25 @@ BUF.GetNewYA >STYA TmpLen
lda (pData),y lda (pData),y
beq .1 beq .1
>SYSCALL SYS.FreeMemA >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 >PUSHBI S.MEM.F.INIT0
>SYSCALL SYS.GetMem >SYSCALL SYS.GetMem
bcs .9 bcs .9
phy >STYA BufPtr
pha
ldy #hBuffer
lda (pData),y
ldy #hBufferBackup
sta (pData),y
txa txa
ldy #hBuffer ldy #hBuffer
sta (pData),y sta (pData),y
pla .9 rts
ply
clc
rts
.9 sec
rts
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE BIN/EDIT.S.BUF SAVE BIN/EDIT.S.BUF

View File

@ -178,9 +178,8 @@ SCRN.UpdateLineAtALenY
>LDYA L.SEQ.CEOL >LDYA L.SEQ.CEOL
>SYSCALL SYS.PSTRoutYA >SYSCALL SYS.PSTRoutYA
bcs .9 bcs .9
rts
clc .9 jmp Ctrl.Q
.9 rts
*-------------------------------------- *--------------------------------------
* CC = set INV, CS = set NORM * CC = set INV, CS = set NORM
*-------------------------------------- *--------------------------------------
@ -205,7 +204,8 @@ SCRN.UpdateAttrC
sta bSelected sta bSelected
.8 clc .8 clc
.9 rts rts
.9 jmp Ctrl.Q
*-------------------------------------- *--------------------------------------
SCRN.UpdateStatusBar SCRN.UpdateStatusBar
ldy #PromptMode ldy #PromptMode
@ -249,7 +249,9 @@ SCRN.UpdateStatusBar
>PUSHA >PUSHA
>LDYA L.MSG.STATUSBAR,x >LDYA L.MSG.STATUSBAR,x
>SYSCALL SYS.PSTRoutYA >SYSCALL SYS.PSTRoutYA
.9 rts bcs .9
rts
.9 jmp Ctrl.Q
*-------------------------------------- *--------------------------------------
SCRN.UpdateStatusBarErrA SCRN.UpdateStatusBarErrA
>PUSHA >PUSHA
@ -258,7 +260,9 @@ SCRN.UpdateStatusBarErrA
>PUSHA >PUSHA
>LDYA L.MSG.STATUSBAR.E >LDYA L.MSG.STATUSBAR.E
>SYSCALL SYS.PSTRoutYA >SYSCALL SYS.PSTRoutYA
bcs .9
rts rts
.9 jmp Ctrl.Q
*-------------------------------------- *--------------------------------------
SCRN.GotoCurXCurY SCRN.GotoCurXCurY
ldy #CurX ldy #CurX
@ -278,7 +282,9 @@ GotoXY txa
>LDYA L.MSG.GOTOXY >LDYA L.MSG.GOTOXY
>SYSCALL SYS.PSTRoutYA >SYSCALL SYS.PSTRoutYA
bcs .9
rts rts
.9 jmp Ctrl.Q
*-------------------------------------- *--------------------------------------
SCRN.UpdateViewPort SCRN.UpdateViewPort
lda #$ff lda #$ff
@ -338,7 +344,7 @@ SCRN.UpdateViewPort
bpl .3 bpl .3
jsr SCRN.scrollDn jsr SCRN.scrollDn
bcc .3 bcc .3
rts jmp Ctrl.Q
.4 clc .4 clc
ldy #ScreenY ldy #ScreenY
@ -377,8 +383,7 @@ SCRN.UpdateViewPort
bit bNotRepaint bit bNotRepaint
bpl .4 bpl .4
jsr SCRN.scrollUp jsr SCRN.scrollUp
bcc .4 bcs .9
rts
.5 sec .5 sec
ldy #FileX ldy #FileX
@ -403,7 +408,9 @@ SCRN.UpdateViewPort
.6 jsr SCRN.UpdateStatusBar .6 jsr SCRN.UpdateStatusBar
bcs .9 bcs .9
jsr SCRN.GotoCurXCurY jsr SCRN.GotoCurXCurY
.9 rts bcs .9
rts
.9 jmp Ctrl.Q
*-------------------------------------- *--------------------------------------
SCRN.scrollUp lda #$1B SCRN.scrollUp lda #$1B
>SYSCALL SYS.CoutA >SYSCALL SYS.CoutA
@ -427,10 +434,8 @@ SCRN.scrollUp lda #$1B
lda #21 lda #21
jsr SCRN.UpdateLineAtALenY jsr SCRN.UpdateLineAtALenY
bcs .9 bcs .9
rts
.9 jmp Ctrl.Q
clc
.9 rts
*-------------------------------------- *--------------------------------------
SCRN.scrollDn lda #$1B SCRN.scrollDn lda #$1B
>SYSCALL SYS.CoutA >SYSCALL SYS.CoutA
@ -450,12 +455,8 @@ SCRN.scrollDn lda #$1B
lda #0 lda #0
jsr SCRN.UpdateLineAtALenY jsr SCRN.UpdateLineAtALenY
bcs .9 bcs .9
rts
.9 jmp Ctrl.Q
clc
.9 rts
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE BIN/EDIT.S.SCRN SAVE BIN/EDIT.S.SCRN