From 3e69efa6a5a868ce8c911cfecf6d739f848c521f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 25 Mar 2019 21:18:50 +0000 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CMD.txt | 5 +--- SYS/KERNEL.S.STDIO.txt | 48 ++++++++++++++++++++++++++++----------- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 0a370cc97454cf797ff312b8861f6b9c2dca6fa7..751618b1a21530b4b92c648896d2b1de001cc281 100644 GIT binary patch delta 24294 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 kfl0Tuu=&Ssb&qT{K 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 - rts +.9 rts *-------------------------------------- CMD.GETKEY lda (ZPArgVBufPtr) beq .99 diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 6127e663..dfbe1cb5 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -250,15 +250,11 @@ K.PrintF.1 stz PrintF.Cnt ldy #0 .2 lda (ZPPtr1),y - beq .99 + beq .7 end of line... print % and exit iny - ldx #PrintFTBL1.Cnt-1 - -.3 cmp PrintFTBL1,x do we have a %x command? - beq .6 yes, jmp to it! - dex - bpl .3 no valid letter... + jsr K.PrintF.CheckTBL1 do we have a %x command? + bcc .6 yes, jmp to it! cmp #'0' ...a 0...mmm... padding char? bne .4 @@ -271,11 +267,17 @@ K.PrintF.1 stz PrintF.Cnt bra .2 .4 jsr MEM.IsDigit - bcs .99 + bcs .7 no TBL1, no digit....abort .5 and #$0F we have a digit - pha save it... - lda K.PrintF.PadL starts K.PrintF.PadL * 10 + ldx K.PrintF.PadL + bne .51 second digit... + + sta K.PrintF.PadL first digit, store. + bra .2 + +.51 pha save it... + lda K.PrintF.PadL starts K.PrintF.PadL * 10 asl asl A=times 4 adc K.PrintF.PadL CC by ASL, A=times 5 @@ -286,16 +288,23 @@ K.PrintF.1 stz PrintF.Cnt adc K.PrintF.PadL sta K.PrintF.PadL + lda (ZPPtr1),y we have 2 digits, must get a letter, now + beq .7 iny - cpy #3 - bne .2 go get next char... + jsr K.PrintF.CheckTBL1 + bcs .7 abort and print % -.6 txa +.6 jsr MEM.AddYToPtr1 skip all processed chars + + txa asl tax jsr PrintF.ESC bcc .1 bcs .99 + +.7 lda #'%' + bra .20 *-------------------------------------- .10 cmp #'\' bne .20 @@ -380,6 +389,19 @@ K.PrintF.GetFormat rts *-------------------------------------- +K.PrintF.CheckTBL1 + ldx #PrintFTBL1.Cnt-1 + +.1 cmp PrintFTBL1,x + beq .8 + dex + bpl .1 + sec no valid letter... + rts + +.8 clc + rts +*-------------------------------------- PrintF.ESC jmp (.1,x) .1 .DA PrintF.B,PrintF.BB .DA PrintF.D,PrintF.DD,PrintF.U