Another disk imaging project (long response)

Eric J. Rothfus eric at rothfus.com
Sat Aug 6 09:45:23 CDT 2005


>
> ...discussion of "universal floppy controller thingy"...
>

Sorry to join this thread late, but I think it would be a
fantastic idea/project to create this universal vintage
computer floppy controller.  Of course, I WOULD think so,
since I've been working on part of the idea for the past
couple of years - the Semi-Virtual Diskette (SVD)
http://www.theSVD.com .  Feel free to download the software
from the site to get an idea of what the control system looks
like.

There seems to be at least four catagories/layers of
functionality that would be appropriate for this type of
device as detailed below (in no particular order).  There's
enough overlap of these areas that a single device could be
built to fulfill all of the features.

  --- Floppy Emulation

  The idea behind floppy emulation is to provide a solid-state
  mechanism that would allow vintage machines to
  boot/read/write directly from/to diskette images without the
  need for a physical floppy drive or physical floppies.
  Given, particularly, that floppy media has a degrading
  lifespan, this type of device makes it far easier to operate
  vintage gear.  Further, this type of device makes it
  possible to backup/copy diskette images for archival and
  later use.

  For purposes of this discussion, it is assumed that the
  device is NOT a full-fledged PC.  So a PC would be a
  necessary part of the whole solution, being used to archive
  and upload/download the images to the device.

  This device would probably not have an off-the-shelf floppy
  controller, since they are normally meant to operate with a
  particular encoding such as M/FM for the WD179x.  Encodings
  such as H8/H89, Apple 2, N*, etc. are NOT stock M/FM.
  Instead, this device would probably have a micro-conroller
  or processor that would "bit-bang" the same type of floppy
  control.

  There is a downside to this type of device. The vintage
  machine is a necessary part of a "floppy copy" operation.
  That is, since the device looks just like a floppy drive &
  floppy to the vintage computer, the computer must run a
  "copy" operation to make a backup copy of a floppy.  If the
  target diskette is copy- protected, it is quite likely that
  the vintage machine would not be able to copy it.

  The SVD that I've been working on for the last couple of
  years is exactly this type of device.  Though the current
  downside to the SVD is that it must be specifically
  programmed to support a paricular floppy type.  The SVD II
  will be generic, taking a soft description of the floppy
  type.  This will allow SVD with even previously unsupported
  platforms.  Further, it is locked into 300rpm with 4 micro-
  second bit cells.

  --- Stand-alone Floppy Reader/Writer

  Almost the opposite of the floppy emulator, this device
  would attach to a vintage floppy drive and extract/write
  images to and from the floppies inserted in the drive.  It
  could be used to make duplicates of floppies either from
  physical to image or from image to physical.  Through
  multiple simultaneous floppy drive connections, it could
  make dynamic copies of floppies whereby the copy would be
  BETTER than the original.

  The nice thing about this device is that it wouldn't need
  to be connected to the vintage computer to make the copy.
  Further, it need not necessarily know about the encoding
  mechanism for the floppy, being able to make copies based
  upon the bit transitions seen on the floppy interface
  lines.

  Like the floppy emulator, this device would not be a
  full-fledged PC, using a periphery PC to up/download images
  and for configuration.

  This device would be able to deal with issues such as
  rotational speed variation and bad sectors probably more
  effectively than a vintage computer trying to make a copy.
  However, it would also need to understand and adapt to
  different mechanisms such as hard-sectored, indexed, and
  non-indexed floppies (as in Heathkit, WD179x, and Apple 2
  floppies respectively).  It would need to be configurable
  to deal with different densities, rotational speeds, sides,
  tracks, and other floppy physical characteristics.  It
  would also need to be able to generate an appropriate
  write-precompensated signal.  Fortunately, it could be made
  smart enough to auto-configure itself for write-precomp.

  --- External Floppy Controller

  Both of the above devices represent relatively stand-alone
  functionality, using the PC only for control, configuration,
  and image storage.  Another very interesting device would be
  one that would act as a dynamic external "vintage floppy
  controller" for a PC.

  A specialized PC-based floppy driver could be created that
  "speaks" to the external controller over a (pick your
  favorite) parallel/RS232/USB link using sector read/write
  commands...not unlike the way in which the Commodore 64 or
  Model 100 interface to floppy drives.  Through driver and
  external device configuration software, the external device
  will present a vintage floppy drive and floppy to the PC as
  a simple storage device, allowing it to read/write to it.
  In addition to read/write commands, other commands would be
  available to format and download raw sectors and tracks.

  Although this would be a very _interesting_ device, I feel
  that it probably goes too far, and that the increased work
  necessary to create it provides very little extra value.
  The other two devices above allow you to work with "images"
  of floppies, which IMHO is enough.

  --- PC Software Control

  All of these wonderful features require some form of robust
  control, such as what can provided by your off-the-shelf PC.
  Though it wouldn't be a required part of the "function" of
  the device, it would be a necessary part of the control of
  the device.  Through the PC's extensive user interface as
  well as its connectivity and storage, it would be able to
  help configure and control the device as well as provide
  periphery functions such as:

   - floppy image analysis, verification, and translation
   - file system manipulation, including insertion and
       extraction of individual files

  I've spent a lot of time on this area, as well, with the
  SVD.  The SVD software runs on both Windoze and Linux PCs,
  allowing you to upload/download images to the SVD.  Further,
  it understands the filesystems of many of the different
  vintage boxes include the H8/H89, TRS-80, and Apple,
  allowing you to download individual files.

I'd be happy to collaborate on the creation of new devices in
this area.  It should be possible to reuse SVD code, or to at
least steal some of the ideas.

Eric


More information about the cctalk mailing list