> 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