Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-05-21 17:52:52 +02:00
parent 07f290a1b7
commit 31e0690842
4 changed files with 38 additions and 37 deletions

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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