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

Re: CFFA and MicroDrive partitions



Charlie wrote:
"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.

It wouldn't be the first time that documentation was incorrect.

I'd be very surprised if it were not just the maximum block number,
or size-1.  Of course, the programmers may have taken the buggy path
and left the last block out...

Can anyone verify if a ProDOS volume is "full" at 65535 blocks used?
Or can all 65536 be used?

I'll bet the bitmap represents all 65536 blocks.  ;-)

And didn't Bill Garber just report properly formatting a 65536-block
partition?

It's been a perennial problem in computing that a "word" can't hold
the number of unique states that it can take on, since 0 is always
among them.  A few deal with this by limiting the states to N-1, but
many treat 0 as a special case.  It would be interesting to know just
what the ProDOS authors did.

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."