mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-27 04:49:20 +00:00
55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
*** Auto generated by docgen.cmd ***
|
|
|
|
# GetProDOSCatSize
|
|
Compute space needed for ProDOS Catalog
|
|
|
|
## C
|
|
int getprodoscatsize (short int options, short int catsize, int devsize );
|
|
|
|
## ASM
|
|
**In:**
|
|
PUSHW = DevSize (in 512b blocks)
|
|
PUSHB = Catalog Size (in blocks)
|
|
PUSHB = Options
|
|
**Out:**
|
|
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...
|
|
|
|
# TrkW16s
|
|
Write a track (16 sectors)
|
|
**In:**
|
|
PUSHW = Ptr to 16*256 buffer
|
|
PUSHB = TrackNum * 4 : 0->140+
|
|
PUSHB = DSSS0000
|
|
**Out:**
|
|
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
|
|
**Out:**
|
|
CC : success
|
|
CS : A = Error
|
|
A=0, currently starting/seeking...
|