[comp.sys.dec.micro] Double-sided disks for the Rainbow

rgt%beta@LANL.GOV (Richard Thomsen) (08/22/88)

Rick Link wrote that he did not appreciate the fact that he had to copy
files over to the CP/M side of his Rainbow to use Media Master to write
disks that can be used on the PC.  Others answered about problems with the
Rainbow writing PC disks.  Rick Link said the following:

>!!! The reason why this state of affairs is such is that DEC would
>not give Intersecting Concepts (the publishers of MediaMaster) the
>driver specs for using the 8088 to format the drives (or something
>to that effect). Intersecting Concepts had to use the Z80 to do
>the formatting, and hence CP/M.

Far be it for me to defend DEC, but this is not exactly true.  On the
Rainbow, there are two processors, the Z-80 and the 8088.  The Z-80 has
complete control of the floppy disks, and the 8088 has control of all other
I/O.  So for the 8088 to format a disk, it must pass the format commands
to the Z-80 to do the formatting, and the Z-80 has a special program that
must reside in its 2K of private memory that interprets these commands.
This private code can only do a limited amount of formatting, designed only
to format floppies for the Rainbow MS-DOS.

If anyone wants to use MS-DOS on the Rainbow to format disks that the
Rainbow does not already do, then the Z-80 resident code must be changed
to do this.  I have changed this Z-80 code, and I assure you that it is
not a simple task.

However, since the Z-80 has complete control of the floppy disks, it is
relatively simple to write CP/M code to do any formatting of floppy disks,
as well as writing them in any special way desired.  I have also done this,
and it is fairly simple.

So it is really a design limit of the Rainbow hardware, not that DEC does
not give out drive information, that probably caused Media Master to run
only under CP/M.

As far as writing "standard" IBM PC disks on the Rainbow, that is another
design limit.  The Rainbow disks drives write 96 tracks per inch, while the
IBM PC disk drives write 48 tracks per inch.  Thus, the Rainbow disk drive
heads are half as wide as the IBM PC disk drive heads.  When a disks is
written on the Rainbow, only one-half of the IBM PC track is written (the
Rainbow writes every other track to write IBM PC disks).  Thus, if a disk
is changed using the Rainbow, only one-half of the track is rewritten, the
other half contains old data.  When the IBM PC disk drive reads it, it gets
conflicting information from each half of the track, and thus cannot read
the disk.

The solution to this problem is to completely bulk-erase the disk, so that
there is absolutely no data on it.  Then format it at 48 tracks per inch
using a public-domain CP/M program called FORIBM.  This formats a single-
sided IBM-compatible disk.  Now it can be written by the Rainbow using its
standard MS-DOS commands (assuming MEDIACHK is on), and read by the IBM PC.
If the IBM PC changes the data, the Rainbow can still read it, but the
Rainbow cannot change it again.  If the Rainbow were to change any of the
tracks that the IBM PC changed, the same problem of only changing one-half
of the track would be present.  It must be bulk-erased and reformatted by
the Rainbow CP/M program before the Rainbow can write it and the IBM PC
can read it again.

As far as changing the Rainbow BIOS to use double-sided disks, yes this
can be done.  I have done it and am now starting to work on distributing
the BIOS for anyone who might be interested.

						Richard Thomsen
						rgt@lanl.gov

moore@utkcs2.cs.utk.edu (Keith Moore) (08/23/88)

One ``solution'' to not being able to read PC double sided disks on a Rainbow
might be to use a special device driver on a PC/AT that can read/write
Rainbow disks.  This is possible since the ``high capacity'' AT drive 
is a 96 track/inch drive. (like the Rainbow uses but also double sided).

I have seen such a driver floating around on the net somewhere, but
I don't remember where.  Anyone care to refresh my memory?

This is probably an optimal solution to the floppy-disk based file transfer
problem if you just want to move files back and forth between the two
environments.  It doesn't help a bit, though, if you have a bunch of
double-sided IBM PC floppies with no machine to read them on.  I have the
opposite problem -- lots of Rainbow floppies with no Rainbow handy.

-- 
Keith Moore
UT Computer Science Dept.	Internet/CSnet: moore@utkcs2.cs.utk.edu
107 Ayres Hall, UT Campus	BITNET: moore@utkcs1
Knoxville Tennessee 37996-1301	Telephone: +1 615 974 0822