diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4d5900fb..4241b7a8 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/MORE.S.txt b/BIN/MORE.S.txt index 9dc15043..682aa77d 100644 --- a/BIN/MORE.S.txt +++ b/BIN/MORE.S.txt @@ -13,8 +13,13 @@ AUTO 4,1 *-------------------------------------- PG.SIZE .EQ 22 *-------------------------------------- -ZPPTR1 .EQ ZPBIN -ZPBufPtr .EQ ZPBIN+2 + .DUMMY + .OR ZPBIN +ZS.START +ZPPTR1 .BS 2 +ZPBufPtr .BS 2 +ZS.END + .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -22,12 +27,12 @@ CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 - .DA #0 S.PS.F + .DA #0 S.PS.F.EVENT .DA #0 - .DA CS.END-CS.START CS - .DA DS.END-DS.START DS - .DA #16 SS - .DA #4 ZP + .DA CS.END-CS.START Code Size (without Constants) + .DA DS.END-DS.START Data SegmentSize + .DA #16 Stack Size + .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table @@ -203,17 +208,16 @@ CS.RUN.GETC >LDA.G hFILE .1 >SYSCALL GetChar .2 rts *-------------------------------------- -CS.RUN.GETLINE >LDA.G hFile +CS.RUN.GETLINE >PUSHWI 256 + >PUSHW ZPBufPtr + >LDA.G hFile bne .1 ldy #S.PS.hStdIn lda (pPS),y -.1 pha - >PUSHWI 256 - >PUSHW ZPBufPtr - pla - >SYSCALL fgets +.1 >SYSCALL fgets + bcs .9 lda (ZPBufPtr) diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index dbdebe03..dad4b3d2 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -709,17 +709,17 @@ PrintF.Cnt .BS 2 K.FGetS jsr PFT.CheckNodeA bcs .90 - jsr MEM.SPtr1PPtr2 + >PULLW ZPPtr1 s - lda ZPPtr1 + >PULLA sec sbc #2 eor #$ff - sta ZPPtr1 !n - lda ZPPtr1+1 + sta ZPPtr2 !n + >PULLA sbc #0 eor #$ff - sta ZPPtr1+1 !n + sta ZPPtr2+1 !n jsr K.GetC.I bcs .9 @@ -728,9 +728,14 @@ K.FGetS jsr PFT.CheckNodeA cmp #C.CR 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 .3 jsr K.GetC.I @@ -740,7 +745,7 @@ K.FGetS jsr PFT.CheckNodeA .9 pha lda #0 - sta (ZPPtr2) + sta (ZPPtr1) pla .99 rts @@ -814,10 +819,14 @@ K.SScanF >STYA ZPPtr2 String to Scan stz .5+1 reset LStack Ptr stz .80+1 rest Arg processed -.1 jsr MEM.GetCharPtr1 End Of format? +.1 lda (ZPPtr1) End Of format? beq .8 - cmp #'%' Escape ? + inc ZPPtr1 + bne .11 + inc ZPPtr1+1 + +.11 cmp #'%' Escape ? beq .2 cmp #' ' Space ? @@ -839,10 +848,14 @@ K.SScanF >STYA ZPPtr2 String to Scan beq .12 bne .1 -.2 jsr MEM.GetCharPtr1 Get specifier after % +.2 lda (ZPPtr1) Get specifier 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 beq .4 @@ -1298,7 +1311,7 @@ STDIO.NewHFileYAX .2 stx .3+1 Store hFILE pla - >SYSCALL StrDup + >SYSCALL strdup bcs .9 txa