2016-01-04 07:25:43 +00:00
|
|
|
|
PR#3
|
|
|
|
|
PREFIX /A2OSX.SRC
|
|
|
|
|
NEW
|
|
|
|
|
INC 1
|
|
|
|
|
AUTO 6
|
|
|
|
|
.LIST OFF
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
BUF.CheckSelected
|
|
|
|
|
sec
|
|
|
|
|
lda BUF.COffset
|
|
|
|
|
ldy #SelStart
|
|
|
|
|
sbc (pData),y
|
|
|
|
|
lda BUF.COffset+1
|
|
|
|
|
iny
|
|
|
|
|
sbc (pData),y
|
|
|
|
|
bcc .9
|
|
|
|
|
|
|
|
|
|
lda BUF.COffset
|
|
|
|
|
ldy #SelEnd
|
|
|
|
|
sbc (pData),y
|
|
|
|
|
lda BUF.COffset+1
|
|
|
|
|
iny
|
|
|
|
|
sbc (pData),y
|
|
|
|
|
rts CC if in selection
|
|
|
|
|
|
|
|
|
|
.9 sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2016-01-04 22:15:29 +00:00
|
|
|
|
BUF.InsertA sta TmpByte
|
2016-01-04 07:25:43 +00:00
|
|
|
|
jsr BUF.ComputeCOffset
|
|
|
|
|
cpy #255
|
|
|
|
|
bne .10
|
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.10 ldy #FileLen
|
|
|
|
|
lda (pData),y
|
|
|
|
|
clc
|
|
|
|
|
adc #2
|
|
|
|
|
pha
|
|
|
|
|
iny
|
|
|
|
|
lda (pData),y
|
|
|
|
|
adc #0
|
|
|
|
|
ply
|
|
|
|
|
jsr BUF.GetNewYA
|
|
|
|
|
bcs .9
|
|
|
|
|
>STYA BufPtr
|
|
|
|
|
|
|
|
|
|
>LDYA BUF.COffset
|
|
|
|
|
>STYA TmpCount
|
|
|
|
|
|
|
|
|
|
ldy #hBufferBackup
|
|
|
|
|
lda (pData),y
|
|
|
|
|
>SYSCALL SYS.GetMemPtrA
|
|
|
|
|
>STYA BufPtrBackup
|
|
|
|
|
|
|
|
|
|
ldy #0
|
|
|
|
|
.1 jsr DecTmpCount
|
|
|
|
|
beq .2
|
|
|
|
|
lda (BufPtrBackup),y
|
|
|
|
|
sta (BufPtr),y
|
|
|
|
|
iny
|
|
|
|
|
bne .1
|
|
|
|
|
inc BufPtrBackup+1
|
|
|
|
|
inc BufPtr+1
|
|
|
|
|
bra .1
|
|
|
|
|
|
2016-01-04 22:15:29 +00:00
|
|
|
|
.2 lda TmpByte
|
2016-01-04 07:25:43 +00:00
|
|
|
|
sta (BufPtr),y
|
|
|
|
|
inc BufPtr
|
|
|
|
|
bne .3
|
|
|
|
|
inc BufPtr+1
|
|
|
|
|
|
|
|
|
|
.3 lda (BufPtrBackup),y
|
|
|
|
|
beq .4
|
|
|
|
|
sta (BufPtr),y
|
|
|
|
|
iny
|
|
|
|
|
bne .3
|
|
|
|
|
inc BufPtrBackup+1
|
|
|
|
|
inc BufPtr+1
|
|
|
|
|
bra .3
|
|
|
|
|
|
|
|
|
|
.4 ldy #FileLen
|
|
|
|
|
lda (pData),y
|
|
|
|
|
inc
|
|
|
|
|
sta (pData),y
|
|
|
|
|
bne .5
|
|
|
|
|
iny
|
|
|
|
|
lda (pData),y
|
|
|
|
|
inc
|
|
|
|
|
sta (pData),y
|
|
|
|
|
|
|
|
|
|
.5 clc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Out : Y = Line Length
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
BUF.ComputeCOffset
|
|
|
|
|
ldy #FileY+1
|
|
|
|
|
lda (pData),y
|
|
|
|
|
tax
|
|
|
|
|
dey
|
|
|
|
|
lda (pData),y
|
|
|
|
|
jsr BUF.GetLineAX
|
|
|
|
|
bcs .9
|
|
|
|
|
phy save line length
|
|
|
|
|
ldy #FileX
|
|
|
|
|
lda (pData),y
|
|
|
|
|
clc
|
|
|
|
|
adc BUF.LOffset
|
|
|
|
|
sta BUF.COffset
|
|
|
|
|
lda #0
|
|
|
|
|
adc BUF.LOffset+1
|
|
|
|
|
sta BUF.COffset+1
|
|
|
|
|
ply
|
|
|
|
|
clc
|
|
|
|
|
.9 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.GetLineAX >STAX BUF.TmpLine1
|
|
|
|
|
|
|
|
|
|
stz BUF.LOffset
|
|
|
|
|
stz BUF.LOffset+1
|
|
|
|
|
|
|
|
|
|
ldy #hBuffer
|
|
|
|
|
lda (pData),y
|
|
|
|
|
>SYSCALL SYS.GetMemPtrA
|
|
|
|
|
>STYA BufPtr
|
|
|
|
|
|
|
|
|
|
lda (BufPtr)
|
|
|
|
|
beq .99
|
|
|
|
|
|
|
|
|
|
stz BUF.TmpLine2
|
|
|
|
|
stz BUF.TmpLine2+1
|
|
|
|
|
|
|
|
|
|
.1 ldy #0
|
|
|
|
|
|
|
|
|
|
.2 lda (BufPtr),y
|
|
|
|
|
beq .7
|
|
|
|
|
cmp #13
|
|
|
|
|
beq .3
|
|
|
|
|
|
|
|
|
|
iny
|
|
|
|
|
bne .2
|
|
|
|
|
|
|
|
|
|
.3 lda BUF.TmpLine1
|
|
|
|
|
cmp BUF.TmpLine2
|
|
|
|
|
bne .4
|
|
|
|
|
lda BUF.TmpLine1+1
|
|
|
|
|
cmp BUF.TmpLine2+1
|
|
|
|
|
beq .8
|
|
|
|
|
|
|
|
|
|
.4 tya
|
|
|
|
|
sec
|
|
|
|
|
adc BufPtr
|
|
|
|
|
sta BufPtr
|
|
|
|
|
bcc .5
|
|
|
|
|
inc BufPtr+1
|
|
|
|
|
|
|
|
|
|
.5 tya
|
|
|
|
|
sec
|
|
|
|
|
adc BUF.LOffset
|
|
|
|
|
sta BUF.LOffset
|
|
|
|
|
bcc .6
|
|
|
|
|
inc BUF.LOffset+1
|
|
|
|
|
|
|
|
|
|
.6 inc BUF.TmpLine2
|
|
|
|
|
bne .1
|
|
|
|
|
inc BUF.TmpLine2+1
|
|
|
|
|
bra .1
|
|
|
|
|
|
|
|
|
|
.7 lda BUF.TmpLine1
|
|
|
|
|
cmp BUF.TmpLine2
|
|
|
|
|
bne .99
|
|
|
|
|
lda BUF.TmpLine1+1
|
|
|
|
|
cmp BUF.TmpLine2+1
|
|
|
|
|
bne .99
|
|
|
|
|
|
|
|
|
|
.8 lda BUF.LOffset
|
|
|
|
|
sta BUF.COffset
|
|
|
|
|
lda BUF.LOffset+1
|
|
|
|
|
sta BUF.COffset+1
|
|
|
|
|
clc Y = Line length
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.99 sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
BUF.GetNewYA >STYA TmpLen
|
|
|
|
|
ldy #hBufferBackup
|
|
|
|
|
lda (pData),y
|
|
|
|
|
beq .1
|
|
|
|
|
>SYSCALL SYS.FreeMemA
|
|
|
|
|
ldy #hBufferBackup
|
|
|
|
|
lda #0
|
|
|
|
|
sta (pData),y
|
|
|
|
|
|
|
|
|
|
.1 >PUSHW TmpLen
|
|
|
|
|
>PUSHBI S.MEM.F.INIT0
|
|
|
|
|
>SYSCALL SYS.GetMem
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
phy
|
|
|
|
|
pha
|
|
|
|
|
|
|
|
|
|
ldy #hBuffer
|
|
|
|
|
lda (pData),y
|
|
|
|
|
ldy #hBufferBackup
|
|
|
|
|
sta (pData),y
|
|
|
|
|
|
|
|
|
|
txa
|
|
|
|
|
ldy #hBuffer
|
|
|
|
|
sta (pData),y
|
|
|
|
|
|
|
|
|
|
pla
|
|
|
|
|
ply
|
|
|
|
|
clc
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.9 sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
|
|
|
|
SAVE BIN/EDIT.S.BUF
|
|
|
|
|
LOAD BIN/EDIT.S
|
|
|
|
|
ASM
|