2019-11-06 13:14:42 +00:00
|
|
|
|
NEW
|
|
|
|
|
AUTO 3,1
|
|
|
|
|
.LIST OFF
|
|
|
|
|
*--------------------------------------
|
2019-11-12 16:39:22 +00:00
|
|
|
|
FILE.New >LDYAI 4096
|
|
|
|
|
>STYA BufLen
|
|
|
|
|
>SYSCALL GetMem
|
|
|
|
|
bcs .9
|
|
|
|
|
|
2019-11-15 16:15:43 +00:00
|
|
|
|
>STYA.G BufBase
|
2019-11-12 16:39:22 +00:00
|
|
|
|
|
|
|
|
|
txa
|
|
|
|
|
>STA.G hBuffer FileLen already set to 0
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
|
sta (BufPtr)
|
|
|
|
|
|
|
|
|
|
stz FileLen
|
2019-11-06 13:14:42 +00:00
|
|
|
|
stz FileLen+1
|
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
.9 rts
|
2019-11-06 13:14:42 +00:00
|
|
|
|
*--------------------------------------
|
2019-11-12 16:39:22 +00:00
|
|
|
|
FILE.Load jsr BUF.ResetSel
|
|
|
|
|
|
|
|
|
|
>PUSHEA.G STATBUF
|
2019-11-06 13:14:42 +00:00
|
|
|
|
>LDA.G hFileName
|
|
|
|
|
>SYSCALL GetMemPtr
|
2019-11-06 16:25:00 +00:00
|
|
|
|
>SYSCALL stat
|
2019-11-12 16:39:22 +00:00
|
|
|
|
bcs FILE.New
|
|
|
|
|
|
2019-11-06 13:14:42 +00:00
|
|
|
|
>LDA.G STATBUF+S.STAT.P.TYPE
|
|
|
|
|
cmp #S.FI.T.TXT
|
2019-11-12 16:39:22 +00:00
|
|
|
|
beq FILE.Load.TXT
|
2019-11-06 13:14:42 +00:00
|
|
|
|
cmp #$FA S-C/ASM?
|
2019-11-12 16:39:22 +00:00
|
|
|
|
bne .9
|
2019-11-06 13:14:42 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
jmp FILE.Load.ASM
|
2019-11-06 13:14:42 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
.9 lda #MLI.E.INCFF
|
2019-11-06 13:14:42 +00:00
|
|
|
|
sec
|
|
|
|
|
rts
|
2019-11-12 16:39:22 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
FILE.Load.TXT stz FileLen
|
|
|
|
|
stz FileLen+1
|
2019-11-06 13:14:42 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
stz TmpByte hLineBuffer
|
|
|
|
|
stz TmpIndex hFile
|
2019-11-06 13:14:42 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
>STZ.G FileType
|
2019-11-06 13:14:42 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
jsr FILE.GetBuffer
|
|
|
|
|
bcs .99
|
2019-11-06 13:14:42 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
>LDYA 256
|
|
|
|
|
>SYSCALL GetMem
|
|
|
|
|
bcs .99
|
2019-11-06 13:14:42 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
>STYA ZPPTR1
|
|
|
|
|
stx TmpByte
|
2019-11-06 16:25:00 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
>PUSHWZ Aux type
|
2019-11-06 16:25:00 +00:00
|
|
|
|
>PUSHBI S.FI.T.TXT
|
|
|
|
|
>PUSHBI O.RDONLY+O.TEXT
|
|
|
|
|
>LDA.G hFileName
|
|
|
|
|
>SYSCALL GetMemPtr
|
|
|
|
|
>SYSCALL fopen
|
2019-11-12 16:39:22 +00:00
|
|
|
|
.99 bcs .9
|
2019-11-06 16:25:00 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
sta TmpIndex
|
|
|
|
|
|
|
|
|
|
.1 >PUSHWI 254
|
|
|
|
|
>PUSHW ZPPTR1
|
|
|
|
|
lda TmpIndex
|
|
|
|
|
>SYSCALL fread
|
|
|
|
|
bcs .8
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
|
sta (ZPPTR1),y Y = line len
|
2019-11-06 16:25:00 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
lda (ZPPTR1)
|
|
|
|
|
|
|
|
|
|
clc
|
|
|
|
|
eor #C.LF
|
|
|
|
|
bne .2
|
2019-11-06 16:25:00 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
lda #2
|
|
|
|
|
>STA.G FileType
|
|
|
|
|
sec
|
2019-11-06 16:25:00 +00:00
|
|
|
|
|
2019-11-12 16:39:22 +00:00
|
|
|
|
.2 lda ZPPTR1
|
|
|
|
|
adc #0
|
|
|
|
|
tay
|
|
|
|
|
|
|
|
|
|
lda ZPPTR1+1
|
|
|
|
|
adc #0
|
|
|
|
|
>PUSHYA
|
|
|
|
|
>LDYA BufPtr
|
|
|
|
|
>SYSCALL strcat
|
|
|
|
|
bra .1
|
|
|
|
|
|
|
|
|
|
.8 cmp #MLI.E.EOF
|
|
|
|
|
bne .9
|
|
|
|
|
|
|
|
|
|
>LDYA BufPtr
|
|
|
|
|
>SYSCALL strlen
|
|
|
|
|
>STYA FileLen
|
|
|
|
|
|
|
|
|
|
clc
|
|
|
|
|
.9 jmp FILE.Load.Cleanup
|
2019-11-06 13:14:42 +00:00
|
|
|
|
*--------------------------------------
|
2019-11-12 16:39:22 +00:00
|
|
|
|
FILE.Load.ASM
|
2019-11-06 13:14:42 +00:00
|
|
|
|
lda #MLI.E.INCFF
|
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
2019-11-12 16:39:22 +00:00
|
|
|
|
FILE.Load.Cleanup
|
|
|
|
|
php
|
|
|
|
|
pha
|
|
|
|
|
lda TmpByte
|
|
|
|
|
beq .1
|
|
|
|
|
>SYSCALL freemem
|
|
|
|
|
|
|
|
|
|
.1 lda TmpIndex
|
|
|
|
|
beq .2
|
|
|
|
|
|
|
|
|
|
>SYSCALL fclose
|
|
|
|
|
|
|
|
|
|
.2 pla
|
|
|
|
|
plp
|
|
|
|
|
rts
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
FILE.Save >PUSHWZ Aux type
|
2019-11-06 13:14:42 +00:00
|
|
|
|
>PUSHBI S.FI.T.TXT
|
|
|
|
|
>PUSHBI O.CREATE+O.WRONLY
|
|
|
|
|
>LDA.G hFileName
|
|
|
|
|
>SYSCALL GetMemPtr
|
|
|
|
|
|
|
|
|
|
>SYSCALL FOpen
|
|
|
|
|
bcs .9
|
|
|
|
|
pha
|
|
|
|
|
>PUSHW FileLen
|
|
|
|
|
>LDA.G hBuffer
|
|
|
|
|
>SYSCALL GetMemPtr
|
|
|
|
|
>PUSHYA
|
|
|
|
|
pla
|
|
|
|
|
pha
|
|
|
|
|
|
|
|
|
|
>SYSCALL FWrite
|
|
|
|
|
bcc .1
|
|
|
|
|
|
|
|
|
|
tax
|
|
|
|
|
pla
|
|
|
|
|
phx
|
|
|
|
|
>SYSCALL FClose
|
|
|
|
|
pla
|
|
|
|
|
sec
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.1 pla
|
|
|
|
|
>SYSCALL FClose
|
|
|
|
|
|
|
|
|
|
lda #$80
|
|
|
|
|
>STA.G bSaved
|
|
|
|
|
jsr SCRN.UpdateTopBar
|
|
|
|
|
.9 rts
|
|
|
|
|
*--------------------------------------
|
2019-11-12 16:39:22 +00:00
|
|
|
|
FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
|
|
|
|
dey
|
|
|
|
|
ora (pData),y
|
|
|
|
|
bne .9
|
|
|
|
|
|
|
|
|
|
dey
|
|
|
|
|
lda (pData),y Size HI
|
|
|
|
|
cmp #16
|
|
|
|
|
bcs .1
|
|
|
|
|
|
|
|
|
|
lda #13 Min = 3k
|
|
|
|
|
|
|
|
|
|
.1 adc #3 1K more
|
|
|
|
|
|
|
|
|
|
ldy #0 Size LO
|
|
|
|
|
>STYA BufLen
|
|
|
|
|
>SYSCALL GetMem
|
|
|
|
|
bcs .99
|
2019-11-15 16:15:43 +00:00
|
|
|
|
|
|
|
|
|
>STYA.G BufBase
|
2019-11-12 16:39:22 +00:00
|
|
|
|
txa
|
|
|
|
|
>STA.G hBuffer
|
|
|
|
|
|
|
|
|
|
lda #0
|
|
|
|
|
sta (BufPtr)
|
|
|
|
|
|
|
|
|
|
rts
|
|
|
|
|
|
|
|
|
|
.9 lda #E.FTB
|
|
|
|
|
sec
|
|
|
|
|
.99 rts
|
2019-11-06 13:14:42 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
|
|
|
|
SAVE USR/SRC/BIN/EDIT.S.FILE
|
|
|
|
|
LOAD USR/SRC/BIN/EDIT.S
|
|
|
|
|
ASM
|