Last Update: Wednesday, 20 July
2005
15:53
On This Page You Will Find |
|
Overview |
|
Floppy Disk Access |
Reading, writing and formatting floppy disks using non-DOS formats |
Disk Image Access |
|
Editing Disk Images |
Extracting, adding and deleting BBC files from disks and images |
.inf Files |
|
DFS Commands |
|
DDOS Commands |
|
Technical Information |
|
Support |
OmniDisk is a generic floppy disk reader, writer and formatter for the IBM PC or compatible. It will read, write, and format floppy disks for formats not normally supported by DOS, Windows and Linux.
OmniDisk has been superseded. You should try OmniFlop first before OmniDisk. It is easier to use and there are less things to go wrong. You should only use OmniDisk if OmniFlop doesn't work, you haven't got Windows NT/2000/XP, or you want to use the DFS, DDOS, or PDOS filing systems on the PC.
OmniDisk was written to archive aging floppies of any format, and to provide access to the data for certain known formats (e.g. BBC DFS and BBC DDOS). That way the archive could be easily used on the PC (perhaps with an emulator) as well as on the original hardware – in case the hardware ever died (hasn’t happened yet). This page is targeted at the BBC DFS, DDOS and Stride PDOS formats, but OmniDisk itself will handle many, many others.
· Read, write, and format Single Density*, Double Density, and High Density disks.
· Read, write, format and interpret Acorn BBC DFS, ADFS, DDOS disks.
· Read, write, format and interpret images of disks (e.g. .DSD, .SSD files).
· Read and write .inf files extracted from disk images, and put them onto, or remove them from, actual disks or disk images.
· Implements all the Acorn '*' commands to use with the above for moving and converting images between PC and Acorn machines.
· Automatic sensing of formats. Setting up a disk controller to read an ‘alien’ format is incredibly infuriating – just one parameter wrong and the disk is unreadable*. OmniDisk will auto-sense everything – see the SAMPLE command.
· Read, write, and format CP/M disks.
· Read, write, format and interpret PDOS disks.
· Read, write, and format disks for formats it doesn't know (because it can analyse disks).
* Reports that “…most modern PCs do not support single density formats…” have been grossly exaggerated. Most modern PCs do support single density – I found only one (a Dell Latitude XPi P133ST laptop) which can’t do single density because of lack of hardware. Usually the problem arises in the software driving them, or the configuration of it. And yes, even modern laptops will still do single density (e.g. Dell Latitude C800). If you think you have a system which doesn’t do single density, try OmniDisk anyway.
OmniDisk contains enhanced support for BBC DFS, DDOS, and Stride PDOS formats. Not only can it read and write the native disks, it can interpret the formats, so you can manipulate the files stored on disks and the files stored in disk images. Most file functions for the BBC formats are accessed via the (probably familiar) ‘*’ commands.
OmniDisk supports all three types of BBC archives currently kicking about:
· Disk images (.img’s, .ssd’s, .dsd’s…)
· Separate BBC files (.inf’s)
· BBC floppy disks - double & single density, DFS, DDOS, ADFS.
You can access any of the above using DFS or DDOS ‘*’ commands just like on the BBC, and *COPY (and *BACKUP) will translate between them.
Apart from the DFS and DDOS ‘*’ commands, you still have access to over 110 commands for handling the underlying disk format. Command-line help is included (21 pages; *HELP also included for DFS/DDOS). If you don’t want to get your hands dirty, though, auto-sensing of hardware and disk formats is enabled by default.
The archive contains a FAQ and extra help for DFS (DFS.txt) and DDOS (DDOS.txt).
And it’s free.
OmniDisk is available as an application or as a FreeDOS bootable floppy. OmniDisk runs best in a DOS environment, and this is the recommended way to try it, initially at least. A Command Prompt in Windows 95/98/98SE/Me does usually work fine, but is not recommended for an initial trial.
The FreeDOS bootable floppy version of OmniDisk is best if you have no DOS environment and don’t want to get your hands dirty trying to get DOS running. Note that Windows 2000 and Windows XP releases still contain DOS boot disks if you want to set up your own DOS environment – see “Getting to DOS” in FAQ.txt in the first download for an explanation.
Download the FreeDOS bootable floppy version of OmniDisk here.
The bootable FreeDOS version contains an application (DiskImg) to write the floppy image (OmniDisk.img) to a blank, formatted floppy disk. Insert the floppy disk into drive A or B, run up DiskImg, and choose Logical drive A or B (make sure the disk you expect starts turning and the details are as expected). Select the Drive ‘Write’ button and choose the file ‘OmniDisk.img’. The floppy will be written. Be careful with this program as it can directly access your hard disk and destroy its contents if you are not careful! Once the disk is written, reboot using this floppy – you may need to change the device boot order in your BIOS – try pressing F1, F2, F10 or Delete during a reboot if the floppy is ignored. Allow the system to run up then at the OmniDisk prompt try ‘SAMPLE’ to see it work…
The FAQ.txt file in the first download contains further information if you need it.
Depending on how your BBC data is stored, choose ‘Floppy Disk Access’, ‘Disk Image Access’, or ‘.inf Files’ from the sections below.
Type ‘*HELP’ for ‘*’ command help, ‘HELP’ for all command help, and add a command name to get the help entry for that command. There’s some text files (.txt) in the archive, too, with more help & examples.
Or, if you get really stuck, use the ‘Support’ contact at the bottom of this page or in the FAQ.txt file.
Use this if you want to use a BBC floppy disk in your PC.
For floppy disk access under Windows NT, 2000 and XP use OmniFlop instead.
Run up DOS from a boot floppy (but a Command Prompt in Windows 95/98/98SE/Me will do if forced). Not got a boot floppy? OmniDisk is available on a FreeDOS boot floppy here, which you can boot off instead.
Run ‘OmniDisk’ and insert your floppy disk.
Type:
*DRIVE n
where n= 0 for floppy A:, n = 1 for floppy B:.
If you know it’s a DFS or DDOS disk then type:
*DISK
The program will test your hardware and analyse the disk - if this fails, or it’s not a DFS/DDOS disk, try ‘Problems’ below.
With a recognised disk, you can now use virtually all of the normal DFS ‘*’ commands - see DFS Commands - with some tweaks added for DOS access.
If you want to merely transfer the disk to, or restore from, a disk image use *BACKUP - for example:
*BACKUP \images\dfs\Games1.img 0 (Floppy disk restored from disk image Games1.img)
*BACKUP 0 \images\dfs\Games1.img (Floppy disk backed-up to disk image Games1.img)
*BACKUP * \images\dfs\GameDisk.img (Both sides of disk backed-up to disk image GameDisk.img)
*BACKUP \images\dfs\GameDisk.img * (Both sides of disk restored from disk image GameDisk.img)
*BACKUP * \images\dfs\GameDisk.img CHS (Both sides of disk backed-up to interleaved disk image)
*BACKUP \images\dfs\GameDisk.img * CHS (Both sides of disk restored from interleaved disk image)
If you want to extract individual files from the disk, use *COPY - see ‘.inf Files’ below.
Problems
You can ‘force’ the interpretation of the disk to DFS using one of:
*DFS40 40-track disk in an 80-track drive
*DFS40 DBLSTEP OFF 40-track disk in a 40-track drive
*DFS80 80-track disk in an 80-track drive
If you’d rather get the program to look at the disk, try first:
SAMPLE
which will attempt to guess the format. If this is inconclusive, or you disagree, try:
SCAN then (if it finds something):
MAP and:
ANALYSE
Note that this version of OmniDisk is customised for BBC formats; if the format isn’t DFS or DDOS you need to use the ‘Advanced Commands’ (or another version of OmniDisk with appropriate support - not all formats will fit in one copy).
If you have a disk image to explore or you want to create a new one, select the type of image (usually by looking at the file extension) from the sections below.
.ssd .0 .1 .adf .img
These have side 0 of the disk possibly followed by head 1. Use the *BACKUP or *IMAGE commands with an order of HCS, which is default - for example:
*IMAGE C:\BBC\Drive0.ssd HCS to use image Drive0.ssd instead of a real floppy disk
*CREATE
*BACKUP 0 C:\BBC\Drive0.ssd HCS to image drive 0 only to file C:\BBC\Drive0.ssd; HCS is the default
*BACKUP * C:\BBC\BothDrvs.img to image top & bottom of current drive to file BothDrvs.img
*BACKUP C:\BBC\Drive0.ssd 0 to restore image file Drive0.ssd to drive 0
*BACKUP C:\BBC\BothDrvs.img * to restore image file BothDrvs.img to top & bottom of current drive
.dsd and .adl
These have the two sides of the disk interleaved - use the same *BACKUP/*IMAGE commands but change the order from default to CHS - for example:
*IMAGE C:\BBC\DblDFS.dsd CHS to use image DblDFS.dsd for drives 0 and 2
*ORDER CHS then…
*BACKUP * DblDrv.adl to image top & bottom of current drive interleaved to file DblDrv.adl
*BACKUP DblDrv.adl * CHS to restore image file DblDrv.adl to top & bottom of current drive
Choosing Type
*ORDER allows the display and setting of the order used for reading and writing the disk or image.
Advanced
Fine control over ordering, double-stepping, and reading sides/heads is available using non-‘*’ commands - type HELP for a list.
Apart from just lifting and dropping complete disk images onto floppies, you can add files to it, remove files from it, or simply browse it with ‘*’ commands.
Choose the filing system - either:
*DFS
or
*DDOS
Use a disk image as a floppy by typing:
*IMAGE C:\DFS\MyDisk.ssd (add CHS for a double-sided interleaved image)
or create a new blank disk:
*CREATE C:\DFS\Blank.ssd for a single-sided 80-track image, or
*CREATE C:\DFS\Blank.dsd 80 2 CHS for a double-sided interleaved 80-track disk image
You now have access to all the usual DFS commands like *CAT plus the DOS-enhanced *COPY, *BACKUP etc. With the image file ‘hosting’ the floppy drive, you can convert to other formats using the ‘*’ commands.
To turn an interleaved image into a non-interleaved image, load the image with:
*IMAGE Original.dsd CHS
then convert both sides using the non-interleaved order HCS:
*BACKUP * New.img HCS
To turn an interleaved disk image into two single-sided images:
*IMAGE Original.dsd CHS
*BACKUP 0 Drive0.ssd HCS
*BACKUP 2 Drive2.ssd HCS
*CAT, *DUMP, *TYPE, *OPT, *WIPE, among others, are all available when a disk image is open. *COPY will convert to and from .inf files (see below).
The *COPY command will allow you to copy .inf files to and from floppy disks and floppy disk images. You need to select a floppy disk or floppy disk image (*IMAGE or *DISK) before trying to copy files onto or from it (see above sections).
The ‘drive’ parameters for the original *COPY command can have DOS path names inserted instead; the files are copied to/from .inf files on the PC’s filestore.
Some examples:
*COPY 0 \images\dfs\ *.* (All files from DFS drive 0 to DOS directory \images\dfs\)
*COPY 0 \images\dfs\$DFSFile COMP]BB (']' is illegal in DOS so the DOS filename is given explicitly)
*COPY \images\dfs\$DFSFile 0 *.* (File COMP]BB will be restored from name in $DFSFile.inf)
*COPY \images\dfs\ 2 CHAL* (All .inf files searched for DFS files $.CHAL*)
*COPY \images\dfs\$C* 2 $.CHAL* (All files matching $C*.inf searched for DFS files $.CHAL* and copied to drive 2)
Standard
DFS Commands
The following commands behave identically (or with minor amendments) to the DFS equivalent:
*DRIVE [<drive>] or *DR.
*CAT [<drive>] or *.
*INFO [<afsp>]
*ACCESS <afsp> [L]
*COMPACT <DFS drive>
*DELETE <fsp>
*DESTROY <afsp>
*DUMP <fsp> (Use *DUMPW for wide screen 80-column display)
*LIST <fsp>
*OPT 1,<extended file info>
*OPT 4,<boot type>
*RENAME <fsp> <entsp>
*TITLE ["]<title>["]
*TYPE <fsp>
*WIPE <afsp>
*FORMAT [<drive>]
*VERIFY [<drive>]
<afsp> defaults to '*.*'. The default directory is always '$'. There is no *ENABLE - be careful!
These commands are all valid both on physical DFS floppy disks or disk images (*IMAGE).
DOSsed
DFS Commands
The following commands have been amended to the OmniDisk environment to allow for .inf archives and disk file images:
*DISK|*DISC|*D.
*HELP [<command>]
*CAT <DOS filespec>
*CAT <DOS directory>\
*INFO <DOS directory>\
*COPY <DFS drive> <DOS fsp> <DFS fsp>
*COPY <DOS afsp> <DFS drive> <DFS afsp>
*COPY <DOS fsp> <DFS drive> <DFS fsp>
*COPY <DFS drive> <DOS directory>\ <DFS afsp>
*COPY <DOS directory>\ <DFS drive> <DFS afsp>
*BACKUP <DFS drive>|* <DOS file> [<order>]
*BACKUP <DOS file> <DFS drive>|* [<order>]
e.g. *HELP *CAT
*CAT \images\dfs\ (All files *.inf scanned in given directory)
*CAT \images\dfs\$C* (All files $C*.inf scanned in given directory)
*INFO \images\dfs\
*COPY 0 \images\dfs\ *.*
*COPY 0 \images\dfs\$DFSFile COMP]BB (']' is illegal in DOS so the DOS filename is given explicitly)
*COPY \images\dfs\$DFSFile 0 *.* (File COMP]BB will be restored)
*COPY \images\dfs\ 2 CHAL* (All .inf files searched for DFS files $.CHAL*)
*COPY \images\dfs\$C* 2 $.CHAL* (All files matching $C*.inf searched for DFS files $.CHAL* and copied)
*BACKUP 0 \images\dfs\Games1.img (Drive backed-up to disk image Games1.img)
*BACKUP \images\dfs\Games1.img 0 (Drive restored from disk image Games1.img)
*BACKUP * \images\dfs\GameDisk.img (Both sides of disk backed-up to disk image GameDisk.img)
*BACKUP \images\dfs\GameDisk.img * (Both sides of disk restored from disk image GameDisk.img)
Command DIR is also available to browse DOS filenames.
New
DFS Commands
The following DFS-style commands are new to OmniDisk:
*DFS
*DUMPW <fsp> (Wide-screen version of *DUMP)
*IMAGE <DOS image file> Use DOS image file rather than floppy drive
ORDER|*ORDER [CHS|HCS]
*CREATE <DOS image file> [<tracks> [<sides> [<order>]]]
*VERBOSE [ON | OFF] (For diagnosis only)
Some DDOS commands are also available for use with DFS disks/images.
Extended
DFS Commands
*CAT [<drive>[<volume>]]
*DRIVE [<drive>[<volume>]]
*COPY <DFS drive>...
*COMPACT [<drive>[<volume>]]
where a volume letter (A-H) can be appended to the normal DFS drive number (0-3). Without an explicit volume, the volume defaults to volume A.
All DFS filenames are extended to allow for a volume specification after the drive (e.g. :2B.$.!BOOT).
DDOS
only Commands
The following commands are only available under DDOS:
DDOS|*DDOS
*VOLGEN [<drive> [<vol A sectors>|* [<vol B sectors>|*]...]]
*VOLGEN without parameters will display the volume map; changing the values will erase the contents of the specified drive.
These commands are all valid both on physical DDOS floppy disks or disk images (*IMAGE).
DFS-compatible
Commands
The following DDOS commands are also available under DFS:
*STAT [<drive>[<volume>|*]]
Displays size of volume(s) and space remaining.
*MAP [<drive>[<volume>|*]]
Displays usage of DDOS volume(s)/DFS drive.
All DFS commands are available under DDOS.
These commands are not BBC-specific, and for manual diagnosis. Beware - they will write/format disks without prompting.
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.
HELP 0
HELP on general commands.
H|HELP [command|page number...]
Display help for command or page of help (0 to 13).
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.
DOS command|:command
Execute DOS command.
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.
The program is capable of reading, writing and formatting any physical format to the limit of the hardware, and it will recognise (and a put a name to) some formats seen before. There is also extended support for some of the formats it knows (see command list below).
If you have a format not listed, it is definitely worth a try (because the list below is merely a start). Try the SAMPLE (quick test) or SCAN (thorough) commands. If a format is missing, please send it to Support to make this list more complete.
A less BBC-centric description of OmniDisk is available from http://www.shlock.co.uk/Utils.
DOS180 Selects 180kB IBM PC format.
DOS360 Selects 360kB IBM PC format.
DOS720 Selects 720kB IBM PC format.
DOS800 Selects 800kB IBM PC format.
DOS1M2|DOS1.2
Selects 1.2MB IBM PC format.
DOS1M44|DOS1.44
Selects 1.44MB IBM PC format.
DOS2M88|DOS2.88
Selects 2.88MB IBM PC format.
SPECMGT Selects Spectrum MGT (Miles Gordon Technology) +D/Disciple format.
SPECCPM Selects Spectrum +3 CP/M format.
AMSCPM Selects Amstrad 720kB CP/M format.
DFS[80|40]|*DFS[80|40]
Selects Acorn (BBC) DFS format. Default 80-track.
*DISK|*DISC
Attempts to interpret disk as BBC DFS. Includes a disk SAMPLE.
*HELP [<command>]
Provides help on <command>.
*VERBOSE [ON | OFF]
Enables/Disables diagnostic DFS handling information.
*DRIVE [<drive>[<volume>]]
Selects a default BBC DFS drive number/DDOS drive and volume.
*CAT [<drive>[<volume>]]
Catalogues the currently selected/given DFS disk/DDOS volume.
*CAT <DOS filespec>
Lists all DFS file images matching <DOS filespec> (do not add .inf).
*CAT <DOS directory>\
Lists all DFS .inf file images in the DOS directory.
Trailing '\' is mandatory. See also *INFO, DIR.
*INFO [<afsp>]
Lists the catalogue details for files matching <afsp> on DFS disk.
*INFO <DOS directory>\
Details all DFS .inf file images in the DOS directory.
Trailing '\' is mandatory. See also *CAT, DIR.
*COPY <DFS drive> <DOS fsp> <DFS fsp>
Copies file from DFS disk to DOS file (+.inf). DFS directory default $.
*COPY <DOS afsp> <DFS drive> <DFS afsp>
Copies specified DOS .inf images matching DFS afsp to DFS disk.
*COPY <DOS fsp> <DFS drive> <DFS fsp>
Copies DOS image to DFS disk using DFS filename specified. Do not add
.inf to <DOS fsp>.
*COPY <DFS drive> <DOS directory>\ <DFS afsp>
Copies files from DFS disk to DOS directory. Wildcards * and # allowed.
e.g. $.!BOOT -> $!BOOT and $!BOOT.inf. Note trailing '\'.
*COPY <DOS directory>\ <DFS drive> <DFS afsp>
Copies DFS files matching <afsp> from DOS .inf files to DFS disk.
Wildcards * and # allowed. Note trailing '\' on DOS directory.
*IMAGE <DOS image file> [CHS|HCS]
Use a DFS disk image file (of the order specified) instead of a floppy
drive. Image order defaults to HCS.
ORDER|*ORDER [CHS|HCS]
Displays/sets sector order used for READing from/WRITEing to a disk.
*CREATE <DOS image file> [<tracks> [<sides> [<order>]]]
Creates an empty DFS/DDOS disk image file.
<tracks> = 40 or 80 (default), <sides> = 1 (default) or 2,
<order> = HCS (default) or CHS (only for 2 sides - see *IMAGE).
*ACCESS <afsp> [L]
Locks/unlocks DFS files matching <afsp>.
*BACKUP <DFS drive>|* <DOS file> [<order>]
Creates an image backup of the DFS/DDOS drive. '*' backs up both sides
of default DFS drive. Image file <order> is CHS or HCS (default).
*BACKUP <DOS file> <DFS drive>|* [<order>]
Restores an image backup to a DFS disk. '*' restores both sides of
default DFS drive. Image file <order> is CHS or HCS (default).
*COMPACT [<drive>[<volume>]]
Compacts DFS disk/DDOS volume.
*DELETE <fsp>
Deletes one DFS file from the disk/image.
*DESTROY <afsp>
Destroys a set of DFS files from the disk/image.
*DUMP <fsp>
Dumps the contents of the DFS file to the screen.
*DUMPW <fsp>
As *DUMP but wider (16 byte) output.
*LIST <fsp>
Displays the contents of the DFS file as numbered lines of printable
characters.
*OPT 1,<extended file info>
Enables display of file info when accessed (if 1 or greater).
*OPT 4,<boot type>
Sets auto-boot option for current drive.
*RENAME <fsp> <entsp>
Renames DFS file (& directory).
*TITLE ["]<title>["]
Sets the title of the disk in the current drive.
*TYPE <fsp>
Displays the contents of the DFS file as lines of printable characters.
*WIPE <afsp>
Optionally deletes files from DFS disk.
*DIR [:<drive>[<volume>].]<dir>
Selects default directory and DFS drive number/DDOS drive & volume.
*FORMAT [<drive>]
Formats DFS/DDOS drive to currently selected format (DFS80/DFS40).
*FORMAT *
Formats both sides of current drive to current DFS/DDOS format.
*VERIFY [<drive>]
Verifies DFS/DDOS drive against the currently selected format
(DFS80/DFS40/DDOS).
DDOS|*DDOS
Selects Opus / Slogger (BBC) DDOS format.
All drive specifications have optional volume letter A-H (default set
by *DRIVE).
*STAT [<drive>[<volume>|*]]
Displays size of volume(s) and space remaining.
*MAP [<drive>[<volume>|*]]
Displays usage of DDOS volume(s)/DFS drive.
*VOLGEN [<drive> [<vol A sectors>|* [<vol B sectors>|*]...]]
Displays/sets (hex) volume sizes. '*' allocates rest of disk to
subsequent volumes. NOTE: This command erases the whole 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.
LS
Lists all files on the current default PDOS drive.
MTRANS <DOS directory>
Copies all PDOS files from current drive to DOS directory. Files are
stored in a DOS directory corresponding to their level.
The program is written for any PC with a uPD765-compatible controller (if you want to read/write real disks directly) - which is basically all of them with a built-in FDC. Auto-sensing usually removes the need to guess your system’s set-up.
For handling disk images (*IMAGE, USE IMAGE commands) it will work in all DOS and Windows (Command Prompt) environments.
For handling alien format disks (e.g. BBC), it will work in a Command Prompt under Windows 3.1/95/98/98SE, or under DOS (using a DOS boot disk). Support for floppy disks under Windows NT, Windows 2000, and Windows XP is via OmniFlop. A version of OmniDisk (OmniDiskXP) is under development to reproduce the same OmniDisk command prompt under these operating systems.
OmniDisk will not run under Linux, under dosemu. It just hangs. Although I haven’t tried it yet under root. If this is your platform of choice, complain to the support contacts and register your vote for Linux!
It is capable of reading and writing single-density (FM) disks, if your hardware allows it (1 out of 30 PCs tried so far failed).
The underlying commands (non-‘*’-commands) allow nasty tricks and hacks - e.g. SCAN and MAP will allow you to examine mixed-format disks. All FDC commands - such as READ/WRITE/FORMAT - can be used on individual tracks or sectors.
Post to the BBC Mailing List with ‘OmniDisk’ in the subject - if that doesn’t work, contact the host of this page (who will have my e-mail address). The application download also contains further contact details in the FAQ.txt.
Requests, and ports to other operating systems
Use the support contact – requests are welcome and are normally implemented.
A version of OmniDisk for Windows NT/2000/XP, OmniDiskXP, is under development. However, support for OmniFlop takes priority (and currently prevents further OmniDisk development). Please register an interest if you want to see OmniDisk ported to Windows XP or any other operating system.