Disc Menagerie (v4) - Alastair Scott 1987
-----------------------------------------
This is the final version of Disc Menagerie, with control greatly
facilitated by John Valentine's AGE windowing system. Almost
everything can be accessed via menus: to select something from a pull
down menu, move the bar over the required option using the up and down
arrow keys, then press COPY.
Amsdos Commands
Allows you to use ERA, REN, DRIVE, USER and DIR from within Disc
Menagerie without worrying about awkward syntax.
Directory Editor
Here you are given a list of all programs in the disc directory with
their attributes. For any file, you can set Read Only (attempting to
erase the file doesn't work and produces an error message), Read/Write
(the file can be erased as normal), System (the file is hidden from
view and is not listed with |DIR or CAT), Directory (|DIR or CAT work
as normal) and User (change the user number to 'x' so that you must
type |USER,x before |DIR or CAT if you want to see the file). Note
that all Read Only files have an * after their name in the disc
directory.
You can also erase or rename a file directly, or unerase it if it was
accidentally deleted before. Note that this last option will not
always work; it depends critically on whether you saved anything to
the disc after the file was erased and, if so, on what part of the
disc it was stored.
Once all the changes are made, you can save the new directory to the
same disc. A warning - don't use this option unless you are absolutely
sure you know what you're doing! Needless to say, WACCI or myself
cannot be held responsible for any blunders.
Sector Editor
You can alter the contents of any disc using this option. Alterations
can be made in hex or ASCII, using a simple cursor which moves around
the sector contents display. Note that it will work with System,
Vendor, Data or IBM format discs (as will all the options here), and
the format of a disc and its sector numbers are automatically
detected. Once again, don't write an altered sector to the disc unless
you know what you're doing.
File Map
This displays the 40 tracks of any disc in a graphical format, and
shows you where each file is stored on the disc. If you take a note of
the track and sector numbers, you can use the Sector Editor to alter a
program directly without having to guess where it is on the disc.
*P
Disc Map
Many commercial discs have non-standard formats, and this option,
which uses code ยค John Keneally (WACCI issue 15) finds these discs.
Put the disc into the drive, enter a track number, and the track
number, sector number and sector length for each track will be
displayed. If any of the following criteria is not satisfied, the disc
is of non-standard format. You cannot edit such a disc using Disc
Menagerie (if you try, the disc drive will grind away and you'll get a
"Read fail" error); very specialised machine code is needed, and you
require a program such as WOPS (WACCI issue 18 for review) to do the
trick.
1. There must be 9 sectors per track, or 8 for IBM format (see next
option), and each of the 40 tracks (0-39) must be formatted.
2. The sector numbers must all lie within the range 1-8 (IBM format),
65-73 (System or Vendor format), or 193-201 (Data format). It doesn't
matter which order the numbers are in.
3. All the track numbers, including the one at the top of the screen,
must be the same.
4. Each sector must have length 512 bytes.
Disc Turbo
Three simple POKEs which speed the disc drive up by about 20%. Don't
try and alter these POKEs; this is the only occasion in which you can
physically damage the computer by doing so!
Fast Format
The DISCKIT2 or DISCKIT3 formatting routines take about 40 seconds to
format a disc as they check each track after it is formatted to make
sure it has been done correctly. My formatting routine doesn't do
this, as it is extremely unlikely you will come across a dud Amsoft
disc, and thus saves about 25 seconds per side.
The two common formats, Vendor and Data, are supported. System format
is the same as Vendor, except that you have to copy certain tracks
from the master CP/M disc using SYSGEN and BOOTGEN. If you need System
format, it's more convenient to use DISCKIT as you don't have to keep
swapping discs.
File Copy
100% machine code, this routine prompts you for a filename, loads the
file from the input device, waits for you to press C (any other key
aborts), and saves the file to the output device. You can choose the
I/O device (disc or tape) from a pull-down menu. This option has been
greatly improved since the last Disc Menagerie; you cannot enter too
long a filename, and the DEL key now works properly. If a file does
not exist, you'll get a "Bad Command" error: press any key other than
C when prompted, otherwise rubbish might be saved to your disc or
tape. Note that Disc Menagerie will almost certainly be corrupted when
you return to BASIC; the only exception to this is if you are copying
some binary files.
*P
This routine can be used as an effective tape-disc transfer utility
for files saved in normal Amstrad format. Technical note: it is stored
low down in memory (addresses 100 to 354). Some software may load at
64 (&40), and, in this case, the code will be overwritten and the
computer will crash. To get this around this, I have assembled the
routine at another address (&BE80) high in memory, which can be used
with these awkward files. To use it, put the Disc Menagerie disc in
the drive and type LOAD"DM3":CALL &BE80. Operation is exactly the same
as for the normal version.
Recover
This option is the same as that in the Directory Editor, but is easier
to use. The same restrictions governing whether it will work or not
apply here.
String Search
All places (track, sector, byte) where a string is stored on disc are
found and displayed using this routine. The string can be in ASCII
format (e.g. 'Alastair Scott') or hex format (e.g. '3E2ACD5ABB' finds
all occurrences of the assembler code 'LD A,"*": CALL &BB5A'). All 40
sectors of the disc are interrogated. As the search is pure machine
code, it is very quick.
Header Information
If you want to know about a file on your disc, this is the option
you'll need. Given the name of a program on disc, its filetype, start
address, length and (for binary files with a non-zero parameter)
execution address are given. ASCII files, which are headerless, don't
yield any information. As Protext document files are stored in a
special format, they can be distinguished from normal binary files,
and the routine does this.
Instructions
You're reading them!
Quit and Reset
If you're sure you want to do this, you're given two options. One is a
complete system reset, which returns the system to its power-up
status. The other resets the computer, switches off any expansion ROMs
(if present) except the disc ROM, and resets HIMEM to 42619. This is
the equivalent of the Arnor ROMs' |ROMON7 command, and is necessary if
you want certain programs (e.g. Cyrus II Chess) to work properly.