mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-18 00:30:40 +00:00
Kernel 0.93
This commit is contained in:
parent
f6a4d5123d
commit
d03eabaa31
Binary file not shown.
@ -445,18 +445,6 @@ BUF.GetLineAX sta BUF.TmpLine1
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.GetCharAtY tya
|
|
||||||
clc
|
|
||||||
adc BUF.LOffset
|
|
||||||
sta BUF.COffset
|
|
||||||
lda #0
|
|
||||||
adc BUF.LOffset+1
|
|
||||||
sta BUF.COffset+1
|
|
||||||
|
|
||||||
lda (BufPtr),y
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
|
||||||
BUF.GetNewYA phy
|
BUF.GetNewYA phy
|
||||||
pha
|
pha
|
||||||
|
|
||||||
@ -482,28 +470,40 @@ BUF.GetNewYA phy
|
|||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.ResetSel >STZW.G SelStart
|
BUF.ResetSel ldy #SelStart
|
||||||
>STZW.G SelEnd
|
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
.1 sta (pData),y
|
||||||
|
iny
|
||||||
|
cpy #SelEnd+2
|
||||||
|
bne .1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.CheckSelected
|
BUF.CheckSelected
|
||||||
lda BUF.COffset
|
|
||||||
ldy #SelStart
|
ldy #SelStart
|
||||||
|
|
||||||
|
lda BUF.COffset
|
||||||
cmp (pData),y
|
cmp (pData),y
|
||||||
lda BUF.COffset+1
|
|
||||||
iny
|
iny
|
||||||
|
|
||||||
|
lda BUF.COffset+1
|
||||||
sbc (pData),y
|
sbc (pData),y
|
||||||
bcc .9
|
bcc .9
|
||||||
|
|
||||||
lda BUF.COffset
|
iny #SelEnd
|
||||||
ldy #SelEnd
|
|
||||||
cmp (pData),y
|
|
||||||
lda BUF.COffset+1
|
|
||||||
iny
|
|
||||||
sbc (pData),y
|
|
||||||
rts CC if in selection
|
|
||||||
|
|
||||||
.9 sec
|
lda (pData),y
|
||||||
|
cmp BUF.COffset
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda (pData),y
|
||||||
|
sbc BUF.COffset+1
|
||||||
|
|
||||||
|
.9 rol $80 = selected
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Out : CC if ok, YA=SelLen
|
* Out : CC if ok, YA=SelLen
|
||||||
|
@ -27,7 +27,6 @@ NEW
|
|||||||
* ^W = Erase line
|
* ^W = Erase line
|
||||||
* ^X = Cut Block
|
* ^X = Cut Block
|
||||||
* ^Y = End Of File
|
* ^Y = End Of File
|
||||||
* ^Z = Undo
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Prompt.Editor cmp #C.DEL
|
Prompt.Editor cmp #C.DEL
|
||||||
beq Ctrl.DEL
|
beq Ctrl.DEL
|
||||||
|
@ -85,7 +85,7 @@ SCRN.UpdateMain >LDA.G ScreenY
|
|||||||
|
|
||||||
lda TmpByte
|
lda TmpByte
|
||||||
jsr SCRN.UpdateLineAtALenY
|
jsr SCRN.UpdateLineAtALenY
|
||||||
bcs .9
|
bcs SCRN.UpdateMain.9
|
||||||
|
|
||||||
.3 inc TmpByte
|
.3 inc TmpByte
|
||||||
inc TmpIndex
|
inc TmpIndex
|
||||||
@ -99,12 +99,12 @@ SCRN.UpdateMain >LDA.G ScreenY
|
|||||||
.5 ldx #0
|
.5 ldx #0
|
||||||
ldy TmpByte
|
ldy TmpByte
|
||||||
jsr GotoXY
|
jsr GotoXY
|
||||||
bcs .9
|
bcs SCRN.UpdateMain.9
|
||||||
|
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
>LDYA L.SEQ.CEOL
|
>LDYA L.SEQ.CEOL
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
bcs .9
|
bcs SCRN.UpdateMain.9
|
||||||
|
|
||||||
inc TmpByte
|
inc TmpByte
|
||||||
dec TmpCount
|
dec TmpCount
|
||||||
@ -112,7 +112,8 @@ SCRN.UpdateMain >LDA.G ScreenY
|
|||||||
|
|
||||||
jmp SCRN.GotoCurXCurY
|
jmp SCRN.GotoCurXCurY
|
||||||
|
|
||||||
.9 rts
|
SCRN.UpdateMain.9
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCRN.UpdateCurrentLine
|
SCRN.UpdateCurrentLine
|
||||||
>LDA.G ScreenY+1
|
>LDA.G ScreenY+1
|
||||||
@ -124,90 +125,115 @@ SCRN.UpdateCurrentLine
|
|||||||
bcc .1
|
bcc .1
|
||||||
inx
|
inx
|
||||||
.1 jsr BUF.GetLineAX
|
.1 jsr BUF.GetLineAX
|
||||||
bcs .9
|
bcs SCRN.UpdateMain.9
|
||||||
|
|
||||||
phy
|
phy
|
||||||
>LDA.G CurY
|
>LDA.G CurY
|
||||||
ply
|
ply
|
||||||
jsr SCRN.UpdateLineAtALenY
|
*--------------------------------------
|
||||||
.9 rts
|
* A = Target Screen Y position
|
||||||
|
* BufPtr = Text line start, Y = len
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCRN.UpdateLineAtALenY
|
SCRN.UpdateLineAtALenY
|
||||||
stz bSelected
|
stz bSelected
|
||||||
sty TmpLen
|
sty TmpLen
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
tay
|
tay
|
||||||
jsr GotoXY
|
jsr GotoXY
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>LDYA LineBufPtr
|
||||||
|
>STYA ZPPTR1
|
||||||
|
|
||||||
>LDA.G ScreenW
|
>LDA.G ScreenW
|
||||||
tax
|
tax
|
||||||
|
|
||||||
>LDA.G ScreenX
|
>LDA.G ScreenX
|
||||||
|
cmp TmpLen
|
||||||
|
bcs .8
|
||||||
|
|
||||||
tay
|
tay
|
||||||
|
|
||||||
.1 cpy TmpLen
|
clc
|
||||||
bcs .3
|
adc BUF.LOffset
|
||||||
|
sta BUF.COffset
|
||||||
|
lda #0
|
||||||
|
adc BUF.LOffset+1
|
||||||
|
sta BUF.COffset+1
|
||||||
|
|
||||||
jsr BUF.GetCharAtY
|
tya
|
||||||
beq .3
|
* clc
|
||||||
|
adc BufPtr
|
||||||
|
sta BufPtr
|
||||||
|
bcc .1
|
||||||
|
|
||||||
|
inc BufPtr+1
|
||||||
|
|
||||||
|
.1 lda (BufPtr)
|
||||||
|
beq .8
|
||||||
|
|
||||||
cmp #C.CR
|
cmp #C.CR
|
||||||
beq .3
|
beq .8
|
||||||
|
|
||||||
phx
|
|
||||||
phy
|
|
||||||
pha
|
|
||||||
jsr BUF.CheckSelected
|
jsr BUF.CheckSelected
|
||||||
jsr SCRN.UpdateAttrC
|
eor bSelected
|
||||||
pla
|
bpl .5
|
||||||
bcs .11
|
|
||||||
|
|
||||||
>SYSCALL PutChar
|
|
||||||
.11 ply
|
|
||||||
plx
|
|
||||||
bcs .9
|
|
||||||
|
|
||||||
.2 iny
|
|
||||||
dex
|
.5 lda (BufPtr)
|
||||||
|
jsr SCRN.ToLineBuf
|
||||||
|
|
||||||
|
inc BufPtr
|
||||||
|
bne .6
|
||||||
|
inc BufPtr+1
|
||||||
|
|
||||||
|
.6 inc BUF.COffset
|
||||||
|
bne .7
|
||||||
|
inc BUF.COffset+1
|
||||||
|
|
||||||
|
.7 dex
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.3 sec
|
.8 bit bSelected
|
||||||
jsr SCRN.UpdateAttrC
|
bpl .80
|
||||||
bcs .9
|
jsr SCRN.ToggleSel
|
||||||
|
|
||||||
|
.80 lda #0
|
||||||
|
sta (ZPPTR1)
|
||||||
|
|
||||||
>PUSHBI 0
|
>PUSHBI 0
|
||||||
>LDYA L.SEQ.CEOL
|
>LDYA LineBufPtr
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
bcs .9
|
bcs .9
|
||||||
rts
|
rts
|
||||||
.9 jmp Ctrl.Q
|
.9 jmp Ctrl.Q
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* CC = set INV, CS = set NORM
|
SCRN.ToggleSel ldy #$0
|
||||||
*--------------------------------------
|
|
||||||
SCRN.UpdateAttrC
|
|
||||||
bcc .1
|
|
||||||
bit bSelected
|
|
||||||
bpl .8
|
|
||||||
>PUSHBI 0
|
|
||||||
>LDYA L.SEQ.NORM
|
|
||||||
>SYSCALL printf
|
|
||||||
bcs .9
|
|
||||||
stz bSelected
|
|
||||||
rts
|
|
||||||
|
|
||||||
.1 bit bSelected
|
lda bSelected
|
||||||
bmi .8
|
bpl .1
|
||||||
>PUSHBI 0
|
|
||||||
>LDYA L.SEQ.INV
|
ldy #6
|
||||||
>SYSCALL printf
|
|
||||||
bcs .9
|
.1 eor #$ff
|
||||||
lda #$ff
|
|
||||||
sta bSelected
|
sta bSelected
|
||||||
|
|
||||||
.8 clc
|
.2 lda SEQ.NORM,y
|
||||||
rts
|
beq .8
|
||||||
.9 jmp Ctrl.Q
|
|
||||||
|
jsr SCRN.ToLineBuf
|
||||||
|
iny
|
||||||
|
bra .2
|
||||||
|
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
SCRN.ToLineBuf sta (ZPPTR1)
|
||||||
|
inc ZPPTR1
|
||||||
|
bne .8
|
||||||
|
inc ZPPTR1+1
|
||||||
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCRN.UpdateStatusBar
|
SCRN.UpdateStatusBar
|
||||||
>PUSHBI 1
|
>PUSHBI 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user