*** 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...