Re: idea for a universal disk interface

2022-04-13 Thread r.stricklin via cctech



> On Apr 13, 2022, at 11:51 AM, Tom Gardner via cctech  
> wrote:
> 
> There are a few others like ANSI and CalComp but they are probably not worth 
> investigating.
> 

They are if you’re someone who has a machine using one of these interfaces, or 
e.g. the 40-pin “IMI bus”, or whatever else.



ok
bear.

Re: idea for a universal disk interface

2022-04-13 Thread Fred Cisin via cctech

On Wed, 13 Apr 2022, Paul Koning wrote:
Indeed.  Though even that is hard for the more exotic formats, if 
original controllers are unavailable.  How would you read, for example, 
an IBM 1620 or CDC 6600 disk pack, given that the machine is hard to 
find and those that exists may not have the right controllers?  But both 
are certainly doable with a "generic" track extractor engine.  Turning 
track waveforms into data then becomes a matter of reverse engineering 
the encoding and constructing the software to do that.  This may be 
hard, or not so hard.  For example, if you wanted to do this for a CDC 
844 disk pack (RP04/06 lookalike but with 322 12-bit word sectors) you'd 
get a lot of help from the fact that the source code of the disk 
controller firmware, and the manual describing it, have been preserved.


Then as you said the real goal is to recover files, which means also 
having to reverse engineer the file system.  That too may be documented 
adequately (it is in the 6600 case, for example) or not so much (does 
such documentation, or the OS source code, exists for the 1620 disk 
operating system?).



Some projects are well beyond the reach of even the most insane of us.

I don't think that any of us here today have the ability to build a 
replacement drive from scratch.  Even with full access to the original 
construction documents.


Now, if we had NSA level of facilities, . . .
It certainly seems that it would be THEORETICALLY POSSIBLE, with an 
extreme budget, to build a high resolution device similar to the 3M 
Magnetic Tape viewer, . . . 
https://blog.adafruit.com/2020/03/01/the-magnetic-tape-viewer-see-the-sound-on-a-tape/
. . . and use it to make optical imaging of the magnetic recording, 
followed by non-trivial analysis to decode that into track images, and 
then ultimately deciphering the encoding, track structure, and then 
directory structure, . . .

It is certainly not feasible now, but someday, . . .



I have a RAMAC platter!
It is seriously FAR too damaged to consider restoring it to usable form.
I was also told that it was extensively "degaussed" when it was 
discarded (possibly by Zellerbach Paper).
100 cylinders (with 100 heads in assembled structure), holding 5 million 6 
bit characters, or a bit less than 100K per platter.

So, I am making a 24" patio table out of it (under 3/8" tempered glass).
http://www.ed-thelen.org/RAMAC/RAMAC_Plaque_v40.pdf

When Khrshchev was denied access to go to Disneyland, they took him on a 
tour of the RAMAC factory, "to make up for it".   _I_ would rather be at 
the RAMAC factory in 1959 than at Disneyland, but the Khrushchevs were 
disappointed.



--
Grumpy Ol' Fred ci...@xenosoft.com


Re: idea for a universal disk interface

2022-04-13 Thread Chuck Guzis via cctech
I'll only mention that there were ICs that could interface to both
MFM/ST506 hard drives as well as floppies (System/3 MFM).

An example would be the SMC HDC9234, "Universal Disk Controller".
Pretty cool chip for the time; has full 24 bit DMA address capability.

But different register/controller setup than the stock PC AT.

--Chuck


Re: idea for a universal disk interface

2022-04-13 Thread Fred Cisin via cctech

On Wed, 13 Apr 2022, shad via cctech wrote:

The main board should include a large enough array of bidirectional 
transceivers, possibly with variable voltage, to support as much interfaces as 
possible, namely at least Shugart floppy, ST506 MFM/RLL, ESDI, SMD, IDE, SCSI1, 
DEC DSSI, DEC RX01/02, DG6030, and so on, to give a starting point.



On Apr 13, 2022, at 5:27 PM, Fred Cisin via cctech  
wrote:
Hmmm. rather than re-inventing the wheel, as we usually do, . . .
. . . 
It says "IBM", "5160" on the back panel label, although there were 
plenty of generic second sources.

The updated "5170" version of it could be more easily set up even for USB.


On Wed, 13 Apr 2022, Paul Koning wrote:
:-) But the main goal that was mentioned is device emulation, which 
existing products generally don't do.  I see the idea as a generalized 
form of David Gesswein's MFM emulator, which is primarily a device 
emulator but is also capable of reading and writing devices to capture 
everything that's on them.


The puzzle is how to make it do, say, 2311 emulation suitable to talk to 
an IBM/360, 1311 emulation for the decimal IBM 1620, or 844 emulation 
for a CDC 6600 -- to mention just a few of the more exotic cases.


You are absolutely right.
I apologize for my error.

My mindset is/was still stuck in the disk format conversion realm, of 
trying to get information (hopefully information in the form of files, not 
just data as track images) from alien media.

And, more often than not, unidirectionally.

I wasn't even thinking about the hardware emulation aspect, which is, in 
itself, fascinating.


--
Grumpy Ol' Fred ci...@xenosoft.com


Re: idea for a universal disk interface

2022-04-13 Thread Fred Cisin via cctech
. . .  and, if there is agreement to standardize the connection system for 
the "personality modules", then some of the other storage systems could be 
implemented, particularly including some of the tape systemmes.



'course, it would be a lot more fun, instead of the 62 pin card edge, to 
go with the 100 pin one that George Morrow and Howard Fullmer tried to 
standardize, . . .


Re: idea for a universal disk interface

2022-04-13 Thread Fred Cisin via cctech

On Wed, 13 Apr 2022, shad via cctech wrote:
The main board should include a large enough array of bidirectional 
transceivers, possibly with variable voltage, to support as much 
interfaces as possible, namely at least Shugart floppy, ST506 MFM/RLL, 
ESDI, SMD, IDE, SCSI1, DEC DSSI, DEC RX01/02, DG6030, and so on, to give 
a starting point.


Hmmm. rather than re-inventing the wheel, as we usually do, . . .

It may be possible to accomplish a subset of those, specifically including 
Shugart floppy, ST506/412 MFM, RLL, ESDI, IDE, SASI, SCSI by repurposing 
certain commercial hardware.


You would have a collection of boards, that you would remove/insert into a 
connector.


The main board would have RAM, and a ROM for certain basic (and BASIC?) 
functions, but would load software for various modules and output results 
to and from one or more interfaces that remain connected.


I don't doubt that you could design a far better system, but there already 
exists a crude version, ready to implement!


It has a marginal power supply, and it has a poorly designed group of 8 
62 pin connectors for the interfaces, although some of those would need to 
be dedicated for other functions of the device, including user interface 
hardware.  Some software is already available, but some crude tools are 
available for creating more.


It says "IBM", "5160" on the back panel label, although there were plenty 
of generic second sources.

The updated "5170" version of it could be more easily set up even for USB.


RE: idea for a universal disk interface

2022-04-13 Thread Tom Gardner via cctech
Interesting idea, there are three broad classes of HDD interfaces:

1.   Dumb, that is serial data and parallel control

2.   Intelligent parallel

3.   Intelligent serial

IMO if you can do dumb interraces then the others follow and given today’s 
technology I suspect it is feasible

Within the dumb group there are several “standards” with very similar controls 
but with different data rates and track formats

* 2311/2314 including PCM versions

* DEC RL0x which is pretty much the same as 2311/2314 except interface 
voltages and goes up to 200 MB disk pack drives, maybe higher

* Diablo which is a simplified control version of RL0x

* SMD which is an enhanced control version of RL0x

* ST502/412/412 RLL which is a simplified control version of RL0x

* ESDI which unfortunately serialized some of the control over the 
parallel interface otherwise similar to RL0x

There are a few others like ANSI and CalComp but they are probably not worth 
investigating.

 

 

I don’t know who invented the 1311 interface but IMHO he spawned an industry :)

 

I think the maximum data rate is something on the order of 15 MHz so one ought 
to be able to read in an entire track at a sufficiently high data rate so as to 
be able to decode the data  using an appropriately programmed DSP.  Essentially 
all the hardware used for serializing/deserializing, formatting/deformatting 
and ECC in a traditional controller reduced to firmware

 

Likewise there is a maximum number of control pins and only two voltage 
signaling levels (IBMs and DTL) so a combination of a programmable transceiver 
with a personality module ought to allow connection to and signaling with any 
physical device.  Communicating control and status then is also a programming 
exercise

 

Writing all the firmware would be a challenge but in the end you would be 
dealing with an array of blocks of good data, which would then be the starting 
point for tackling  the intelligent interfaces which purport to start and stop 
at the same array of blocks of good data.  I think u might be able to make this 
work with all the flavors of SCSI (with maybe a DSP on the personality module 
to handle the bus states) but good luck with intelligent serial interfaces.

 

Just my 2 cents :)

 

tom

 

 

 

-Original Message-
From: shad [mailto:shado...@gmail.com] 
Sent: Tuesday, April 12, 2022 10:36 PM
To: cctech@classiccmp.org  
Subject: idea for a universal disk interface

 

Hello,

I'm a decent collector of big iron, aka mini computers, mainly DEC and DG.

I'm often facing common problems with storage devices, magnetic discs and tapes 
are a little prone to give headaches after years, and replacement drives/media 
in case of a severe failure are unobtainable.

In some cases, the ability to make a dump of the media, also without a running 
computer is very important.

 

Whence the idea: realize an universal device, with several input/output 
interfaces, which could be used both as storage emulator, to run a computer 
without real storage, and as controller emulator, to read/write a media without 
a running computer.

To reduce costs as much as possible, and to allow the better compatibility, the 
main board shall host enough electrical interfaces to support a large number of 
disc standard interfaces, ideally by exchanging only a personality adapter for 
each specific interface, i.e. connectors and few components.

 

There are several orders of problems:

- electrical signals, number and type (most disk employ 5V TTL or 3.3V TTL, 
some interfaces use differential mode for some faster signals?)

- logical implementation: several electrical signals are used for a specific 
interface. These must be handled with correct timings

- software implementation: the universal device shall be able to switch between 
interface modes and be controlled by a remote PC

 

I suppose the only way to obtain this is to employ an FPGA for logic 
implementation of the interface, and a microprocessor running Linux to handle 
software management, data interchange to external (via Ethernet). This means a 
Xilinx Zynq module for instance.

I know there are several ready devices based on cheaper microcontrollers, but 
I'm sure these can't support fast and tight timing required by hard disk 
interfaces (SMD-E runs at 24MHz).

 

The main board should include a large enough array of bidirectional 
transceivers, possibly with variable voltage, to support as much interfaces as 
possible, namely at least Shugart floppy, ST506 MFM/RLL, ESDI, SMD, IDE, SCSI1, 
DEC DSSI, DEC RX01/02, DG6030, and so on, to give a starting point.

The common factor determining what kind of disc interface can be support on 
hardware side is obviously the type of transceiver employed, for instance a 
SATA would require a differential serial channel, which could not be available.

But most old electronic is based on TTL/CMOS 5V 

Re: idea for a universal disk interface

2022-04-13 Thread Guy Sotomayor via cctech
I've had a similar project in the works for a while (mainly for ESDI and 
SMD).


I think the main issue you're going to face is that what you need to do 
for something like ESDI or SMD (or any of the bit serial interfaces) is 
going to be radically different than something like IDE or SCSI.  This 
is not just the interface signals but also what's needed in the FPGA as 
well as the embedded SW.


For example, for the ESDI and SMD interface in order to meet the head 
switch times (1-2 microseconds) requires that a full cylinder be cached 
in HW.  Once you do that and look at the timings to move a max cylinder 
between the HW cache (that will serialize/de-serialize the data over the 
interface) and storage, you'll see that the only way to have any 
reasonable performance (e.g. not have seek times be > 40ms for *any* 
seek) is to cache the entire drive image in DRAM and lazily write back 
dirty tracks.


I've been looking at the Xylinx Zynq SoCs for this (mainly the Zynq 7020 
for single drive emulation and the Zynq Ultrascale+ for up to 4 
drives).  In my case the HW, FPGA logic and SW will share significant 
portions but they will not be identical.  In my case there is no need 
for an external PC (just adds complexity) other than something to do 
basic configuration (e.g. drive parameters such as number of heads, 
number of cylinders, etc) which will actually be over USB/serial.  The 
actual persistent storage will be an SD card since all reading will be 
done at "boot time" and writes will be handled in a lazy manner (since 
the writes will first go to the DRAM based upon time or seek).


It may also be sufficient for configuration purposes to have a file 
(text) on the SD card that defines the configuration so no external 
interactions would be necessary.  I'm still thinking about that one.  ;-)


TTFN - Guy

On 4/12/22 22:35, shad via cctech wrote:

Hello,
I'm a decent collector of big iron, aka mini computers, mainly DEC and DG.
I'm often facing common problems with storage devices, magnetic discs and tapes 
are a little prone to give headaches after years, and replacement drives/media 
in case of a severe failure are unobtainable.
In some cases, the ability to make a dump of the media, also without a running 
computer is very important.

Whence the idea: realize an universal device, with several input/output 
interfaces, which could be used both as storage emulator, to run a computer 
without real storage, and as controller emulator, to read/write a media without 
a running computer.
To reduce costs as much as possible, and to allow the better compatibility, the 
main board shall host enough electrical interfaces to support a large number of 
disc standard interfaces, ideally by exchanging only a personality adapter for 
each specific interface, i.e. connectors and few components.

There are several orders of problems:
- electrical signals, number and type (most disk employ 5V TTL or 3.3V TTL, 
some interfaces use differential mode for some faster signals?)
- logical implementation: several electrical signals are used for a specific 
interface. These must be handled with correct timings
- software implementation: the universal device shall be able to switch between 
interface modes and be controlled by a remote PC

I suppose the only way to obtain this is to employ an FPGA for logic 
implementation of the interface, and a microprocessor running Linux to handle 
software management, data interchange to external (via Ethernet). This means a 
Xilinx Zynq module for instance.
I know there are several ready devices based on cheaper microcontrollers, but 
I'm sure these can't support fast and tight timing required by hard disk 
interfaces (SMD-E runs at 24MHz).

The main board should include a large enough array of bidirectional 
transceivers, possibly with variable voltage, to support as much interfaces as 
possible, namely at least Shugart floppy, ST506 MFM/RLL, ESDI, SMD, IDE, SCSI1, 
DEC DSSI, DEC RX01/02, DG6030, and so on, to give a starting point.
The common factor determining what kind of disc interface can be support on 
hardware side is obviously the type of transceiver employed, for instance a 
SATA would require a differential serial channel, which could not be available.
But most old electronic is based on TTL/CMOS 5V logic, so a large variety of 
computer generations should be doable.

For the first phase, I would ask you to contribute with a list of interfaces 
which could be interesting to emulate, specially if these are similar to one 
from my list.
I please submitters to send me by email or by web link when possible, detailed 
documentation about the interface they propose, so I can check if it could be 
doable and what kind of electrical signals are needed.
Also detailed information about interfaced I listed is appreciated, as could 
give some detail I'm missing.

Thanks
Andrea


--
TTFN - Guy



Re: idea for a universal disk interface

2022-04-13 Thread steven--- via cctech
shad said
> Hello,
> I'm a decent collector of big iron, aka mini computers, mainly DEC and DG.
> I'm often facing common problems with storage devices, magnetic discs and 
> tapes are a little prone to give headaches after years, and replacement 
> drives/media in case of a severe failure are unobtainable.
> In some cases, the ability to make a dump of the media, also without a 
> running computer is very important.
>
> Whence the idea: realize an universal device, with several input/output 
> interfaces, which could be used both as storage emulator, to run a computer 
> without real storage, and as controller emulator, to read/write a media 
> without a running computer.
> To reduce costs as much as possible, and to allow the better compatibility, 
> the main board shall host enough electrical interfaces to support a large 
> number of disc standard interfaces, ideally by exchanging only a personality 
> adapter for each specific interface, i.e. connectors and few
components.>
> There are several orders of problems:
> - electrical signals, number and type (most disk employ 5V TTL or 3.3V TTL, 
> some interfaces use differential mode for some faster signals?)
> - logical implementation: several electrical signals are used for a specific 
> interface. These must be handled with correct timings
> - software implementation: the universal device shall be able to switch 
> between interface modes and be controlled by a remote PC
>
> I suppose the only way to obtain this is to employ an FPGA for logic 
> implementation of the interface, and a microprocessor running Linux to handle 
> software management, data interchange to external (via Ethernet). This means 
> a Xilinx Zynq module for instance.
> I know there are several ready devices based on cheaper microcontrollers, but 
> I'm sure these can't support fast and tight timing required by hard disk 
> interfaces (SMD-E runs at 24MHz).
>
> The main board should include a large enough array of bidirectional 
> transceivers, possibly with variable voltage, to support as much interfaces 
> as possible, namely at least Shugart floppy, ST506 MFM/RLL, ESDI, SMD, IDE, 
> SCSI1, DEC DSSI, DEC RX01/02, DG6030, and so on, to give a starting point.
> The common factor determining what kind of disc interface can be support on 
> hardware side is obviously the type of transceiver employed, for instance a 
> SATA would require a differential serial channel, which could not be 
> available.
> But most old electronic is based on TTL/CMOS 5V logic, so a large variety of 
> computer generations should be doable.
>
> For the first phase, I would ask you to contribute with a list of interfaces 
> which could be interesting to emulate, specially if these are similar to one 
> from my list.
> I please submitters to send me by email or by web link when possible, 
> detailed documentation about the interface they propose, so I can check if it 
> could be doable and what kind of electrical signals are needed.
> Also detailed information about interfaced I listed is appreciated, as could 
> give some detail I'm missing.


The Diablo / Pertec interface was a popular industry standard. Here's a product 
(no connection) that implements it
https://www.arraid.com/data-storage-products/product/aem-5c.html
It would be great if there were open source or cheaper devices, maybe there 
are, I guess the Unibone can do this? (I don't have one yet)

(btw I never actually subscribed to cctech but somehow my cctalk ones get 
echoed over there)