Kernel 0.93+

This commit is contained in:
Rémy GIBERT
2019-11-13 17:33:29 +01:00
parent 9830a906a5
commit 081190214b
5 changed files with 81 additions and 68 deletions

Binary file not shown.

View File

@@ -94,11 +94,9 @@ BUF.InsertA sta TmpByte
lda FileLen+1 lda FileLen+1
adc #0 adc #0
jsr BUF.GetNewYA cpy BufLen
bcs .9 sbc BufLen+1
bcs *
>LDYA BUF.COffset
jsr BUF.Start2YA
.2 lda TmpByte .2 lda TmpByte
sta (BufPtr) sta (BufPtr)
@@ -208,6 +206,7 @@ BUF.SelToClipboard
pha pha
tya tya
clc
>ADC.G SelStart >ADC.G SelStart
sta BufPtr sta BufPtr
@@ -377,9 +376,12 @@ BUF.GetLine clc
tax tax
pla pla
BUF.GetLineAX sta BUF.TmpLine1 BUF.GetLineAX sta BUF.TmpLine1 Requested Line
stx BUF.TmpLine1+1 stx BUF.TmpLine1+1
stz BUF.TmpLine2
stz BUF.TmpLine2+1
stz BUF.LOffset stz BUF.LOffset
stz BUF.LOffset+1 stz BUF.LOffset+1
@@ -387,9 +389,6 @@ BUF.GetLineAX sta BUF.TmpLine1
>SYSCALL GetMemPtr >SYSCALL GetMemPtr
>STYA BufPtr >STYA BufPtr
stz BUF.TmpLine2
stz BUF.TmpLine2+1
.1 ldy #0 .1 ldy #0
.2 lda (BufPtr),y .2 lda (BufPtr),y

View File

@@ -114,10 +114,6 @@ Ctrl.E jsr BUF.ComputeCOffset
sta (pData),y sta (pData),y
jmp SCRN.UpdateMain jmp SCRN.UpdateMain
*-------------------------------------- *--------------------------------------
Ctrl.F lda #PromptModeFind
>STA.G PromptMode
jmp SCRN.UpdateStatusBar
*--------------------------------------
Ctrl.G >LDA.G FileX Ctrl.G >LDA.G FileX
beq .8 beq .8
@@ -167,11 +163,13 @@ Ctrl.TAB jsr BUF.InsertTAB
>LDA.G FileX >LDA.G FileX
clc clc
adc #TABLEN adc #TABLEN
and #$FC
sta (pData),y sta (pData),y
>LDA.G CurX >LDA.G CurX
clc clc
adc #TABLEN adc #TABLEN
and #$FC
sta (pData),y sta (pData),y
>SBC.G ScreenX >SBC.G ScreenX
@@ -182,7 +180,8 @@ Ctrl.TAB jsr BUF.InsertTAB
bcs .9 bcs .9
jmp SCRN.UpdateStatusBar jmp SCRN.UpdateStatusBar
.8 >ADC.G ScreenX .8 clc
>ADC.G ScreenX
inc inc
sta (pData),y sta (pData),y
@@ -252,10 +251,6 @@ Ctrl.CR lda #C.CR
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
Ctrl.N
clc
rts
*--------------------------------------
Ctrl.O ldy #FileY+1 Ctrl.O ldy #FileY+1
lda (pData),y lda (pData),y
tax tax
@@ -269,21 +264,29 @@ Ctrl.O ldy #FileY+1
txa txa
sbc #0 sbc #0
bcc .8 bcc .8
ldy #FileY+1 ldy #FileY+1
sta (pData),y sta (pData),y
dey dey
pla pla
sta (pData),y 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 >STZ.G FileX
jmp SCRN.UpdateViewPort jmp SCRN.UpdateMain
.8 pla .8 pla
*-------------------------------------- *--------------------------------------
Ctrl.T jsr SCRN.Home Ctrl.T jsr SCRN.Home
jmp SCRN.UpdateViewPort jmp SCRN.UpdateMain
*-------------------------------------- *--------------------------------------
Ctrl.P ldy #FileY+1 Ctrl.P ldy #FileY+1
lda (pData),y lda (pData),y
@@ -314,10 +317,21 @@ Ctrl.P ldy #FileY+1
pla pla
sta (pData),y 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 .8 pla
pla pla
clc
rts
*-------------------------------------- *--------------------------------------
Ctrl.Y jsr BUF.GetNextLine Ctrl.Y jsr BUF.GetNextLine
bcs .1 bcs .1
@@ -330,7 +344,31 @@ Ctrl.Y jsr BUF.GetNextLine
tya Y = line length tya Y = line length
>STA.G FileX >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 Ctrl.R lda #PromptModeReplace
>STA.G PromptMode >STA.G PromptMode
@@ -390,9 +428,7 @@ Ctrl.FS jsr BUF.GetLine
*-------------------------------------- *--------------------------------------
Ctrl.V jsr BUF.InsertClipboard Ctrl.V jsr BUF.InsertClipboard
bcs .9 bcs .9
jsr SCRN.UpdateMain jmp SCRN.UpdateMain
bcs .9
jmp SCRN.UpdateStatusBar
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
@@ -430,10 +466,7 @@ Ctrl.X jsr BUF.SelToClipboard
Ctrl.D jsr BUF.DelSel Ctrl.D jsr BUF.DelSel
bcs Ctrl.W.RTS bcs Ctrl.W.RTS
jsr SCRN.CursorAdjust jsr SCRN.CursorAdjust
jsr SCRN.UpdateMain jmp SCRN.UpdateMain
bcs Ctrl.W.RTS
jmp SCRN.UpdateStatusBar
*-------------------------------------- *--------------------------------------
Ctrl.Z jsr BUF.ComputeCOffset Ctrl.Z jsr BUF.ComputeCOffset

View File

@@ -14,25 +14,18 @@ SCRN.Init >LDA.G ScreenH
jsr SCRN.UpdateTopBar jsr SCRN.UpdateTopBar
bcs .9 bcs .9
jsr SCRN.UpdateViewPort jmp SCRN.UpdateMain
bcs .9
jsr SCRN.UpdateMain
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
SCRN.Home lda #0 SCRN.Home lda #0
ldy #FileX ldy #FileX Zero all
.1 sta (pData),y .1 sta (pData),y
iny iny
cpy #CurX cpy #CurY+1
bne .1 bne .1
inc
sta (pData),y CurX
iny
sta (pData),y CurY
rts rts
*-------------------------------------- *--------------------------------------
SCRN.UpdateTopBar SCRN.UpdateTopBar
@@ -111,7 +104,7 @@ SCRN.UpdateMain >LDA.G ScreenY
.4 dec TmpCount .4 dec TmpCount
bne .1 bne .1
jmp SCRN.GotoCurXCurY bra .8
.5 ldx #0 .5 ldx #0
ldy TmpByte ldy TmpByte
@@ -127,6 +120,8 @@ SCRN.UpdateMain >LDA.G ScreenY
dec TmpCount dec TmpCount
bne .5 bne .5
.8 jsr SCRN.UpdateStatusBar
bcs SCRN.UpdateMain.9
jmp SCRN.GotoCurXCurY jmp SCRN.GotoCurXCurY
SCRN.UpdateMain.9 SCRN.UpdateMain.9
@@ -156,6 +151,7 @@ SCRN.UpdateCurrentLine
SCRN.UpdateLineAtALenY SCRN.UpdateLineAtALenY
stz bSelected stz bSelected
sty TmpLen sty TmpLen
ldx #0 ldx #0
tay tay
jsr SCRN.GotoXY jsr SCRN.GotoXY
@@ -403,6 +399,7 @@ SCRN.UpdateViewPort
bmi .30 bmi .30
.21 >LDA.G ScreenX .21 >LDA.G ScreenX
clc
>ADC.G ScreenW >ADC.G ScreenW
dec dec
>CMP.G FileX >CMP.G FileX
@@ -443,13 +440,13 @@ SCRN.UpdateViewPort
dey dey
lda (pData),y lda (pData),y
>ADC.G ViewPortHm2 clc
>ADC.G ViewPortHm1
bcc .5 bcc .5
inx inx
.5 ldy #FileY A,X = screen bottom .5 >CMP.G FileY A,X = screen bottom
cmp (pData),y
txa txa
iny FileY > screen bottom ? iny FileY > screen bottom ?
sbc (pData),y sbc (pData),y
@@ -459,15 +456,17 @@ SCRN.UpdateViewPort
bit bRepaint bit bRepaint
bmi .41 bmi .41
jsr SCRN.scrollUp ...and move content one line up jsr SCRN.scrollUp ...and move content one line up
bcc .41 bcc .41
.9 rts .9 rts
.6 >LDA.G FileX .6 >LDA.G FileX
sec
>SBC.G ScreenX >SBC.G ScreenX
>STA.G CurX >STA.G CurX
>LDA.G FileY >LDA.G FileY
sec
>SBC.G ScreenY >SBC.G ScreenY
>STA.G CurY >STA.G CurY
@@ -484,14 +483,7 @@ SCRN.UpdateViewPort
jmp SCRN.GotoCurXCurY jmp SCRN.GotoCurXCurY
*-------------------------------------- *--------------------------------------
SCRN.scrollUp >LDA.G CurX SCRN.scrollUp >PUSHBI 0
inc
>PUSHA
>LDA.G CurY
inc
inc
>PUSHA
>PUSHBI 2
>LDYA L.SEQ.SCROLLUP >LDYA L.SEQ.SCROLLUP
>SYSCALL printf >SYSCALL printf
bcs .9 bcs .9
@@ -501,6 +493,7 @@ SCRN.scrollUp >LDA.G CurX
dey dey
lda (pData),y lda (pData),y
* clc
>ADC.G ViewPortHm1 >ADC.G ViewPortHm1
bcc .1 bcc .1
@@ -514,14 +507,7 @@ SCRN.scrollUp >LDA.G CurX
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
SCRN.scrollDn >LDA.G CurX SCRN.scrollDn >PUSHBI 0
inc
>PUSHA
>LDA.G CurY
inc
inc
>PUSHA
>PUSHBI 2
>LDYA L.SEQ.SCROLLDN >LDYA L.SEQ.SCROLLDN
>SYSCALL printf >SYSCALL printf
bcs .9 bcs .9

View File

@@ -318,10 +318,6 @@ CharIn.Esc >STZ.G bEscMode
>STA.G ViewPortHm1 Remove 1 more to store offsert to last line of viewport >STA.G ViewPortHm1 Remove 1 more to store offsert to last line of viewport
dec
>STA.G ViewPortHm2
ply ply
stz TmpByte stz TmpByte
@@ -362,8 +358,8 @@ CS.END
SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n" SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n"
SEQ.INIT .AZ "\ec\e[?7l\e[2;%dr" SEQ.INIT .AZ "\ec\e[?7l\e[2;%dr"
SEQ.RESET .AZ "\ec" SEQ.RESET .AZ "\ec"
SEQ.SCROLLUP .AZ "\e[%d;%dH\eD" SEQ.SCROLLUP .AZ "\eD"
SEQ.SCROLLDN .AZ "\e[%d;%dH\eM" SEQ.SCROLLDN .AZ "\eM"
SEQ.BAR .AS "\e[40;37m\e[7m%s" +SEQ.NORM SEQ.BAR .AS "\e[40;37m\e[7m%s" +SEQ.NORM
SEQ.NORM .AZ "\e[0m" SEQ.NORM .AZ "\e[0m"
SEQ.INV .AZ "\e[7m" SEQ.INV .AZ "\e[7m"
@@ -434,7 +430,6 @@ ScreenW .BS 1
ScreenH .BS 1 ScreenH .BS 1
ViewPortH .BS 1 ViewPortH .BS 1
ViewPortHm1 .BS 1 ViewPortHm1 .BS 1
ViewPortHm2 .BS 1
FileX .BS 1 FileX .BS 1
FileY .BS 2 FileY .BS 2
ScreenX .BS 1 ScreenX .BS 1