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

Re: ProDOS Kernel Rewritten



t
"David Empson" <dempson@actrix.gen.nz> wrote in message
1fkplyg.r6gya61h7w6qwN%dempson@actrix.gen.nz">news:1fkplyg.r6gya61h7w6qwN%dempson@actrix.gen.nz...
> Bryan Parkoff <BParkoff@satx.rr.com> wrote:
>
> > > Bryan,  it is not necessary for a disk to be addressed below the block
> > level,
> > > which for ProDOS is 512 bytes.  Simply adding another high-order disk
> > > address byte will get you 256x32MB or 8GB addressable capacity.
> >
> >     What do you mean 256x32MB?  Is it like 256 sectors?  It may be over
> > hundred thousand sectors.  It will allow 1024 bytes per sector instead
of
> > 512 bytes per sector or higher that will improve performance when it
> > accesses to read and write faster.
>
> If you change the block size, you will have to rewrite _all_ ProDOS-8
> applications, because the open file interface to the ProDOS kernel only
> provides a 512 byte buffer for holding the current block being accessed.
> (The alternative would be to store the sector buffer elsewhere in
> memory, but there isn't any memory available in a 128K Apple II to do
> this, without breaking compatibility with existing applications in some
> other way.)
>
> You would also have to rewrite the firmware on all disk controller cards
> (including SCSI interface cards, etc.), as they also assume a block size
> of 512 bytes.
>
> There are quite a few cards available (e.g. Apple's SCSI cards) which
> support the SmartPort firmware interface.  SmartPort is a well
> established standard which supports accessing block devices with 512
> bytes per block and up to 24 bits for the block number (32 bits for a
> SCSI card running on a IIgs).
>
> A 24-bit block number will allow up to 8 GB of data to be addressed.  (A
> 32-bit block number would be 2 TB.)
>
> It would probably be a good idea to limit the maximum file size to 2 GB
> or 4 GB, so that applications don't have to deal with numbers larger
> than 32 bits for keeping track of file positions, etc.  The volume size
> could be larger, as that doesn't need to count bytes, only blocks.
>
> --
> David Empson
> dempson@actrix.gen.nz