2090a setup and test tools
--------------------------

Disclaimer:

incorrect  use  of these tools can _erase_ all data on the drives attached
to  your  2090a.   You  should make sure you know what you're doing before
using  any  of  these.   I  take  no  responsibility for damage arising to
use/mis-use of these programs or info.

Prep
----

the  basic 2090a format definition tool.  Use this to initialise the drive
and  define  the  1st  partition on it.  For st506 drives this is _ALL_ it
does,  actual low level format is performed 'on the fly' as you dos format
the  partition.   For scsi drives it also sends the format unit command to
the drive, performing the low-level as well.

Before  using  you need to define and mount a 'reserved' partition for the
unit  you  intend  to  install.   The  reserved  partition should have the
correct geometry for the drive you're using, the unit set to correct value
(1=1st  st506,  2=2nd  st506,  3=scsi  0, 4=scsi 1 etc), and should have a
lowcyl  value  of 0 and a highcyl value of 1 (examples are provided in the
mountlist file).

Then  simply  start prep with a single parameter of the reserved partition
name you want it to work on (e.g.  prep res1:) and follow the prompts.

You'll  almost  certainly want to use the 'custom' drive option (0) as the
list  of  drives  prep  'knows  about' is amazingly small.  Using 'custom'
means  you can enter your drives geometry manually - remember to make sure
you put in the correct geometry as supplied by your drive manufacturer.

If  you're  using  the  2090a with wb2.x you'll probably chose to make the
whole  drive  the  autobooting  partition (this is prep's default) - under
2.04  this _can_ be FFS (just use format drive DHx:  name mydrive FFS when
formating).   If  you're  running  1.3  or wish to partition the drive for
other reasons you'll need to tell prep the highest cylinder to use for the
autobooting/automounting  partition,  then write mountlist entries for the
rest  of  the  drive and mount those partitions as needed.  _ONLY_ the 1st
partition  on  any  drive  automounts  with  the  2090a.   Examples  for a
partitioned drive are provided in the mountlist file.

Once  completed,  you should reboot then format the drive using the format
command.

The  reserved  partition  is  used  to  hold the drive geometry definition
block,  the bad block list, and as a source for 'spare' sectors to map out
bad  blocks.   You  should  not  need  to normally directly edit the resX:
partition, but it is possible - see end of document

HDinfo
------

dumps  info  from  the reserved partition to the file 'prepinfo.bbm'.  The
output from hdinfo is _exactly_ as required to feed back into prep, e.g.

0
7
733
17
733
n
732
50
y
456 6 6090
y

n
y

this means:

drive type 0 ( custom )
7 heads
733 cylinders
17 sectors per track
don't autopark drive
highest cylined used by autobooting partition is 732 (all of drive)
50 amigados buffers
yes there is a factor defect list to enter
mark cyl 456 head 6 offset 6090 as bad
yes this is correct
<CR> get out of editing defect list
no more defects to enter
yes, prep drive

usage  is hdinfo <unitnumer>, i.e.  1 for 1st st506 drive, 2 for 2nd st506
drive, 3 for scsi 0, 4 for scsi 1 etc


Testgeneral
-----------

interactive  disk  test/format  system.   It's  options  are  pretty  self
explanatory,  just  remember  that  lots  of  options  _erase_ data on the
affected disk, so you should backup anything you don't want to lose.

Only quirk is that when asked for 'unit number' it actually means at st506
hardware  level,  hence  the  first  st506 drive is 0 and the second st506
drive  is 1 (this is counter to how mountlists/prep address the units - be
warned).

TestBurnin
---------

performs  a  'burnin'  test  on  the  1st  st506  drive, handy for finding
intermittent  media  faults.  Be warned that this program DOES NOT ask for
confirmation before starting, and erases ALL data on the drive.  I know at
least  one  person who ran this 'to see how it worked' and was very pissed
off  that  it erased his whole boot volume :-).  As a result, I've renamed
the file testburning_this_destroys_dh0 - if you really can manage to type
that name by accident/ignorance - well don't blame me.

Reserved partition info
-----------------------

the main function of the 'resX:' partition is to provide a source of spare
blocks to map out defects with.  However the first two blocks of the drive
have a special purpose :

block 0 : drive definition block

this provides info on the drive geometry and on the autobooting partition,
I don't know what all the fields on this block do, just the most important
ones.  Anyone with more complete info get in touch

format 

BABE0000        - valid drive 'cookie'
00000001        - unknown
000002DD        - number of cylinder (773 in this case)
000002DD        - cylinder for write pre-comp (733 in this case - i.e. none)
000002DD        - cylinder to park at (again, 733)
0011            - number of sectors per track (16)
0007            - number of heads (7)
00000000        - unknown
00000080        - unknown
00000000        - unknown
00000007        - number of heads
00000001        - unknown
00000011        - number of sectors per track
00000002        - number of reserved sectors on 1st partition
00000011        - sectors per track
00000000        - unknown
00000002        - low cylinder for 1st partition (always 2 if you use prep)
0000000a        - high cylinder for 1st partition (10)
00000002        - number of amigados buffers for 1st partition

rest of sectors un-used

block 1 : bad block map

provides  data on which bad blocks are to be replaced by good sectors from
withing  the  reserved  partition.   This  is needed on st506 drives, scsi
drives   normally  internally  map  errors,  appearing  to  the  2090a  as
error-free

Format is :

word 1: BAD1 (bad block magic cookie)
word 2: total number of bad blocks
followed by good sector/bad sector longword pairs
longword of next available block in reserved partition
0x7FFFFFFF, 0x7FFFFFFF (end of list markers?)

e.g.

BAD1      - cookie
0001      - 1 defect on drive
00000002  - replace defective sector with sector 2 of drive
0000D437  - bad block is block $d437 (54327)
00000003
7FFFFFFF
7FFFFFFF
...

Last Tip
--------

the  st506  side  of  the 2090a is rated as a 1:1 controller - this should
yield  performance  of  about  400K/s using FFS, yet in practive the 2090a
only ever gets about 260K/s.  This is due to the rom based format code not
skewing  sector  ids  when  switching  heads  (needed to give time for the
controller  to  select  the  head  and  resume  reading),leading  to  lost
revolutions and degraded throughput.  If you use testgeneral to format the
drive at 1:1, it _will_ skew the heads correctly, giving better read/write
speeds  off  the  drive  -  however  if  you  do  this you _must_ also use
testgeneral  to  search  for defects, note them down and manually edit the
bad  blocks into the reserved partition (prep asks for defects in terms of
cyl/head/bfi, and computes sector from this based on a non-skewed format).
You'll also need to make sure you format the partitions on the drive using
the  'quick'  option,  otherwise the rom resident format command will leap
back in and reformat the tracks non-skewed

======================================================================

Hope this of help to other 2090a users out there - now that it's been
out of production for a while I'm seeing a lot of people wind up with 
2090's in machine with no manuals, no copy of the setup disk and no
idea how to reformat the drives. Hopefully this will help them.

If you have any further question you can contact me at the following
address:

    john_davis@equinox.gen.nz

