Still trying to make sense of this thing.

The problem is that one very important thing is missing. I refer to
DODUMENTATION. I don't fall for this modern rubbish that a product
with a thin manual is easy to use. No, the thicker the manual the
better. It will probablt answr my questions. But the Greaseweazle has
no documentation at all other than the built-in help, (which is what
I'd expect, a reminder of the options if you know the product and
can't remember the exact term used to, say, check the drive speed).

If I type 'gw' at a command prompt I get the following, which at
least gives the options.

------------------------------


C:\classic_computer\greaseweazle\greaseweazle-1.13>gw
Usage: gw [--time] [action] [-h] ...
  --time      Print elapsed time after action is executed
  -h, --help  Show help message for specified action
Actions:
  info        Display information about the Greaseweazle setup.
  read        Read a disk to the specified image file.
  write       Write a disk from the specified image file.
  convert     Convert between image formats.
  erase       Erase a disk.
  clean       Clean a drive in a zig-zag pattern using a cleaning disk.
  seek        Seek to the specified cylinder.
  delays      Display (and optionally modify) drive-delay parameters.
  update      Update the Greaseweazle device firmware to latest (or
specified) version.
  pin         Change the setting of a user-modifiable interface pin.
  reset       Reset the Greaseweazle device to power-on default state.
  bandwidth   Report the available USB bandwidth for the Greaseweazle device.
  rpm         Measure RPM of drive spindle.


-------------------------

I can basically understand that


So lets see how to write an image to a disk . I type gw write -h and get :

-------------

C:\classic_computer\greaseweazle\greaseweazle-1.13>gw write -h
usage: gw write [options] file

Write a disk from the specified image file.

positional arguments:
  file                 input filename

options:
  -h, --help           show this help message and exit
  --device DEVICE      device name (COM/serial port)
  --drive DRIVE        drive to read (default: A)
  --diskdefs DISKDEFS  disk definitions file
  --format FORMAT      disk format
  --tracks TSPEC       which tracks to write
  --pre-erase          erase tracks before writing (default: no)
  --erase-empty        erase empty tracks (default: skip)
  --fake-index SPEED   fake index pulses at SPEED
  --no-verify          disable verify
  --retries N          number of retries on verify failure (default: 3)
  --precomp PRECOMP    write precompensation
  --dd DD              drive interface DD/HD select (H,L)

DRIVE: Drive (and bus) identifier:
  0 | 1 | 2           :: Shugart bus unit
  A | B               :: IBM/PC bus unit

SPEED: Track rotation time specified as:
  <N>rpm | <N>ms | <N>us | <N>ns | <N>scp | <N>

TSPEC: Colon-separated list of:
  c=SET               :: Set of cylinders to access
  h=SET               :: Set of heads (sides) to access
  step=[0-9]          :: # physical head steps between cylinders
  hswap               :: Swap physical drive heads
  h[01].off=[+-][0-9] :: Physical cylinder offsets per head
  SET is a comma-separated list of integers and integer ranges
  e.g. 'c=0-7,9-12:h=0-1'

FORMAT options:
acorn.adfs.160        acorn.adfs.1600       acorn.adfs.320
acorn.adfs.640        acorn.adfs.800        acorn.dfs.ds
acorn.dfs.ss          akai.1600             akai.800
amiga.amigados        amiga.amigados_hd     atari.90
atarist.360           atarist.400           atarist.440
atarist.720           atarist.800           atarist.880
coco.decb             coco.decb.40t         coco.os9.40ds
coco.os9.40ss         coco.os9.80ds         coco.os9.80ss
commodore.1541        commodore.1571        commodore.1581
dec.rx01              dec.rx02              dragon.40ds
dragon.40ss           dragon.80ds           dragon.80ss
ensoniq.1600          ensoniq.800           ensoniq.mirage
gem.1600              ibm.1200              ibm.1440
ibm.160               ibm.1680              ibm.180
ibm.2880              ibm.320               ibm.360
ibm.720               ibm.800               ibm.dmf
ibm.scan              mac.400               mac.800
mm1.os9.80ds.hd32spt  mm1.os9.80ds.hd36spt  msx.1d
msx.1dd               msx.2d                msx.2dd
occ1.dd               occ1.sd               olivetti.m20
pc98.2d               pc98.2dd              pc98.2hd
pc98.2hs              raw.125               raw.250
raw.500               sci.prophet           sega.sf7000
tsc.flex.dsdd         tsc.flex.ssdd         zx.trdos.640

Supported file suffixes:
.a2r   .adf   .ads   .adm   .adl   .d64   .d71   .d81   .d88   .dcp   .dim
.dsd   .dsk   .edsk  .fdi   .hdm   .hfe   .ima   .img   .imd   .ipf   .mgt
.msa   .raw   .sf7   .scp   .ssd   .st    .td0   .xdf

----------------

And this is where I get lost..

What are all the file suffixes (extensions?) Does the program
determine the file type from that?What does each type of image file
contain as regards metadata?

If I specify a disk format, and there's also metadata giving the same
type of information, which overrides the other? Or is it an error?

What are all the pre-defined formats? What machines do they apply to?
What is the exact definition of each one?

What is a disk definitions file, what is its format?

What are 'shugart bus units' and 'IBM/PC bus units'? As far as I can
tell, the floppy drives on the IBM PC use the normal shugart SA400
interface

Which options do I have to specify for a particular image file type?
If I miss something, is it an error, or is there a default? In the
latter case, what is it?

I found somewhere a comment that certain image types were read only.It
is not clear if this means they can be read by the gw software and
written to a physical disk or that they can only be used with the
'read' option and thus can be created but not read. I suspect the
former, but it is not specified.

There should at least be the equivalent of manpages for this thing.

It's getting to the point where it's going to be quicker for me to
make my own device and learn how to write the software!

-tony

Reply via email to