mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
Kernel 0.93
This commit is contained in:
parent
b2f8dc8f91
commit
44dad84209
Binary file not shown.
@ -152,7 +152,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
|
||||
|
||||
sta hFILE
|
||||
|
||||
.2 >PUSHWI 256
|
||||
.2 >PUSHWI 254 Leave room for CRLF
|
||||
>PUSHW ZPBufPtr
|
||||
lda hFILE
|
||||
|
||||
@ -211,7 +211,20 @@ CS.RUN.PRINT inc LineNum
|
||||
lda bPrintAll
|
||||
bmi .3
|
||||
|
||||
>LDYA ZPBufPtr
|
||||
ldy #$ff
|
||||
|
||||
.20 iny
|
||||
lda (ZPBufPtr),y
|
||||
beq .21
|
||||
|
||||
cmp #C.SPACE
|
||||
bcs .20
|
||||
|
||||
lda #C.SPACE
|
||||
sta (ZPBufPtr),y
|
||||
bra .20
|
||||
|
||||
.21 >LDYA ZPBufPtr
|
||||
>SYSCALL puts
|
||||
rts
|
||||
|
||||
|
@ -316,10 +316,10 @@ CkeckOption lda (ZPPtr1)
|
||||
|
||||
.3 ldy OptionVars-1,x
|
||||
eor #$80 toggle option
|
||||
sta (pData),y
|
||||
sta $0,y
|
||||
lda #0 exit with 0
|
||||
|
||||
.8 clc !0 if bot an option
|
||||
.8 clc !0 if not an option
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
|
@ -1,6 +1,8 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
AUXPIPE .EQ 0
|
||||
*--------------------------------------
|
||||
ZPKERNEL .EQ $0
|
||||
*--------------------------------------
|
||||
ZPPtr1 .EQ ZPKERNEL
|
||||
|
@ -465,67 +465,6 @@ 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
|
||||
adc (pFD),y
|
||||
sta .2+2
|
||||
|
||||
dey S.FD.PIPE.Tail
|
||||
lda (pFD),y
|
||||
tay
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 inc IO.Counter
|
||||
bne .2
|
||||
inc IO.Counter+1
|
||||
beq .8
|
||||
|
||||
.2 lda $ffff,y SELF MODIFIED
|
||||
.3 sta $ffff,x SELF MODIFIED
|
||||
|
||||
inx
|
||||
bne .4
|
||||
|
||||
inc .3+2
|
||||
|
||||
.4 iny
|
||||
bne .1
|
||||
|
||||
ldy #S.FD.PIPE.Tail+1
|
||||
lda (pFD),y
|
||||
inc
|
||||
.5 cmp #$ff SELF MODIFIED
|
||||
beq .6
|
||||
|
||||
sta (pFD),y
|
||||
inc .2+2
|
||||
ldy #0
|
||||
bra .1
|
||||
|
||||
.6 lda #0
|
||||
sta (pFD),y
|
||||
|
||||
.7 lda #$ff SELF MODIFIED
|
||||
sta .2+2 Restore Pipe Buf base
|
||||
ldy #0
|
||||
bra .1
|
||||
|
||||
.8 tya
|
||||
ldy #S.FD.PIPE.Tail
|
||||
sta (pFD),y
|
||||
|
||||
ldy #S.FD.PIPE.Free
|
||||
|
||||
clc
|
||||
@ -552,6 +491,84 @@ IO.READ.PIPE ldy #S.FD.PIPE.Used+1
|
||||
sbc .81+1
|
||||
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
|
||||
.DO AUXPIPE=1
|
||||
sta SETREADAUX
|
||||
.FIN
|
||||
jsr K.GetMemPtr
|
||||
.DO AUXPIPE=1
|
||||
sta CLRREADAUX
|
||||
.FIN
|
||||
|
||||
sty .2+1
|
||||
sta .7+1 Pipe Buffer Base
|
||||
|
||||
ldy #S.FD.PIPE.Tail+1
|
||||
clc
|
||||
adc (pFD),y
|
||||
sta .2+2
|
||||
|
||||
dey S.FD.PIPE.Tail
|
||||
lda (pFD),y
|
||||
tay
|
||||
|
||||
ldx #0
|
||||
|
||||
.13 .DO AUXPIPE=1
|
||||
sta SETREADAUX
|
||||
.FIN
|
||||
|
||||
.1 inc IO.Counter
|
||||
bne .2
|
||||
inc IO.Counter+1
|
||||
beq .8
|
||||
|
||||
.2 lda $ffff,y SELF MODIFIED
|
||||
.3 sta $ffff,x SELF MODIFIED
|
||||
|
||||
inx
|
||||
bne .4
|
||||
|
||||
inc .3+2
|
||||
|
||||
.4 iny
|
||||
bne .1
|
||||
|
||||
.DO AUXPIPE=1
|
||||
sta CLRREADAUX
|
||||
.FIN
|
||||
|
||||
ldy #S.FD.PIPE.Tail+1
|
||||
lda (pFD),y
|
||||
inc
|
||||
.5 cmp #$ff SELF MODIFIED
|
||||
beq .6
|
||||
|
||||
sta (pFD),y
|
||||
inc .2+2
|
||||
ldy #0
|
||||
bra .13
|
||||
|
||||
.6 lda #0
|
||||
sta (pFD),y
|
||||
|
||||
.7 lda #$ff SELF MODIFIED
|
||||
sta .2+2 Restore Pipe Buf base
|
||||
ldy #0
|
||||
bra .13
|
||||
|
||||
.8 .DO AUXPIPE=1
|
||||
sta CLRREADAUX
|
||||
.FIN
|
||||
tya
|
||||
ldy #S.FD.PIPE.Tail
|
||||
sta (pFD),y
|
||||
|
||||
.80 ldy #$ff SELF MODIFIED
|
||||
.81 lda #$ff Y,A = bytes read
|
||||
|
||||
@ -594,7 +611,7 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
||||
txa
|
||||
sta (pFD),y store new Free
|
||||
|
||||
>PULLW .2+1 get buf
|
||||
>PULLW .2+1 get dst buf
|
||||
|
||||
>PULLA get cnt lo
|
||||
sta .80+1
|
||||
@ -623,7 +640,14 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
||||
|
||||
ldy #S.FD.PIPE.hMem
|
||||
lda (pFD),y
|
||||
jsr K.GetMemPtr
|
||||
|
||||
.DO AUXPIPE=1
|
||||
sta SETREADAUX
|
||||
.FIN
|
||||
jsr K.GetMemPtr get src buf
|
||||
.DO AUXPIPE=1
|
||||
sta CLRREADAUX
|
||||
.FIN
|
||||
|
||||
sty .3+1
|
||||
sta .7+1 Pipe Buffer Base
|
||||
@ -633,12 +657,16 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
||||
adc (pFD),y
|
||||
sta .3+2
|
||||
|
||||
ldx #0
|
||||
|
||||
dey
|
||||
lda (pFD),y
|
||||
tay S.FD.PIPE.Head
|
||||
|
||||
ldx #0
|
||||
|
||||
.10 .DO AUXPIPE=1
|
||||
sta SETWRITEAUX
|
||||
.FIN
|
||||
|
||||
.1 inc IO.Counter
|
||||
bne .2
|
||||
inc IO.Counter+1
|
||||
@ -655,6 +683,10 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
||||
.4 iny
|
||||
bne .1
|
||||
|
||||
.DO AUXPIPE=1
|
||||
sta CLRWRITEAUX
|
||||
.FIN
|
||||
|
||||
ldy #S.FD.PIPE.Head+1
|
||||
lda (pFD),y
|
||||
inc
|
||||
@ -664,7 +696,7 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
||||
sta (pFD),y
|
||||
inc .3+2
|
||||
ldy #0
|
||||
bra .1
|
||||
bra .10
|
||||
|
||||
.6 lda #0
|
||||
sta (pFD),y
|
||||
@ -672,9 +704,13 @@ IO.WRITE.PIPE ldy #S.FD.PIPE.S
|
||||
.7 lda #$ff SELF MODIFIED
|
||||
sta .3+2
|
||||
ldy #0
|
||||
bra .1
|
||||
bra .10
|
||||
|
||||
.8 tya
|
||||
.8 .DO AUXPIPE=1
|
||||
sta CLRWRITEAUX
|
||||
.FIN
|
||||
|
||||
tya
|
||||
ldy #S.FD.PIPE.Head
|
||||
sta (pFD),y
|
||||
|
||||
|
@ -606,7 +606,6 @@ K.GetStkObjData sta SETREADAUX
|
||||
lda (ZPMemMgrTmp1),y
|
||||
ply
|
||||
|
||||
|
||||
sta CLRREADAUX
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -383,8 +383,11 @@ K.MKFIFO
|
||||
* A = hFD
|
||||
*\--------------------------------------
|
||||
K.Pipe >STYA ZPPtr1
|
||||
* jsr K.NewStkObj Buffer in AUX mem
|
||||
.DO AUXPIPE=1
|
||||
jsr K.NewStkObj Buffer in AUX mem
|
||||
.ELSE
|
||||
jsr K.GetMem
|
||||
.FIN
|
||||
bcs .99
|
||||
|
||||
stx .1+1 save PIPE buffer
|
||||
@ -423,7 +426,11 @@ K.Pipe >STYA ZPPtr1
|
||||
|
||||
.9 pha save error code
|
||||
lda .1+1 get back PIPE buffer
|
||||
.DO AUXPIPE=1
|
||||
jsr K.FreeStkObj
|
||||
.ELSE
|
||||
jsr K.FreeMem
|
||||
.FIB
|
||||
pla
|
||||
sec
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user