mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-12 14:29:33 +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
|
.8 clc
|
||||||
IO.Reset.In.RTS rts
|
IO.Reset.In.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.Pipe.Out >LDYAI 256
|
IO.Pipe.Out >LDYAI 512
|
||||||
>SYSCALL pipe
|
>SYSCALL pipe
|
||||||
bcs IO.Reset.In.RTS
|
bcs IO.Reset.In.RTS
|
||||||
>STA.G IO.hPipe
|
>STA.G IO.hPipe
|
||||||
|
@ -465,11 +465,16 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
|||||||
eor #$ff
|
eor #$ff
|
||||||
sta IO.Counter+1
|
sta IO.Counter+1
|
||||||
|
|
||||||
|
ldy #S.FD.PIPE.Size+1
|
||||||
|
lda (pFD),y
|
||||||
|
sta .5+1 Page Count
|
||||||
|
|
||||||
ldy #S.FD.PIPE.hMem
|
ldy #S.FD.PIPE.hMem
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
|
|
||||||
sty .2+1
|
sty .2+1
|
||||||
|
sta .7+1 Pipe Buffer Base
|
||||||
|
|
||||||
ldy #S.FD.PIPE.Tail+1
|
ldy #S.FD.PIPE.Tail+1
|
||||||
clc
|
clc
|
||||||
@ -501,24 +506,19 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
|||||||
ldy #S.FD.PIPE.Tail+1
|
ldy #S.FD.PIPE.Tail+1
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
inc
|
inc
|
||||||
ldy #S.FD.PIPE.Size+1
|
.5 cmp #$ff SELF MODIFIED
|
||||||
cmp (pFD),y
|
beq .6
|
||||||
beq .5
|
|
||||||
|
|
||||||
ldy #S.FD.PIPE.Tail+1
|
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
inc .2+2
|
inc .2+2
|
||||||
ldy #0
|
ldy #0
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.5 lda #0
|
.6 lda #0
|
||||||
ldy #S.FD.PIPE.Tail+1
|
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
|
|
||||||
ldy #S.FD.PIPE.hMem
|
.7 lda #$ff SELF MODIFIED
|
||||||
lda (pFD),y
|
sta .2+2 Restore Pipe Buf base
|
||||||
jsr K.GetMemPtr
|
|
||||||
sta .2+2
|
|
||||||
ldy #0
|
ldy #0
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
@ -617,11 +617,16 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
|||||||
adc (pFD),y
|
adc (pFD),y
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
|
|
||||||
|
ldy #S.FD.PIPE.Size+1
|
||||||
|
lda (pFD),y
|
||||||
|
sta .5+1 Page Count
|
||||||
|
|
||||||
ldy #S.FD.PIPE.hMem
|
ldy #S.FD.PIPE.hMem
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
jsr K.GetMemPtr
|
jsr K.GetMemPtr
|
||||||
|
|
||||||
sty .3+1
|
sty .3+1
|
||||||
|
sta .7+1 Pipe Buffer Base
|
||||||
|
|
||||||
ldy #S.FD.PIPE.Head+1
|
ldy #S.FD.PIPE.Head+1
|
||||||
clc
|
clc
|
||||||
@ -653,23 +658,18 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
|||||||
ldy #S.FD.PIPE.Head+1
|
ldy #S.FD.PIPE.Head+1
|
||||||
lda (pFD),y
|
lda (pFD),y
|
||||||
inc
|
inc
|
||||||
ldy #S.FD.PIPE.Size+1
|
.5 cmp #$ff SELF MODIFIED
|
||||||
cmp (pFD),y
|
beq .6
|
||||||
beq .5
|
|
||||||
|
|
||||||
ldy #S.FD.PIPE.Head+1
|
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
inc .3+2
|
inc .3+2
|
||||||
ldy #0
|
ldy #0
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.5 lda #0
|
.6 lda #0
|
||||||
ldy #S.FD.PIPE.Head+1
|
|
||||||
sta (pFD),y
|
sta (pFD),y
|
||||||
|
|
||||||
ldy #S.FD.PIPE.hMem
|
.7 lda #$ff SELF MODIFIED
|
||||||
lda (pFD),y
|
|
||||||
jsr K.GetMemPtr
|
|
||||||
sta .3+2
|
sta .3+2
|
||||||
ldy #0
|
ldy #0
|
||||||
bra .1
|
bra .1
|
||||||
|
@ -64,7 +64,7 @@ K.FPutC jsr PFT.CheckNodeA
|
|||||||
bpl K.PutChar.RET1
|
bpl K.PutChar.RET1
|
||||||
|
|
||||||
inc 0 = BLOCKING
|
inc 0 = BLOCKING
|
||||||
sec
|
* sec
|
||||||
rts
|
rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # puts (BLOCKING)
|
* # puts (BLOCKING)
|
||||||
@ -116,6 +116,8 @@ K.PutS >STYA ZPPtr2
|
|||||||
bpl .99
|
bpl .99
|
||||||
|
|
||||||
inc 0 = BLOCKING
|
inc 0 = BLOCKING
|
||||||
|
inc pStack pop K.IOBuf
|
||||||
|
inc pStack
|
||||||
* sec
|
* sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
@ -161,13 +163,13 @@ K.FPutS jsr PFT.CheckNodeA set IO.hFD
|
|||||||
>PUSHW ZPPtr2
|
>PUSHW ZPPtr2
|
||||||
|
|
||||||
jsr IO.Write.I
|
jsr IO.Write.I
|
||||||
bcc .8
|
bcc .9
|
||||||
tay
|
tay
|
||||||
bpl .9
|
bpl .9 IO Erorr
|
||||||
|
|
||||||
inc 0 = BLOCKING
|
inc 0 = BLOCKING
|
||||||
|
|
||||||
.8 rts
|
rts
|
||||||
|
|
||||||
.9 >RET 2 pop str
|
.9 >RET 2 pop str
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
@ -392,7 +394,7 @@ K.PrintF.1 stz PrintF.Cnt
|
|||||||
adc (pLocal) ... ByteCnt
|
adc (pLocal) ... ByteCnt
|
||||||
sta pStack CC
|
sta pStack CC
|
||||||
pla
|
pla
|
||||||
beq *
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -884,7 +886,7 @@ K.FGetS jsr PFT.CheckNodeA
|
|||||||
jsr IO.READ.I
|
jsr IO.READ.I
|
||||||
bcc .2 another char...
|
bcc .2 another char...
|
||||||
|
|
||||||
.4 tay
|
tay
|
||||||
bpl .9 I/O error
|
bpl .9 I/O error
|
||||||
|
|
||||||
lda ZPPtr2
|
lda ZPPtr2
|
||||||
@ -1218,14 +1220,9 @@ K.FRead jsr PFT.CheckNodeA
|
|||||||
bcs K.FOpen.RET4
|
bcs K.FOpen.RET4
|
||||||
|
|
||||||
jsr IO.Read.I
|
jsr IO.Read.I
|
||||||
bcc .9
|
bcs K.FWrite.9
|
||||||
|
|
||||||
tay
|
rts
|
||||||
bpl .9
|
|
||||||
|
|
||||||
inc 0 = BLOCKING
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # FWrite (BLOCKING)
|
* # FWrite (BLOCKING)
|
||||||
* Write bytes to file
|
* Write bytes to file
|
||||||
@ -1244,14 +1241,18 @@ K.FWrite jsr PFT.CheckNodeA
|
|||||||
bcs K.FOpen.RET4
|
bcs K.FOpen.RET4
|
||||||
|
|
||||||
jsr IO.Write.I
|
jsr IO.Write.I
|
||||||
bcc .9
|
bcc K.FWrite.RTS
|
||||||
|
|
||||||
tay
|
K.FWrite.9 tay
|
||||||
bpl .9
|
bpl K.FWrite.RTS
|
||||||
|
|
||||||
|
dec pStack FF = NODATA
|
||||||
|
dec pStack
|
||||||
|
dec pStack
|
||||||
|
dec pStack keep ptr & count on stack
|
||||||
inc 0 = BLOCKING
|
inc 0 = BLOCKING
|
||||||
|
|
||||||
.9 rts
|
K.FWrite.RTS rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # FFlush
|
* # FFlush
|
||||||
* ## C
|
* ## C
|
||||||
|
Loading…
Reference in New Issue
Block a user