mirror of
https://github.com/A2osX/A2osX.git
synced 2025-08-09 23:25:15 +00:00
Kernel 0.93+
This commit is contained in:
Binary file not shown.
@@ -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
|
||||||
|
@@ -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
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user