8-Bit Software

The BBC and Master Computer Public Domain Library

Disk And File Transfer:

OmniDisk

 

Last Update: Wednesday, 20 July 2005 15:53

 

 

On This Page You Will Find

Overview

Features

BBC Format Support

Downloads

Quick Start

Help!

Floppy Disk Access

Reading, writing and formatting floppy disks using non-DOS formats

Disk Image Access

Handling images of floppy disks

Editing Disk Images

Extracting, adding and deleting BBC files from disks and images

.inf Files

Support of BBC ‘.inf’ file archives

DFS Commands

‘*’ Commands for BBC DFS formats

DDOS Commands

‘*’ Commands for BBC DDOS formats

Technical Information

Advanced Commands

Known Formats

Compatibility

Copy Protection

Support

Support

Requests, and ports to other operating systems

 

 


OmniDisk Overview

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.

 

Features

        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.

BBC Format Support

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.

Downloads

 

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 OmniDisk here

 

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.

 

Quick Start

 

Depending on how your BBC data is stored, choose ‘Floppy Disk Access’, ‘Disk Image Access’, or ‘.inf Files’ from the sections below.

 

Help!

 

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.

 


Floppy Disk Access

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).

 

[Back to Top of This Page]


Disk Image Access

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.

 

[Back to Top of This Page]


Editing Disk Images

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).

 

[Back to Top of This Page]


.inf Files

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)

 

[Back to Top of This Page]


BBC DFS commands

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.

 

[Back to Top of This Page]


BBC DDOS commands

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.

 

[Back to Top of This Page]


Technical Information

Advanced Commands

 

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.

 

Known Formats

 

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.

Compatibility

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).

Copy Protection

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.

[Back to Top of This Page]


Support

Support

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.

[Back to Top of This Page]