Kernel version 0.8 : DevMgr, moving to SmartPort, cont.

This commit is contained in:
Rémy GIBERT 2016-12-06 17:57:00 +01:00
parent 36d95641a8
commit 75750babe2
2 changed files with 77 additions and 8 deletions

View File

@ -128,6 +128,7 @@ A2osX.RANDOM16 .EQ $BEEE
* $BEF0->$BEFF : Kernel Config Block
*--------------------------------------
A2osX.HZ .EQ $BEF0
A2osX.RAMDRVDIS .EQ $BEF8 If $80, prevent CHrooting to /RAMx
A2osX.SLOTS .EQ $BEF8 $BEF9->$BEFF, 7 slots
*--------------------------------------
H.BIN.HEADER .EQ 0
@ -245,8 +246,9 @@ SYS.GetDevByNameYA .EQ $82
SYS.GetDevInfoA .EQ $84
* .EQ $86
* .EQ $88
* .EQ $8A
*--------------------------------------
SYS.MKNOD .EQ $88
SYS.MKFIFO .EQ $8A
* .EQ $8C
* .EQ $8E
*--------------------------------------
@ -263,11 +265,6 @@ SYS.FreeStockObject .EQ $9E
SYS.SetLoMem .EQ $A0
SYS.GetMemStatYA .EQ $A2
*--------------------------------------
* TO DO :
*--------------------------------------
SYS.MKNOD .EQ $FF
SYS.MKFIFO .EQ $FF
*--------------------------------------
* ProDOS ERROR CODES : $00->$5F
* Lib ERROR CODES : $80->$BF
* Kernel ERROR CODES : $C0->$FF
@ -308,7 +305,7 @@ S.MEM.LEN .EQ 6
*
S.MEM .EQ 8
*--------------------------------------
* DEV STRUCT
* DEVMGR (old API)
*--------------------------------------
S.DEV.CODE .EQ 0 cld,jmp...
S.DEV.JMP .EQ 2 ...(code,x)
@ -365,6 +362,55 @@ DEVMGR.GFX.GETPIXEL .EQ 16
DEVMGR.GFX.HLINE .EQ 18
DEVMGR.GFX.VLINE .EQ 20
DEVMGR.GFX.BITBLT .EQ 22
*--------------------------------------
* DEVMGR (new API) = Smartport DIB
*--------------------------------------
* JMP :
* DEVID :
* 00->0F : NUL,SYS & loadable drivers
* X0 : X=Slot : Controller
* XY : X=Slot, Y=Device (<$80)
* > $80 : IDs for PIPE,SOCK....
*--------------------------------------
S..DEV.JMP .EQ 0
S..DEV.DEVID .EQ 2
S..DEV.FLAGS .EQ 3
S..DEV.FLAGS.IRQ .EQ %10000000
S..DEV.FLAGS.TYPE .EQ %00110000
S..DEV.FLAGS.TYPE.DRV .EQ %00000000
S..DEV.FLAGS.TYPE.BLK .EQ %00010000
S..DEV.FLAGS.TYPE.SP .EQ %00100000
S..DEV.FLAGS.NAMELEN .EQ %00001111
S..DEV.NAME .EQ 4
S..DEV .EQ 8
*--------------------------------------
DEVMGR..STATUS .EQ 0
DEVMGR..READBLOCK .EQ 1
DEVMGR..READBLOCK .EQ 2
DEVMGR..FORMAT .EQ 3
DEVMGR..CONTROL .EQ 4
DEVMGR..INIT .EQ 5
DEVMGR..OPEN .EQ 6
DEVMGR..CLOSE .EQ 7
DEVMGR..READ .EQ 8
DEVMGR..WRITE .EQ 9
*--------------------------------------
S.DEVSTAT.STATUS .EQ 0
S.DEVSTAT.STATUS.BLOCK .EQ %10000000
S.DEVSTAT.STATUS.WRITE .EQ %01000000
S.DEVSTAT.STATUS.READ .EQ %00100000
S.DEVSTAT.STATUS.ONLINE .EQ %00010000
S.DEVSTAT.STATUS.NOFMT .EQ %00001000
S.DEVSTAT.STATUS.WENABL .EQ %00000100
S.DEVSTAT.STATUS.IRQ .EQ %00000010
S.DEVSTAT.STATUS.OPENED .EQ %00000001
S.DEVSTAT.SIZE .EQ 1
S.DEVSTAT.IDSTRING .EQ 4 1 (LEN) + 16 MAX
S.DEVSTAT.TYPE .EQ 21
S.DEVSTAT.SUBTYPE .EQ 22
S.DEVSTAT.VERSION .EQ 23
*--------------------------------------
*--------------------------------------
* PS STRUCT
*--------------------------------------

View File

@ -99,6 +99,29 @@ K.GetDevInfoA jsr K.GetDevByIDA
>STYA ZPQuickPtr1
ldx #DEVMGR.GETINFO
jmp (ZPQuickPtr1)
*/--------------------------------------
* #MkNodYA
* return a S.FILE from a given device
* ##IN:
* Y,A=DevName
* ##OUT:
* CC = OK, CS = ERROR
* A = hFILE
*\--------------------------------------
K.MkNodYA
clc
rts
*/--------------------------------------
* #MkFIFO
* return a S.FILE
* ##IN:
* ##OUT:
* CC = OK, CS = ERROR
* A = hFILE
*\--------------------------------------
K.MkFIFO
clc
rts
*--------------------------------------
MAN
SAVE SYS/KERNEL.S.DEV