Kernel 0.9.2

This commit is contained in:
Rémy GIBERT 2018-06-17 09:19:20 +02:00
parent 091a515f4d
commit bc9b641ebc
3 changed files with 484 additions and 449 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +1,52 @@
*** Auto generated by docgen.cmd ***
# GetProDOSCatSize
+ Compute space needed for ProDOS Catalog
Compute space needed for ProDOS Catalog
## In :
+ PUSHW = DevSize (in 512b blocks)
+ PUSHB = Catalog Size (in blocks)
+ PUSHB = Options
PUSHW = DevSize (in 512b blocks)
PUSHB = Catalog Size (in blocks)
PUSHB = Options
## Out :
+ X=BlockCount (max 22)
+ Y,A=BufSize (max $4400)
X=BlockCount (max 22)
Y,A=BufSize (max $4400)
# BuildProDOSCat
## In :
+ PUSHW = DevSize (in 512b blocks)
+ PUSHB = Catalog Size (in blocks)
+ PUSHB = Options
+ PUSHW = VolName (PSTR)
+ PUSHW = DstBuf (Zero filled)
+ Blk0 : ProDOS.BootBlk
+ Blk1 : SOS.BootBlk
+ Blk2...n : Volume Directory
+ Blkn+1.. : Volume Bitmap (4096/Blk)
+ max devSize = 65535 -> max 16 Bitmap Blk
+ absolute MAX DstBuf size=
+ 7 for Disk II(280blk),3.5(1600),3.5HD(2880)
+ 22 for 32mb Hardisk...
PUSHW = DevSize (in 512b blocks)
PUSHB = Catalog Size (in blocks)
PUSHB = Options
PUSHW = VolName (PSTR)
PUSHW = DstBuf (Zero filled)
Blk0 : ProDOS.BootBlk
Blk1 : SOS.BootBlk
Blk2...n : Volume Directory
Blkn+1.. : Volume Bitmap (4096/Blk)
max devSize = 65535 -> max 16 Bitmap Blk
absolute MAX DstBuf size=
7 for Disk II(280blk),3.5(1600),3.5HD(2880)
22 for 32mb Hardisk...
# TrkW16s
Write a track (16 sectors)
**In:**
+ PUSHW = Ptr to 16*256 buffer
+ PUSHB = TrackNum * 4 : 0->140+
+ PUSHB = DSSS0000
PUSHW = Ptr to 16*256 buffer
PUSHB = TrackNum * 4 : 0->140+
PUSHB = DSSS0000
**Out:**
+ CC : success
+ CS : A = Error
+ A=0, currently starting/seeking...
CC : success
CS : A = Error
A=0, currently starting/seeking...
# TrkWNIB
Write a track (NIBBLE)
**In:**
+ PUSHW = Ptr to NIBBLE buffer (0 ended)
+ PUSHB = TrackNum * 4 : 0->140+
+ PUSHB = DSSS0000
PUSHW = Ptr to NIBBLE buffer (0 ended)
PUSHB = TrackNum * 4 : 0->140+
PUSHB = DSSS0000
**Out:**
+ CC : success
+ CS : A = Error
+ A=0, currently starting/seeking...
CC : success
CS : A = Error
A=0, currently starting/seeking...

View File

@ -1,177 +1,177 @@
*** Auto generated by docgen.cmd ***
# ARP.Clear
+ Clear ARP Cache
Clear ARP Cache
## In :
## Out :
# ARP.Query
+ Query ARP Cache and returns HW address
Query ARP Cache and returns HW address
**In:**
+ PUSHW PTR to MAC (to fill)
+ PUSHW PTR to IP
PUSHW PTR to MAC (to fill)
PUSHW PTR to IP
**Out:**
+ CC: hit: MAC filled
+ CS: missed
CC: hit: MAC filled
CS: missed
# ARP.Add
+ Add a static ARP cache record
Add a static ARP cache record
**In:**
+ PUSHW PTR to MAC
+ PUSHW PTR to IP
PUSHW PTR to MAC
PUSHW PTR to IP
# ARP.GetCAche
+ Return a Ptr to ARP Cache Table
Return a Ptr to ARP Cache Table
**In:**
**Out:**
+ Y,A = PTR to ARP.CACHE
Y,A = PTR to ARP.CACHE
# DNS.Clear
+ Clear DNS Cache
Clear DNS Cache
## In :
## Out :
# DNS.Query
+ Query DNS for specified host
Query DNS for specified host
**In:**
+ PUSHW = PTR to IP to fill with cached data
PUSHW = PTR to IP to fill with cached data
* PUSHW = hostname PTR to PSTR
**Out:**
+ CC: hit: IP filled with address
+ CS: missed
CC: hit: IP filled with address
CS: missed
# DNS.Add
+ Add a static DNS record
Add a static DNS record
**In:**
+ PUSHW = PTR to IP
+ PUSHW = hostname CSTR to Add
PUSHW = PTR to IP
PUSHW = hostname CSTR to Add
# DNS.GetCAche
+ Return a Ptr to DNS Cache Table
Return a Ptr to DNS Cache Table
**In:**
**Out:**
+ Y,A = PTR to DNS.CACHE
Y,A = PTR to DNS.CACHE
# SKT.New
+ Create a new socket
Create a new socket
## In :
+ PUSHW = PTR to S.SOCKET template
PUSHW = PTR to S.SOCKET template
## Out :
+ YA = PTR to new S.SOCKET
+ X = hSocket
YA = PTR to new S.SOCKET
X = hSocket
# SKT.CloseA
+ Close socket
Close socket
## In :
+ A = hSocket
A = hSocket
## Out :
# SKT.GetA
+ Get Ptr to socket
Get Ptr to socket
## In :
+ A = hSocket
A = hSocket
## Out :
+ Y,A = pS.SOCKET
Y,A = pS.SOCKET
# SKT.GetTable
+ Get socket table
Get socket table
## In :
## Out :
+ Y,A = pS.SOCKET
Y,A = pS.SOCKET
# SKT.AcceptA
+ Check for an incoming connection
Check for an incoming connection
## In :
+ A = hListeningSocket
A = hListeningSocket
## Out :
+ A = hSocket
A = hSocket
# SKT.MkNodA
+ Create a new file from TCP socket
Create a new file from TCP socket
## In :
+ A = hSocket
A = hSocket
## Out :
+ A = hFile
A = hFile
# SKT.Write (DGRAM,STREAM,RAW)
+ Send block of data
Send block of data
## In :
+ PUSHB = hSocket
+ PUSHW = pBuf
+ PUSHW = len
PUSHB = hSocket
PUSHW = pBuf
PUSHW = len
## Out :
# SKT.ReadA (DGRAM,RAW)
## In :
+ A = hSocket
A = hSocket
## Out :
+ A = hFrame
A = hFrame
# SKT.PutC (STREAM)
+ Write a Char To Stream
Write a Char To Stream
## In :
+ PUSHB = hSocket
+ PUSHB = Char
PUSHB = hSocket
PUSHB = Char
## Out :
# SKT.PutS (STREAM)
+ Write Line in pBuf
Write Line in pBuf
## In :
+ PUSHB = hSocket
+ PUSHW = PSTR
PUSHB = hSocket
PUSHW = PSTR
## Out :
# SKT.GetC.A (STREAM)
+ Read a Char From Stream in A
Read a Char From Stream in A
## In :
+ A = hSocket
A = hSocket
## Out :
+ A = char
A = char
# SKT.GetS (STREAM)
+ Read a CR terminated Line in pBuf
Read a CR terminated Line in pBuf
## In :
+ PUSHB = hSocket
+ PUSHW = pBuf
+ PUSHW = len
PUSHB = hSocket
PUSHW = pBuf
PUSHW = len
## Out :
+ Y,A = bytes read
Y,A = bytes read
# SKT.Read (STREAM)
+ Read data in pBuf
Read data in pBuf
## In :
+ PUSHB = hSocket
+ PUSHW = pBuf
+ PUSHW = len
PUSHB = hSocket
PUSHW = pBuf
PUSHW = len
## Out :
+ Y,A = bytes transfered
Y,A = bytes transfered