[Coco] Getting more out of floppy disks

Arthur Flexser flexser at fiu.edu
Thu Feb 14 18:26:14 EST 2008


The problem with the FAT buffer is not a serious one, so long as you don't
intend to have open files on more than one drive at once.  There is a single
byte that controls the offset from where one drive's FAT buffer begins to the
beginning of the next one.  Setting that byte to a value of one causes no
serious problems;  ADOS uses this method to support 40- and 80-track drives. (A
double-sided 80-track drive is treated as two 80-track single-sided ones.) So
where standard RSDOS allows for four non-overlapping 35-track FAT buffers, you
can easily accommodate 80-track buffers by overlapping.  I think treating all 80
tracks of the drive as a single drive by this method is much easier than your
proposed scheme of treating tracks above 40 as a second 40-track drive on the
same side.

Art

On Thu, 14 Feb 2008, CoCo Mongrel wrote:

> So for the game I'm working on, I'd like to get as much out of a single
> floppy disk as I can without wasting a lot of CPU or memory on complex
> compression algorithms.  I would like to provide the option for those who
> have more modern floppy drives or hard drives with multiple RS-DOS
> partitions to use them to store lots of game data.
> 
> I have 80-track (3.5") drives on my CoCo, but they're being used as 35-track
> double-sided drives.  I still prefer the 720K floppies, even though there's
> a lot of waste (though I do use the full capacity in OS-9) because data
> transfer with modern PCs is easier using 3.5" disks.
> 
> I know there are DOSes, and patches to stock RS-DOS that go from 35 to 40
> tracks, and that allow you to map the second side of the disk to otherwise
> unused drive numbers (e.g. 2,3).  But on 80 track drives, that still only
> uses half of the disk.  My understanding is that BASIC's FAT buffer would
> have to be expanded in order to use 80 tracks (or something like that).  But
> how difficult would it be to make DECB treat track 40 as track 0?  That way
> you could have a whole upper bank of 40 tracks on each side of a disk.  The
> inconvenient part would be that you'd have to poke a bunch of changes back
> and forth to switch between the lower bank and the upper bank, so it
> wouldn't be well suited to everyday interactive use.  But it wouldn't be at
> all difficult to make a BASIC program keep track of which bank you were in,
> and just have a subroutine to patch DECB for the lower or the upper 40
> tracks as necessary.  Or am I fooling myself about how difficult it would be
> to get BASIC to add 40 to its tracks?  Any thoughts?
> 
> CoCoMongrel
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
> 




More information about the Coco mailing list