[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CFFA and MicroDrive partitions



"Michael J. Mahon" <mjmahon@aol.com> wrote in message 
t-ednSoG1Map5J3RnZ2dnUVZ_jGdnZ2d@giganews.com">news:t-ednSoG1Map5J3RnZ2dnUVZ_jGdnZ2d@giganews.com...
> mojoehand wrote:
>> On May 28, 9:31 am, "Bill Garber" <willy4...@garberstreet.com> 
>> wrote:
>>> "schmidtd" <schmi...@my-deja.com> wrote in 
>>> message4206feb3-2577-44c2-88b4-f84d575b45ce@b21g2000vbh.googlegroups.com">news:4206feb3-2577-44c2-88b4-f84d575b45ce@b21g2000vbh.googlegroups.com...
>>>
>>> On May 27, 5:06 pm, mojoehand <mojoeh...@gmail.com> wrote:
>>>
>>>>> While using CiderPress to copy a volume made on a CFFA to a CF 
>>>>> card
>>>>> destined for a MicroDrive, I got an error. The CFFA volume was 
>>>>> 65536
>>>>> blocks and the MicroDrive volume is 65535 blocks. One block 
>>>>> smaller,
>>>>> so I couldn't copy the volume.
>>>>> Is there a reason for this? Which is the correct size?
>>>> The max volume size for ProDOS is 0xffff blocks, so 65535 is 
>>>> correct.
>>> May I suggest that ProDOS volume size 'is' 65536, because zero 
>>> is a block.
>>> So, therefore, it would be $0000-$FFFF or $10000 or 65536. The 
>>> partition
>>> Editor in the Microdrive warns you when you get to 65536 or 
>>> $10000 by the
>>> "!!" after where it shows you the size you are making that 
>>> partition. It's
>>> not an oversize warning, it is a MAX size warning. I make them 
>>> that size
>>> all the time, and I never have a problem writing a CFFA 
>>> partition over to
>>> a Microdrive partition.
>>>
>>> Bill
>>
>> I'm just following the instructions in the Microdrive manual for
>> assigning the maximum volume size. This gives me a partition that 
>> is
>> 65535 blocks. Whether ProDOS is counting from zero or one for 
>> blocks,
>> I don't know.
>
> The manual is incorrect.
>
> ProDOS supports volumes with up to 65536 blocks, with a maximum 
> block
> number of 65535.  All block numbering begins with zero.  Zero 
> never
> occurs as a ProDOS file system block pointer, because blocks 0 and 
> 1
> are reserved for boot blocks.  Therefore, the zero block pointer 
> is used
> as the null block pointer.

A ProDOS volume has a two byte entry in the volume directory which 
contains the total number of blocks used.  The highest number that 
can fit into two bytes is $FFFF or 65535 blocks.  Both the ProDOS 8 
Technical Reference Manual and Beneath Apple ProDOS say the number 
is total blocks.

Charlie