unlocks all the files on the current default drive in directory $.
WARNING
Locking a file does not prevent the files being destroyed by formatting or using the
command *BACKUP.
*BACKUP <source drvsp> <target drvsp>
Abbreviation: *BAC.
Type: FS
Related: *COPY, *ENABLE
The disc in the source drive is copied in its entirety to the disc in the target drive,
which must be of the same density and length.
If both drive specifications are the same, the user is prompted to insert alternately
the source and target discs. Less disc changes will be required if screen mode 7
is used during this command.
This command overwrites the data in user memory, and any information on the
target disc. The *ENABLE command must be used before the *BACKUP
command is used.
Example
*ENABLE -BACKUP 0 1
Copies the disc in drive Q to the disc in drive 1.
WARNING
The contents of user memory are overwritten by this command, and the original
contents of the destination disc are lost.
*BUILD <fsp>
Type: utility
Abbreviation: *BU.
Related: *EXEC, *LIST, *TYPE
The specified file is created directly from the keyboard input. The user is prompted
for the input with the current line number. Every character typed is written
sequentially to the file. Input is terminated at any time by pressing
20
the ESCAPE key.
*BUILD is usually used to create text files, but it is possible to enter nonprintable
characters via the keyboard - see the BBC User Guide.
Example
>*BUILD !BOOT
1 *KEY10 CHAIN"MENU"
|M
2 CHAIN "MLNU"
3
creates a text !BOOT file.
*CAT
<drvsp>
Type: OS Abbreviation: Related: *ACCESS, *DIR, *DRIVE, *FORMAT, *INFO, *LIB,
*OPT4, *TITLE
The catalogue of the specified disc is displayed. Also displayed is the disc title,
the drive number, the current default directory, and the current default library.
The files are displayed in alphabetic order, with those files in the current default
directory being listed first.
Example
21
-CAT 0
GAMES 1 (12)
Drive 0 Option 2 (EXEC)
Directory :0.$ Library :0S
!BOOT L BATBALL
CHASE L CRUMYANA
A. MENU L


*COMPACT <drvsp>
Type: FS
Abbreviation: *COM.
Related: *BACKUP
The files on the specified disc are compacted so that all free sectors are in a
single block at the end of the volume. This becomes necessary when the free
space has become fragmented and there is no single block large enough to
create a new file.
Compacting does not destroy any information on the disc. However, if a disc error
occurs during compaction, it might be difficult to recover the contents of the file that
was being compacted at the time. Therefore it is advisable to make a backup copy
of the disc first.
Example
WARNING
This command overwrites the contents of user memory. If a disc error occurs
during compaction the disc is likely to become unreadable. It is wise to make a
backup copy of the disc before compaction.
*COPY <source drvsp> <target drvsp> <aentsp>
Type: FS
Abbreviation: *COP.
Related: *BACKUP
All files on the specified source disc matching the ambiguous entry specification
are copied, without change of name, to the target disc. If a file of the same name
already exists on the target disc, it is overwritten by the copy unless locked.
Example
22
Copies all files in directory A from the disc in drive 0 to the disc in drive 1.
WARNING
User memory is overwritten.
*DELETE <fsp>
Type: FS
Abbreviation: *DE.
Related: *DESTROY, *WIPE
The specified file is removed from its catalogue, and all the data in the file is lost.
Locked files cannot be deleted without first unlocking them using the *ACCESS
command.
Example
>*DELETE A.MENU
Deletes the file MENU in directory A from the disc in the current default drive.
*DESTROY <afsp>
Type: FS
Abbreviation. *DES.
Related: *DELETE, *WIPE
All unlocked files matching the ambiguous file specification are listed, and the
user is prompted as to whether they should be destroyed. If so, all the files are
removed from the catalogue, and the data in them is lost. The *ENABLE
command must be issued immediately prior to this command, or the message
'not enabled' will be issued.
Example
23
>*COMPACT 1
Compacting drive 1
$.!BOOT L 000000 000000 00001A 002
$.CHASE 001900 FF8023 000370 003
A.MENU L 001900 FF8023 000130 007
Disk compacted 187 free sectors
>*COPY 0 1 A.
>*ENABLE
>*DISTROY :1.A.*
A.MENU
A.FRED
A.BALL

Delete (Y/N) ?Y
Deleted


*DIR <dirsp>
Type: FS
Abrrev: *DI.
Related: *CAT, *DRIVE
The default drive and directory are set to those in the directory specification. If any
field is not specified, the current default remains unchanged.
The current default values are displayed by the *CAT command.
Example
Sets the current directory to S on the current default drive.
>*DIR : 1 A
Sets the current directory to A on drive 1
-DISC 1 -DISK
TYPE: utility
Abbreviation: *DIS.
Related: *TAPE
The current filing system (e.g. the tape filing system) is suspended, and the disc
filing system becomes the active filing system. Any files open under the tape filing
system will remain open, and can be accessed again when the tape filing system
is reselected using *TAPE.
DRIVE <drvsp>
Type: FS
Abbreviation: *DR.
Related: *CAT, *DIR
The default drive is set to the specified drive number. The current default values
are displayed by the *CAT command.
24
*DUMP <fsp>
Type.. utility
Abbreviation: *DU.
Related.. *LIST, *TYPE
The contents of the specified file are displayed (dumped) on the screen. Each line
of the display is as follows:
where
<addr> is the address of the line in the file, in hexadecimal; <hex value> is the
hexadecimal representation of the file character; <pvalue> is the printed
representation of that character, or a full stop if the character is not printable (i.e.
has an ASCII value less than 32 or greater than 126 decimal).
The display can be stopped by depressing CTRL and SHIFT together, or page
mode may be engaged by typing CTRL N.
*ENABLE
Type: OS
Abbreviation: *EN.
Related: *BACKUP, *DESTROY
Filing system commands which can erase files must be enabled immediately
before use. This extra step helps to prevent the accidental erasure of files.
Example
>*ENABLE
>*BACKUP 0 1
25
>*DIR S
<addr> <hex value> <hex value>.. <pvalue> <pvalue>..


*EXEC <FSP>
Type: OS
Abbreviation: *E.
Related: *BUILD, *LIST, *TYPE
The data in the specified file is read character by character as though those
characters were being typed in at the keyboard.
Short command files are usually produced by use of the *BUILD command.
Programs may be merged by *SPOOLing one program, loading a second
program, and *EXECing the spooled first program back into memory.
Example
>*EXEC PROGTEXT
Further input is taken from the ASCII file PROGTEXT until the end of the file is
reached.
WARNING
*EXEC should only be used with text files; strange and possibly alarming results
may otherwise ensue. BASIC program files are not ASCII files and should not be
*EXECed.
*HELP
Type: OS Abbreviation: *H.
If typed alone, a list of keywords on which further help is available is displayed on
the screen.
If *HELP is followed by the name of the disc filing system (e.g. DFS, or DDOS) the
syntax specification for all the commands is displayed. If *HELP is followed by
UTILS the syntax for the utility commands is given.
*INFO <afsp>
Type: FS
Abbreviation: *1.
Related: *CAT, *LOAD, *RUN, *SAVE
26
The catalogue details for all files matching the ambiguous file specification are
displayed. Each file is displayed as..
<ent> [L] <laddr> <eaddr> <byte length> <start sector>
where
<ent> is the file's entry name;
L indicates that the file is locked;
<laddr> is the file's load address, in hexadecimal, which will be used by *LOAD
and *RUN;
<eaddr> is the file's execution address, in hexadecimal, which will be used by
*RUN;
<byte length> is the file's byte length, in hexadecimal;
<start sector> is the address of the file's first data sector of the file, in
hexadecimal, relative to the start of the disc.
Example
>*INFO BATBALL
$.BATBALL L FF1900 FF8023 00023A 00C
The file called BATBALL in directory $ has a load address of &1900, an execution
address of &8023, a length of &23A bytes, and starts at sector &C (12) on the disc.
If it is a single density disc, there are 1 Q sectors per track, so the file starts at
track 1, sector 2.
LIB <dirsp>
Type. FS
Abbreviation: *LIB
Related: *CAT, *RUN
The library drive and directory are set to those in the directory specification. If any
field is not specified, the current library value remains unchanged.
When an *command is entered, if the command is not recognised by any of the
sideways ROMs (including the disc filing system ROM), then the current default
directory will be searched for a file of that name. If a file of that name is not found,
then the current library directory will be searched for a file of that name. If no file is
found in either the current default directory or the library directory, then a 'file not
found' message will be issued. If a file of the correct name is found it will be
loaded into memory at its load address, and executed from its execution address.
It should be a machine code program.
27


The *RUN command uses the library directory in the same way.
The current library values are displayed by the *CAT command.
Example
>*LIB :1 Z
The library is set to directory Z on drive 1.
*LIST <fsp>
Type: utility
Abbreviation: *LI.
Related: *DUMP, *TYPE
The contents of the specified file are displayed as numbered lines of printable
characters.
*LIST should be used only with text files, strange and possibly alarming results
may otherwise ensue.
BASIC programs are stored in tokenised form, and cannot be sensibly displayed
using the *LIST command. An ASCII text file of a BASIC program may be obtained
by *SPOOLing a BASIC program.
Example
>*LIST !BOOT
1 *KEY 10 CHAIN "MENU" IM
2 CHAIN "MEW'
The text file !BOOT on the current default directory, such as that produced by the
*BUILD command, is listed.
*LOAD <fsp> [<load address>]
Type: OS
Abbreviation: *L.
Related: *INFO, *RUN, *SAVE
The specified file is loaded directly into memory, at the address specified if given,
otherwise at the file's load address, as displayed by *INFO. The address should
be specified in hexadecimal without the leading &
28
*LOAD is normally used to load binary program and data files. BASIC programs
should be loaded using the BASIC statement LOAD.
Example
>*INFO FRED
$.FRED L FF1900 FF8023 00023C 002
>*LOAD FRED
The file FRED has a load address of &1990, as shown by the use of the *INFO
command. The *LOAD command will load the file FRED from the current default
directory into memory starting at location &11999 as no load address was
specified.
>*LOAD FRED 2500
The file FRED on the current default directory will be loaded into memory from
&2500.
*OPT 1 <value>
Type: OS
Abbreviation: *0.
Related: *INFO
This command controls the information displayed every time a file is accessed. If
<value> is zero then no information will be displayed when a file is accessed. If
<value> is 1 or greater, then the file information (as displayed by the *INFO
command) is displayed every time a file is accessed.
Example
>*OPT 1 1
File information is enabled.
>*OPT 1 0
File information is disabled.
29


*OPT 4 <value>
Sets the action which will occur when the disc in the current default drive is
present in drive Q, and a SHIFT/BREAK is pressed.
If <value> is 0, then no action will take place on auto-start. If <value> is 1, then the
file $.!BOOT will be *LOADed. If <value> is 2, then the file $.!BOOT will be *RUN. If
<value> is 3, then the file $ABOOT will be *EXECed,
To use the auto-start feature, insert the disc in the current default drive and enter
the *OPT 4 command to set the desired auto-start option. Place the prepared disc
into drive 0, and press SHIFT and BREAK together, release the BREAK key and
then release the SHIFT key.
If the auto-start option is active, and no file $.!BOOT is found, the error 'File not
found' is reported.
Example
>*OPT 4 3
Sets the disc in the current default drive to perform an *EXEC of the MBOOT file
when the disc is placed in drive 9, and SHIFT/BREAK is pressed.
*RENAME <fsp> <entsp>
Type: FS Abbreviation: *RE.
The directory, and/or the filename of the specified file are changed to those given
in the entry specification. The contents of the file are not changed.
The command will fail if a file already exists with the new name, or if the file to be
renamed is locked.
Example
>*RENAME A.FRED B.TOM
Renames the file called FRED in directory A on the disc in the current default drive
to TOM in directory B on the same disc.
30
*RUN <fsp> <parameters>
Type: OS
Abbreviation: *R.
Special abbreviated form: *<fsp> <parameters>
The specified file is loaded into memory at its load address, and then execution of
it commences at its excution address. If the file cannot be found in the specified
directory, the library directory is searched for a file with the same filename.
The parameters are available to the executing program by using an OSARGS call
described in chapter 8.
Use of a file type other than a binary program may cause strange, possibly
alarming and feasibly catastrophic results. In particular, BASIC programs should
not be *RUN; the BASIC statements CHAIN or LOAD should be used.
Example
>*RUN MCODE
Causes the machine code file called MCODE, which is in the current default
directory or the library directory, to be loaded at its load address, and executed
from its execution address. The same effect could have been obtained by typing in
*MCODE.
*SAVE <fsp> <start addr> <end addr> [<laddr> [<eaddr>]] *SAVE <fsp> <start
addr> +<length> [<laddr> [<eaddr>]]
Type. OS
Abbreviation: *S.
Related: *LOAD, *RUN
The contents of memory starting at <start addr> and finishing at <end addr>-1 , or
at <start addr> + <length>-1 , are saved as the specified binary file. If a file of that
name already exists, and it is not locked, then it is overwritten.
The load and execution address of the file are set to <laddr> and <eaddr>
respectively, if specified, or to <start addr> if not. These default addresses are
used by *LOAD and 'RUN.
31


All addresses, and <length>, should be specified in hexadecimal without a
leading &
Example
>*SAVE MCODE 1900 +2000 2400 2403
The contents of memory starting at &11900 of length &2000 is saved to the file
MCODE in the current default directory, with a load address of &2400 and an
execution address of &2403.
>*SAVE MCODE 1900 3900 2400 2403
This command performs the same action, using the alternate form of specifying
the length.
*SPOOL [<fsp>]
Type: FS Abbreviation: *SP.
When <fsp> is specified, most subsequent screen output is also directed to the
specified file. If a file of that name already exists, and if it is not locked, then it is
overwritten.
To avoid infinite loops, output generated by the filing system itself is not sent to the
spool file.
*SPOOL without <fsp> specified closes the spool file and terminates spooling.
This command is used to produce ASCII text files of BASIC programs and for
copying the output of programs to a text file for subsequent analysis or for
incorporation into a document using a word processor.
Example
>*SPOOL PROGTXT
>LIST
>*SPOOL
The program currently in memory will be saved as an ASCII text file called
PROGTXT in the current default directory.
32
*TITLE <title>
Type: FS
Abbreviation: *TI.
Related: *CAT
The title of the disc in the current drive is set to the string <title>. The title of a disc
is displayed by *CAT
The title may comprise a maximum of 12 characters. If less are specified, the
string is made up with spaces. If the string is to contain embedded spaces, it
should be enclosed by a pair of double quotation marks.
Example
>*TITLE "GAMES DISW
The title of the disc in the current drive is changed to 'GAMES DISC'.
*TYPE <fsp>
Type: utility
Abbreviation.. *TY.
Related.. *DUMP, *LIST
The contents of the specified file are displayed as lines of printable characters.
*TYPE should be used only with text files,. strange and possibly alarming results
may otherwise ensue.
This command is similar to the *LIST command, but line numbers are not
displayed.
Example
>*TYPE I.A.TXT2
Displays the contents of the ASCII text file called TXT2 in directory A on the disc in
drive 1 .
33


*WIPE <afsp>
Type: FS
Abbreviation: *W.
Related: *DELETE, *DESTROY
DDOS maintains its current default volume through BREAK, allowing use of the
auto start feature from any volume on any disc.
Extra commands are provided to control the extra features of DDOS and provide
more information to the user.
Extended Syntax for DIDOS
All unlocked files on the disc in the current drive in any directory, which start with A
will be listed individually, The user will be prompted to confirm the deletion of each
file. Those files for which deletion is confirmed will be removed from the
catalogue.
6 DDOS Extended Features and
Commands
DDOS provides a number of features to help overcome the limitations inherent in
Acorn DFS, while maintaining a high degree of compatibility.
The floppy disc controller fitted with DDOS is capable of operating in both single
and double density. DDOS allows the use of both types of disc; single density
discs are identical to discs produced on an Acorn DFS system, double density
discs provide 89 per cent greater capacity, and up to 248 files.
Volumes may be explicitely referenced by including a volume letter immediately
after a drive number in a file specification for example
.2D.F.JAZZ
specifies the file called JAZZ in directory F of volume D on drive 2. The default
volume can be set by using the *DRIVE command.
34
Additional Commands available IN DIDOS and CHALLENGER.
*4080 <setting>
Type.. FS

Sets the filing system so that 40-track discs may be used with an 80-track drive.
If setting is ON then only 40-track discs may be used in an 89 track drive. A disc
error will be produced if the command is issued when 40-track disc drives are
used.
If setting is OFF then only 40-track discs may be used in a 40-track disc drive, and
only 80-track disc drives may be used in an 80-track disc drives.

If setting is AUTO then the filing system will allow both 40-track and 80-track discs
to be used in an 80-track disc drive.
The default is OFF.
Example
>*4080 AUTO
Sets the computer so both 40-track and 80-track discs may be used in 80-track
drives.
35
For each unlocked file matching the ambiguous file specification, the user is
prompted as to whether the file should be deleted,. if so, the entry is removed from
the catalogue and its contents are lost.
<vol> volume name A | B | C | D | E
| F | G | H
<volsp> volume specification <drvsp> [<vol>]
<drvol> drive-volume [:[<drv>] [<vol>].]
<dirsp> directory specification <drvol> [<dir>]

<fsp> file specification <drvol> <entsp>
<afsp> ambiguous file spec <drvol> <aentsp>
DDOS increases the number of files which may be held on one side of a disc by
dividing the disc into up to eight volumes. Each volume is equivalent to a surface
of a disc of the Acorn format single density, with the same limit of 31 files, and the
same catalogue information.
Example
*WIPE #.A*


*CAT <volsp>
When the *CAT command is used with DDOS or CHALLENGER it is assumed
that the command is folowed by a volume specification. If no volume letter is
explicitly included, then the default volume, A, on the specified disc will be
displayed.
Example
>*CAT OB
The catalogue of volume B on drive 0 will be displayed.
>*CAT 1
The catalogue of the default volume on the disc in drive 1 will be displayed, this is
volume A.
*COMPACT <volsp>
A volume specification is expected following the *COMPACT command. If no
explicit volume letter is used, then the default volume will be compacted.
*DENSITY <arguement>
Type. FS
Abbreviation: *DEN.
Related: *CAT
DDOS by default automatically detects the density of the discs which are used,
making it simple to use both single and double density discs. The protection
system used by some commercial discs prevents the proper operation of this
automatic density detection.
This command allows the disc interface to be configured so that either only single
density discs are readable, or only double density discs are readable.
*DENSITY AUTO is the default condition. When this condition is set, single and
double density discs may be used, and their density is automatically
36
detected.
*DENSITY SINGLE sets the controller to assume that the disc to be read or written
is a single density disc. This allows some protected discs still to be used with
DDOS.
*DENSITY DOUBLE sets the controller to assume that the disc to be read or
written is a double density disc.
After power up or a CTRL-BREAK, DENSITY is set to AUTO, a BREAK or SHIFT-
BREAK does not change the existing setting of DENSITY.
Example
>*DENSITY SINGLE
Only single density discs will now be correctly read and written.
*DRIVE <volspec>
A volume specification is expected following the *DRIVE command. This allows
the default volume to be set to a volume other than volume A.
*FIDCSTAT
TYPE: FS
Returns the contents of the status register of the floppy disc controller. If you
discover an error in the DDOS operating system, enter *F13CSTAT, and note the
values returned. Include these values when reporting the error to Opus.
*FORMAT
Type: FS
Related: *VOLGEN
New floppy discs are usually in an unformatted form. This means that they cannot
be used to store information until after they have been formatted. The utility
*FORMAT will prepare a disc in either single or double density as required. A disc
formatted in single density may be read by any Acorn
37


DFS compatible disc system. An Acorn DFS system will be unable to read a disc
formatted in double density.
The format program is invoked by typing
*FORMAT
You will be asked to enter the number of tracks per side (40 or 80), the drive in
wish you wish to format the disc, and the density in which you wish the disc to be
formatted. You will be given a last chance to change your mind before formatting
(formatting wipes all information from a disc!). If an error occurs while formatting a
disc you will be given a message 'verify error .
*MAP <volspec>
Type: FS
Abbreviation: *MA.
Related.. *CAT, *STAT, *COMPACT
Displays a map of the specified volume, showing the tracks and sectors occupied
by files on a volume, and the tracks and sectors which are free space.
Example
>*MAP OC
Displays sectors occupied by files and free space on volume C of the disc in drive
0.
*MICOPY <source volsp> <target volsp>
Type: FS
Abbrev.. *MC.
Related.. *COPY, 'BACKUP
All files on the source volume are copied to the target volume, overwriting the
previous contents of the target volume. The command makes maximum use of
the memory of the BBC computer to maximise the transfer speed, and this
command is to be preferred when making backup copies of the files on a disc.
38
Example
*MCOPY OA 1C
All files in volume A on drive Q are copied to volume C on drive 1, overwriting the
previous contents.
WARNING
This command overwrites user memory, and the previous contents of the target
volume.
*SROM <value>
Type: FS
Abbreviation: *SR.
Related: *SAVE, *LOAD
Specifies the socket number (0 - F) of the sideways ROM or RAM which is to be
read by the *SAVE command when saving data in the address range &8000 to
&BFFF, or the sideways RAM which is written to by a *LOAD to the address range
&8000 to &BFFIF.
Example
>*SROM F
Selects socket &F, (15), such that a subsequent *SAVE to disc of the memory area
&8000 to &BFFF will save the data in the ROM in socket 15.
*STAT <volsp>
Type: FS
Abbrev: *ST.
Related: *CAT, *XCAT
The size of the volume and the remaining space in the volume is
displayed in sectors and Kbytes.
Example
39