From 2bc7a498256c2b7e6330e1c751813cebda2263e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 7 Nov 2016 16:13:25 +0100 Subject: [PATCH] Kernel version 0.8 : EDIT, added Ctrl-O,P,T,Y and W --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes BIN/EDIT.S.CTRL.txt | 111 +++++++++++++++++++++++++++++++++++++------- BIN/EDIT.S.SCRN.txt | 67 +++++++++++++------------- BIN/EDIT.S.txt | 17 +++++-- 5 files changed, 142 insertions(+), 53 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index e502c5ca7890093f57374ac7e803f910f8a5a072..b91a1419170c2768e3df2e153c926b1fa90812aa 100644 GIT binary patch delta 5105 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 a=y(tM92SM>Jo*h9o$(7K61DW8P5%doY=z1I delta 5079 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 Z)v&ma2GILxZiS@i3s`-FdWKQe{{v+ZDPRBq diff --git a/A2OSX.SRC.po b/A2OSX.SRC.po index af7df9e611ca3262721adfe7e53b8d90e4e58c22..1d91c5ec4144873c486efb38cd5f1ef4bb54d55d 100644 GIT binary patch delta 20373 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 TmpIndex @@ -333,7 +331,7 @@ SCRN.UpdateViewPort sbc (pData),y bcs .4 out of top border ? - ldy #ScreenY + ldy #ScreenY move viewport up one line.... lda (pData),y sbc #0 CC from BCS sta (pData),y @@ -344,37 +342,31 @@ SCRN.UpdateViewPort bit bNotRepaint bpl .3 - jsr SCRN.scrollDn + jsr SCRN.scrollDn ...and move content one line down bcc .3 jmp Ctrl.Q -.4 clc - ldy #ScreenY +.4 ldy #ScreenY+1 lda (pData),y - ldy #ScreenH - adc (pData),y - pha - ldy #ScreenY+1 - lda (pData),y - adc #0 tax - pla - - sec - sbc #3 - bcs .41 - dex - sec - -.41 ldy #FileY - sbc (pData),y - txa - iny - sbc (pData),y - bcs .5 out of bottom border ? + dey + lda (pData),y + ldy #ViewPortHm1 clc - ldy #ScreenY + adc (pData),y + bcc .41 + inx + +.41 ldy #FileY A,X = screen bottom + cmp (pData),y + txa + iny FileY > screen bottom ? + sbc (pData),y + bcs .5 CS : fileY>= screen bottom + +* clc from BCS + ldy #ScreenY move viewport down one line.... lda (pData),y adc #1 sta (pData),y @@ -382,10 +374,12 @@ SCRN.UpdateViewPort lda (pData),y adc #0 sta (pData),y - bit bNotRepaint + bit bNotRepaint bpl .4 - jsr SCRN.scrollUp + + jsr SCRN.scrollUp ...and move content one line up bcs .9 + bra .4 .5 sec ldy #FileX @@ -430,13 +424,15 @@ SCRN.scrollUp lda #$1B dey lda (pData),y clc - adc #21 + ldy #ViewPortHm1 + adc (pData),y bcc .1 inx .1 jsr BUF.GetLineAX bcs .9 - lda #21 + ldy #ViewPortHm1 + lda (pData),y jsr SCRN.UpdateLineAtALenY bcs .9 rts @@ -449,7 +445,12 @@ SCRN.scrollDn lda #$1B >SYSCALL COutA bcs .9 - jsr BUF.GetLine + ldy #ScreenY+1 + lda (pData),y + tax + dey + lda (pData),y + jsr BUF.GetLineAX bcs .9 lda #0 diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index e6521ac9..30129705 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -275,9 +275,18 @@ CS.DOEVENT.Esc ldy #bEscMode bra .4 .5 phy + lda TmpByte ldy #ScreenH sta (pData),y + dec Remove 2 (top & status bar) for viewportH + dec + ldy #ViewPortH + sta (pData),y + dec + ldy #ViewPortHm1 Remove 1 more to store offsert to last line of viewport + sta (pData),y + ply stz TmpByte @@ -466,14 +475,14 @@ MSG.HELP >PSTR "All commands: (* = Not yet implemented)" >PSTR " Ctrl-G : Go to start of current line" >PSTR " Ctrl-L : Go to end of current line" >PSTR " Ctrl-N : * Find next" - >PSTR " Ctrl-O : * Page up" - >PSTR " Ctrl-P : * Page down" + >PSTR " Ctrl-O : Page up" + >PSTR " Ctrl-P : Page down" >PSTR " Ctrl-Q : Quit" >PSTR " Ctrl-R : * Replace found string with..." >PSTR " Ctrl-S : Save file to disk..." >PSTR " Ctrl-T : Go to top of file" >PSTR " Ctrl-V : Past clipboard at cursor position" - >PSTR " Ctrl-W : * Erase current line" + >PSTR " Ctrl-W : Erase current line" >PSTR " Ctrl-X : Cut block to clipboard" >PSTR " Ctrl-Y : Go to end of file" >PSTR " Ctrl-Z : * Undo previous change" @@ -516,6 +525,8 @@ hClipBoard .BS 1 ClipBoardLen .BS 2 ScreenW .BS 1 ScreenH .BS 1 +ViewPortH .BS 1 +ViewPortHm1 .BS 1 ScreenX .BS 1 ScreenY .BS 2 CurX .BS 1