OmniDisk v3.0 FAQ.txt (23 Nov 2002) Copyright 2002 J. Watton. [jason.watton @ lycos.co.uk (remove spaces)]

You'll need word-wrap enabled to read this document easily.

Features
========

  Date		Version	Feature
  25 Aug 2002	v1.2-->	Can SCAN and detect automatically any uPD765-compatible disk format -
			provided you've got the physical drive capable of taking the disk
			(Detailed technical information on disk format NOT required!).
		v1.2-->	Command-line or interactive multi-command-line driven.
  10 Sep 2002	v2.0	Sector-specific MAPping (each sector can have any non-standard numbering)
		v2.0-->	Recognises disk formats automatically (if I've been told about them or have a sample)
		v2.0-->	Can read/write disk formats not previously encountered - program does not need to
			have previous experience of a format to read/write it.
		v2.0	Reads/writes copy-protected disks [using sector/cylinder/head numbering].
		v2.0	Reads/writes over-tracked disks.
		v2.0-->	Variable formats supported.
		v2.0	Orthogonal command set.
  15 Sep 2002	v2.2	Lengthy commands can be aborted - press ESCape.
		v2.2-->	Full error reporting, including the option to retry, ignore, or even pad bad sectors.
  20 Sep 2002	v2.4	Reading/writing SECTOR, TRACK, HEAD, or complete DISK possible.
		v2.4-->	One-command complete disk images can be created (READ DISK TO...) or written (WRITE DISK FROM...)
		v2.4	One-command single-sided disk images (READ HEAD TO.../WRITE HEAD FROM...)
  21 Sep 2002	v2.5-->	Native support for Acorn DFS disks/images:
		v2.2	  *DISK, *CAT, *DRIVE, *INFO supported on DFS disks and DOS file images (.inf).
		v2.6	  *IMAGE uses a DFS disk image rather than a disk.
		v2.6	  *DUMP, *DUMPW, *LIST, *TYPE supported.
  12 Oct 2002	v2.7-->	  *COPY DOS -> DFS and DFS -> DOS, using wildcards
		v2.7-->	  *BACKUP to/from DOS image
		v2.7	  *CREATE creates a new, blank, DFS image.
		v2.9	  *FORMAT formats a floppy disk with a DFS/DDOS catalogue.
		v2.6-->	Can use disk images rather than actual disks - see USE IMAGE.
		v2.6-->	Fully extendable - Other formats can be added if needed - interfaces available.
		v2.7	DIR available inside program.
		v2.7	Multi-page and specific command HELP available from command line.
  14 Oct 2002	v2.8	Support for Opus (Slogger) DDOS
  22 Oct 2002	v2.9-->	FORMAT supported
		v2.9	FORMAT TEST for trying out/reproducing lost formats.
		v2.9	DOS formats supported.
		v2.9	Acorn ADFS formats supported.
		v2.9	CP/M 640kB / PDOS formats supported.
  23 Nov 2002	v3.0	Issue of PDOS support with documentation correction.
		v3.0	Addition of Stride PDOS MTRANS and LS commands
		v3.0	Motor spin-ups can be skipped for chained commands
		v3.0	Defaults to CP/M-80 or PDOS 640kB

Note that as of v2.6 the facilities of OmniDisk can also be used on a disk image file, rather than just a physical floppy disk.

QuickStart
==========

** For DFS disks **, see the attached DFS.txt file. This FAQ contains excessive detail.
** For DDOS disks **, see the attached DFS.txt and DDOS.txt files. This FAQ contains excessive detail.
 
1) I want to try it without having to read through all this rubbish.

Hopefully you know what this program is for, then!!

Stick the disk in a PC drive (numbered A: = 0, B: = 1) and run OmniDisk interactively under DOS (not a DOS box under Windows, preferably) using:

OMNIDISK

Select a drive using:
DRIVE <drive number>

See if the format's been seen before using:

SAMPLE

or

SAMPLE HEAD 0

to merely sample the top head (use HEAD 1 for the other).

If it's readable you'll get a result. This only samples a few tracks, and will give you a taste of the possibility of reading the disk.

To scan the whole disk use 'SCAN'. To see what's known about the disk type 'MAP'.

For HELP on all commands, type 'H' or 'HELP'. For help on a specific command, use 'H' followed by the command.

To quit from OmniDisk, type 'Q' or 'QUIT'. ESCape aborts lengthy commands.

2) What about reading a disk?

If it's not drive 0 you want to use then you need:

DRIVE <drive number>

To read a disk automatically use:

READ TO filename

which is a shorter form of

READ DISK TO filename

If you want to read single-sided disks (or only one side) use:

READ HEAD 0 TO filename
READ HEAD 1 TO filename

depending on which head you want to use.

The format of the output file, the order in which sectors are read etc. etc. are all tweakable - see HELP. By default, the disk is scanned from cylinder 0 to 79; for each cylinder, head 0 is scanned then head 1; for each head the sectors are read in numerical order.

To change this so that the disk is scanned all tracks on head 0 then all tracks on head 1:

ORDER HCS

then use the 'READ DISK' command. ORDER CHS is default.

3) What about writing a disk?

Very similar to READ, except the commands are:

WRITE FROM filename
WRITE DISK FROM filename
WRITE HEAD 0 FROM filename
WRITE HEAD 1 FROM filename

The ORDER command still applies.

4) I have a disk image rather than a disk.

You can use a disk image as if it were a real disk. Any file can be used as a binary disk image (it's up to you to make sure it's the image of a disk!).

If the disk image is DFS, use *IMAGE <DOS filename>. It is exactly the same as USE IMAGE <DOS filename> *DISK, only easier.

For other formats, type:

USE IMAGE <DOS filename>

You must then set up the parameters of the format yourself (see HELP) - e.g. SIZE, SECTS FROM... TO..., ORDER, DBLSTEP.

5) It recognises my format! / I have an Acorn DFS disk... / I have a PDOS disk...

For some formats recognised by OmniDisk there is special support (beyond sector access). Look for attached '.txt' files enclosed in this archive.

It may be possible to add handling to OmniDisk for a format it does not know (or doesn't currently exploit). A 'C' interface to the program is available.

6) I know the format.

Then select from the pre-defined formats:
	DOS180
	DOS360
	DOS720
	DOS800
	DOS1.2 or DOS1M2
	DOS1.44 or DOS1M44
	DOS2.88 or DOS2M88
	DFS
	DFS80
	DFS40
	DSSD40
	DSSD80
	DDOS
	ADFS or ADFS_L
	ADFS_DE
	ADFS_F
	CPM or CPM640
	PDOS

If it's not in the list, type 'FIX' (to stop all auto-sensing) and then change SECTS, CYLS, RATE, MFM... yourself. Or use SCAN or SAMPLE! If you have a particular set-up you want to abbreviate to a command like these, tell me.

FAQ
===

1) What is OmniDisk?

An attempt to read any floppy disk which can be put into a PC, limited by the hardware design of the PC.

2) Why?

I needed - and still need to - transfer a **lot** of old floppies from various flavours of CP/M, Stride, BBC, and others (...) to the PC. But DOS, Windows, and the PC BIOS wouldn't let me. A PC with a 'standard' Floppy Disk Controller (NEC uPD765-compatible) is capable of it - so why can't I?

3) Isn't this going to get complex (Single-Density, Double-Density, Double-stepping, 300kHz, MFM... blah blah blah...)?

It shouldn't. The main point of the program is to tell you simply whether or not the PC can see anything (legitimately). So you shouldn't have to plumb in a lot of numbers to get it to work. By default, the program is automatic, so you shouldn't need to know the format of the floppy disk you're trying to read.

Of course, this doesn't mean it can read everything or will get it right...

4) Do I need to know in-depth technical info on the disk I'm about to try?

No. It helps if something goes wrong, but otherwise, no. Stick to SCAN and SAMPLE.

5) Will I know if "something goes wrong"?

Yes. There's full error reporting, and suggestions are sometimes given. If it's worth another go, you'll get an option to 'retry' or similar.

If the format of the disk is recognised and confirmed (e.g. SCAN, SAMPLE, ANALYSE or USE ANALYSIS) then you will know if the program finds errors or missing data.

6) What about weird formats? And copy-protected disks?

It can cope with disks which change format mid-disk; it can cope with any 'weird' sector, head, or cylinder numbering scheme... within the limits of the PC hardware design. See 'The RECOGNISED FORMAT is unknown' for some more info.

7) What about DOS formats?

These are no problem, including 800kB double-density format.

8) What's the 'limit of the hardware design'?

The program only performs functions which the floppy disk controller was designed for. It does **not** hack to read formats the chip was not designed for - this usually results in the loss or corruption of data (without warning).

OmniDisk only reads disks 'legitimately'.

9) What's so special about OmniDisk?

Nothing. Anybody with the NEC uPD765 data sheet could write this. It's just that this cannot be done by DOS.

The principal difference between this and the other 'disk readers' out there is that this one doesn't need to know up-front what disk (and what PC and what drive type) you've got. Stick the disk in and READ, WRITE, SAMPLE, or SCAN.

10) What state is the program in?

It's released. At the time of writing, there are no reported bugs.

This started (13th August 2002) as a quick utility for archiving a stack of floppies - of various formats, some unknown. It's grown bigger over time, and (open offer!) I'm willing to put more effort in if you want something added.

11) So what should I try?

Everything you like. Browse the HELP pages and try a few commands (maybe after write-protecting the disk).

Here's a sprinkling of commands to try:
DRIVE <drive no.>
READ TO file
WRITE FROM file
READ TRACK TO file
READ SECTOR TO file
SCAN
MAP
ANALYSE DISK
ANALYSE HEAD 0
ANALYSE TRACK
SAMPLE
SAMPLE HEAD 0
ANALYSIS
USE MAP
DBLSTEP ON
S
D
SEEK 20
HEAD 1
READ TRACK D BUFFER
OPENOUT temp.img SAVE 0 1FFF CLOSE
OPENIN temp.img LOAD 0 FF CLOSE
OPENOUT temp.img SAVE BUFFER CLOSE
USE IMAGE temp.img
SEEK 0 READ TRACK DUMP

The ESC key will abort lengthy commands if necessary.

The most useful commands (and the whole point of the program) are READ, WRITE, SAMPLE and SCAN. Major bonuses are WRITE and FORMAT.

12) What formats does it know so far?

It recognises a small selection of certain pre-defined formats, and will report them, but it doesn't need to know the format to read it. It recognises:

DOS180		IBM Single-Sided 180kB/side				[Unconfirmed]
DOS360		IBM 360kB						[Unconfirmed]
DOS720		IBM 720kB
DOS800		IBM PC-compatible 800kB
DOS1.2		IBM 1.2MB
DOS1.44		IBM 1.44MB
DOS2.88		IBM 2.88MB (debatable - need SCAN of real)		[Unconfirmed]
DFS		BBC B DFS Single Density 80-track 200kB/side
DFS40		BBC B DFS Single Density 40-track 100kB/side		[Unconfirmed]
DSSD80		BBC B DS SD 80-track 400kB - unknown			[Unconfirmed]
DSSD40		BBC B DS SD 40-track 200kB - unknown			[Unconfirmed]
DDOS		BBC B DDOS/Challenger Double Density 80-trk 360kB/side
ADFS_F		Acorn ADFS F, F+					[Courtesy Jon Ripley + friend]
ADFS_DE		Acorn ADFS D, D+, E, E+					[Courtesy Jon Ripley + friend]
ADFS_L		Acorn ADFS L						[Courtesy Jon Ripley + friend]
DOS1.44		Mac 1.44MB high-density, HFS Volume			[Courtesy Jon Ripley + friend]
DOS1.44		Atari ST (DSDD)						[Courtesy Jon Ripley + friend]
CPM640		CP/M-80 640kB
PDOS		Stride 440 (PDOS) 640kB

If the program doesn't know your format, it'll tell you the parameters for it which, if you send them to me, I'll add (and credit you with it).

This is not a list of all the formats it can read. If you've got a disk, it's worth a try.

If ANALYSIS recognises the format, OmniDisk will stick with the format to speed up access. Use SCAN or SAMPLE to change to another format.

If you specify the format (rather than SCAN or SAMPLE) the configuration will be for the 'native' disk size (3.5" or 5.25"). Instructions will be supplied if the format is portable to the other disk size.

13) The RECOGNISED FORMAT is unknown. What should I do?

Don't worry about it, unless you see an ERROR. Type USE ANALYSIS and provided there are no errors the format's reasonable - OmniDisk doesn't need to recognise a format to READ (or WRITE) it. A SAMPLE or READ TO... or WRITE FROM... automatically does a USE ANALYSIS.

If there are errors when you type USE ANALYSIS look for a reason - type ANALYSIS. There will probably be 'Variable' parameters - usually created by the 'ghost' of an old format still visible on the disk. Try something like the following:

CYLINDER 0
HEAD 0
ANALYSE TRACK

This restricts the analysis to the first top track of the disk only. If you know this is a 40-track disk, add DBLSTEP ON.

Provided this gives you expected (or 'reasonable') results, check CYLS then READ/WRITE as needed.

If you want to read a disk regardless of the weirdness of the format, type USE MAP (default) then READ or WRITE. If you want to know what the disk looks like (in full!) type SCAN MAP - or (even worse) SUPER SCAN MAP.

14) It doesn't work! / What does it run under?

It depends whether you're trying to manipulate a real floppy disk (hardware!) or an image of a disk:

	OS				Floppy disk access		Disk image
	--				------------------		----------
	DOS1.0 - 6.22:			Works 100%			Works 100%
	DOS box in Windows 95:		Should work OK.			Works 100%
	DOS box in Windows 98SE:	Should work OK.			Works 100%
	DOS box in Windows ME:		Apparently might work OK...	Works 100%
	Command prompt in NT4.0:	Not tried... but little hope.	Works 100%
	Command prompt in Win2000:	Works 2% (not much use).	Works 100%
	Windows XP:			Works 1% (not much use).	Works 100%

15) I've got Windows 95/Windows 98/Windows ME. How do I run it?

I'd suggest you don't try it - initially at least - in Windows. Run it natively in DOS, which for these versions of Windows still exists on your PC. In case you want to know...

Reboot the PC. Hold down the F8 key as soon as the PC starts to boot (as if your life depended on it), before the "Starting Windows 9X..." message. You should get the "Windows 9X Startup Menu" - choose "Command prompt only". **Then** try OmniDisk.

16) I've got Windows NT/Windows 2000/Windows XP. How do I run it?

I'd say slim chance of getting it to work under Windows - you need to run it natively in DOS, which for these versions of Windows no longer exists on your PC. However, the installation disks/CDs included with your system normally have it somewhere - otherwise, you're going to have to get a bootable DOS floppy to boot off. If you don't know how to get one or make one, take a look on the Internet...

If you boot into DOS and don't have a C: drive (because it's NTFS format) then create a RAM drive using RAMDRIVE.SYS, extract the disk image to that, exit OmniDisk, and copy the image to a standard DOS disk, which you can then read in Windows.

17) I want to run it on a weird PC.

Shouldn't a problem. Commands BASE, DMA, and INTS allow you to select the hardware configuration of your PC. If you'd rather OmniDisk didn't use FDC interrupts - if, say, you want to use the other floppy at the same time (you must be mad) - then you can turn INTS OFF (I wouldn't recommend this!). By default, unlike DOS, all FDC control is handled using interrupts in the way suggested in the original uPD765 data sheet.

DMA is currently permanently disabled because there are less hardware compatibility problems that way (DMA contention is avoided, especially running under Windows). If this causes a problem, or you want a 'special' non-standard hardware setup, contact me.

18) Where's the help?

It's too big to fit on one screen, so it's spliced up into pages.

From the command line, type OMNIDISK /?. If you're using it interactively, type HELP, or HELP <page no.>.

For reference, some of the HELP is given below (but not all of it).

19) It still doesn't work.

If SCAN or SAMPLE find something then I've got something to work with. Send me an ANALYSIS, or MAP, and I'll try to help if I can.

20) What about Amiga disks?

Try DISK2FDI (http://www.oldskool.org/disk2fdi). Be warned: this is a hack which doesn't guarantee 100% correct and complete data.

21) What about Mac (Plus) 1MB disks?

Urk! As far as I know...

PC (and Amiga) disks use the same floppy disk drive - a "CAV", Constant Angular Velocity, drive. It spins at the same speed no matter where the head is, so sectors on the outer rim are 'longer' than the inner ones.

I **think** Mac Plus 1MB disks are CLV - Constant Linear Velocity - disks. The drives spin slower when the head is at the rim, keeping the head's speed constant relative to the surface of the disk. More sectors can be squeezed on the edge than near the spindle, making a more 'uniform' media density... but the drive's fundamentally different (and more complex) than the common PC variety.

If true, this would mean Mac Plus 1MB disks aren't immediately readable by the PC. Unless, that is, you have a Victor 9000 PC which used this type of drive under DOS2.11 for its 720kB format...

22) What about DOS disks?

Utilities for handling and messing about with DOS-format floppies abound, so OmniDisk doesn't try to re-invent the wheel. It will treat DOS format disks with at least as much respect as any other recognisable format. There are pre-defined commands to configure OmniDisk for use with various DOS formats at sector level.

23) What about commercial use?

No problem. I'd just ask to know what it's being used for, though, so I know what it's useful for.

24) What about suggestions?

Tell me!

25) What about mistakes and bugs?

Tell me and I'll try to fix it.

26) What about doing things manually?

If you want to play around 'low-level' with the disk, FIX will turn off most auto-sensing. You then have to set up the drive parameters manually (this is very similar to the operation of FDC). You'll need to use H (HELP) and S (STATUS) quite a bit.

USE MAP is an alternative to trying to 'guess' a format (USE ANALYSIS) - it will just accept what format is present on the disk, even if it varies.

Formatting
==========
For a FORMAT to be successful:

- Make sure you use the correct floppy disk type - i.e. High Density disks for High Density (>800kB) formats, Double Density for <= 800kB formats.
- Make sure you adjust the RATE for the floppy drive you're using (3.5" or 5.25"), as prompted.

3.5" High-Density disks can be made into Double-Density by covering up the additional hole in the top of the disk (not the write protect!). Without this change, believe me, a High Density disk won't read correctly if formatted Double Density.

The best way of getting the format to work is to SCAN or SAMPLE a genuine disk, and note the RATE and GSL settings. Then insert a disk you're willing to format and type FORMAT TEST, which will supply a selection of GPLs to choose from, some of which will read the expected amount of data back off the track (check carefully). If no GPL value produces sufficient data for a whole track then the RATE might be wrong, the MFM may be wrong, or the track just can't fit!

Interleave can also be adjusted (INTERLEAVE command) but this is unlikely to have an impact on whether or not you can successfully format the disk and read it back. It does make a noticeable difference, however, on performance.

Help
====
The latest, complete, help is available interactively from OmniDisk. Type

OMNIDISK

at a DOS (Command) prompt, followed by 'H' or 'HELP'. Or, at the command line, type:

OMNIDISK /?

Running OmniDisk from the Command line
======================================
At a DOS prompt, append commands to OMNIDISK as required. The application will exit on completion.

Running OmniDisk Interactively
==============================
At a DOS (Command) prompt enter 'OMNIDISK'. The program will start and offer a '>' prompt with drive status.

Type 'S' or 'STATUS' for the current status; type 'A' or 'ANALYSIS' to see what OmniDisk thinks of the current disk or disk image.

Commands
========
Type commands followed by the usual ENTER key. To quit, enter 'Q' or 'QUIT'.

Quick Reference - from an OmniDisk prompt
---------------

Read a CP/M or MS-DOS disk in drive A:
READ TO file
(This will read any recognisable disk format but the sector ordering is CHS). Prefix with DRIVE <drive no.> to change from default drive 0 (A:).

Read a BBC-format disk side 0 then side 1, in drive A:, to one image file:
ORDER HCS READ TO file

Read a BBC-format disk side 0 only, in drive A:
READ HEAD 0 TO file

Read a BBC-format disk side 1 (*DRIVE 2) only, in drive A:
READ HEAD 1 TO file

Browse a BBC DFS-format (or DDOS-format) disk:
*DRIVE <bbc drive no.>
*DISK
*CAT
*INFO
*COPY <bbc drive no.> <DOS filename> <BBC filename>
*COPY <bbc drive no.> <DOS directory>\ <BBC afsp>

Commands
--------
These may be put on the command line (in DOS) or typed interactively. This list is not updated for every release - check HELP in the copy of OmniDisk attached.

DRIVE [<drive no.>]
        Selects floppy drive (0-3).
SAMPLE [DISK|HEAD [<head>]]
        Part-SCAN disk/head format, ANALYSE, and USE. Affects CYLS.
SCAN|READID [TRACK|SIDE [<side>]|HEAD [<head>]|DISK]
        Scans current track/head/complete disk to map.
ANALYSE|ANALYZE [TRACK|SIDE [<side>]|HEAD [<head>]|DISK]
        Analyses all or part of the disk map (default DISK).
A|ANALYSIS
        Displays current disk analysis - can be USEd for navigation.
DOUBLESTEP|DBLSTEP [ON|OFF]
        Enables double-stepping. CYLS is adjusted. Auto-sensed by ANALYSE.
STATUS|S
        Summary of current settings.
H|HELP [command|page number...]
        Display help for command or page of help (0 to 13).
Q|QUIT
        Quits OmniDisk. Closes all IN, OUT, and Image files, and restores DOS.
DIR [<filespec>]
        Lists DOS files matching filespec. Use trailing '\' for directories.
OPENOUT <filename>
        Creates disk image file for writing to.
READ [DISK|HEAD [<head>]|SIDE [<head>]] [TO <file>]
        Reads disk (default)/track etc. to the given/currently OPENOUT file.
        Using TO detects the physical format automatically.
READ SECTOR|TRACK
        Reads current sector/track into buffer. Does NOT copy to OPENOUT file.
OPENIN <filename>
        Opens disk image file for reading from.
WRITE [DISK|HEAD [<head>]|SIDE [<head>]] [FROM <file>]
        Writes disk (default)/track etc. using the given/currently OPENIN file.
        Using FROM detects the physical format automatically.
WRITE SECTOR|TRACK
        Writes current sect/track from buffer. Does NOT read from OPENIN file.
DISPLAY [PORTS|CMDS|SCAN|MAP|STATUS|INTS] [ON|OFF]
        Display/set display options.
VERBOSE [ON|OFF]
        Enables/disables diagnostics display.
BASE [I/O address]
        Read/set (hex) base I/O address of FDC.
?[FDC offset]
        Reads from (hex) I/O address offset from base of FDC (or repeat last).
!FDC offset val0 val1...
        Writes values to (hex) I/O offset from base of FDC.
MOTOR [ON|OFF]
        Turns floppy drive motor on/off.
PORTS [ON|OFF]
        Turns display of all port accesses on/off.
INT
        Display interrupt status.
INTS
        Enable/disable use of FDC interrupts.
DMA [ON|OFF]
        Enables/disables use of DMA.
CMDS [ON|OFF]
        Turns command display on/off.
CMD [byte0 byte1 byte2...]
        Sends hex command sequence to FDC.
CYLINDER|SEEK|TRACK [<cylinder no.>]
        Moves the head to the requested physical cylinder number.
HEAD [<head>]
        Selects a physical head (0 or 1) to use for READing or SCANning.
SECTOR [<sector no.>]
        Selects a logical sector number for READ SECTOR.
STATUS|S
        Summary of current settings.
CYL[S] [<number of cylinders>]
        Sets the number of zero-based physical cylinders. Default 80.
CYL[S] [FROM <start cyl>] [TO <end cyl>]
        Limits the range of physical cylinders to use. Default FROM 0 TO 79.
SECTS [<number of sectors>]
        Sets the number of zero-based physical sectors.
SECTS [FROM <start sect>] [TO <end sect>]
        Defined the range of physical sectors to use.
MINSECT [<sector>]
        Minimum sector number.
MAXSECT [<sector>]
        Maximum sector number.
SIZE [<sector size>]
        Displays/sets sector size. Set automatically by AUTOSCAN ON.
DENSITY [SNG|SINGLE|DBL|DOUBLE|HI|HIGH|AUTO|MANUAL]
        Selects density to use. AUTO prompts SCAN before READ.
RATE [<rate>]
        Selects data transfer rate (0-3). Requires DENSITY MANUAL.
MFM [ON|OFF]
        Selects MFM/FM mode. Requires DENSITY MANUAL.
HEAD0ALIAS [<alias>]
        Sets the (byte) head alias to use for sectors on head 0.
HEAD1ALIAS [<alias>]
        Sets the (byte) head alias to use for sectors on head 1.
SRT [<step rate setting>]
        Displays/sets head Step Rate Time setting (0-15=16ms-1ms).
HUT [<head unload time>]
        Displays/sets Head Unload Time setting (1-15=16ms-240ms).
HLT [<head load time>]
        Displays/sets Head Load Time setting (1-127=2ms-254ms).
EOT [<new EOT>]
        Read/set fixed End-Of-Track (ignores SIZE).
EOT [AUTO [<new EOT0> <new EOT1>...]]
        Read/set End-Of-Track table. Indexed by SIZE.
GSL|GAP3 [<new length>]
        Read/set fixed Gap 3 Skip Length for sector reading (ignores SIZE).
GSL|GAP3 AUTO [<new length0> <new length1>...]
        Read/set Gap 3 Skip Length table for sector reading. Indexed by SIZE.
GPL|GAP3FORM [<new length>]
        Read/set fixed Gap 3 Length for FORMAT (ignores SIZE).
GPL|GAP3FORM [AUTO [<new length0> <new length1>...]]
        Read/set MFM Gap 3 Length table for FORMAT (FM calculated from MFM).
        Indexed by SIZE.
SC [<sector count>]
        Read/set fixed Sector Count for FORMAT (ignores SIZE).
SC [AUTO [<sector count0> <sector count1>...]]
        Read/set Sector Count table for FORMAT. Indexed by SIZE.
DOUBLESTEP|DBLSTEP [ON|OFF]
        Enables double-stepping. CYLS is adjusted. Auto-sensed by ANALYSE.
PAD [<pad byte>]
        Displays/sets hex padding byte.
MT [ON|OFF]
        Enables/disables use of Multi-Track READs.
RESET
        Resets FDC.
RESET MAP
        Clears disk map.
RESET ANALYSIS
        Resets analysis to default.
ACKINTS
        Acknowledge all pending interrupts.
VER
        Display uPD765 version.
SPECIFY
        Sends SPECIFY to FDC.
SIS
        Sense INTerrupt Status.
SDS
        Sense Drive Status.
RECALIB
        Performs an FDC recalibration (including SEEK to 00).
MAP ON|OFF
        Enables display of MAP construction during SCAN.
MAP [TRACK|SIDE [<side>]|HEAD [<head>]|DISK]
        Displays map of current track/head/disk.
SCAN|READID [TRACK|SIDE [<side>]|HEAD [<head>]|DISK]
        Scans current track/head/complete disk to map.
SAMPLES [<samples>]
        Number of samples to take while SCANning.
SAMPLE [DISK|HEAD [<head>]]
        Part-SCAN disk/head format, ANALYSE, and USE. Affects CYLS.
AUTOSCAN [ON|OFF]
        Enables automatic SCANning during READs.
ANALYSE|ANALYZE [TRACK|SIDE [<side>]|HEAD [<head>]|DISK]
        Analyses all or part of the disk map (default DISK).
USE [MAP|ANALYSIS|CURRENT|MANUAL]
        Uses map/analysis/manual settings for navigating physical disk.
USE IMAGE <image file> [ORDER CHS|HCS]
        Uses disk image file as if physical drive.
IMAGE [<image file>] [ORDER CHS|HCS]
        Uses disk image file of order specified as if physical drive.
A|ANALYSIS
        Displays current disk analysis - can be USEd for navigation.
FIX
        Fixes the format to the current analysis (= USE ANALYSIS).
UNFIX
        Releases the fixed format and reverts to USE of the MAP (= USE MAP).
SUPER SCAN
        Scans the disk beyond normal limits - for abnormal/copy-protected
        formats (affects CYLS).
SUPER SAMPLE
        Samples the disk beyond normal limits - for abnormal/copy-protected
        formats (affects CYLS).
OPENIN <filename>
        Opens disk image file for reading from.
OPENOUT <filename>
        Creates disk image file for writing to.
ORDER|*ORDER [CHS|HCS]
        Displays/sets sector order used for READing from/WRITEing to a disk.
BUF|BUFFER
        Displays current usage of sector/cylinder buffer.
D|DUMP [<from> [<to>]]|BUFFER
        Dumps sector buffer. All values in hex.
        BUFFER = Last sector/track/cylinder read.
E|EDIT <addr> <value>...
        Writes (hex) byte values to sector buffer starting at (hex) addr.
F|FILL <from> <to> <value>
        Fills (hex) address range of sector buffer with (hex) byte value.
LOAD SECTOR|TRACK|<from> <to>
        Reads a sector/track/portion of data from OPENIN file into buffer (all
        values in hex).
SAVE [<from> [<to>]]|BUFFER
        Saves part or whole buffer to OPENOUT file. All values in hex.
CLOSE
        Closes OPENIN and OPENOUT disk image files.
CLOSE IMAGE
        Closes disk image file in USE as physical drive.
READ [DISK|HEAD [<head>]|SIDE [<head>]] [TO <file>]
        Reads disk (default)/track etc. to the given/currently OPENOUT file.
        Using TO detects the physical format automatically.
READ SECTOR|TRACK
        Reads current sector/track into buffer. Does NOT copy to OPENOUT file.
READDEL [DISK|HEAD [<head>]|SIDE [<head>]] [TO <file>]
        Reads deleted data from disk (default)/track etc. to the current or
        given OPENOUT file. Using TO detects the physical format automatically.
READDEL SECTOR|TRACK
        Reads deleted data from current sector/track into buffer. Does NOT copy
        to OPENOUT file.
READDIAG [DISK|HEAD [<head>]|SIDE [<head>]] [TO <file>]
        Diagnostic read from disk (default)/track etc. to the current or given
        OPENOUT file. Using TO detects the physical format automatically.
READDIAG SECTOR|TRACK
        Diagnostic read from current sector/track into buffer. Does NOT copy to
        OPENOUT file.
WRITE [DISK|HEAD [<head>]|SIDE [<head>]] [FROM <file>]
        Writes disk (default)/track etc. using the given/currently OPENIN file.
        Using FROM detects the physical format automatically.
WRITE SECTOR|TRACK
        Writes current sect/track from buffer. Does NOT read from OPENIN file.
WRITEDEL [DISK|HEAD [<head>]|SIDE [<head>]] [FROM <file>]
        Writes deleted data to disk (default)/track etc. using the current or
        given OPENIN file. FROM detects the physical format automatically.
WRITEDEL SECTOR|TRACK
        Writes deleted data to current sect/track from buffer. Does NOT read
        from OPENIN file.
FORMAT [IMAGE <image file>] [DISK|HEAD [<head>]|SIDE [<head>]]
        Formats disk (default)/head/side etc. using the current configuration
        parameters. IMAGE destroys and creates a new image file.
FORMAT [IMAGE <image file>] TRACK [<C> <H> <R> <N>...]
        Formats track etc. using the ID bytes (hex sector sequence) given.
FORMAT [IMAGE <image file>] TEST [<from GPL> <to GPL>]
        Test-formats a disk using the GPL range specified (default 0 to 255).
INTERLEAVE [<n>]
        Displays/sets current sector interleave.
DOS180  Selects 180kB IBM PC format (without disk scan).
DOS360  Selects 360kB IBM PC format (without disk scan).
DOS720  Selects 720kB IBM PC format (without disk scan).
DOS800  Selects 800kB IBM PC format (without disk scan).
DOS1M2|DOS1.2
        Selects 1.2MB IBM PC format (without disk scan).
DOS1M44|DOS1.44
        Selects 1.44MB IBM PC format (without disk scan).
DOS2M88|DOS2.88
        Selects 2.88MB IBM PC format (without disk scan).
DFS[80|40]|*DFS[80|40]
        Selects Acorn (BBC) DFS format (without disk scan). Default 80-track.
DDOS|*DDOS
        Selects Slogger (BBC) DDOS format (without disk scan).
        All drive specifications have optional volume letter A-H (default set
        by *DRIVE).
ADFS_DE Selects Acorn ADFS D/D+/E/E+ 800kB format.
ADFS_F  Selects Acorn ADFS F/F+ 1600kB format.
ADFS|ADFS_L
        Selects Acorn ADFS L 640kB format.
CPM|CPM640|PDOS
        Selects 640kB CP/M / PDOS format.

Note: There are extra commands for handling the DFS, DDOS, and PDOS formats. These are described in the appropriate .txt file.

Legal Stuff
===========
Just in case...

Author
------
The author of the work is Sherlock Consulting Limited (Jason Watton), Malvern, Worcs. UK WR14 3AZ.
Contact: jason.watton @ lycos.co.uk (remove spaces around '@' before sending).

Copyright
---------
(c) Copyright 2002 Sherlock Consulting Limited (Jason Watton). All rights reserved.

This FAQ and the associated software is freeware for personal use only. Commercial use is available after notification of the author.

Disclaimers
-----------
The author makes no representations or warranties with respect to the design and documentation herein described and especially disclaims any implied warranties of merchantability or fitness for any particular purpose. Further, the author reserves the right to revise this design and associated documentation and to make changes from time to time in the content without obligation of the author to notify any person of such revisions or changes.

Trademarks
----------
Third-party brands and names are the property of their respective owners.

Warranty
--------
Everyone using the software provided by the author acknowledges that the software is provided AS IS WITH NO WARRANTIES WHATSOEVER, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE.

Damages
-------
In no event will the author be liable to anyone using the software provided by the author, for any loss of profits, loss of use, incidental, consequential, indirect, or special damages arising out of this or any other damage, whether or not such party had advance notice of the possibility of such damages.

Title			: OmniDisk
Version			: 2.9
Author			: Jason Watton
Release Date		: 22 August 2002 (beta)
This update		: 22 October 2002
Email Address		: jason.watton @ lycos.co.uk (remove spaces)

Description		: A utility to read any floppy disk which can be put into a PC, limited
			  only by the hardware design of the PC.
			  PLUS... Manipulation of a DOS binary file as if it were a floppy disk.
			  PLUS... Native support of Acorn DFS and DDOS formats
			  PLUS... Limited native support of Stride PDOS formats

Thanks to		: All the people who helped me test this utility, especially:
			  Chris Richardson (www.8bs.com)
			  Martin Rigby
			  Jon Ripley (& friend)
			  Ian Wolstenholme

History			: 23 Aug 2002	v1.1	Formal issue for testing.
			  25 Aug 2002	v1.2	General issue:
				ENH		FAQ added.
			  10 Sep 2002	v2.0	Partial reissue following initial beta-testing:
				ENH		FAQ updated.
				ENH		Sector-specific MAP enhanced. SAMPLE, USE, ANALYSIS added.
				ENH		Copy-protection/secret sectors included in SCAN & SAMPLE.
				ENH		Help re-instated. FAQ updated (not complete).
			  11 Sep 2002	v2.1	Restricted issue (JR only):
				MIS		CYLS unchanged by SCAN (v2.0 change removed).
				ENH		SUPER SCAN added to SCAN beyond CYLS limit. SAMPLE still checks for
						over-tracking.
				BUG		RECALIB fails to retry correctly on time-out.
			  15 Sep 2002	v2.2	General re-issue:
				ENH		HELP command re-coded & refreshed.
				MIS		Removed LOWLEV, FDCCMD.
				MIS		Duplicate functions USE ANALYSIS/FIX and USE MAP/UNFIX merged.
				ENH		Remove the deluge of errors if FDC sync is lost - RESET attempted.
				ENH		ESCape allows user to escape from lengthy actions, e.g. SCAN and READ.
				ENH		Added DFS commands *CAT *DISK *DRIVE *INFO
				ENH		FAQ refreshed.
			  17 Sep 2002	v2.3	Partial re-issue for new e-mail address & FAQ update.
				ENH		FAQ refreshed.
			  20 Sep 2002	v2.4	Re-release for WRITE and bug fixes.
				ENH		WRITE, LOAD, OPENIN added.
				ENH		OPEN renamed OPENOUT.
				BUG		Sector limits incorrect when retrying failed READs.
				BUG		READ HEAD fails.
				MIS		SAMPLE restricted to normal disk dimensions; SUPER SAMPLE added.
				ENH		READ [DISK|TRACK|SECTOR] TO file added.
				ENH		WRITE [DISK|TRACK|SECTOR] [FROM file] added.
				ENH		All HEAD parameters take optional head number.
			  21 Sep 2002	v2.5	Embarassing bug for double-tracked disks; *COPY toy added
				BUG		Analysis gets double-tracked drives wrong.
				ENH		Added *COPY command (BBC -> PC only)
			  23 Sep 2002	v2.6	Upgrade of *COPY
				MIS		*DISK samples both sides of the disk (for single-sidedness)
				ENH		'*' commands made via DFS offsets - now independent of physical format
				ENH		Modified *COPY to create image + .inf
			  29 Sep 2002	v2.6	Further enhancements interim release
				MIS		*DISK samples both sides of the disk (for single-sidedness)
				ENH		'*' commands made via DFS offsets - now independent of physical format
				ENH		Fully-qualified :0.$.!BOOT filenames allowed.
				ENH		Added *ACCESS, *VERBOSE (debugging).
				ENH		<afsp> added to *INFO, *COPY, *ACCESS for multi-file.
				ENH		<drive> added to *CAT
				ENH		** Can use disk images rather than actual disks ** - see USE IMAGE.
				ENH		New DFS-style command *IMAGE added to automatically use a DFS disk image.
				ENH		All DFS-specific commands/code moved to independent plug-in module.
				ENH		*DUMP, *DUMPW, *LIST, *TYPE added.
				ENH		*WIPE added.
				ENH		*BACKUP added.
			  30 Sep 2002	v2.6	Further DFS enhancements pre-release
				ENH		*COMPACT added.
				BUG		No error produced if unrecognised command used.
				ENH		*CAT now in alphabetical order.
				ENH		*DELETE added.
				ENH		*DESTROY
				ENH		*OPT 1
				ENH		*OPT 4
				ENH		*RENAME
			  12 Oct 2002	v2.7	Added DOS and DFS functions for managing archives
				ENH		*COPY DOS -> DFS and DFS -> DOS, using wildcards.
				ENH		DFS/*DFS added for manual DFS settings.
				ENH		DIR added.
				ENH		Analysis merged with Manual settings.
				ENH		*HELP extended to multi-page.
				ENH		HELP extended to multi-page & tidied.
				ENH		*CAT, *INFO apply to DOS .inf files.
				ENH		*CREATE creates blank DFS disk image file in DOS.
				ENH		*BACKUP to and from DOS image.
				ENH		All lengthy commands (*COPY, *COMPACT) allow ESCape.
			  14 Oct 2002	v2.8	Support for Opus (Slogger) DDOS
				ENH		*IMAGE 
				ENH		*DUMP/*DUMPW now paged.
				ENH		DDOS/*DDOS added plus modified *HELP and *DRIVE.
				BUG		*DESTROY pseudonym added - only *DEST. and *DES. were available in v2.7.
				BUG?		*DESTROY allowed to delete locked files (is this right?).
				BUG		Default drive not selected for *TITLE.
				ENH		DDOS implementations of *CAT, *DEL., *DEST., *INFO, *WIPE.
				ENH		DDOS *DUMP, *DUMPW, *LIST, *TYPE, *ACCESS, *BACKUP added.
				ENH		DDOS *COMPACT, *OPT1, *OPT4, *REN.
				BUG		*RENAME ignored drive spec of new filename.
				ENH		DDOS *COPY DDOS -> DOS
				ENH		DDOS *COPY DOS -> DDOS
				ENH		*IMAGE preserves DDOS/DFS selection
				ENH		*STAT added (for both DDOS and DFS).
				ENH		*MAP added (DDOS & DFS).
				ENH		*BACKUP drive spec of '*' added. Optional sector order (CHS/HCS) added.
				ENH		*VOLGEN added (DDOS).
			  22 Oct 2002	v2.9	Enhancements for completeness:
				ENH		*DIR added to change default directory.
				ENH		Commands READID, READDEL, READDIAG, WRITEDEL, SDS, VER added.
				ENH		Tables GPL and SC added.
				ENH		Display of EOT, GSL, GPL, SC improved.
				ENH		Command FORMAT added.
				ENH		DFS/DDOS *FORMAT added.
				ENH		FORMAT TEST added.
				ENH		INTERLEAVE added.
				ENH		Pre-defined formats DOS180, DOS360, DOS720, DOS1.2, DOS1.44, DOS2.88,
						ADFS, ADFS_L, ADFS_DE, ADFS_F, CPM360, PDOS added. Formats tested on
						5.25" DD, 5.25" HD, 3.5" DD and 3.5" HD disks.
			  23 Nov 2002	v3.0
			  	ENH		Addition of Stride PDOS MTRANS and LS commands
			  	ENH		Motor spin-ups can be skipped
			  	ENH		Defaults to CP/M-80 or PDOS 640kB
			  	ENH		BBC Catalogues shared

Known faults/enhancements:
				ENH		Native (file-based) PDOS support.
