mirror of
https://github.com/A2osX/A2osX.git
synced 2025-01-25 12:30:06 +00:00
Kernel 0.93+
This commit is contained in:
parent
6f4c01182e
commit
fe861c5179
@ -2,6 +2,63 @@ NEW
|
||||
AUTO 3,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
BUF.InsertA sta TmpByte
|
||||
jsr BUF.ComputeCOffset
|
||||
cpy #255
|
||||
beq .8
|
||||
|
||||
lda BUF.COffset
|
||||
clc
|
||||
>ADC.G BufBase
|
||||
tax
|
||||
|
||||
lda BUF.COffset+1
|
||||
>ADC.G BufBase+1
|
||||
sta BufPtr+1
|
||||
|
||||
inx
|
||||
bne .1
|
||||
inc
|
||||
.1 stx BufPtrDst
|
||||
sta BufPtrDst+1
|
||||
|
||||
jsr BUF.MoveForwardTail
|
||||
|
||||
.2 lda TmpByte
|
||||
sta (BufPtr)
|
||||
|
||||
inc FileLen
|
||||
bne .8
|
||||
inc FileLen+1
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BUF.DelCharAtCursor
|
||||
lda (BufPtr)
|
||||
pha Save deleted char for later
|
||||
|
||||
>LDYA BufPtr
|
||||
>STYA BufPtrDst
|
||||
iny
|
||||
bne .1
|
||||
inc
|
||||
|
||||
.1 >STYA BufPtr
|
||||
|
||||
jsr BUF.MoveBackTail
|
||||
|
||||
lda FileLen
|
||||
bne .5
|
||||
dec FileLen+1
|
||||
.5 dec FileLen
|
||||
|
||||
jsr BUF.ResetSel
|
||||
pla Get back deleted char
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BUF.InsertClipboard
|
||||
>LDA.G hClipBoard
|
||||
beq .8
|
||||
@ -82,37 +139,6 @@ BUF.InsertTAB jsr BUF.ComputeCOffset
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BUF.InsertA sta TmpByte
|
||||
jsr BUF.ComputeCOffset
|
||||
cpy #255
|
||||
beq .8
|
||||
|
||||
lda FileLen
|
||||
clc
|
||||
adc #2
|
||||
tay
|
||||
lda FileLen+1
|
||||
adc #0
|
||||
|
||||
cpy BufLen
|
||||
sbc BufLen+1
|
||||
bcs *
|
||||
|
||||
.2 lda TmpByte
|
||||
sta (BufPtr)
|
||||
inc BufPtr
|
||||
bne .3
|
||||
inc BufPtr+1
|
||||
|
||||
.3 jsr BUF.CopyTail
|
||||
|
||||
.4 inc FileLen
|
||||
bne .8
|
||||
inc FileLen+1
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BUF.DelSel jsr BUF.GetSelLen
|
||||
bcs .8
|
||||
|
||||
@ -152,36 +178,6 @@ BUF.DelSel jsr BUF.GetSelLen
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
* Erase char at CurXY
|
||||
*--------------------------------------
|
||||
BUF.DelCharAtCursor
|
||||
>LDYA FileLen
|
||||
jsr BUF.GetNewYA BufferLen-1
|
||||
bcs .9
|
||||
|
||||
>LDYA BUF.COffset
|
||||
jsr BUF.Start2YA
|
||||
|
||||
.3 lda (BufPtrBackup)
|
||||
pha Save deleted char for later
|
||||
|
||||
inc BufPtrBackup
|
||||
bne .4
|
||||
inc BufPtrBackup+1
|
||||
|
||||
.4 jsr BUF.CopyTail
|
||||
|
||||
lda FileLen
|
||||
bne .5
|
||||
dec FileLen+1
|
||||
.5 dec FileLen
|
||||
|
||||
jsr BUF.ResetSel
|
||||
pla Get back deleted char
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BUF.SelToClipboard
|
||||
jsr BUF.GetSelLen
|
||||
bcs .8
|
||||
@ -339,6 +335,71 @@ BUF.CopyTail ldy #0
|
||||
inc BufPtr+1
|
||||
bra .1
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
BUF.MoveBackTail
|
||||
ldy #0
|
||||
|
||||
lda BufPtr+1
|
||||
pha
|
||||
|
||||
.1 lda (BufPtr),y
|
||||
sta (BufPtrDst),y
|
||||
beq .8
|
||||
|
||||
iny
|
||||
bne .1
|
||||
|
||||
inc BufPtr+1
|
||||
inc BufPtrDst+1
|
||||
bra .1
|
||||
|
||||
.8 pla
|
||||
sta BufPtr+1
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
BUF.MoveForwardTail
|
||||
ldy #0
|
||||
|
||||
ldx #$ff
|
||||
phx
|
||||
|
||||
.1 lda (BufPtr),y
|
||||
beq .4
|
||||
dex
|
||||
bne .2
|
||||
|
||||
pla
|
||||
dec
|
||||
pha
|
||||
|
||||
.2 iny
|
||||
bne .1
|
||||
inc BufPtr+1
|
||||
inc BufPtrDst+1
|
||||
bra .1
|
||||
|
||||
.4 lda (BufPtr),y
|
||||
sta (BufPtrDst),y
|
||||
|
||||
tya
|
||||
bne .5
|
||||
|
||||
dec BufPtr+1
|
||||
dec BufPtrDst+1
|
||||
|
||||
.5 dey
|
||||
|
||||
inx
|
||||
bne .4
|
||||
|
||||
pla
|
||||
inc
|
||||
beq .8
|
||||
pha
|
||||
bra .4
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
* Out : Y = Line Length
|
||||
@ -466,7 +527,7 @@ BUF.GetNewYA tax In 256 bytes page to avoid fragmentation
|
||||
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
>STYA BufPtr
|
||||
>STYA.G BufBase
|
||||
txa
|
||||
>STA.G hBuffer
|
||||
|
||||
|
@ -7,7 +7,7 @@ FILE.New >LDYAI 4096
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
||||
>STYA BufPtr
|
||||
>STYA.G BufBase
|
||||
|
||||
txa
|
||||
>STA.G hBuffer FileLen already set to 0
|
||||
@ -182,8 +182,8 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
||||
>STYA BufLen
|
||||
>SYSCALL GetMem
|
||||
bcs .99
|
||||
>STYA BufPtr
|
||||
|
||||
|
||||
>STYA.G BufBase
|
||||
txa
|
||||
>STA.G hBuffer
|
||||
|
||||
|
@ -14,6 +14,7 @@ NEW
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
BufPtr .BS 2
|
||||
BufPtrDst .EQ *
|
||||
BufPtrBackup .BS 2
|
||||
ClipboardPtr .BS 2
|
||||
LineBufPtr .BS 2
|
||||
@ -420,6 +421,7 @@ hFileName .BS 1
|
||||
hFind .BS 1
|
||||
hReplace .BS 1
|
||||
hLineBuffer .BS 1
|
||||
BufBase .BS 2
|
||||
hBuffer .BS 1
|
||||
hBufferBackup .BS 1
|
||||
hClipBoard .BS 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user