The monitors used on older computers are now becoming difficult to find, as we doubt anything for MDA, CGA, Hercules, or EGA has been manufactured in decades. Even VGA, though there are plenty of surplus flat panels to be found, is not as ubiquitous as it once was. Where does that leave the retrocomputing enthusiast with an ISA PC and no screen? Perhaps [Ian Hanschen] has the answer with the PicoGraph, an ISA-to-USB-to-Displaylink adapter.
In hardware terms, it’s using a PicoMEM, a more general-purpose ISA card for emulating cards with a Pi Pico. The Pico hosts a USB DisplayLink adapter, which can connect to the screen of your choice. The software on the PicoMEM does the heavy lifting and provides MDA, Herc, EGA, and VGA support, as well as support for one of the 1990s Cirrus Logic SVGA chipsets. And yes, it appears to work with DOOM.
The practice of using 2020s microcontrollers to lend functionality to retrocomputers has revolutionised the art. We’ve seen many, with one of the more recent being a minimap add-on for an 8-bit Sinclair Spectrum.

PicoMem and the projects that stem from it are great, but my problem is usually the opposite one: I have an amazing ISA card and want to use it, but I have nothing to plug it into. Okay, I have some old AMD K6 boards that have ISA slots, but ideally I’d have a box with six ISA slots in it and a USB port allowing me to control them from any modern computer. A RaspberryPi Pico seems like a good basis for such a contraption what with all its GPIOs (I will need one for every signal in an ISA port!).
I’m not sure how doable that would be, at least in a ‘generic’ sense rather than one that requires a specialized driver for each ISA device being puppeted over USB.
ISA is not exactly a bandwidth problem anymore; but it makes the sort of assumptions that normally involve being pretty closely tied to the CPU: it can do DMA, memory mapped IO, device gets an IRQ line, etc.
What you might be able to do generically would be have the virtualized ISA bus in a VM talking to your USB interface, so that you can hide the translation from what you are doing from the guest OS and give its drivers what they expect from ISA devices; but otherwise you’d be looking at a nontrivial change per driver to accommodate
This exists already! Uses PCem. Just checked..
https://kittenlabs.de/isa-over-usb/
If that can be done then how can it be impossible to have an OS kernel that would do the same thing, a virtual ISA bus with virtual interrupts living right in the kernel and let driver modules for ISA devices talk to that. No VM required.
Talking the Linux kernel devs into letting all that into mainline… just so you can run some extremely outdated hardware.. sounds unlikely.
But.. could it exist as something one can add in?
Wasnt there a hackaday article about using the LPC bus to get ISA slots?
The dISAppointment? https://github.com/rasteri/dISAppointment
I’ve seen such a thing about 10 or 15 years ago on a website..
It might been something like this, but I’m not sure.
https://arstech.com/usb2-products/37-usb2isa-x3.html
A similar project involved an AdLib card on a parallel port.
That worked, because it’s a fairly simple ISA card (just port addresses).
https://www.raphnet.net/electronique/adlib/adlib_en.php
Only thing that’s kinda a downer on this project is that the board is seemingly closed source? As in you can’t male your own board?
Um, the host, PicoMEM, isn’t open hardware (yet), either, as far as I understand.
By contrast, the “arch rival” PicoGUS is, I think. ;)
So there’s little to be won by making a homebrew version at the moment, maybe.
PicoMEM was inspired by PicoGUS and improved on the mux trick so I’m not sure it’s an arch rival. We’re all on the same discord and share code.
Hi, thanks. I wasn’t dead serious about it, btw. :)
It just came to my mind because both projects are often named about same time.
Graphics gremlin is also pretty neato, emulating various GPUs with an FPGA and converting it to a VGA output.
+1
It’s also possible to tap raw digital video data from a VGA card via VESA feature connector.
The CRT Terminator project does that, I think.