Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-27 16:09:19 +02:00
parent ad341995dc
commit abfd50a7d4
8 changed files with 163 additions and 82 deletions

Binary file not shown.

Binary file not shown.

View File

@ -575,6 +575,6 @@ BUF.BufPtr.Realloc
.9 rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.BUF
LOAD USR/SRC/BIN/EDIT.S
SAVE usr/src/bin/edit.s.buf
LOAD usr/src/bin/edit.s
ASM

View File

@ -652,6 +652,6 @@ Ctrl.Z jsr BUF.ComputeCOffset
.9 rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.CTRL
LOAD USR/SRC/BIN/EDIT.S
SAVE usr/src/bin/edit.s.ctrl
LOAD usr/src/bin/edit.s
ASM

View File

@ -842,6 +842,6 @@ DLG.VBarToLineBuf
.8 rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.DLG
LOAD USR/SRC/BIN/EDIT.S
SAVE usr/src/bin/edit.s.dlg
LOAD usr/src/bin/edit.s
ASM

View File

@ -91,7 +91,6 @@ FILE.Load.TXT stz FileLen
jsr FILE.OpenTypeX
bcs .99
sta TmpIndex
>PUSHA
>PUSHEA.G STATBUF
@ -101,10 +100,8 @@ FILE.Load.TXT stz FileLen
jsr FILE.GetBuffer
.99 bcs .9
.1 >PUSHWI 254
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FRead
.1 ldy #254
jsr FILE.ReadY
bcs .7
lda #0
@ -173,25 +170,17 @@ FILE.Load.ASM stz FileLen
ldx #$FA
jsr FILE.OpenTypeX
bcs .99
sta TmpIndex
.1 >PUSHWI 3
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FRead
.1 ldy #3
jsr FILE.ReadY
bcs .7
lda #0
>PUSHA
lda (ZPPTR1)
dec
dec
dec
>PUSHA
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FRead
tay
jsr FILE.ReadY
bcs .7
jsr FILE.Load.ASM.Decode
@ -290,17 +279,6 @@ FILE.Load.ASM.2Buf
ply
rts
*--------------------------------------
FILE.OpenTypeX tax
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
>PUSHBI O.RDONLY
txa
>PUSHA
>PUSHWZ Aux type
>SYSCALL FOpen
rts
*--------------------------------------
FILE.Save >LDYAI 256
>SYSCALL GetMem
bcs FILE.Save.9
@ -319,19 +297,12 @@ FILE.Save.CR clc
.HS B0 BCS
FILE.Save.CRLF sec
ror TmpIndex+1
stz TmpIndex hFile
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
>PUSHBI O.CREATE+O.WRONLY
>PUSHBI S.FI.T.TXT
>PUSHWZ Aux type
>SYSCALL FOpen
ldx #S.FI.T.TXT
jsr FILE.CreateTypeX
bcs FILE.Save.9
sta TmpIndex
>LDYA.G BufBase
>STYA BufPtr
@ -364,53 +335,126 @@ FILE.Save.CRLF sec
clc
adc BufPtr
sta BufPtr
bcc .4
bcc .7
inc BufPtr+1
.4 lda #0
>PUSHYA
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FWrite
bcs FILE.Close
.7 jsr FILE.WriteY
bcs FILE.Save.99
bra .1
.8 >STZ.G bUnSaved
jmp FILE.Close
FILE.Save.99 jmp FILE.Close
*--------------------------------------
FILE.Save.ASM stz TmpIndex hFile
stz TmpLen
FILE.Save.ASM stz TmpLen
stz TmpLen+1
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
>PUSHBI O.CREATE+O.WRONLY
>PUSHBI S.FI.T.ASM
>PUSHWZ Aux type
>SYSCALL FOpen
bcs FILE.Close
sta TmpIndex
inc TmpLen
ldx #$FA S-C/ASM
jsr FILE.CreateTypeX
bcs FILE.Save.99
>LDYA.G BufBase
>STYA BufPtr
.1 lda (BufPtr)
beq .8
ldy #1
lda TmpLen
sta (ZPPTR1),y
iny
lda TmpLen+1
sta (ZPPTR1),y
ldy #0
.2 iny
lda (BufPtr),y
beq .3
cmp #C.CR
bne .2
.3 ldy #3 Initial LEN
.4 lda (BufPtr)
beq .7
ldx #0
.40 inc BufPtr
bne .5
inc BufPtr+1
.5 cmp #C.CR
beq .7
cmp (BufPtr) same as next ?
bne .50 no -> flush
inx
cpx #$3F
bne .40
.50 cpx #0
beq .60 only one char....
cmp #C.SPACE
beq .61
cpx #3
bcs .62
.63 sta (ZPPTR1),y
iny
dex
bpl .63
bra .4
.62 pha
lda #$C0
sta (ZPPTR1),y
iny
txa
sta (ZPPTR1),y
iny
pla
sta (ZPPTR1),y
iny
bra .4
.61 txa
ora #$C0
.60 sta (ZPPTR1),y
iny
bra .4
.7 lda #0
sta (ZPPTR1),y
iny
tya
sta (ZPPTR1)
jsr FILE.WriteY
bcs FILE.Close
inc TmpLen
bne .1
inc TmpLen+1
bra .1
.8 >STZ.G bUnSaved
*--------------------------------------
@ -429,6 +473,43 @@ FILE.Close php
plp
rts
*--------------------------------------
FILE.OpenTypeX lda #O.RDONLY
bra FILE.Open
FILE.CreateTypeX
lda #O.CREATE+O.WRONLY
FILE.Open stz TmpIndex
phx
pha
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
pla access
>PUSHA
pla type
>PUSHA
>PUSHWZ Aux type
>SYSCALL FOpen
bcs .9
sta TmpIndex
.9 rts
*--------------------------------------
FILE.ReadY lda #0
>PUSHYA
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FRead
rts
*--------------------------------------
FILE.WriteY lda #0
>PUSHYA
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FWrite
rts
*--------------------------------------
FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
dey
ora (pData),y
@ -457,6 +538,6 @@ FILE.GetBuffer.9
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.FILE
LOAD USR/SRC/BIN/EDIT.S
SAVE usr/src/bin/edit.s.file
LOAD usr/src/bin/edit.s
ASM

View File

@ -626,6 +626,6 @@ SCRN.LineBufOut lda #0
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.SCRN
LOAD USR/SRC/BIN/EDIT.S
SAVE usr/src/bin/edit.s.scrn
LOAD usr/src/bin/edit.s
ASM

View File

@ -3,12 +3,12 @@ NEW
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/EDIT
.TF bin/edit
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
*--------------------------------------
.DUMMY
.OR ZPBIN
@ -449,11 +449,11 @@ CharIn.TmpByte10pA
sta TmpByte
rts
*--------------------------------------
.INB USR/SRC/BIN/EDIT.S.BUF
.INB USR/SRC/BIN/EDIT.S.CTRL
.INB USR/SRC/BIN/EDIT.S.DLG
.INB USR/SRC/BIN/EDIT.S.FILE
.INB USR/SRC/BIN/EDIT.S.SCRN
.INB usr/src/bin/edit.s.buf
.INB usr/src/bin/edit.s.ctrl
.INB usr/src/bin/edit.s.dlg
.INB usr/src/bin/edit.s.file
.INB usr/src/bin/edit.s.scrn
*--------------------------------------
CS.END
SEQS .EQ *
@ -683,5 +683,5 @@ DS.END
.ED
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S
SAVE usr/src/bin/edit.s
ASM