Kernel 0.92

This commit is contained in:
Rémy GIBERT 2018-12-20 21:59:48 +01:00
parent 0ac098cc3b
commit 72cdc68c2c
3 changed files with 43 additions and 26 deletions

Binary file not shown.

View File

@ -13,8 +13,13 @@ AUTO 4,1
*-------------------------------------- *--------------------------------------
PG.SIZE .EQ 22 PG.SIZE .EQ 22
*-------------------------------------- *--------------------------------------
ZPPTR1 .EQ ZPBIN .DUMMY
ZPBufPtr .EQ ZPBIN+2 .OR ZPBIN
ZS.START
ZPPTR1 .BS 2
ZPBufPtr .BS 2
ZS.END
.ED
*-------------------------------------- *--------------------------------------
* File Header (16 Bytes) * File Header (16 Bytes)
*-------------------------------------- *--------------------------------------
@ -22,12 +27,12 @@ CS.START cld
jmp (.1,x) jmp (.1,x)
.DA #$61 6502,Level 1 (65c02) .DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1 .DA #1 BIN Layout Version 1
.DA #0 S.PS.F .DA #0 S.PS.F.EVENT
.DA #0 .DA #0
.DA CS.END-CS.START CS .DA CS.END-CS.START Code Size (without Constants)
.DA DS.END-DS.START DS .DA DS.END-DS.START Data SegmentSize
.DA #16 SS .DA #16 Stack Size
.DA #4 ZP .DA #ZS.END-ZS.START Zero Page Size
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
* Relocation Table * Relocation Table
@ -203,17 +208,16 @@ CS.RUN.GETC >LDA.G hFILE
.1 >SYSCALL GetChar .1 >SYSCALL GetChar
.2 rts .2 rts
*-------------------------------------- *--------------------------------------
CS.RUN.GETLINE >LDA.G hFile CS.RUN.GETLINE >PUSHWI 256
>PUSHW ZPBufPtr
>LDA.G hFile
bne .1 bne .1
ldy #S.PS.hStdIn ldy #S.PS.hStdIn
lda (pPS),y lda (pPS),y
.1 pha .1 >SYSCALL fgets
>PUSHWI 256
>PUSHW ZPBufPtr
pla
>SYSCALL fgets
bcs .9 bcs .9
lda (ZPBufPtr) lda (ZPBufPtr)

View File

@ -709,17 +709,17 @@ PrintF.Cnt .BS 2
K.FGetS jsr PFT.CheckNodeA K.FGetS jsr PFT.CheckNodeA
bcs .90 bcs .90
jsr MEM.SPtr1PPtr2 >PULLW ZPPtr1 s
lda ZPPtr1 >PULLA
sec sec
sbc #2 sbc #2
eor #$ff eor #$ff
sta ZPPtr1 !n sta ZPPtr2 !n
lda ZPPtr1+1 >PULLA
sbc #0 sbc #0
eor #$ff eor #$ff
sta ZPPtr1+1 !n sta ZPPtr2+1 !n
jsr K.GetC.I jsr K.GetC.I
bcs .9 bcs .9
@ -728,9 +728,14 @@ K.FGetS jsr PFT.CheckNodeA
cmp #C.CR cmp #C.CR
beq .8 beq .8
jsr MEM.PutCharPtr2 sta (ZPPtr1)
inc ZPPtr1
bne .2
inc ZPPtr1+1
jsr MEM.NextCharPtr1 .2 inc ZPPtr2
bne .3
inc ZPPtr2+1
beq .8 beq .8
.3 jsr K.GetC.I .3 jsr K.GetC.I
@ -740,7 +745,7 @@ K.FGetS jsr PFT.CheckNodeA
.9 pha .9 pha
lda #0 lda #0
sta (ZPPtr2) sta (ZPPtr1)
pla pla
.99 rts .99 rts
@ -814,10 +819,14 @@ K.SScanF >STYA ZPPtr2 String to Scan
stz .5+1 reset LStack Ptr stz .5+1 reset LStack Ptr
stz .80+1 rest Arg processed stz .80+1 rest Arg processed
.1 jsr MEM.GetCharPtr1 End Of format? .1 lda (ZPPtr1) End Of format?
beq .8 beq .8
cmp #'%' Escape ? inc ZPPtr1
bne .11
inc ZPPtr1+1
.11 cmp #'%' Escape ?
beq .2 beq .2
cmp #' ' Space ? cmp #' ' Space ?
@ -839,10 +848,14 @@ K.SScanF >STYA ZPPtr2 String to Scan
beq .12 beq .12
bne .1 bne .1
.2 jsr MEM.GetCharPtr1 Get specifier after % .2 lda (ZPPtr1) Get specifier after %
beq .9 unexpected End of format after "%" ? beq .9 unexpected End of format after "%" ?
ldx #K.SScanFJMP-K.SScanFTBL-2 inc ZPPtr1
bne .21
inc ZPPtr1+1
.21 ldx #K.SScanFJMP-K.SScanFTBL-2
.3 cmp K.SScanFTBL,x .3 cmp K.SScanFTBL,x
beq .4 beq .4
@ -1298,7 +1311,7 @@ STDIO.NewHFileYAX
.2 stx .3+1 Store hFILE .2 stx .3+1 Store hFILE
pla pla
>SYSCALL StrDup >SYSCALL strdup
bcs .9 bcs .9
txa txa