> IMO, ISA is a better option for truly vintage machines.  I think if someone
> combined the ideas PiModem/Wifi232, Pi Virtual Floppy [0], and ISA8019 [2]
> (which is an NE2000!), then that would be the ideal.  An ISA card powered
> by a Pi Zero W that could emulate a Floppy/HDD/CD-ROM/DVD-ROM and provide
> 1000BaseT Ethernet and/or WiFi would be a super card.  Doing BaseT or WiFi
> transparently in SW like Dr. Baker did showed could be done in the Pi
> Virtual Floppy would be awesome.

This is something I've wanted to do for a long time. The Pi Virtual
Floppy is interesting.  It seems to use a shared memory interface
between the Pi and the PC for communication, with a driver loaded in
DOS to do the PC side of the communication.

I am hoping to one day come up with a design that makes the whole ISA
bus available to software running on the Pi, so that you could do things
without much in the way of drivers.  If a program running on the Pi
could fully manipulate the ISA bus, you could implement just
about anything.  Some ideas I had are:

 * A sound card, either outputting audio over the Pi's audio out or
   streaming it over the network to a central audio server.  It could
   easily capture the audio or save any MIDI or FM/OPL commands to a
   file for layer playback in Adplug or similar.

 * A VNC-style remote desktop, allowing you to use the machine from
   another PC, easily grab screenshots or record video without a
   dedicated video capture device.

 * An expanded memory card, making a tiny fraction of the Pi's own
   memory available as EMS on an XT or 286 lacking motherboard EMS
   support.  It could also fill any unused upper memory with RAM so you
   could load drivers high even on an XT or 286.

 * A hard drive that can boot off a disk image stored on the Pi's SD
   card, or over the network, transparently to the PC.  Network drives
   could be mounted in a similar way to how CD-ROM devices work
   natively, so the PC can get by with a much smaller driver than with
   a traditional network drive as the PC side of things wouldn't have
   to handle any of the network communication.

 * USB flash drives could be plugged into the Pi and made available to
   DOS (or Win9x) in a similar way to how you can mount a network drive
   on the fly and have another drive letter appear without rebooting.

 * An NE2000 compatible network card (of which there are many DOS
   drivers) could hang off the Pi's WiFi or normal Ethernet interface.
   You could even put the IPX/packet driver for it in UMB so it doesn't
   take up any conventional memory at all.

 * A debugger which can use the ISA bus to freeze the machine and
   single step through a running program, examining/altering memory,
   breaking on watchpoints, etc.  Unlike software debuggers there would
   be no way for a program to detect it was running through this kind
   of debugger.

 * A virtual serial port could be connected to an IP address with a
   protocol like Telnet, allowing BBS software to connect to COM3 for
   example but the data sent back and forth goes to a server on the
   local network, one of those Internet-based BBSes that run on Telnet,
   or even patching it through to another PC's virtual serial port if
   you have a few retro computers.  You could also connect it to the
   Pi itself, allowing a DOS terminal emulator to provide access to the
   Linux command line on the Pi for configuring it locally.

At any rate, the bit I'm stuck on is trying to find out how to get so
many I/O pins from the ISA bus into the Pi.  I am thinking it might
have to be done with an FPGA as many of them have enough I/O pins to do
it, then the question is how to get the relatively high bandwidth
result across to the Pi, since GPIO probably won't cut it.  I'm
guessing you'd have to use either USB3 or the Pi's camera input, with
USB3 probably being better documented and also more flexible since it
could then allow you to connect the board to a normal PC and run all
the software there if you didn't want to have a Pi sitting inside the
DOS PC.

Anyway, just some ideas to think about!

Cheers,
Adam.


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to