mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-02 05:29:38 +00:00
Kernel 0.93+
This commit is contained in:
parent
9830a906a5
commit
081190214b
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user