diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt index 312b4327..52d2c792 100644 --- a/BIN/EDIT.S.BUF.txt +++ b/BIN/EDIT.S.BUF.txt @@ -84,15 +84,75 @@ BUF.InsertA sta TmpByte lda (pData),y inc sta (pData),y - bne .5 + bne .8 iny lda (pData),y inc sta (pData),y -.5 clc +.8 clc +.9 rts +*-------------------------------------- +BUF.Del ldy #FileLen + lda (pData),y + iny + ora (pData),y + bne .10 + clc + rts +.10 lda (pData),y + pha + dey + lda (pData),y + 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 + beq .2 + lda (BufPtrBackup),y + sta (BufPtr),y + iny + bne .1 + inc BufPtrBackup+1 + inc BufPtr+1 + bra .1 +.2 inc BufPtrBackup + bne .3 + inc BufPtrBackup+1 + +.3 lda (BufPtrBackup),y + beq .4 + sta (BufPtr),y + iny + bne .3 + inc BufPtrBackup+1 + inc BufPtr+1 + bra .3 + +.4 ldy #FileLen + lda (pData),y + sec + sbc #1 + sta (pData),y + iny + lda (pData),y + sbc #0 + sta (pData),y + +.8 clc .9 rts *-------------------------------------- * Out : Y = Line Length diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 649c303f..fb8ad4d4 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -433,10 +433,6 @@ Ctrl.ESC ldy #bEscMode clc rts *-------------------------------------- -Ctrl.DEL - clc - rts -*-------------------------------------- Prompt.Editor pha ldy #bInit lda (pData),y @@ -463,7 +459,13 @@ Prompt.Editor pha tax jmp (J.CTRL,x) -.4 jmp Ctrl.DEL +.4 jsr BUF.Del + bcs .9 + jsr UpdateCurrentLine + bcs .9 + jsr UpdateStatusBar + bcs .9 + rts .7 jsr BUF.InsertA bcs .9 @@ -554,7 +556,8 @@ Prompt.Save cmp #3 jsr SaveFile bcc .81 jsr UpdateStatusBarErrA - bra .80 + bcs .9 + rts .2 cmp #127 bne .3 @@ -584,6 +587,7 @@ Prompt.Save cmp #3 rts .81 jsr UpdateTopBar + bcs .9 .80 jsr UpdateStatusBar bcs .9 rts diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index f9af1636..dd1b995d 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -249,6 +249,9 @@ UpdateStatusBar ldy #PromptMode .9 rts *-------------------------------------- UpdateStatusBarErrA + >PUSHA + ldy #ScreenH + lda (pData),y >PUSHA >LDYA L.MSG.STATUSBAR.E >SYSCALL SYS.PSTRoutYA diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index b5e75139..acbfe0b0 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -400,7 +400,19 @@ CS.QUIT ldy #hBuffer >SYSCALL SYS.CoutA .9 rts *-------------------------------------- -SaveFile ldy #hFileName +SaveFile >PUSHWI 0 Aux type + >PUSHBI 4 type=TXT + >PUSHBI $C3 access=RW + ldy #hFileName + lda (pData),y + >SYSCALL SYS.GetMemPtrA + >PUSHYA + >SYSCALL SYS.MLICreateFile + bcc .1 + cmp #$47 File Exists error? + bne .9 no, sec;rts + +.1 ldy #hFileName lda (pData),y >SYSCALL SYS.MLIOpenA bcs .9 @@ -425,12 +437,14 @@ SaveFile ldy #hFileName clc rts -.99 lda hFile +.99 pha + lda hFile >SYSCALL SYS.MLICloseA lda TmpByte >SYSCALL SYS.FreeMemA - sec -.9 rts + pla +.9 sec + rts *-------------------------------------- DecTmpCount lda TmpCount bne .1