From 31e0690842ad23d9bd93fe4409756e82238bb2c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 21 May 2019 17:52:52 +0200 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.IO.txt | 2 +- SYS/KERNEL.S.IO.txt | 38 +++++++++++++++++++------------------- SYS/KERNEL.S.STDIO.txt | 35 ++++++++++++++++++----------------- 4 files changed, 38 insertions(+), 37 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 733db0f1021d776459af8a5ee97427db0994b6c4..3cb0c01aadfffbfb7758ee77166b7598e1156e58 100644 GIT binary patch delta 21535 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 diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index d7187045..89209916 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -59,7 +59,7 @@ IO.Reset.In >LDA.G IO.hIn .8 clc IO.Reset.In.RTS rts *-------------------------------------- -IO.Pipe.Out >LDYAI 256 +IO.Pipe.Out >LDYAI 512 >SYSCALL pipe bcs IO.Reset.In.RTS >STA.G IO.hPipe diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index ed3557fe..ee01f905 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -465,11 +465,16 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1 eor #$ff sta IO.Counter+1 + ldy #S.FD.PIPE.Size+1 + lda (pFD),y + sta .5+1 Page Count + ldy #S.FD.PIPE.hMem lda (pFD),y jsr K.GetMemPtr sty .2+1 + sta .7+1 Pipe Buffer Base ldy #S.FD.PIPE.Tail+1 clc @@ -501,24 +506,19 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1 ldy #S.FD.PIPE.Tail+1 lda (pFD),y inc - ldy #S.FD.PIPE.Size+1 - cmp (pFD),y - beq .5 +.5 cmp #$ff SELF MODIFIED + beq .6 - ldy #S.FD.PIPE.Tail+1 sta (pFD),y inc .2+2 ldy #0 bra .1 -.5 lda #0 - ldy #S.FD.PIPE.Tail+1 +.6 lda #0 sta (pFD),y - ldy #S.FD.PIPE.hMem - lda (pFD),y - jsr K.GetMemPtr - sta .2+2 +.7 lda #$ff SELF MODIFIED + sta .2+2 Restore Pipe Buf base ldy #0 bra .1 @@ -617,11 +617,16 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S adc (pFD),y sta (pFD),y + ldy #S.FD.PIPE.Size+1 + lda (pFD),y + sta .5+1 Page Count + ldy #S.FD.PIPE.hMem lda (pFD),y jsr K.GetMemPtr sty .3+1 + sta .7+1 Pipe Buffer Base ldy #S.FD.PIPE.Head+1 clc @@ -653,23 +658,18 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S ldy #S.FD.PIPE.Head+1 lda (pFD),y inc - ldy #S.FD.PIPE.Size+1 - cmp (pFD),y - beq .5 +.5 cmp #$ff SELF MODIFIED + beq .6 - ldy #S.FD.PIPE.Head+1 sta (pFD),y inc .3+2 ldy #0 bra .1 -.5 lda #0 - ldy #S.FD.PIPE.Head+1 +.6 lda #0 sta (pFD),y - ldy #S.FD.PIPE.hMem - lda (pFD),y - jsr K.GetMemPtr +.7 lda #$ff SELF MODIFIED sta .3+2 ldy #0 bra .1 diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index bbbe2d3c..11dd2f47 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -64,7 +64,7 @@ K.FPutC jsr PFT.CheckNodeA bpl K.PutChar.RET1 inc 0 = BLOCKING - sec +* sec rts */-------------------------------------- * # puts (BLOCKING) @@ -116,6 +116,8 @@ K.PutS >STYA ZPPtr2 bpl .99 inc 0 = BLOCKING + inc pStack pop K.IOBuf + inc pStack * sec .99 rts */-------------------------------------- @@ -161,13 +163,13 @@ K.FPutS jsr PFT.CheckNodeA set IO.hFD >PUSHW ZPPtr2 jsr IO.Write.I - bcc .8 + bcc .9 tay - bpl .9 + bpl .9 IO Erorr inc 0 = BLOCKING -.8 rts + rts .9 >RET 2 pop str */-------------------------------------- @@ -392,7 +394,7 @@ K.PrintF.1 stz PrintF.Cnt adc (pLocal) ... ByteCnt sta pStack CC pla - beq * + sec rts *-------------------------------------- @@ -884,7 +886,7 @@ K.FGetS jsr PFT.CheckNodeA jsr IO.READ.I bcc .2 another char... -.4 tay + tay bpl .9 I/O error lda ZPPtr2 @@ -1218,14 +1220,9 @@ K.FRead jsr PFT.CheckNodeA bcs K.FOpen.RET4 jsr IO.Read.I - bcc .9 + bcs K.FWrite.9 - tay - bpl .9 - - inc 0 = BLOCKING - -.9 rts + rts */-------------------------------------- * # FWrite (BLOCKING) * Write bytes to file @@ -1244,14 +1241,18 @@ K.FWrite jsr PFT.CheckNodeA bcs K.FOpen.RET4 jsr IO.Write.I - bcc .9 + bcc K.FWrite.RTS - tay - bpl .9 +K.FWrite.9 tay + bpl K.FWrite.RTS + dec pStack FF = NODATA + dec pStack + dec pStack + dec pStack keep ptr & count on stack inc 0 = BLOCKING -.9 rts +K.FWrite.RTS rts */-------------------------------------- * # FFlush * ## C