mirror of https://github.com/A2osX/A2osX.git
Kernel 0.92+
This commit is contained in:
parent
9fb1e9b49d
commit
cc023c06a4
Binary file not shown.
|
@ -8,6 +8,12 @@ IO.Reset jsr IO.Reset.In
|
|||
jsr IO.Reset.Err
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.Pipe.In
|
||||
*--------------------------------------
|
||||
IO.Pipe.Out
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.Set.In pha
|
||||
jsr IO.Reset.In
|
||||
ldy #S.PS.hStdIn
|
||||
|
|
|
@ -146,7 +146,7 @@ SYS.Stat .EQ $06
|
|||
SYS.MKDir .EQ $08
|
||||
SYS.MKNod .EQ $0A
|
||||
SYS.MKFIFO .EQ $0C
|
||||
* .EQ $0E
|
||||
SYS.Pipe .EQ $0E
|
||||
|
||||
SYS.OpenDir .EQ $10
|
||||
SYS.ReadDir .EQ $12
|
||||
|
|
|
@ -460,15 +460,6 @@ K.IOCTL.GetPDrv ldy #S.FD.DEV.DRVPTR
|
|||
lda (pFD),y
|
||||
sta pDRV+1
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # pipe
|
||||
* ## C
|
||||
* `int pipe(int pipefd[2]);`
|
||||
* ## ASM
|
||||
*\--------------------------------------
|
||||
K.Pipe
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.MLIOPEN >LDYAI 1024 get a ProDOS IOBUF
|
||||
ldx #S.MEM.F.ALIGN+S.MEM.F.NOMOVE
|
||||
|
|
|
@ -13,7 +13,7 @@ K.SYSCALL.JMP .DA K.GetMemStat $00
|
|||
.DA K.MKDir
|
||||
.DA K.MKNod
|
||||
.DA K.MKFIFO
|
||||
.DA 0
|
||||
.DA K.Pipe
|
||||
|
||||
.DA K.OpenDir $10
|
||||
.DA K.ReadDir
|
||||
|
|
|
@ -209,38 +209,36 @@ K.MkNod >STYA ZPPtr1 pathname
|
|||
|
||||
>PULLW K.S.STAT+S.STAT.MODE
|
||||
>PULLB K.S.STAT+S.STAT.DEV
|
||||
|
||||
ldx #0
|
||||
|
||||
jsr K.GetMemPtr
|
||||
bcs K.MKNOD.RTS
|
||||
.1 lda Nod.Table.hFD,x
|
||||
beq .2
|
||||
|
||||
>STYA pFD
|
||||
inx
|
||||
cpx #K.Nod.MAX
|
||||
bne .1
|
||||
|
||||
lda #E.OOH
|
||||
* sec
|
||||
rts
|
||||
|
||||
.2 stx .3+1 Store hFILE
|
||||
|
||||
>LDYA ZPPtr1
|
||||
ldx K.S.STAT+S.STAT.DEV
|
||||
jsr STAT.NewhNodeYAX
|
||||
bcs K.MKNOD.RTS
|
||||
>SYSCALL StrDup
|
||||
bcs .9
|
||||
txa
|
||||
|
||||
lda (pFD) #S.FD.T
|
||||
.3 ldx #$ff SELF MODIFIED
|
||||
sta Nod.Table.hPath,x
|
||||
lda K.S.STAT+S.STAT.DEV
|
||||
sta Nod.Table.hFD,x
|
||||
|
||||
tax
|
||||
jmp (.8,x)
|
||||
txa hNODE
|
||||
|
||||
.8 .DA STDIO.IOERR REG
|
||||
.DA STDIO.IOERR DIR
|
||||
.DA STAT.MKNOD.CDEV
|
||||
.DA STAT.MKNOD.BDEV
|
||||
.DA STDIO.IOERR LNK
|
||||
.DA STAT.MKNOD.DSOCK
|
||||
.DA STAT.MKNOD.SSOCK
|
||||
.DA STAT.MKNOD.PIPE
|
||||
*--------------------------------------
|
||||
STAT.MKNOD.CDEV
|
||||
STAT.MKNOD.BDEV
|
||||
STAT.MKNOD.DSOCK
|
||||
STAT.MKNOD.SSOCK
|
||||
STAT.MKNOD.PIPE
|
||||
clc
|
||||
K.MKNOD.RTS rts
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # MKFIFO
|
||||
* return a hFILE to a new FIFO
|
||||
|
@ -255,7 +253,19 @@ K.MKNOD.RTS rts
|
|||
* CC = OK, CS = ERROR
|
||||
* A = hFILE
|
||||
*\--------------------------------------
|
||||
K.MKFIFO >LDYAI K.PIPE.SIZE
|
||||
K.MKFIFO sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # pipe
|
||||
* ## C
|
||||
* `hFD pipe();`
|
||||
* ## ASM
|
||||
* `>SYSCALL pipe`
|
||||
* ## RETURN VALUE
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFD
|
||||
*\--------------------------------------
|
||||
K.Pipe >LDYAI K.PIPE.SIZE
|
||||
jsr K.GetMem
|
||||
bcs .99
|
||||
|
||||
|
@ -288,41 +298,6 @@ K.MKFIFO >LDYAI K.PIPE.SIZE
|
|||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
STAT.NewhNodeYAX
|
||||
pha
|
||||
stx .4+1 Store hFD
|
||||
|
||||
ldx #0
|
||||
|
||||
.1 lda Nod.Table.hFD,x
|
||||
beq .2
|
||||
|
||||
inx
|
||||
cpx #K.Nod.MAX
|
||||
bne .1
|
||||
|
||||
pla
|
||||
lda #E.OOH
|
||||
* sec
|
||||
rts
|
||||
|
||||
.2 stx .3+1 Store hFILE
|
||||
|
||||
pla
|
||||
>SYSCALL StrDup
|
||||
bcs .9
|
||||
txa
|
||||
|
||||
.3 ldx #$ff SELF MODIFIED
|
||||
sta Nod.Table.hPath,x
|
||||
.4 lda #$ff SELF MODIFIED
|
||||
sta Nod.Table.hFD,x
|
||||
|
||||
txa hNODE
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.STAT
|
||||
LOAD USR/SRC/SYS/KERNEL.S
|
||||
|
|
Loading…
Reference in New Issue