floppy

  • Thread starter Thread starter Ed
  • Start date Start date
E

Ed

Looking for a way to connect 2 pc's via floppy ports?
Any suggestions would be helpfull.
Please do not suggest the obvious as using floppy diskettes.
I want to try to connect 2 pc's using the floppy's 34 pin cables.
Thanks.
 
Ed said:
Looking for a way to connect 2 pc's via floppy ports?
Any suggestions would be helpfull.
Please do not suggest the obvious as using floppy diskettes.
I want to try to connect 2 pc's using the floppy's 34 pin cables.

Why ?

There are much better ways to connect 2 PCs.
 
Because I am working on a project for custom machines that have floppy ports
and no other I/O ports.
The Serial port is non-accessable an so is the Parallel port.
The machine has no network capabilities either.
"THATS WHY"
 
Ed said:
Looking for a way to connect 2 pc's via floppy ports?
Any suggestions would be helpfull.
Please do not suggest the obvious as using floppy diskettes.
I want to try to connect 2 pc's using the floppy's 34 pin cables.
Thanks.

Good luck. The first problem is that the FD interface is asymmetric;
it runs master-slave, and the PC is always the master.
 
Previously Bob Willard said:
Ed wrote:
Good luck. The first problem is that the FD interface is asymmetric;
it runs master-slave, and the PC is always the master.

In addition the floppy is completely dumb. There are only 3 outputs
from it: Read Data, Track00 and WiiteProtect. You could say that
the floppy is basically a mechanical device with some amplifiers
and signal conditioners.

Arno
 
In addition the floppy is completely dumb. There are only 3 outputs
from it: Read Data, Track00 and WiiteProtect. You could say that
the floppy is basically a mechanical device with some amplifiers
and signal conditioners.


Bwahaha. Babblebot utterly clueless as always.
 
In addition the floppy is completely dumb. There are only 3 outputs
from it: Read Data, Track00 and WiiteProtect. You could say that
the floppy is basically a mechanical device with some amplifiers
and signal conditioners.

Arno

It's hard to imagine a PC without a parallel port, or a USB port, or a
slot for a NIC but still having a floppy.
 
I'm still confused. Assuming it was even possible, if the floppy drives
must be connected to each other over their respective I/O ports, then
obviously they are not connected to the PC at that time. So what's the
point? Either they're connected to their respective PCs, OR, each other,
but in either case, I have no idea how data can be transferred between the
two PCs.

What am I missing?!

Jim
 
I'm still confused. Assuming it was even possible, if the floppy drives
must be connected to each other over their respective I/O ports, then
obviously they are not connected to the PC at that time. So what's the
point? Either they're connected to their respective PCs, OR, each other,
but in either case, I have no idea how data can be transferred between the
two PCs.

What am I missing?!

I think he wants a cable with a faux-diskette on each end. Plug the disks
into two FDDs and let the cable dangle between them.
 
Michael Cecil said:
It's hard to imagine a PC without a parallel port, or a USB port, or a
slot for a NIC but still having a floppy.

Presumably its some special purpose machine controller.
 
Michael Cecil said:
I think he wants a cable with a faux-diskette on each end. Plug the disks
into two FDDs and let the cable dangle between them.


Or... he wants to connect the 2 motherboards via their respective
floppy connectors. IOW, a long floppy cable running between the
motherboards of the 2 PCs - the analog of an Ethernet "crossover"
cable.

*TimDaniels*
 
Previously Jim said:
I'm still confused. Assuming it was even possible, if the floppy drives
must be connected to each other over their respective I/O ports, then
obviously they are not connected to the PC at that time. So what's the
point? Either they're connected to their respective PCs, OR, each other,
but in either case, I have no idea how data can be transferred between the
two PCs.
What am I missing?!

Floppy drives have no I/O ports. They are dumb hardware with just
some amplifiers and signal conditioners. The controller chip
sits on the mainboard.

Arno
 
I think he wants a cable with a faux-diskette on each end. Plug the disks
into two FDDs and let the cable dangle between them.

Like exists for USB (converter chio inside), serial interface
(crossover cable, no electronics needed), MIDI cable (just a
cable), and printer port (just a specially wired cable).

Unfortunately for floppy this would require some complex interface
electronics and complex software driver (which he could not use
anyways). Since there is also zero market for this, neither
exists.

Arno
 
Previously Timothy Daniels said:
Or... he wants to connect the 2 motherboards via their respective
floppy connectors. IOW, a long floppy cable running between the
motherboards of the 2 PCs - the analog of an Ethernet "crossover"
cable.

Opps Yes. That is what I meant. Yes, I think he wants this.
He will not get it, though.

Arno
 
Previously Michael Cecil said:
In addition the floppy is completely dumb. There are only 3 outputs
from it: Read Data, Track00 and WiiteProtect. You could say that
the floppy is basically a mechanical device with some amplifiers
and signal conditioners.

Arno
[/QUOTE]
It's hard to imagine a PC without a parallel port, or a USB port, or a
slot for a NIC but still having a floppy.

Or if it is older, without a serial port. The serial port is the
original communications interface and easy to programm.

My guess is that this is some embedded control device in,
e.g. a CNC machine and it gets its instructions via floppy.
If so, then the designers expected you to buy the newer model
when you need more communication possibilities. Still
customer fault, buying a closed system.

Arno
 
The actual end result of this project would be Like this:
Custom machine's floppy port ---> Floppy emulator type device ---> New
PC w/serial port or whatever is easier on this side.
Only the custom machine side needs to use the floppy port.
The custome machine is much like an embedded pc with a custom o/s, so I
cannot add hardware or drivers.
Surprisingly there a quite a few of these machines out there.
I am willing to put in the time to design such an interface if I can find
sufficient info.
I am quite adept at the x51 series of microcontrollers and was planning on
using it.
I have already designed, and am currently distributing a "Teac MT-2" type
emulator that is working quite well that replaces these tape drives.
 
Ed said:
The actual end result of this project would be Like this:
Custom machine's floppy port ---> Floppy emulator type device ---> New PC w/serial port or
whatever is easier on this side.
Only the custom machine side needs to use the floppy port.
The custome machine is much like an embedded pc with a custom o/s, so
I cannot add hardware or drivers.
Surprisingly there a quite a few of these machines out there.
I am willing to put in the time to design such an interface if I can
find sufficient info.
I am quite adept at the x51 series of microcontrollers and was
planning on using it.

Shouldnt be that hard, the floppy interface is very well documented
and its easy enough to use a real one to perve on what is going on.
 
Previously Ed said:
The actual end result of this project would be Like this:
Custom machine's floppy port ---> Floppy emulator type device ---> New
PC w/serial port or whatever is easier on this side.
Only the custom machine side needs to use the floppy port.
The custome machine is much like an embedded pc with a custom o/s, so I
cannot add hardware or drivers.
Surprisingly there a quite a few of these machines out there.
I am willing to put in the time to design such an interface if I can find
sufficient info.
I am quite adept at the x51 series of microcontrollers and was planning on
using it.
I have already designed, and am currently distributing a "Teac MT-2" type
emulator that is working quite well that replaces these tape drives.

If you actually have experience with this and you don't want any kint
of real networking, just the custom machine reading from and writing
to floppy, then it is easier.

If so, this is not so difficult, as long as a standard floppy format
is used. I have a bit of experience with this, since a long time ago I
build a device for copying 720MB floppys by digitizing the signal from
them on an Atari ST. This would read tracks with 250ns resolution into
the computers memory and then write them out again on a different
floppy. I also looked at the data a bit during that project. This
device was able to copy any floppy, whether copy protected or not.

For MFM, a track is essentially a sequence of sectors. Each sector
has a header with some special codes that are illegal in normal MFM
and serve as a head mark. Headers are only written during
format. Then there is a bit of space, to allow the contoller chip to
switch to write mode (if it writes) and then there is the data
part. It consists again of a header with the special codes and then
the data bytes and a final checksum. The MFM clock for 1.44MB disks
is 1MHz, I believe. Floppy controllers use a 16x clock to read the
signal in the middle of the MFM ''bit'' and sunchronize on the
edges. Using an 8MHz sampling rate should therefore be enough. You
might want to add a serial/paralell converter to you only have to
read/write one Byte per microsecond.

Of course you need to process the data and Synthesize the data in
realtime. Hmmmm. Maybe one 80x51 for reading, that has a really high
clock (I believe I have heard of a 40HMz variant?) and one (can be
slower) for writing to the virtual floppy? Of course you need to
update the one pretending to be the floppy within 200ms (one disk
revolution) with what was written.

On a second layer you of course need to understand the filesystem of
the custom system. Simple media emulation will not be enough. And if
you want to transfer data to the custom system you will need to
emulate a floppy eject, since the custom system most likely can not
handle the data on floppy being changed from the outside.

Ok, to get the exact info about the floppy layout, you can look into a
floppy controller manual. The ATARI ST used a WD-1772 controller,
which is PC compatible. This is only a DD (720 kB/disk) controller,
but it records the same as a HD (1.44MB/Floppy) controller.

You can get a scan, which includes sector layout, here:

http://www.zimmers.net/anonftp/pub/cbm/documents/chipdata/wd177x/index.html

I don't know which floppy controller chip (or emulation thereof)
is used in todays PC's, but it should be relatively easy to find
out and and get documentation about. Anyways, the WD-1772
datasheet should get you a pretty good idea what is needed for the
low-level side of things. Significantly more difficult than
emulating a tape drive, but doable, I think.

For the filesystem side, it entirely depends on
the filesystem used.

Arno
 
Thanks Arno,

Seems like you know your stuff.
Only the custom machine will need to read/write to the emulator via the
floppy port.
I will only really need to emulate about 4 tracks of data.
My plan was to have the emulator only read/write 1 file which is only about
10k bytes in size.
I would like to be able to stuff my data into the emulator via serial port
and have it read by the custom computer's floppy port.
When the custom computer writes the file to the emulator it would see blank
tracks to write to.
Then extract and reconstruct the file for analysis on the other PC.
I have done reading on the floppy format of sectors.
The big problem I see is reading the MFM data (data / clock recovery)
 
Previously Ed said:
Thanks Arno,
Seems like you know your stuff.

Tnanks. I did a lot of electronics back in the time. Never really
worked with MCUs, though. C64 assembler was the closest I came.
Only the custom machine will need to read/write to the emulator via the
floppy port.
I will only really need to emulate about 4 tracks of data.
My plan was to have the emulator only read/write 1 file which is only about
10k bytes in size.
I would like to be able to stuff my data into the emulator via serial port
and have it read by the custom computer's floppy port.
When the custom computer writes the file to the emulator it would see blank
tracks to write to.
Then extract and reconstruct the file for analysis on the other PC.
I have done reading on the floppy format of sectors.
The big problem I see is reading the MFM data (data / clock recovery)

That is actually relatively simple:

You know the clock rate (500kHz for DD, 1MHz for HD floppies).
For simplicity let's assume HD for now.

1. You have an oscillator (programmed loop or IRQ) run at 1MHz
and synchronize on the edges of the MFM signal, i.e. when the
oscillator is off, you adjust (shift) the pphase of your oscillator
by 1/16...1/8 towards the edge. Sort of a PLL. You have some
20-30 edges or so to get a good synchronisation.
Drift after initial synchronisation should be extremely
low, since you are not reading from an imprecisely rotating
floppy, but from a crystal-driven floppy controller.
Maybe you don't even need to resync while reading a sector.

2. You sample the MFM signal just halfway in between the MFM flanks.
That is what the floppy controller chips do.
This probably means that that you sample 500ns after
each oscillator ''Tick''. Or that you shift the oscillator
by 500ns in the first place.

3. Collect all bits of a sector (or track) this way and process
them. My guess would be that you need either a very fast MCS51
variant for this or several, e.g. one for the synchronized clock
and one for the actual sampling (triggerd by hardware interrupt?).

The proble I see is that this may actually be to fast for
an x51 MCU. On the other hand, it seems you can get these things
now up to 60 MHz, which should be enough.

If that does not work, add 256K of SRAM and sample the data-stream in at
unsynchronised 8MHz. Process it afterwards. Unless the device does read
after write verify, you should have enough time.

Arno
 
Back
Top