diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index e9f88713..76825dba 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt index a6638802..f7104675 100644 --- a/BIN/EDIT.S.BUF.txt +++ b/BIN/EDIT.S.BUF.txt @@ -94,11 +94,9 @@ BUF.InsertA sta TmpByte lda FileLen+1 adc #0 - jsr BUF.GetNewYA - bcs .9 - - >LDYA BUF.COffset - jsr BUF.Start2YA + cpy BufLen + sbc BufLen+1 + bcs * .2 lda TmpByte sta (BufPtr) @@ -208,6 +206,7 @@ BUF.SelToClipboard pha tya + clc >ADC.G SelStart sta BufPtr @@ -377,9 +376,12 @@ BUF.GetLine clc tax pla -BUF.GetLineAX sta BUF.TmpLine1 +BUF.GetLineAX sta BUF.TmpLine1 Requested Line stx BUF.TmpLine1+1 + stz BUF.TmpLine2 + stz BUF.TmpLine2+1 + stz BUF.LOffset stz BUF.LOffset+1 @@ -387,9 +389,6 @@ BUF.GetLineAX sta BUF.TmpLine1 >SYSCALL GetMemPtr >STYA BufPtr - stz BUF.TmpLine2 - stz BUF.TmpLine2+1 - .1 ldy #0 .2 lda (BufPtr),y diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 1dced0fe..74989a39 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -114,10 +114,6 @@ Ctrl.E jsr BUF.ComputeCOffset sta (pData),y jmp SCRN.UpdateMain *-------------------------------------- -Ctrl.F lda #PromptModeFind - >STA.G PromptMode - jmp SCRN.UpdateStatusBar -*-------------------------------------- Ctrl.G >LDA.G FileX beq .8 @@ -167,11 +163,13 @@ Ctrl.TAB jsr BUF.InsertTAB >LDA.G FileX clc adc #TABLEN + and #$FC sta (pData),y >LDA.G CurX clc adc #TABLEN + and #$FC sta (pData),y >SBC.G ScreenX @@ -182,7 +180,8 @@ Ctrl.TAB jsr BUF.InsertTAB bcs .9 jmp SCRN.UpdateStatusBar -.8 >ADC.G ScreenX +.8 clc + >ADC.G ScreenX inc sta (pData),y @@ -252,10 +251,6 @@ Ctrl.CR lda #C.CR .9 rts *-------------------------------------- -Ctrl.N - clc - rts -*-------------------------------------- Ctrl.O ldy #FileY+1 lda (pData),y tax @@ -269,21 +264,29 @@ Ctrl.O ldy #FileY+1 txa sbc #0 bcc .8 - + ldy #FileY+1 sta (pData),y dey pla sta (pData),y + >LDA.G ScreenY + sec + >SBC.G ViewPortH + >STA.G ScreenY + >LDA.G ScreenY+1 + sbc #0 + sta (pData),y + >STZ.G FileX - jmp SCRN.UpdateViewPort + jmp SCRN.UpdateMain .8 pla *-------------------------------------- Ctrl.T jsr SCRN.Home - jmp SCRN.UpdateViewPort + jmp SCRN.UpdateMain *-------------------------------------- Ctrl.P ldy #FileY+1 lda (pData),y @@ -314,10 +317,21 @@ Ctrl.P ldy #FileY+1 pla sta (pData),y - jmp SCRN.UpdateViewPort + >LDA.G ViewPortH + clc + >ADC.G ScreenY + sta (pData),y + iny + lda (pData),y + adc #0 + sta (pData),y + + jmp SCRN.UpdateMain .8 pla pla + clc + rts *-------------------------------------- Ctrl.Y jsr BUF.GetNextLine bcs .1 @@ -330,7 +344,31 @@ Ctrl.Y jsr BUF.GetNextLine tya Y = line length >STA.G FileX - jmp SCRN.UpdateViewPort + >LDA.G FileY + sec + >SBC.G ViewPortH + tax + >LDA.G FileY+1 + sbc #0 + bcs .2 + + lda #0 + tax + +.2 >STA.G ScreenY+1 + dey + txa + sta (pData),y + + jmp SCRN.UpdateMain +*-------------------------------------- +Ctrl.F lda #PromptModeFind + >STA.G PromptMode + jmp SCRN.UpdateStatusBar +*-------------------------------------- +Ctrl.N + clc + rts *-------------------------------------- Ctrl.R lda #PromptModeReplace >STA.G PromptMode @@ -390,9 +428,7 @@ Ctrl.FS jsr BUF.GetLine *-------------------------------------- Ctrl.V jsr BUF.InsertClipboard bcs .9 - jsr SCRN.UpdateMain - bcs .9 - jmp SCRN.UpdateStatusBar + jmp SCRN.UpdateMain .9 rts *-------------------------------------- @@ -430,10 +466,7 @@ Ctrl.X jsr BUF.SelToClipboard Ctrl.D jsr BUF.DelSel bcs Ctrl.W.RTS jsr SCRN.CursorAdjust - jsr SCRN.UpdateMain - bcs Ctrl.W.RTS - - jmp SCRN.UpdateStatusBar + jmp SCRN.UpdateMain *-------------------------------------- Ctrl.Z jsr BUF.ComputeCOffset diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 6d2746a9..5f145890 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -14,25 +14,18 @@ SCRN.Init >LDA.G ScreenH jsr SCRN.UpdateTopBar bcs .9 - jsr SCRN.UpdateViewPort - bcs .9 - jsr SCRN.UpdateMain + jmp SCRN.UpdateMain .9 rts *-------------------------------------- SCRN.Home lda #0 - ldy #FileX + ldy #FileX Zero all .1 sta (pData),y iny - cpy #CurX + cpy #CurY+1 bne .1 - - inc - sta (pData),y CurX - iny - sta (pData),y CurY rts *-------------------------------------- SCRN.UpdateTopBar @@ -111,7 +104,7 @@ SCRN.UpdateMain >LDA.G ScreenY .4 dec TmpCount bne .1 - jmp SCRN.GotoCurXCurY + bra .8 .5 ldx #0 ldy TmpByte @@ -127,6 +120,8 @@ SCRN.UpdateMain >LDA.G ScreenY dec TmpCount bne .5 +.8 jsr SCRN.UpdateStatusBar + bcs SCRN.UpdateMain.9 jmp SCRN.GotoCurXCurY SCRN.UpdateMain.9 @@ -156,6 +151,7 @@ SCRN.UpdateCurrentLine SCRN.UpdateLineAtALenY stz bSelected sty TmpLen + ldx #0 tay jsr SCRN.GotoXY @@ -403,6 +399,7 @@ SCRN.UpdateViewPort bmi .30 .21 >LDA.G ScreenX + clc >ADC.G ScreenW dec >CMP.G FileX @@ -443,13 +440,13 @@ SCRN.UpdateViewPort dey lda (pData),y - >ADC.G ViewPortHm2 + clc + >ADC.G ViewPortHm1 bcc .5 inx -.5 ldy #FileY A,X = screen bottom - cmp (pData),y +.5 >CMP.G FileY A,X = screen bottom txa iny FileY > screen bottom ? sbc (pData),y @@ -459,15 +456,17 @@ SCRN.UpdateViewPort bit bRepaint bmi .41 - jsr SCRN.scrollUp ...and move content one line up + jsr SCRN.scrollUp ...and move content one line up bcc .41 .9 rts .6 >LDA.G FileX + sec >SBC.G ScreenX >STA.G CurX >LDA.G FileY + sec >SBC.G ScreenY >STA.G CurY @@ -484,14 +483,7 @@ SCRN.UpdateViewPort jmp SCRN.GotoCurXCurY *-------------------------------------- -SCRN.scrollUp >LDA.G CurX - inc - >PUSHA - >LDA.G CurY - inc - inc - >PUSHA - >PUSHBI 2 +SCRN.scrollUp >PUSHBI 0 >LDYA L.SEQ.SCROLLUP >SYSCALL printf bcs .9 @@ -501,6 +493,7 @@ SCRN.scrollUp >LDA.G CurX dey lda (pData),y +* clc >ADC.G ViewPortHm1 bcc .1 @@ -514,14 +507,7 @@ SCRN.scrollUp >LDA.G CurX .9 rts *-------------------------------------- -SCRN.scrollDn >LDA.G CurX - inc - >PUSHA - >LDA.G CurY - inc - inc - >PUSHA - >PUSHBI 2 +SCRN.scrollDn >PUSHBI 0 >LDYA L.SEQ.SCROLLDN >SYSCALL printf bcs .9 diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index aa9f2246..29343a05 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -318,10 +318,6 @@ CharIn.Esc >STZ.G bEscMode >STA.G ViewPortHm1 Remove 1 more to store offsert to last line of viewport - dec - - >STA.G ViewPortHm2 - ply stz TmpByte @@ -362,8 +358,8 @@ CS.END SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n" SEQ.INIT .AZ "\ec\e[?7l\e[2;%dr" SEQ.RESET .AZ "\ec" -SEQ.SCROLLUP .AZ "\e[%d;%dH\eD" -SEQ.SCROLLDN .AZ "\e[%d;%dH\eM" +SEQ.SCROLLUP .AZ "\eD" +SEQ.SCROLLDN .AZ "\eM" SEQ.BAR .AS "\e[40;37m\e[7m%s" +SEQ.NORM SEQ.NORM .AZ "\e[0m" SEQ.INV .AZ "\e[7m" @@ -434,7 +430,6 @@ ScreenW .BS 1 ScreenH .BS 1 ViewPortH .BS 1 ViewPortHm1 .BS 1 -ViewPortHm2 .BS 1 FileX .BS 1 FileY .BS 2 ScreenX .BS 1