The following document was originally written on a BBC Microcomputer using the VIEW word processor. It was originally laid out for printing on A4 paper using a daisy-wheel printer with a fixed-width font. Section heading were originally in boldface and underlined, but here are in a larger boldface font and have been reformatted to be more like modern HTML.


Xebec Winchester Formatter
"XebecForm"

Overview

Xebecform is designed to allow Winchester disk drives of any reasonable size to operate under Acorn's ADFS. The software contains routines to set drive parameters, format and verify a disk, define spare tracks (replacing defective ones), save utilities, and set a "landing zone". These are called as appropriate during a format operation, which also saves a copy of the formatter itself. Most routines are also accessible from a menu. XebecForm is a large program called as a "star command" - eg *XEBECFORM or *RUN XEBECFORM.

Compatiblity

A winchester formatted with XebecForm is compatible with the ADFS with only two exceptions. Firstly, the ADFS command *BYE does not operate on the Xebec controller. *BYE places the heads in a "landing zone" to avoid vibration damage to the sensitive media, and is replaced by the *PARK utility. Secondly, the Adaptec controller stores drive parameters on the drive and automatically configures itself on power-up. The Xebec does not do this, so a *RESET utility is provided. A !BOOT file is included which calls RESET. So far as is known, in all other respects a drive formatted with XebecForm, and attached to a Xebec 1410A controller, is fully Acorn-compatible.

Requirements

The software is supplied on Acorn DFS-format 80-track floppy disk, and is intended to be used with a winchester disk drive with ST506/412 or compatible interface, connected to a Xebec 1410A controller, in turn connected to an Acorn Winchester Host Adaptor (Acorn part no. 0127,000), all being powered from a suitable DC PSU.

Operation

XebecForm is called up like any other star command. It selects the ADFS filing system, and attempts to find a data file on the winchester. If this fails, usually because the winchester is not correctly formatted, it gives a warning.

The main menu shows several options; many will not operate unless the drive is formatted.

Before formatting, certain parameters must be set, using menu option 6 (Change drive parameters). Default parameters for a typical 10MB drive are assigned if the drive cannot be read by XebecForm. If the drive has known defects (often marked on the drive label), these should be added using options 4 or 5. If the drive has already been formatted with XebecForm, the necessary information will have been read in, and will only require (at most) minor alteration.

WARNING:   Formatting overwrites data already on the drive. Re-formatting spare tracks also destroys data, though this is restricted to data contained in defective or "alternate" tracks (an alternate track is one assigned to replace a defective track). Note that a whole track is the smallest unit that can be formatted by a controller, and that a track with a single defect may thus endanger more than one file.

Formatting a new drive

First, ensure the drive is correctly connected and powered on. Then call XebecForm from the floppy disk (type *XEBECFORM). The main menu should appear, probably with a warning "Unable to read drive 0" - this simply indicates that the drive is not formatted correctly yet.

Select option 6. Enter suitable parameters. If you do not know how many heads the drive has, it is generally safe to assume that a 10 or 20 MB drive has 4. Larger drives have 6, 8 or more. If you do not know the number of cylinders, this is equal to (number of tracks) divided by (number of heads). The landing zone can be zero (for no landing zone) or a number higher than the maximum cylinder - but in this case ensure the drive is physically capable of moving the heads to that position. RWCC is for drives requiring "reduced write current compensation". This is less common on modern drives, but is intended to compensate for the fact that information is more densely packed on higher-numbered cylinders, and is usually applied (if at all) beginning at a cylinder numbered between one-third and half of the total. Spare tracks are those which will in future be used to replace any normal tracks with defects. Allow 10-20 spare per 1000 total. Interleave is used to optimise data transfer times. A value of between 4 and 8 is suggested. Step rate is normally zero.

If the drive has any known defects, use option 4 or 5 to enter them.

Finally, select option 3 to format the drive. Formatting must be confirmed by typing "YES" to the prompt. The formatter then asks for a "fill byte". This is a "dummy data" value used to fill all sectors on all tracks during the formatting process, and should normally be &6C on winchester disks. However, sometimes a different value may be used for special purposes (eg some CP/M versions may require &E5).

The formatting process consists of the following stages, which may take many minutes to complete:

the entire drive is formatted, including all spare tracks...
the landing zone (if required) is set up...
the entire drive is verified...
any defects found are added to the list...
if any defects are in the list, spare tracks are assigned...
the drive is verified again to ensure all defects are "spared out"...
a free space map is created...
a root directory is created...
a Library directory is created...
a Format directory is created...
the drive parameters and defect list are stored in $.Format.Drive-Info...
utilities Reset and Park are stored in the Library...
a !Boot file is created...
the autoboot option is set (*OPT 4 2)...
the formatter itself is saved (as $.Format.XebecForm)
If any essential part of the formatting procedure fails or is impossible to carry out, the process is repeated from scratch, up to a maximum of 5 times. If an error is such that a repetition is impossible or obviously pointless, the program will simply return to the menu.

Once the above process is complete, the drive is ready to use normally.

Using the drive

The only special points to note are those due to the inability of a Xebec controller to automatically configure on power-up and park on *BYE.

Since the Xebec controller does not know how many heads the drive has, all essential information must be kept on track zero, where it can always be found, no matter what configuration is set. Essential files include !Boot, Reset, and Drive-Info, and of course their parent directories. If !Boot is altered, it should be kept smaller than 512 bytes, otherwise the ADFS may move it elsewhere (the existing !Boot file is artificially extended to occupy two sectors). If this is difficult, consider using a small !Boot file to call up a larger file.

!Boot includes the *RESET command, and it is recommended that either !Boot or *RESET itself is executed every time the drive is powered on. If this is not done, the ADFS may load, or worse, save, information to/from the wrong track.

Whenever the drive is going to be out of use, issue a *PARK command (rather than the ADFS command *BYE).

Using XebecForm

Note that it is not possible to use a drive with defects on track zero with a Xebec controller.

XebecForm can be used to verify (without formatting) a drive which has already been suitably formatted - select option 1 from the menu.

XebecForm can be used to update an existing defect list, and to reformat bad tracks. If adding defects to the list, remember to save the newly updated list as this is not done automatically.

Reformatting bad tracks does not repair defects (this is not possible) but does mark bad tracks and assign spares. Note that any data on defective or spare tracks will be lost. If this presents a problem, make as complete a copy of any endangered file as possible. Given sufficient time, *EX could be used to find where all files are, and XebecForm can list defective tracks, allowing you to search for matches.

XebecForm makes use of a Second Processor (6502 or Master Turbo) if fitted. XebecForm returns to the original language when option 9 is selected, but destroys the contents of a large section of user memory.

In the unlikely event that XebecForm finds a situation it cannot cope with, it may report an error code (six digits). Please report any such error and its circumstances to Microbank Ltd. Such information is vital to our policy of update and continued support.


SOFTWARE LICENCE AGREEMENT

This software and its accompanying documentation is Copyright (C) 1986 Peter Turnbull and Microbank Limited, and sold subject to the following conditions:

  1. The software is for use on only one computer system,
  2. The software will not be copied, except that the purchaser may make one copy for his/her own use only, in case of loss of or damage to the original,
  3. The software may not be modified by or on behalf of the purchaser, except with the written permission of the author,
  4. The software will not be resold unless the subsequent purchaser agrees to these conditions, and
  5. If the software is resold, the seller shall not retain any copy of the software.

Neither the author nor the seller make any claim as to the suitability of this software for any purpose except as explicitly stated in this document, and are not responsible for any damage, injury, loss of data, loss of profit, or consequential loss arising out of the use of this software.




Signed __________________________ Date ________________


Signed __________________________ Date ________________