mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-27 11:58:54 +00:00
Kernel 0.93+
This commit is contained in:
parent
6f4c01182e
commit
fe861c5179
@ -2,6 +2,63 @@ NEW
|
|||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
.LIST OFF
|
.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
|
BUF.InsertClipboard
|
||||||
>LDA.G hClipBoard
|
>LDA.G hClipBoard
|
||||||
beq .8
|
beq .8
|
||||||
@ -79,37 +136,6 @@ BUF.InsertTAB jsr BUF.ComputeCOffset
|
|||||||
|
|
||||||
inc FileLen+1
|
inc FileLen+1
|
||||||
|
|
||||||
.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
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -152,36 +178,6 @@ BUF.DelSel jsr BUF.GetSelLen
|
|||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.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
|
BUF.SelToClipboard
|
||||||
jsr BUF.GetSelLen
|
jsr BUF.GetSelLen
|
||||||
bcs .8
|
bcs .8
|
||||||
@ -339,6 +335,71 @@ BUF.CopyTail ldy #0
|
|||||||
inc BufPtr+1
|
inc BufPtr+1
|
||||||
bra .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
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Out : Y = Line Length
|
* Out : Y = Line Length
|
||||||
@ -466,7 +527,7 @@ BUF.GetNewYA tax In 256 bytes page to avoid fragmentation
|
|||||||
|
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
>STYA BufPtr
|
>STYA.G BufBase
|
||||||
txa
|
txa
|
||||||
>STA.G hBuffer
|
>STA.G hBuffer
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ FILE.New >LDYAI 4096
|
|||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>STYA BufPtr
|
>STYA.G BufBase
|
||||||
|
|
||||||
txa
|
txa
|
||||||
>STA.G hBuffer FileLen already set to 0
|
>STA.G hBuffer FileLen already set to 0
|
||||||
@ -182,8 +182,8 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
|||||||
>STYA BufLen
|
>STYA BufLen
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
>STYA BufPtr
|
|
||||||
|
|
||||||
|
>STYA.G BufBase
|
||||||
txa
|
txa
|
||||||
>STA.G hBuffer
|
>STA.G hBuffer
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@ NEW
|
|||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
ZS.START
|
ZS.START
|
||||||
BufPtr .BS 2
|
BufPtr .BS 2
|
||||||
|
BufPtrDst .EQ *
|
||||||
BufPtrBackup .BS 2
|
BufPtrBackup .BS 2
|
||||||
ClipboardPtr .BS 2
|
ClipboardPtr .BS 2
|
||||||
LineBufPtr .BS 2
|
LineBufPtr .BS 2
|
||||||
@ -420,6 +421,7 @@ hFileName .BS 1
|
|||||||
hFind .BS 1
|
hFind .BS 1
|
||||||
hReplace .BS 1
|
hReplace .BS 1
|
||||||
hLineBuffer .BS 1
|
hLineBuffer .BS 1
|
||||||
|
BufBase .BS 2
|
||||||
hBuffer .BS 1
|
hBuffer .BS 1
|
||||||
hBufferBackup .BS 1
|
hBufferBackup .BS 1
|
||||||
hClipBoard .BS 1
|
hClipBoard .BS 1
|
||||||
|
Loading…
Reference in New Issue
Block a user