*** Auto generated by docgen.cmd *** ## Copyright Copyright 2015 - 2019, Remy Gibert and the A2osX contributors. # 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 ## RETURN VALUE 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... # D2TrkW16s Write a track (16 sectors) **In:** PUSHW = Ptr to 16*256 buffer PUSHB = TrackNum * 4 : 0->140+ PUSHB = DSSS0000 ## RETURN VALUE CC : success CS : A = Error A=0, currently starting/seeking... # D2TrkWNIB Write a track (NIBBLE) **In:** PUSHW = Ptr to NIBBLE buffer (0 ended) PUSHB = TrackNum * 4 : 0->140+ PUSHB = DSSS0000 ## RETURN VALUE CC : success CS : A = Error A=0, currently starting/seeking... ## License A2osX is licensed under the GNU General Public License. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The full A2osX license can be found **[Here](../LICENSE)**. *** End of Auto generated file ***