User avatar
iljitsch

Posted Mon Oct 16, 2023 8:11 am

Ok, I had another hare-brained idea: why not turn the floppy port into a super fast serial interface.

TL;DR: PLIP over the parallel port is still faster, so who cares.

I have to confess that figuring out a way to transmit data between an unmodified Amiga and something modern has become somewhat of an obsession of mine.

The obvious way to do this is over the serial port. But even on a good day, that nets you 115200 bps, i.e. about 10 kilobytes per second. The alternative is using the serial port like with PLIPbox, which reaches something like 240 kB/s.

The trouble is, the Amiga has no special hardware to make either of those options fast.

But what if we could use the floppy interface? That runs at 500,000 bits per second using DMA (direct memory access) so the chipset will read/write your data and the CPU gets to do other stuff in the meantime.

But: the floppy port expects MFM data, where each data bit is encoded as two bits on the wire. No modern systems can generate such a signal out of the box.

But it turns out that all the MFM decoding is done in software on the Amiga. So what if I hook up a Raspberry Pi to the Amiga floppy interface and send asynchronous serial data at 500 kbps? The bits should arrive at the Amiga and be DMA'ed into memory just fine while the CPU is doing whatever it's doing, and then software can recover the data from the start bit / data / stop bit stream.

The cool thing is that this can work with just some voltage regulation hardware between a standard serial port and the floppy port as long as everything can run at 500 kbps, and with DMA the CPU gets to do other stuff while the data transfer is happening.

But... even though using the parallel port for data communication has significant limitations, it's still much faster at ~ 240 kilobytes per second while the floppy port and start/stop bits tops out at 50 kilobytes per second.

User avatar
McTrinsic

Posted Mon Oct 16, 2023 12:23 pm

Cool idea!!

What worries me is that eventually someone might unplug the transfer cable which - I am not sure - might create undesirable effects.





Return to “Hardware”