mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-16 00:29:35 +00:00
Kernel 0.9.2
This commit is contained in:
parent
c179b37d98
commit
b7a46da3a6
|
@ -3,7 +3,7 @@ PREFIX /A2OSX.BUILD
|
||||||
AUTO 4,1
|
AUTO 4,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* A2osX.DIIDrv
|
* A2osX.DIIDrv
|
||||||
* X = DEVMGR.cmd
|
* X = IOCTL
|
||||||
* Y,A = PTR to Params
|
* Y,A = PTR to Params
|
||||||
* pDev -> Dev Header AUX!!!
|
* pDev -> Dev Header AUX!!!
|
||||||
* $42 Command Number
|
* $42 Command Number
|
||||||
|
@ -63,7 +63,7 @@ A2osx.DII.Stat .DA #S.DSTAT.S.BLOCK+S.DSTAT.S.WRITE+S.DSTAT.S.READ
|
||||||
.DA #0,#91
|
.DA #0,#91
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* A2osX.RamDrv
|
* A2osX.RamDrv
|
||||||
* X = DEVMGR.cmd
|
* X = IOCTL
|
||||||
* Y,A = PTR to Params
|
* Y,A = PTR to Params
|
||||||
* pDev -> Dev Header AUX!!!
|
* pDev -> Dev Header AUX!!!
|
||||||
* $42 Command Number
|
* $42 Command Number
|
||||||
|
@ -110,7 +110,7 @@ A2osx.RamDrv.Stat
|
||||||
.DA #0,#91
|
.DA #0,#91
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* A2osX.BlkDrv
|
* A2osX.BlkDrv
|
||||||
* X = DEVMGR.cmd
|
* X = IOCTL
|
||||||
* Y,A = PTR to Params
|
* Y,A = PTR to Params
|
||||||
* pDev -> Dev Header
|
* pDev -> Dev Header
|
||||||
* $42 Command Number
|
* $42 Command Number
|
||||||
|
|
|
@ -2,8 +2,82 @@ NEW
|
||||||
PREFIX /A2OSX.BUILD
|
PREFIX /A2OSX.BUILD
|
||||||
AUTO 4,1
|
AUTO 4,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
IO.COut ldy #S.NODE.T
|
||||||
|
lda (pNode),y
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
*--------------------------------------
|
||||||
|
jmp (.1,x)
|
||||||
|
.1 .DA STDIO.Out.REG
|
||||||
|
.DA STDIO.IOERR DIR
|
||||||
|
.DA STDIO.Out.CDEV
|
||||||
|
.DA STDIO.IOERR BDEV
|
||||||
|
.DA STDIO.IOERR LNK
|
||||||
|
.DA STDIO.IOERR DSOCK
|
||||||
|
.DA STDIO.Out.SSOCK
|
||||||
|
.DA STDIO.Out.FIFO
|
||||||
|
*--------------------------------------
|
||||||
|
IO.COut.REG >PUSHW pIOBuf
|
||||||
|
>PUSHW STDIO.Out.Cnt
|
||||||
|
ldy #S.NODE.REG.REF
|
||||||
|
>PUSHB (pNode),y
|
||||||
|
|
||||||
|
jmp K.FWrite
|
||||||
|
*--------------------------------------
|
||||||
|
IO.COut.CDEV ldy #S.NODE.DEV.JMP
|
||||||
|
lda (pNode),y
|
||||||
|
sta .1+1
|
||||||
|
iny
|
||||||
|
lda (pNode),y
|
||||||
|
sta .1+2
|
||||||
|
|
||||||
|
lda K.IOBuf
|
||||||
|
ldx #IOCTL.WRITE
|
||||||
|
.1 jmp $ffff
|
||||||
|
*--------------------------------------
|
||||||
|
IO.COut.SSOCK lda (pNode) #S.NODE.HANDLER
|
||||||
|
jsr K.GetMemPtr.A
|
||||||
|
>STYA .1
|
||||||
|
|
||||||
|
ldy #S.NODE.SSOCK.HSKT
|
||||||
|
>PUSHB (pNode),y
|
||||||
|
>PUSHB K.IOBuf
|
||||||
|
|
||||||
|
ldy #S.NODE.SSOCK.WRITE
|
||||||
|
lda (pNode),y
|
||||||
|
tax Function Offset for write
|
||||||
|
.1 jmp $ffff
|
||||||
|
*--------------------------------------
|
||||||
|
IO.COut.FIFO ldy #S.NODE.FIFO.S
|
||||||
|
lda (pNode),y
|
||||||
|
beq .9 Remote PS did not opened yet the pipe
|
||||||
|
cmp #S.NODE.FIFO.S.Closed
|
||||||
|
beq .99 Remote PS closed the Pipe
|
||||||
|
|
||||||
|
ldy #S.NODE.FIFO.hMem
|
||||||
|
lda (pNode),y
|
||||||
|
jsr K.GetMemPtr.A
|
||||||
|
>STYA .1+2
|
||||||
|
|
||||||
|
ldy #S.NODE.FIFO.Head
|
||||||
|
lda (pNode),y
|
||||||
|
inc
|
||||||
|
dey #S.NODE.FIFO.Tail
|
||||||
|
cmp (pNode),y
|
||||||
|
beq .9 FIFO is full
|
||||||
|
iny
|
||||||
|
sta (pNode),y
|
||||||
|
tay
|
||||||
|
lda K.IOBuf
|
||||||
|
.1 sta $ffff,y
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 lda #MLI.E.VOLFULL
|
||||||
|
.HS 2C bit abs
|
||||||
|
.99 lda #MLI.E.EOF
|
||||||
|
sec
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE /A2OSX.SRC/SYS/KERNEL.S.IO
|
SAVE /A2OSX.SRC/SYS/KERNEL.S.IO
|
||||||
|
|
|
@ -54,6 +54,7 @@ K.PutChar.1 jsr K.GetMemPtr.A
|
||||||
* CC = success
|
* CC = success
|
||||||
*\--------------------------------------
|
*\--------------------------------------
|
||||||
K.PutS >STYA pIOBuf
|
K.PutS >STYA pIOBuf
|
||||||
|
|
||||||
ldy #S.PS.hStdOut
|
ldy #S.PS.hStdOut
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
jsr K.FPutS.1
|
jsr K.FPutS.1
|
||||||
|
@ -575,84 +576,6 @@ PrintF.COut phy
|
||||||
.8 ply
|
.8 ply
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
|
||||||
*--------------------------------------
|
|
||||||
STDIO.Out ldy #S.NODE.T
|
|
||||||
lda (pNode),y
|
|
||||||
asl
|
|
||||||
tax
|
|
||||||
*--------------------------------------
|
|
||||||
jmp (.1,x)
|
|
||||||
.1 .DA STDIO.Out.REG
|
|
||||||
.DA STDIO.IOERR DIR
|
|
||||||
.DA STDIO.Out.CDEV
|
|
||||||
.DA STDIO.IOERR BDEV
|
|
||||||
.DA STDIO.IOERR LNK
|
|
||||||
.DA STDIO.IOERR DSOCK
|
|
||||||
.DA STDIO.Out.SSOCK
|
|
||||||
.DA STDIO.Out.FIFO
|
|
||||||
*--------------------------------------
|
|
||||||
STDIO.Out.REG >PUSHW pIOBuf
|
|
||||||
>PUSHW STDIO.Out.Cnt
|
|
||||||
ldy #S.NODE.REG.REF
|
|
||||||
>PUSHB (pNode),y
|
|
||||||
|
|
||||||
jmp K.FWrite
|
|
||||||
*--------------------------------------
|
|
||||||
STDIO.Out.CDEV ldy #S.NODE.DEV.JMP
|
|
||||||
lda (pNode),y
|
|
||||||
sta .1+1
|
|
||||||
iny
|
|
||||||
lda (pNode),y
|
|
||||||
sta .1+2
|
|
||||||
|
|
||||||
lda K.IOBuf
|
|
||||||
ldx #IOCTL.WRITE
|
|
||||||
.1 jmp $ffff
|
|
||||||
*--------------------------------------
|
|
||||||
STDIO.Out.SSOCK lda (pNode) #S.NODE.HANDLER
|
|
||||||
jsr K.GetMemPtr.A
|
|
||||||
>STYA .1
|
|
||||||
|
|
||||||
ldy #S.NODE.SSOCK.HSKT
|
|
||||||
>PUSHB (pNode),y
|
|
||||||
>PUSHB K.IOBuf
|
|
||||||
|
|
||||||
ldy #S.NODE.SSOCK.WRITE
|
|
||||||
lda (pNode),y
|
|
||||||
tax Function Offset for write
|
|
||||||
.1 jmp $ffff
|
|
||||||
*--------------------------------------
|
|
||||||
STDIO.Out.FIFO ldy #S.NODE.FIFO.S
|
|
||||||
lda (pNode),y
|
|
||||||
beq .9 Remote PS did not opened yet the pipe
|
|
||||||
cmp #S.NODE.FIFO.S.Closed
|
|
||||||
beq .99 Remote PS closed the Pipe
|
|
||||||
|
|
||||||
ldy #S.NODE.FIFO.hMem
|
|
||||||
lda (pNode),y
|
|
||||||
jsr K.GetMemPtr.A
|
|
||||||
>STYA .1+2
|
|
||||||
|
|
||||||
ldy #S.NODE.FIFO.Head
|
|
||||||
lda (pNode),y
|
|
||||||
inc
|
|
||||||
dey #S.NODE.FIFO.Tail
|
|
||||||
cmp (pNode),y
|
|
||||||
beq .9 FIFO is full
|
|
||||||
iny
|
|
||||||
sta (pNode),y
|
|
||||||
tay
|
|
||||||
lda K.IOBuf
|
|
||||||
.1 sta $ffff,y
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.9 lda #MLI.E.VOLFULL
|
|
||||||
.HS 2C bit abs
|
|
||||||
.99 lda #MLI.E.EOF
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # GetChar
|
* # GetChar
|
||||||
* Get char from StdIn
|
* Get char from StdIn
|
||||||
|
|
Loading…
Reference in New Issue
Block a user