mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-06 12:29:02 +00:00
Kernel 0.93
This commit is contained in:
parent
e32d4679f6
commit
31533e52d7
@ -748,6 +748,22 @@ CC : success
|
||||
CS : error
|
||||
A = EC
|
||||
|
||||
# MKFIFO
|
||||
return a pathname to a new FIFO
|
||||
|
||||
## C
|
||||
`int mkfifo( char *pathname, int mode );`
|
||||
|
||||
## ASM
|
||||
**In:**
|
||||
`>PUSHW mode`
|
||||
`>LDYA pathname`
|
||||
`>SYSCALL mkfifo`
|
||||
|
||||
## RETURN VALUE
|
||||
CC = OK, CS = ERROR
|
||||
A = hFD
|
||||
|
||||
# MkNod
|
||||
Create a special or ordinary file.
|
||||
(CDEV, BDEV, DSOCKS, SSOCK, PIPE)
|
||||
@ -766,20 +782,6 @@ Create a special or ordinary file.
|
||||
CC = OK, CS = ERROR
|
||||
A = hFILE
|
||||
|
||||
# MKFIFO
|
||||
return a hFILE to a new FIFO
|
||||
|
||||
## C
|
||||
`hFILE mkfifo();`
|
||||
|
||||
## ASM
|
||||
**In:**
|
||||
`>SYSCALL mkfifo`
|
||||
|
||||
## RETURN VALUE
|
||||
CC = OK, CS = ERROR
|
||||
A = hFILE
|
||||
|
||||
# pipe
|
||||
|
||||
## C
|
||||
|
Binary file not shown.
@ -27,7 +27,7 @@ BUF.InsertClipboard
|
||||
bcs .9
|
||||
|
||||
>LDYA BUF.COffset
|
||||
jsr BUF.CopyCount
|
||||
jsr BUF.Start2YA
|
||||
|
||||
jsr BUF.CopyClipboard
|
||||
|
||||
@ -65,7 +65,7 @@ BUF.InsertA sta TmpByte
|
||||
bcs .9
|
||||
|
||||
>LDYA BUF.COffset
|
||||
.1 jsr BUF.CopyCount
|
||||
jsr BUF.Start2YA
|
||||
|
||||
.2 lda TmpByte
|
||||
sta (BufPtr)
|
||||
@ -79,11 +79,11 @@ BUF.InsertA sta TmpByte
|
||||
clc
|
||||
adc #1
|
||||
sta BufLen
|
||||
bcc .8
|
||||
bcc .9
|
||||
|
||||
inc BufLen+1
|
||||
|
||||
.8 clc
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BUF.DelSel jsr BUF.GetSelLen
|
||||
@ -104,7 +104,7 @@ BUF.DelSel jsr BUF.GetSelLen
|
||||
bcs .9
|
||||
|
||||
>LDYA.G SelStart
|
||||
jsr BUF.CopyCount
|
||||
jsr BUF.Start2YA
|
||||
|
||||
lda BufPtrBackup
|
||||
clc
|
||||
@ -139,7 +139,7 @@ BUF.DelCharAtCursor
|
||||
bcs .9
|
||||
|
||||
>LDYA BUF.COffset
|
||||
jsr BUF.CopyCount
|
||||
jsr BUF.Start2YA
|
||||
|
||||
.3 lda (BufPtrBackup)
|
||||
pha Save deleted char for later
|
||||
@ -265,21 +265,21 @@ BUF.CopyClipboard
|
||||
clc
|
||||
adc ClipboardPtr
|
||||
sta ClipboardPtr
|
||||
bcc .4
|
||||
bcc BUF.CopyAddY
|
||||
|
||||
inc ClipboardPtr+1
|
||||
|
||||
.4 tya
|
||||
BUF.CopyAddY tya
|
||||
clc
|
||||
adc BufPtr
|
||||
sta BufPtr
|
||||
bcc .8
|
||||
bcc .2
|
||||
|
||||
inc BufPtr+1
|
||||
|
||||
.8 rts
|
||||
.2 rts
|
||||
*--------------------------------------
|
||||
BUF.CopyCount eor #$ff
|
||||
BUF.Start2YA eor #$ff
|
||||
pha
|
||||
|
||||
tya
|
||||
@ -305,39 +305,30 @@ BUF.CopyCount eor #$ff
|
||||
inc BufPtrBackup+1
|
||||
inc BufPtr+1
|
||||
bra .1
|
||||
|
||||
|
||||
.3 tya
|
||||
clc
|
||||
adc BufPtrBackup
|
||||
sta BufPtrBackup
|
||||
bcc .4
|
||||
bcc BUF.CopyAddY
|
||||
|
||||
inc BufPtrBackup+1
|
||||
|
||||
.4 tya
|
||||
clc
|
||||
adc BufPtr
|
||||
sta BufPtr
|
||||
bcc .8
|
||||
|
||||
inc BufPtr+1
|
||||
|
||||
.8 rts
|
||||
bra BUF.CopyAddY
|
||||
*--------------------------------------
|
||||
BUF.CopyTail lda (BufPtrBackup)
|
||||
sta (BufPtr)
|
||||
beq .9
|
||||
BUF.CopyTail ldy #0
|
||||
|
||||
.1 lda (BufPtrBackup),y
|
||||
sta (BufPtr),y
|
||||
beq .8
|
||||
|
||||
inc BufPtrBackup
|
||||
iny
|
||||
bne .1
|
||||
|
||||
inc BufPtrBackup+1
|
||||
|
||||
.1 inc BufPtr
|
||||
bne BUF.CopyTail
|
||||
inc BufPtr+1
|
||||
bra BUF.CopyTail
|
||||
bra .1
|
||||
|
||||
.9 rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
* Out : Y = Line Length
|
||||
*--------------------------------------
|
||||
|
@ -284,7 +284,6 @@ IO.CLOSE.PIPE ldy #S.FD.PIPE.S
|
||||
IO.CLOSE.FD lda (pFD),y
|
||||
beq .1
|
||||
|
||||
* jsr K.FreeStkObj
|
||||
jsr K.Freemem
|
||||
|
||||
.1 lda IO.hFD
|
||||
@ -852,7 +851,9 @@ IO.MLIOPEN >LDYAI 1024 get a ProDOS IOBUF
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
IO.DEVDIR >PSTR "/DEV/"
|
||||
IO.DEVDIR .DA #5 >PSTR "/DEV/"
|
||||
*--------------------------------------
|
||||
STAT.FIFO .AZ "/DEV/FIFO%d"
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.IO
|
||||
|
@ -97,11 +97,8 @@ K.ChMod jsr PFT.CheckPathYA
|
||||
.3 stx K.MLI.PARAMS+S.FI.A
|
||||
|
||||
>MLICALL MLISETFILEINFO
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.9 lda #E.SYN
|
||||
sec
|
||||
.90 rts
|
||||
@ -266,6 +263,7 @@ STAT.Access2Mode
|
||||
.7 lda #S.STAT.MODE.FO+S.STAT.MODE.FG+S.STAT.MODE.FU rwxrwxrwx
|
||||
.8 ldy /S.STAT.MODE.RU ??????R??
|
||||
|
||||
STAT.Access2Mode.RTS
|
||||
rts
|
||||
*/-------------------------------------
|
||||
* # MKDir
|
||||
@ -283,7 +281,7 @@ STAT.Access2Mode
|
||||
* A = EC
|
||||
*\-------------------------------------
|
||||
K.MKDir jsr PFT.CheckPathYA
|
||||
bcs K.Stat.9
|
||||
bcs STAT.Access2Mode.RTS
|
||||
|
||||
lda #S.FI.T.DIR
|
||||
sta K.MLI.PARAMS+4
|
||||
@ -292,6 +290,38 @@ K.MKDir jsr PFT.CheckPathYA
|
||||
lda #S.FI.ST.DIR
|
||||
jmp IO.MLI.CREATE
|
||||
*/--------------------------------------
|
||||
* # MKFIFO
|
||||
* return a pathname to a new FIFO
|
||||
* ## C
|
||||
* `int mkfifo( char *pathname, int mode );`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `>PUSHW mode`
|
||||
* `>LDYA pathname`
|
||||
* `>SYSCALL mkfifo`
|
||||
* ## RETURN VALUE
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFD
|
||||
*\--------------------------------------
|
||||
K.MKFIFO >STYA ZPPtr1 pathname buffer
|
||||
>PULLW K.S.STAT+S.STAT.MODE
|
||||
|
||||
>LDYAI 512
|
||||
jsr K.pipe
|
||||
bcs STAT.Access2Mode.RTS
|
||||
|
||||
sta K.S.STAT+S.STAT.DEV
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI 1
|
||||
>PUSHWI STAT.FIFO
|
||||
>LDYA ZPPtr1
|
||||
jsr K.sprintf
|
||||
|
||||
lda #S.STAT.MODE.FIFO
|
||||
sta K.S.STAT+S.STAT.DEV
|
||||
bra K.MkNod.I
|
||||
*/--------------------------------------
|
||||
* # MkNod
|
||||
* Create a special or ordinary file.
|
||||
* (CDEV, BDEV, DSOCKS, SSOCK, PIPE)
|
||||
@ -343,35 +373,6 @@ K.MkNod.I ldx #2
|
||||
clc
|
||||
.9 rts
|
||||
*/--------------------------------------
|
||||
* # MKFIFO
|
||||
* return a hFILE to a new FIFO
|
||||
* ## C
|
||||
* `hFILE mkfifo();`
|
||||
* ## ASM
|
||||
* **In:**
|
||||
* `>SYSCALL mkfifo`
|
||||
* ## RETURN VALUE
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFILE
|
||||
*\--------------------------------------
|
||||
K.MKFIFO
|
||||
* jsr K.pipe
|
||||
* bcs .9
|
||||
|
||||
* sta IO.hFD
|
||||
* stz K.S.STAT+S.STAT.MODE
|
||||
* stz K.S.STAT+S.STAT.MODE+1
|
||||
|
||||
* >LDYA STAT.PipeFn
|
||||
* >STYA ZPPtr1
|
||||
* jsr K.MkNod.I
|
||||
* bcc .9
|
||||
|
||||
* jmp IO.OPEN.ERR
|
||||
sec
|
||||
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # pipe
|
||||
* ## C
|
||||
* `hFD pipe(int size);`
|
||||
@ -382,7 +383,8 @@ K.MKFIFO
|
||||
* CC = OK, CS = ERROR
|
||||
* A = hFD
|
||||
*\--------------------------------------
|
||||
K.Pipe >STYA ZPPtr1
|
||||
K.Pipe sta .1+1 SIZE HI
|
||||
|
||||
.DO AUXPIPE=1
|
||||
jsr K.NewStkObj Buffer in AUX mem
|
||||
.ELSE
|
||||
@ -390,7 +392,7 @@ K.Pipe >STYA ZPPtr1
|
||||
.FIN
|
||||
bcs .99
|
||||
|
||||
stx .1+1 save PIPE buffer
|
||||
stx .8+1 save PIPE buffer
|
||||
|
||||
>LDYAI S.FD.PIPE
|
||||
ldx #S.MEM.F.INIT0+S.MEM.F.FD
|
||||
@ -403,29 +405,22 @@ K.Pipe >STYA ZPPtr1
|
||||
lda #S.FD.T.PIPE
|
||||
sta (pFD)
|
||||
|
||||
ldy #S.FD.PIPE.Free
|
||||
lda ZPPtr1
|
||||
sta (pFD),y
|
||||
iny
|
||||
lda ZPPtr1+1
|
||||
.1 lda #$ff SELF MODIFIED
|
||||
ldy #S.FD.PIPE.Free+1
|
||||
sta (pFD),y
|
||||
|
||||
ldy #S.FD.PIPE.Size
|
||||
lda ZPPtr1
|
||||
sta (pFD),y
|
||||
iny
|
||||
lda ZPPtr1+1
|
||||
ldy #S.FD.PIPE.Size+1
|
||||
sta (pFD),y
|
||||
|
||||
ldy #S.FD.PIPE.hMem
|
||||
.1 lda #$ff Self Modified
|
||||
.8 lda #$ff Self Modified
|
||||
sta (pFD),y
|
||||
txa hFD
|
||||
* clc
|
||||
rts
|
||||
|
||||
.9 pha save error code
|
||||
lda .1+1 get back PIPE buffer
|
||||
lda .8+1 get back PIPE buffer
|
||||
.DO AUXPIPE=1
|
||||
jsr K.FreeStkObj
|
||||
.ELSE
|
||||
@ -436,8 +431,6 @@ K.Pipe >STYA ZPPtr1
|
||||
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
*STAT.PipeFn .AZ "/DEV/PIPE00"
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/SYS/KERNEL.S.STAT
|
||||
LOAD USR/SRC/SYS/KERNEL.S
|
||||
|
Loading…
Reference in New Issue
Block a user