Kernel version 0.8 : EDIT, several bugfixes, code reorg....

This commit is contained in:
Rémy GIBERT 2016-11-04 17:46:16 +01:00
parent cf15e77a21
commit 353b0c1bf0
6 changed files with 62 additions and 41 deletions

Binary file not shown.

Binary file not shown.

View File

@ -346,12 +346,7 @@ BUF.CopyTail lda (BufPtrBackup)
* Out : Y = Line Length
*--------------------------------------
BUF.ComputeCOffset
ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y
jsr BUF.GetLineAX
jsr BUF.GetLine
bcs .9
phy save line length
ldy #FileX
@ -366,6 +361,12 @@ BUF.ComputeCOffset
clc
.9 rts
*--------------------------------------
BUF.GetLine ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y
BUF.GetLineAX >STAX BUF.TmpLine1
stz BUF.LOffset

View File

@ -49,9 +49,8 @@ Ctrl.A ldy #PromptMode
.1 lda (ZPPTR1)
beq .8
>PUSHW ZPPTR1
>LDYA L.MSG.HELPLINE
>SYSCALL CPrintFYA
>LDYA ZPPTR1
>SYSCALL PPrintFYA
bcs .9
>LDYA L.SEQ.CEOL
>SYSCALL CPrintFYA
@ -246,12 +245,7 @@ Ctrl.VT ldy #FileY+1
rts
.9 jmp Ctrl.Q
*--------------------------------------
Ctrl.L ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y
jsr BUF.GetLineAX
Ctrl.L jsr BUF.GetLine
bcs .8
tya Y = line length
@ -342,12 +336,7 @@ Ctrl.T lda #0
rts
.9 jmp Ctrl.Q
*--------------------------------------
Ctrl.FS ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y
jsr BUF.GetLineAX
Ctrl.FS jsr BUF.GetLine
bcs .8
tya Y = line length
@ -415,9 +404,42 @@ Ctrl.X jsr BUF.SelToClipboard
.9 jmp Ctrl.Q
.99 rts
*--------------------------------------
Ctrl.Y
clc
Ctrl.Y ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y
inc
bne .1
inx
.1 jsr BUF.GetLineAX
bcs .2
ldy #FileY
lda (pData),y
inc
sta (pData),y
bne Ctrl.Y
iny
lda (pData),y
inc
sta (pData),y
bra Ctrl.Y
.2 jsr BUF.GetLine Y=linelen
tya Y = line length
ldy #FileX
sta (pData),y
jsr SCRN.UpdateViewPort
bcs .9
rts
.9 jmp Ctrl.Q
*--------------------------------------
Ctrl.Z
clc

View File

@ -296,7 +296,7 @@ SCRN.UpdateViewPort
cmp (pData),y
bcs .2 out of left border ?
ldy #ScreenX
ldy #ScreenX yes
lda (pData),y
dec
sta (pData),y
@ -320,26 +320,28 @@ SCRN.UpdateViewPort
stz bNotRepaint
bra .2
.3 sec
ldy #FileY
.3 ldy #FileY+1
lda (pData),y
tax
dey
lda (pData),y A,X = FileY
ldy #ScreenY
sbc (pData),y
ldy #FileY+1
lda (pData),y
ldy #ScreenY+1
cmp (pData),y
iny
txa
sbc (pData),y
bcs .4 out of top border ?
sec
ldy #ScreenY
lda (pData),y
sbc #1
sbc #0 CC from BCS
sta (pData),y
iny
lda (pData),y
sbc #0
sta (pData),y
bit bNotRepaint
bpl .3
jsr SCRN.scrollDn
@ -403,10 +405,13 @@ SCRN.UpdateViewPort
bit bNotRepaint
bmi .6
jsr SCRN.UpdateMain
bcs .9
.6 jsr SCRN.UpdateStatusBar
bcs .9
jsr SCRN.GotoCurXCurY
bcs .9
rts
@ -444,12 +449,7 @@ SCRN.scrollDn lda #$1B
>SYSCALL COutA
bcs .9
ldy #ScreenY+1
lda (pData),y
tax
dey
lda (pData),y
jsr BUF.GetLineAX
jsr BUF.GetLine
bcs .9
lda #0

View File

@ -56,7 +56,6 @@ L.MSG.STATUSBAR.S .DA MSG.STATUSBAR.S
L.MSG.STATUSBAR.E .DA MSG.STATUSBAR.E
L.MSG.NEWFILE .DA MSG.NEWFILE
L.MSG.GOTOXY .DA MSG.GOTOXY
L.MSG.HELPLINE .DA MSG.HELPLINE
L.MSG.HELP .DA MSG.HELP
J.PROMPT .DA Prompt.Editor
.DA Prompt.Help
@ -456,7 +455,6 @@ MSG.STATUSBAR.R >CSTR "\e[%d;1H\e[7mReplace:%S\e[K\e[0m"
MSG.STATUSBAR.S >CSTR "\e[%d;1H\e[7mSave:%S\e[K\e[0m"
MSG.STATUSBAR.E >CSTR "\e[%d;1H\e[7mError:%h\e[K\e[0m"
MSG.GOTOXY >CSTR "\e[%d;%dH"
MSG.HELPLINE >CSTR "%S"
MSG.HELP >PSTR "All commands: (* = Not yet implemented)"
>PSTR "------------"
>PSTR " Ctrl-A : This help screen"
@ -477,7 +475,7 @@ MSG.HELP >PSTR "All commands: (* = Not yet implemented)"
>PSTR " Ctrl-V : Past clipboard at cursor position"
>PSTR " Ctrl-W : * Erase current line"
>PSTR " Ctrl-X : Cut block to clipboard"
>PSTR " Ctrl-Y : * Go to bottom of file"
>PSTR " Ctrl-Y : Go to end of file"
>PSTR " Ctrl-Z : * Undo previous change"
.HS 00
*--------------------------------------