mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-06 18:37:12 +00:00
Kernel 0.93
This commit is contained in:
parent
07f290a1b7
commit
31e0690842
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user