Subject: Re: 8" RX02 floppies on IBM PC

From: [email-masked] (PDP11 Hacker .....)
Date: Tue, 4 Jan 1994 19:37:00 GMT

In article <[email-masked]>, [email-masked] (Charles Lasner) writes...
>In article <[email-masked]>,
>krause <[email-masked]> wrote:
>>>Maybe this is a FAQ, but I've not managed to find it anywhere. Let me know
>>>if I've missed it, or if there's a better group I should be posting to.
>>>
>>>1/ My questions:
>>>
>>>(i)	Can I interface an 8" floppy drive to a standard PC controller on
>>>	a PC clone computer? Do I simply need a conversion cable?
>>>
>>I have a 8" (ITT 2020) drive on my -486 PC. It's connected, via an adapter
>>cable to a secondary FDC.
>>I don't know, how to access a secondary FDC via the 'legal' PC-BIOS, but with
>>the shareware programm 'ANADISK' I can make dumps of many floppies from several
>>machines: IBM 5120 (all in EBCDIC!), CP/M-disks and VAX 780 disks.
>>I think, if the RX02 floppies are not hardsectored, it should be possible to 
>>read (dump) them too.
> 
>RX01 disks are FM, but industry standard.  I have heard conflicting

True. RX01 disks are very similar to IBM 3740 or single-density CP/M disks in
terms of the sector layout.

>reports on the ability for a standard PC floppy controller card being able
>to control FM disks by using special software (BIOS definitely can't help
>you!) in conjunction with:
> 
>1)	Nothing.  Special software can make it work.
> 
>2)	Small hardware changes.
> 
>3)	Only works on some clone cards, not others.  Won't work on IBM card.
> 
>4)	Same as 3), but requires small hardware changes.
> 
>5)	Same as 3), but requires real IBM card or slavish compatible.
> 
>The card is based on the 765 chip, which can work with FM disks in principle.

Right. The original IBM XT controller could not do FM. Not without designing a
whole new data separator circuit and kludging it in. The original data
separator was built from about 3 chips.
Some clone cards used an 8-pin data separator IC (I forget the number), which
could do FM formats. But, it was permanently wired in MFM mode. If you lift the
control pin of the data separator, and link it though an inverter to the
density select output of the 765/8272, it should work. Details are in the
ANADISK (or is it the 22disk - a shareware CP/M disk reading program)
documentation. I've not tried this myself.
Some cards use an LSI disk controller that includes the data separator. The UMC
8398 (I think that's the number) claims to be able to FM formats, but I can't
get it to work reliably. The NatSemi one again can do FM, but you optimise the
loop filter components in the data separator PLL differently for FM or MFM.
I've not hacked a commercial card yet.
Of course, when the disk controller is in some other LSI chip, then FM mopde
may work, or it may not. Few data books even mention it these days

> 
>>
>>>(ii)	Is there any software around (PD/commercial) which would allow me
>>>	to read the RX02 format (written on an RSX system, so I guess this
>>>	implies Files-11)? Do some PC BIOSs include 8" floppy support, and
>>>	would this be any help to me (since it isn't an MSDOS floppy!)
>>>
>>Look for ANADISK, or if you attach your Drive to the normal controller, there
>>are some BIOS-calls to set the normal FDC to other sector numbers and sizes,
>>some PC-controller clones allow even to set them to single density!
>>I once wrote a turbo pascal programm to read and write CP/M disks, without 
>>one line machine code. 
> 
>But the problem is RX02, not RX01.  DEC uses an incompatible cross between
>single and double-density conventions in the RX02.  I doubt if any other
>floppy controller than DEC's "hand-made" one can deal with the format. 
>The headers are FM with MFM ID data and FM data preamble with MFM data in
>the data areas.  The index is pure FM.  Most machines are based on
>packaged floppy chips.  Name any that can switch modes in the middle of a
>record.

I must design my RX211-for-PC's card sometime. I've been thinking about a few
shift registers, and a bit of TTL to link a real RX02 drive to a PC. That
should be the simplest solution.

>cjl
-tony

---

From: [email-masked] (Charles Lasner)
Date: 4 Jan 1994 22:54:13 GMT

In article <[email-masked]>,

>terms of the sector layout.

No, not merely very similar, but actually identical.  When the RX01 was
new, DEC was selling IBM 3740 media in the IBM box.  In fact, the whole
prohibition against using track 0 comes about because an actual 3740 won't
format a disk (remember, DEC's RX disks don't format!) unless it can
successfully read track 0 as 3740 format with certain "reserved" areas set
accordingly.  (I have second-hand info that it's still possible to format
blank or otherwise unacceptable media, but it involves changing some
inside connections, and customers never got the IBM info to do it, etc.) 
Thus, DEC decided to reserve track 0 so it would pristinely be acceptable
to an actual 3740, perhaps to get reformatted, etc.  (Note: this is
ultimately foolish because you can always write a utility to write on
track 0 the "sacred" contents, including any deleted-data sectors if
required; the RX01 hardware can do it all, etc.)

>should be the simplest solution.

Yes, the packaged RX01/02 is a complete subsystem with a simple serial
interface.  There's no reason why you can't merely build a PC version of
an RX interface and use the actual RX drive.

CESI built an Omnibus RX interface for industry-standard drives, such as
the Shugart SA-802.  It uses a floppy chip and a 6809 to run the
operations, and talk to the -8 ala the RX interface, so it's essentially
program compatible with the RX01.  The FLP8 even uses the "set media
density" command ala RX02 to *actually* format the media.  (Note: some
early RX01-only software that can also run on an RX02 if the
compatibility-mode switch is set in the drive, requires the use of the
same function to merely set the done flag and not get an error.  In the
actual normal-mode RX02 and in the FLP8, this software won't function
because the function is safeguarded: you have to issue an XDR with the AC
= 0111, the ASCII for "I" for initialize.  On the RX02 this changes the
media density, *not format* becuase the media has to be already formatted,
but on the FLP8 it will actually format.  Thus, only newer handlers can be
used on the FLP8 when it's setup to be an RX01 replacement.  That's not
the only viable configuration, since it can also be setup for RX50
equivalence, etc.)

Of course building a PC version of such an interface can be done, but it's
more work than just making an RX-compatible serial interface!

cjl

---

From: [email-masked] (PDP11 Hacker .....)
Date: Tue, 4 Jan 1994 23:31:00 GMT

In article <[email-masked]>, [email-masked] (Charles Lasner) writes...
>No, not merely very similar, but actually identical.  When the RX01 was

I thought so, but wasn't absolutely sure
>an RX interface and use the actual RX drive.

The interface spec is in the user or maintenance manuals I think. It's pretty
obvious. Also in said manuals appears a flowchart of the internal drive
microprogram with the addresses of all the main routines given :-)

>density" command ala RX02 to *actually* format the media.  (Note: some

Such things existed for the Q-bus PDP11's (and I assume the Unibus, although
I've never seen one). The tended to use AMD 2901/2911 series chips. On those,
'set density' was a format instruction as well.

>more work than just making an RX-compatible serial interface!

True. But of course the latter assumes you have a spare RX02. 

-tony

---

From: [email-masked] (Charles Lasner)
Date: 5 Jan 1994 05:59:41 GMT

In article <[email-masked]>,
>microprogram with the addresses of all the main routines given :-)

In early RX01 diagnostics and prints, they include the complete listing of
the micro-code for DEC's roll-your-own processor.  It's actually a PAL10
program, although no actual PDP-8 code!

>'set density' was a format instruction as well.

The ones I am familiar with are from DSD (aka QuoData).  To format a track
on the RX01-compatible (210) you request a write to sector 152 octal. 
This sets up a request for 26 data values to be the sectors in the order
you want them starting from index, etc.  On the Q-bus, the
RX02-compatibles uses a different scheme: ask for sector 153 or 154.  153
gets you single density formatted entire disk, and 154 same only
double-density. (On the 210 it's a format *track* operation to be
interated 77 times.)  Set media density means nothing on the 210 which is
totally RX01 compatible including writ-protect, and on the RX02
compatibles set media density means just that.

>True. But of course the latter assumes you have a spare RX02. 

They're fairly easy to get.

I have the rare combination of the 4-drive pedestal which is actually two
complete RX02's.

With the availability of more modern floppy chips, it's no longer
necessary to resort to 2901 or more complex controllers.  The innards of
the DECmate II, III, III+ are a 1793 or 1796 (only one side is used so it
doesn't matter) with a DEC-designed external data separator.  However, the
6120 doesn't touch it, instead deferring to an 8051 that "emulates" the
RX protocol to allow familiar -8 RX code, etc.  (And as a result, only
standard disks can be read.  The only exception is that the II, III
version can also read, but not write SSDD 40 track disks.  For reasons
unknown, this support was dropped in the III+ version in favor of support
for only two disks, not four as two RX50 pairs, each capable of separately
seeking, and wanting to support device-change, not device-ready.  The III+
doesn't ever package the second drive, but will support it if cabled into
the drive cable in the standard way as 34-pin cables are used, etc.)

cjl