From 403e4f4e8a9d30750b6b32999ad5cb040c96d1a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 13 Dec 2017 07:38:43 +0100 Subject: [PATCH] Kernel 0.9.1 : GUI, Font converter --- .Docs/KERNEL.md | 6 ++- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes FNT2FON.S.txt | 105 ++++++++++++++++++++++++++++----------- SYS/KERNEL.S.STDIO.txt | 12 +++-- 5 files changed, 87 insertions(+), 36 deletions(-) diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index fa2f804f..eb539dfe 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -515,7 +515,7 @@ Close a file ## Out : # FRead.A -Read ONE byte from file +Read ONE byte (A) from file (Y) ## In : + A = hFILE @@ -524,6 +524,7 @@ Read ONE byte from file + A = Byte Read # FWrite.AY +Write ONE byte (A) To file (Y) ## In: + A = hFILE @@ -544,6 +545,7 @@ Read bytes from file + Y,A = Bytes Read # FWrite +Write bytes to file ## In: + PUSHW = Src Ptr @@ -600,7 +602,7 @@ Rename a file ## Out : # SScanF -Scan a PStr (in progress) +Scan a C-String (in progress) ## In: + PUSHW PTR to target buffer diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 111aaaa1d2cda85b42dd7fe022f402c8145df86d..f9ac034f7fa1053a9eb59b967be755d923ec28ae 100644 GIT binary patch delta 16419 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 diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 12e9d9ff2801a9fc48ce4c4d246964304e024358..86c4742294852f9d24ccea644f2abb5c3fa92d61 100644 GIT binary patch delta 9700 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 delta 9235 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 diff --git a/FNT2FON.S.txt b/FNT2FON.S.txt index feb9b63a..06fa1bde 100644 --- a/FNT2FON.S.txt +++ b/FNT2FON.S.txt @@ -58,7 +58,8 @@ ZPInputTblPtr .EQ ZPBIN+4 ZPInputBMPtr .EQ ZPBIN+6 ZPCharBufPtr .EQ ZPBIN+8 ZPOutPutTblPtr .EQ ZPBIN+10 -ZPOutPutCharOfs .EQ ZPBIN+14 +ZPOutPutCharOfs .EQ ZPBIN+12 +ZPOutPutBufPtr .EQ ZPBIN+14 *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- @@ -217,6 +218,15 @@ CS.INIT.CREATEOUTPUT >SYSCALL FOpen bcs .9 >STA.G hOutputFile + + >LDYAI 256 + >SYSCALL GetMem.YA + bcs .9 + + >STYA ZPOutPutBufPtr + txa + >STA.G hOutPutBuf + .9 rts *-------------------------------------- CS.RUN ldy #S.FNT.dfBreakChar @@ -342,7 +352,10 @@ CS.RUN.LOOP >SLEEP inc ZPInputTblPtr+1 bra CS.RUN.LOOP -.8 jsr CS.RUN.WriteBMAndTbl +.8 jsr CS.RUN.FlushOutPutBuf + bcs .9 + + jsr CS.RUN.WriteBMAndTbl bcs .9 >LDYA L.MSG.DONE @@ -707,6 +720,54 @@ CS.RUN.StoreChar .9 plx .99 rts *-------------------------------------- +CS.RUN.WriteByte + phy + phx + pha + >LDA.G OutPutPtr + tay + + pla + sta (ZPOutPutBufPtr),y + tya + inc + >STA.G OutPutPtr + tay + bne .8 + + >PUSHW ZPOutPutBufPtr + >PUSHWI 256 + >LDA.G hOutputFile + >PUSHA + >SYSCALL FWrite + bcs .9 + +.8 inc ZPOutPutCharOfs + bne .81 + inc ZPOutPutCharOfs+1 + +.81 clc + +.9 plx + ply + rts +*-------------------------------------- +CS.RUN.FlushOutPutBuf + clc + >LDA.G OutPutPtr + beq .8 + pha + + >PUSHW ZPOutPutBufPtr + ply + lda #0 + >PUSHYA + >LDA.G hOutputFile + >PUSHA + >SYSCALL FWrite + +.8 rts +*-------------------------------------- CS.RUN.WriteBMAndTbl >LDA.G hTblBuf @@ -717,42 +778,26 @@ CS.RUN.WriteBMAndTbl clc rts *-------------------------------------- -CS.RUN.WriteByte - phx - phy - pha - >LDA.G hOutputFile - tay - pla - - >DEBUG - >SYSCALL FPutC.AY - - inc ZPOutPutCharOfs - bne .1 - inc ZPOutPutCharOfs+1 - -.1 ply - plx - rts -*-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- -CS.QUIT >LDA.G hOutputFile +CS.QUIT >LDA.G hOutPutBuf beq .1 - - >SYSCALL FClose.A - -.1 >LDA.G hInputBuf - beq .2 >SYSCALL FreeMem.A -.2 >LDA.G hCharBuf +.1 >LDA.G hOutputFile + beq .2 + >SYSCALL FClose.A + +.2 >LDA.G hInputBuf beq .3 >SYSCALL FreeMem.A -.3 >LDA.G hTblBuf +.3 >LDA.G hCharBuf + beq .4 + >SYSCALL FreeMem.A + +.4 >LDA.G hTblBuf beq .8 >SYSCALL FreeMem.A @@ -792,6 +837,8 @@ CharPixW .BS 1 CharByteW .BS 1 CharOutPixW .BS 1 CharOutByteW .BS 1 +hOutPutBuf .BS 1 +OutPutPtr .BS 1 BM.Offset .BS 4 DS.END diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index f7e85767..10040da2 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -5,7 +5,7 @@ INC 1 AUTO 6 */-------------------------------------- * # FPutC.AY -* Print A (char) to File +* Print A (char) to Node * ## In: * A : char to print * Y = hFILE @@ -135,7 +135,7 @@ K.GetChar ldy #S.PS.hStdIn lda (pPs),y */-------------------------------------- * # GetC.A -* Get char from File +* Get char from Node * ## In: * A = hFILE * ## Out: @@ -208,7 +208,7 @@ K.FPutS K.PutS.YA */-------------------------------------- * # FGetS -* Read String From FILE +* Read String From Node * ## In: * PUSHW : CPtr * PUSHB : hFILE @@ -370,7 +370,7 @@ K.FClose.A.2 lda #$ff Self Modified jmp K.FreeMem.A */-------------------------------------- * # FRead.A -* Read ONE byte from file +* Read ONE byte (A) from file (Y) * ## In : * A = hFILE * ## Out : @@ -381,6 +381,7 @@ K.FRead.A jsr PFT.CheckNodeA bra K.FReadWrite.0 */-------------------------------------- * # FWrite.AY +* Write ONE byte (A) To file (Y) * ## In: * A = hFILE * Y = char @@ -417,6 +418,7 @@ K.FRead jsr PFT.CheckNodeSTK bra K.FReadWrite.1 */-------------------------------------- * # FWrite +* Write bytes to file * ## In: * PUSHW = Src Ptr * PUSHW = Bytes To Write @@ -618,7 +620,7 @@ K.Rename jsr PFT.CheckPathSTK rts */-------------------------------------- * # SScanF -* Scan a PStr (in progress) +* Scan a C-String (in progress) * ## In: * PUSHW PTR to target buffer * PUSHW PSTR pattern (ex: "%d.%d.%d.%d")