[Coco] dw 3

Frank Pittel fwp at deepthought.com
Tue Nov 23 21:22:21 EST 2010


On Tue, Nov 23, 2010 at 07:42:20PM -0500, Aaron Wolfe wrote:
> On Tue, Nov 23, 2010 at 7:07 PM, Robert Gault <robert.gault at att.net> wrote:
> > Aaron Wolfe wrote:
> >
> >>
> >> How about a tool to turn these 256drive.dsk images into a directory of
> >> separate .dsk files and automatically generate the dw4 disk set
> >> definition to load them together?  The user can then temporarily map
> >> in a disk from any source, including another "converted" 256drive.dsk
> >> and do the copy or backup directly.  The disk set definition allows
> >> these files to be loaded together into the 256 "drives" just like a
> >> 256drive.dsk.
> >>
> >> I am basing this solution on the 256drive.dsk format being used only
> >> with drivewire and hdbdos.. nothing else reads these, so we aren't
> >> losing compatibility with anything by just getting rid of them,
> >> correct?
> >>
> >
> > To be frank, I'm not sure I understand what you propose. I think it may be
> > what we need but without a specific example or a demonstration, I can't
> > tell. Maybe a rewording of the proposal?
> >
> >>
> >> I can add a parameter to a disk set that tells dw4 to compensate for
> >> this offset, and add a matching per drive setting with a 'dw' command
> >> to toggle it.  Similar to hosw things like write protect work.  Would
> >> that work, and if so, how do i compensate for the offset?
> >>
> >
> > The Disk Basic sector offset is contained in the HDBDOS/RGBDOS ROM, bytes
> > $D939-$D93A. This a 24-bit address. The value for MESS and VCC by default is
> > $5A000 and very unlikely to have been changed by any user. Hardware systems
> > are different given different sizes of hard drive. The offset value could be
> > anything depending on the size of the drive and whether the user requires
> > OS-9 and/or Disk Basic.
> >
> > You may find that DW4 needs to determine the offset directly from the .dsk
> > or .vhd image rather than the HDBDOS ROM. That can be done but there is no
> > sure-fire method for determining if the first part of the drive is an OS-9
> > partition. If it were, then the first three bytes of LSN0 give the size of
> > the drive in sectors and is the offset.
> > As it happens, there is also no distinction between backing up an OS-9
> > floppy to drive0 on a multi-drive .dsk image from a true .vhd image that is
> > say half OS-9 and half Disk Basic. Luckily the point is moot because the
> > first three bytes of LSN0 are still valid.
> >
> > I probably should throw in the following possibility. You don't need to
> > limit the number of Disk Basic drives on a .vhd or true hard drive to 256.
> > Since a Coco3 runs in full RAM, the bytes at $D939-$D93A may be POKEd with
> > new values. That means you can have multiple Disk Basic partitions each with
> > 256 drives if the hard drive or image is larg enough.
> >
> 
> 
> Ok.  I think what we are looking at is a system that works very well
> for real hard drives (or CF cards, etc.. any large storage directly
> attached to a CoCo) but does not work well for a PC tethered solution.
> 
> With "real" storage, it makes perfect sense to store multiple disk
> images in a partition.  However, this strategy seems inconvenient when
> used with DriveWire.   Doing a literal translation of the "partition
> full of disks" to a "file full of disks" just makes it more difficult
> to do things with those disks in the DriveWire scenario, and doesn't
> provide any benefit that I can see.   If I'm missing something please
> let me know.
> 
> I would propose that going forward, we load individual disks rather
> than files containing 256 disks.  This allows easier management of
> files and makes it easy to get disks in and out of the CoCo system.
> 
> If that is agreeable, then the remaining issues would be to continue
> support for those who prefer the 256 disk files (already done) and to
> provide a mechanism for those who wish to transition to individual
> .dsk files to do so.
> 
> This is what the utility I mentioned before would do.  It would take
> as input a large file containing 256 disks and create as output (up
> to) 256 individual .dsk files, each containing one disk image.  At the
> same time, it would create a disk set definition for these new files
> so that they can all be loaded with a single operation, effectively
> the same as mounting the original file is a single operation.
> 
> It seems that supporting the .vhd files is again an example of using
> DriveWire in a less than convenient way but if someone is operating
> from such a file, I'd like to be able to support that.
> I suspect that this is not common.  How about just letting the user
> specify the offset to be used rather than trying to determine it
> automatically?
> 
> Does any or all of this sound workable?

In the long run it may be easier to use indvidual files rather then single files
with large numbers of disks. I don't have my rsdos book handy but as memory
serves it's possible to "name" a floppy. Any chance of drivewire naming the .dsk
file to that label? Also, in the interests of maintainability you may want to
offer the ability to "load" a directory. That directory would have the .dsk
files to be loaded and optionally a file that contains the order. Having to
manually "load" 256 files into the drivewire server would be a major pain!

The Other Frank



More information about the Coco mailing list