
          *** ATA / UNIBUS / Q-bus adapter and related software ***

*******************************************************************************
* Copyright (c) 1999 by Dmitry Pryanishnikov, Dnipropetrovsk, Ukraine.        *
*                                                                             *
* Permission is granted to any individual or institution to use, copy,        *
* or redistribute this software so long as all of the original files          *
* are included, that it is not sold for profit, and that this copyright       *
* notice is retained.                                                         *
*                                                                             *
* This project has been provided 'as is'. Any expressed or implied warranties *
* are disclaimed. In no event shall I be liable for any direct, indirect or   *
* other damages arising out of the use of this project, etc. However I am     *
* interested in feedback from the users of this technology, and any           *
* suggestions are welcome.                                                    *
*******************************************************************************

 Contents of this directory:

waq.zip	  - ATA/Q-bus adapter hardware description
wau.zip   - ATA/UNIBUS adapter hardware description
wart.zip  - Software for ATA HDD OS support (RT-11)
warsx.zip - Software for ATA HDD OS support (RSX-11M and RSX-11M-PLUS)
wavms.zip - Software for ATA HDD OS support (VAX/VMS)

			* Project FAQ *

Q: What does this hardware do?
A: This hardware is an adapter (not a controller) that provides up to 4
logically-independent ATA channels for UNIBUS/Q-bus machine which
allows use up to 8 (theoretically) ATA (IDE) devices like HDD, CD ROM
and others. This limit may be unreachable due to small length of ATA cable
(maximum 18 inches). Adapter just maps ATA registers to UNIBUS/Q-bus
I/O space and generates standard ATA cycles and UNIBUS/Q-bus interrupt
sequences. This version of adapter DOES NOT provide DMA capability. This
only has effect on performance. Drivers doing data transfer at fork IPL,
so execution of code on higher IPLs will not be affected, but execution
on fork and task levels will be delayed. So I won't suggest to use this
adapter if your PDP/VAX is being used in real-time environment.

Q: On what machines has this adapter been tested?
A: We have tested Q-bus variant on LSI-11 (Q-bus with 16-bit address), DVK-4
(22-bit Q-bus). We CAN NOT test it on uVAXen, we haven't them. UNIBUS 
variant has been tested on SM1420 (Soviet PDP-11 clone) and SM1700
(Soviet VAX-11/730 exact clone).

Q: What particular HDDs have been tested with adapter(s)?
A: We have tested adapters (both UNIBUS and Q-bus) successfully with the
following ATA (IDE) HDDs: Conner CP-3000 (40Mb), IBM WDA-L42 (40Mb), 
Quantum LP52A (50Mb), Western Digital WDAC280 (80Mb), Maxtor 7120AT (120 Mb),
Samsung SHD-3062A (120 Mb), Seagate ST3491A (408Mb), Quantum Fireball (1.08Gb),
Seagate ST38421A (8.4 Gb).
HOWEVER, Quantum Maverick (540Mb) HDD failed to work correctly with UNIBUS
adapter (it "duplicated" words during write) although this particular
HDD worked w/o problems with Q-bus variant of adapter. Generally I suggest
to check any given ATA HDD for compatibility with the adapter, because
many of those HDDs (especially old ones) were produced BEFORE formal ATA
standard was completed, and may deviate from standard requirements.

Q: Does this adapter limit size of ATA HDDs attached? 
A: It DOES NOT. Again, HDD registers are simply mapped to I/O address space,
and PDP or VAX driver can access ANY HDD blocks that can potentially be handled
by an ATA device (it should be 2^28 or 137Gb if I'm correct). However, there are
OS-dependent limits (e.g. RT-11 can only address 2^16 blocks per device,
RSX-11M/PLUS can only address 2^24 blocks. Same should apply to old versions
of VAX/VMS AFAIK).

Q: What operating systems are supported by this package?
A: For now, RT-11 version 5.x, RSX-11M and RSX-11M-PLUS (should work with
any modern version of RSX, e.g., known to work with RSX-11M V4.1, 4.2,
RSX-11M-PLUS V4.5). On VAX, support is limited to VAX/VMS v4.x. Don't ask
for support of modern OpenVMS systems - we haven't them. We can't for example 
participate in Montagar OpenVMS Hobbyist Program due to absence of
Ukraine DECUS chapter. The Iron Curtain still exists, doesn't it?

Q: How about disk geometry autodetection?
A: It is supported within RSX and VMS drivers.

Q: How about disk partitioning support?
A: Driver for RSX supports both up to 4 primary HDD partitions (or slices
if one uses FreeBSD terminology) and up to 16 logical disks in extended
partition (yes I know it is MS compatibility but I see no good in buying
dedicated HDD for each OS you are using...). I'm not planning to add this
feature to RT-11 driver, however it has SET parameters to use dedicated
partition on disk (starting cylinder,head,sector, and partition size).
Driver for VAX/VMS does not support partitions YET (maybe in the future
I'll add it also).

Q: Can I bootstrap my PDP/LSI/VAX from ATA HDD?
A: Adapter contains 2 UV-EPROMs which can carry bootstrap code for PDP-11
or LSI-11. One can transfer control to the starting address of this code 
on I/O page and it will boot OS from "master" HDD on channel 0. Alternatively
one can set R0=channel number and transfer control to the  starting address
plus 2 to boot from "master" HDD on that ATA channel. For LSI-11 one can even
set adapter's base  address at 173000 (octal) and use "boot-on-power on" 
facility. Bootstrap source text and listing are included both in UNIBUS and
Q-bus packages. For VAX, bootstrap procedure is model-specific and OS-specific,
and VMS package contains VMB patch program and command file for booting 
VAX/VMS on VAX-11/730.

dmitry@digital.dp.ua

