Discussion:
RX01/RX02 interface
(too old to reply)
Bill Gunshannon
2022-01-22 14:25:23 UTC
Permalink
Here's a new question.

Can anyone tell me what document I need to learn what the
interface between the drives and the boards in the box were?
Definitely not Shugart. Not even sure they were parallel.

Curious to see if there is a way to maybe make a box with
an Arduino or even a Pi that could access the disks drives
directly.

bill
Scott Lurndal
2022-01-22 17:52:16 UTC
Permalink
Thunderbird/78.14.0
Content-Language: en-US
X-Received-Bytes: 1118
Here's a new question.
Can anyone tell me what document I need to learn what the
interface between the drives and the boards in the box were?
Definitely not Shugart. Not even sure they were parallel.
Curious to see if there is a way to maybe make a box with
an Arduino or even a Pi that could access the disks drives
directly.
you can probably wiggle the gpio pins fast enough, even
from software, on a Pi4, but you'd likely
need an external level shifter to meet the voltage/current requirements
of the RX01/RX02 interface.
Dennis Boone
2022-01-22 18:12:04 UTC
Permalink
Post by Bill Gunshannon
Can anyone tell me what document I need to learn what the
interface between the drives and the boards in the box were?
Definitely not Shugart. Not even sure they were parallel.
The prints and maintenance manuals for the RX01/02 are on bitsavers:

http://bitsavers.org/pdf/dec/disc/rx01/
http://bitsavers.org/pdf/dec/disc/rx02/

Seems like those ought to contain most of what you'd need.

Any particular reason you're after the drives directly, instead of just
pretending to be an RX11 and talking to the connector on the outside of
the box?

De
Bill Gunshannon
2022-01-22 19:29:20 UTC
Permalink
Post by Dennis Boone
Post by Bill Gunshannon
Can anyone tell me what document I need to learn what the
interface between the drives and the boards in the box were?
Definitely not Shugart. Not even sure they were parallel.
http://bitsavers.org/pdf/dec/disc/rx01/
http://bitsavers.org/pdf/dec/disc/rx02/
Seems like those ought to contain most of what you'd need.
Any particular reason you're after the drives directly, instead of just
pretending to be an RX11 and talking to the connector on the outside of
the box?
Relatively certain there is something wrong with the boards in
the box. It just died one day while I was using them. Don't
expect replacements are readily available and even if they were,
probably well out of my price range. Just thought it might be
fun to try and make them talk to something else.

bill
Don North
2022-01-22 22:22:36 UTC
Permalink
Post by Bill Gunshannon
  > Can anyone tell me what document I need to learn what the
  > interface between the drives and the boards in the box were?
  > Definitely not Shugart.  Not even sure they were parallel.
http://bitsavers.org/pdf/dec/disc/rx01/
http://bitsavers.org/pdf/dec/disc/rx02/
Seems like those ought to contain most of what you'd need.
Any particular reason you're after the drives directly, instead of just
pretending to be an RX11 and talking to the connector on the outside of
the box?
Relatively certain there is something wrong with the boards in
the box.  It just died one day while I was using them.  Don't
expect replacements are readily available and even if they were,
probably well out of my price range.  Just thought it might be
fun to try and make them talk to something else.
bill
The RX01/RX02 drive to RX11/V11/211/V21/8E/28 interfaces is a serial
interface with clock, data, and a number of dedicated status lines.

I have a drive emulator based on an Arduino with very simple level
shifting hardware: https://github.com/AK6DN/rx02_emulator

To do a controller emulator is a bit more complex, as the drive is
in control of the serial shift clock, so you would need the 16b
shift register as the above controller cards implement because an
Arduino is not fast enough to do that function in software.

But other than the shift register and a bunch of open collector
drivers and some receivers an Arduino should be able to do the rest
of the interface pretty easily. An 11/03 does the same function.

Don
Dennis Boone
2022-01-22 22:31:33 UTC
Permalink
Post by Don North
To do a controller emulator is a bit more complex, as the drive is
in control of the serial shift clock, so you would need the 16b
shift register as the above controller cards implement because an
Arduino is not fast enough to do that function in software.
Even if you use e.g. one of the Teensy 3.x boards that run at 72 MHz?

De
Paul Rubin
2022-01-22 22:54:31 UTC
Permalink
Post by Dennis Boone
Even if you use e.g. one of the Teensy 3.x boards that run at 72 MHz?
I usually think of Arduino = AVR8, but fwiw there is also a Teeny 4.x
which is 600 mhz. I don't know the interrupt latency or what the
RX controller's timing requirements are. An FPGA seems like another
possibility.
Don North
2022-01-22 23:44:59 UTC
Permalink
Post by Paul Rubin
Post by Dennis Boone
Even if you use e.g. one of the Teensy 3.x boards that run at 72 MHz?
I usually think of Arduino = AVR8, but fwiw there is also a Teeny 4.x
which is 600 mhz. I don't know the interrupt latency or what the
RX controller's timing requirements are. An FPGA seems like another
possibility.
FPGA certainly is overkill.

A small 8b Arduino plus a couple of 74x199 8b SR parts would do.

As to 72MHz or 600MHz Teenies, depends on how fast it can respond to
a rising edge on one input to sample another input or clock an output.
CPU speed is not the issue, it is the response of the I/O pins.

May or may not work, don't know, never used those parts.

Don
Paul Rubin
2022-01-22 23:56:40 UTC
Permalink
Post by Don North
As to 72MHz or 600MHz Teenies, depends on how fast it can respond to
a rising edge on one input to sample another input or clock an output.
CPU speed is not the issue, it is the response of the I/O pins.
Raspberry Pi Pico might be another possibility then, using its PIO pins
that give you a little bit of programmability like that. A more
powerful but overkill board could be the Beaglebone Black or Pocket
Beagle, which have real time coprocessors (PRU's) that run at 200 mhz
and have deterministic timing and I think very fast i/o.

Here is a $6 FPGA board that would do it, currently out of stock. FPGA
may still be impractical because of having to deal with a completely
different tool chain and dev skills:

https://www.seeedstudio.com/Sipeed-Tang-Nano-FPGA-board-powered-by-GW1N-1-FPGA-p-4304.html
Bill Gunshannon
2022-01-23 01:10:35 UTC
Permalink
Post by Don North
Post by Bill Gunshannon
  > Can anyone tell me what document I need to learn what the
  > interface between the drives and the boards in the box were?
  > Definitely not Shugart.  Not even sure they were parallel.
http://bitsavers.org/pdf/dec/disc/rx01/
http://bitsavers.org/pdf/dec/disc/rx02/
Seems like those ought to contain most of what you'd need.
Any particular reason you're after the drives directly, instead of just
pretending to be an RX11 and talking to the connector on the outside of
the box?
Relatively certain there is something wrong with the boards in
the box.  It just died one day while I was using them.  Don't
expect replacements are readily available and even if they were,
probably well out of my price range.  Just thought it might be
fun to try and make them talk to something else.
bill
The RX01/RX02 drive to RX11/V11/211/V21/8E/28 interfaces is a serial
interface with clock, data, and a number of dedicated status lines.
I have a drive emulator based on an Arduino with very simple level
shifting hardware:  https://github.com/AK6DN/rx02_emulator
To do a controller emulator is a bit more complex, as the drive is
in control of the serial shift clock, so you would need the 16b
shift register as the above controller cards implement because an
Arduino is not fast enough to do that function in software.
But other than the shift register and a bunch of open collector
drivers and some receivers an Arduino should be able to do the rest
of the interface pretty easily. An 11/03 does the same function.
Don
I have a couple of your boards, Don, and they work great.

I was looking for the interface between the physical drives and
the boards in the RX Unit itself.

bill
Don North
2022-01-23 01:34:38 UTC
Permalink
Post by Bill Gunshannon
Post by Don North
Post by Bill Gunshannon
  > Can anyone tell me what document I need to learn what the
  > interface between the drives and the boards in the box were?
  > Definitely not Shugart.  Not even sure they were parallel.
http://bitsavers.org/pdf/dec/disc/rx01/
http://bitsavers.org/pdf/dec/disc/rx02/
Seems like those ought to contain most of what you'd need.
Any particular reason you're after the drives directly, instead of just
pretending to be an RX11 and talking to the connector on the outside of
the box?
Relatively certain there is something wrong with the boards in
the box.  It just died one day while I was using them.  Don't
expect replacements are readily available and even if they were,
probably well out of my price range.  Just thought it might be
fun to try and make them talk to something else.
bill
The RX01/RX02 drive to RX11/V11/211/V21/8E/28 interfaces is a serial
interface with clock, data, and a number of dedicated status lines.
I have a drive emulator based on an Arduino with very simple level
shifting hardware:  https://github.com/AK6DN/rx02_emulator
To do a controller emulator is a bit more complex, as the drive is
in control of the serial shift clock, so you would need the 16b
shift register as the above controller cards implement because an
Arduino is not fast enough to do that function in software.
But other than the shift register and a bunch of open collector
drivers and some receivers an Arduino should be able to do the rest
of the interface pretty easily. An 11/03 does the same function.
Don
I have a couple of your boards, Don, and they work great.
I was looking for the interface between the physical drives and
the boards in the RX Unit itself.
bill
Well replacing the internal digital controller (RX02 M7744) and/or
the internal drive analog logic (RX02 M7745) is a whole different
kettle of fish.

The interface between the two boards is purely digital and is IIRC a
28pin cable. Replacing the functionality of the digital controller board
(basically a 2901-based custom microprogrammed controller) with an
Arduino or other microcontroller is probably doable, albeit a lot of work.

The other board tho is full of the analog head interface and that would all
need to be replicated. Not for the faint of heart.

Don
Dennis Boone
2022-01-22 22:32:34 UTC
Permalink
Post by Bill Gunshannon
Relatively certain there is something wrong with the boards in
the box. It just died one day while I was using them. Don't
expect replacements are readily available and even if they were,
probably well out of my price range. Just thought it might be
fun to try and make them talk to something else.
It being busted is a pretty solid reason. :)

De
Johnny Billquist
2022-01-24 04:57:10 UTC
Permalink
Post by Bill Gunshannon
Here's a new question.
Can anyone tell me what document I need to learn what the
interface between the drives and the boards in the box were?
Definitely not Shugart.  Not even sure they were parallel.
Curious to see if there is a way to maybe make a box with
an Arduino or even a Pi that could access the disks drives
directly.
Ugh. Are you really sure you want to do this?

Not sure if it's Shugart, but whatever it is, it's some kind of standard
(I think Shugart is at a higher level, already assuming there is some
kind of control board that deals with this low level stuff). DEC didn't
make the drives themselves, and there are a few different ones that were
used.

The interface is *really* low level between the drive and the controller
board. In fact, it's analog. You need to directly control write
currents, and you need to monitor and drive various signals.

It's fairly described in
http://bitsavers.org/pdf/dec/disc/rx02/EK-0RX02-TM-001_RX02_Tech_Oct78.pdf,
if you look at the interface between the uControl and the drive. But
beyond that, you should go to the drawings to find out which pin is which.

Johnny
Bill Gunshannon
2022-01-24 17:21:29 UTC
Permalink
Post by Johnny Billquist
Post by Bill Gunshannon
Here's a new question.
Can anyone tell me what document I need to learn what the
interface between the drives and the boards in the box were?
Definitely not Shugart.  Not even sure they were parallel.
Curious to see if there is a way to maybe make a box with
an Arduino or even a Pi that could access the disks drives
directly.
Ugh. Are you really sure you want to do this?
Not sure if it's Shugart, but whatever it is, it's some kind of standard
(I think Shugart is at a higher level, already assuming there is some
kind of control board that deals with this low level stuff). DEC didn't
make the drives themselves, and there are a few different ones that were
used.
The interface is *really* low level between the drive and the controller
board. In fact, it's analog. You need to directly control write
currents, and you need to monitor and drive various signals.
It's fairly described in
http://bitsavers.org/pdf/dec/disc/rx02/EK-0RX02-TM-001_RX02_Tech_Oct78.pdf,
if you look at the interface between the uControl and the drive. But
beyond that, you should go to the drawings to find out which pin is which.
Thanks Johnny. I was just looking for something to do with my
broken RX Drives. Who knows, maybe I can find replacement boards
the I can afford sometime and fix them. Hate the thought of having
to get rid of them.

bill
jjh...@gmail.com
2022-01-28 16:49:40 UTC
Permalink
Post by Johnny Billquist
Post by Bill Gunshannon
Here's a new question.
Can anyone tell me what document I need to learn what the
interface between the drives and the boards in the box were?
Definitely not Shugart. Not even sure they were parallel.
Curious to see if there is a way to maybe make a box with
an Arduino or even a Pi that could access the disks drives
directly.
Ugh. Are you really sure you want to do this?
Not sure if it's Shugart, but whatever it is, it's some kind of standard
(I think Shugart is at a higher level, already assuming there is some
kind of control board that deals with this low level stuff). DEC didn't
make the drives themselves, and there are a few different ones that were
used.
The interface is *really* low level between the drive and the controller
board. In fact, it's analog. You need to directly control write
currents, and you need to monitor and drive various signals.
It's fairly described in
http://bitsavers.org/pdf/dec/disc/rx02/EK-0RX02-TM-001_RX02_Tech_Oct78.pdf,
if you look at the interface between the uControl and the drive. But
beyond that, you should go to the drawings to find out which pin is which.
Thanks Johnny. I was just looking for something to do with my
broken RX Drives. Who knows, maybe I can find replacement boards
the I can afford sometime and fix them. Hate the thought of having
to get rid of them.
bill
Hi Bill:
If you are going to get rid of them, I'd be interested in being the recipient. Been looking for one to put on my PDP8 or PDP11/23.
If electronics are the issue, I'd be able to troubleshoot to the defective component level or go so far as to develop a functional replacement. Been know to 'McGiver' electro mechanical pieces as well.
Please contact me off line if you decide to get rid of it.
Thanks
John

Dennis Boone
2022-01-24 16:27:51 UTC
Permalink
Post by Bill Gunshannon
Curious to see if there is a way to maybe make a box with
an Arduino or even a Pi that could access the disks drives
directly.
So, a couple of thoughts on keeping the drives and replacing the
electronics, and still being able to connect the result to real
hardware:

1. The basic interface to a floppy drive has almost always been pretty
unfiltered -- drive select, motor on, step in, step out, index mark
detect, track zero detect, maybe write protect, read data, write data.
The data is analog in the sense that the signal consists of level
transitions from high to low or v/v, and the information is encoded in
the timing. The details (e.g. logic levels) may vary, but conceptually
it'd be difficult to have it look very different.

2. A fairly wide variety of devices have been built that interact with
this sort of interface. Examples include the DiscFerret, Greaseweazle,
Kryoflux, and probably a hundred others. For MFM hard drives, there's
Dave Gesswein's MFM Emulator. Given modern technology, it's not very
hard to do this. The DiscFerret uses a PIC, so it can't be _too_ hard,
right? :) The trickier bit seems to be writing the software to convert
flux timings into bits, as that's the area in which the offerings are
limited.

3. To my mind, one of the more interesting implementations is the MFM
Emulator, which uses the Beaglebone Black's Programmable Realtime Units
to do the timing-sensitive stuff.

De
Loading...