Remix.run Logo
▲ andix 4 hours ago

Just out of curiosity: is it possible to somehow attach an ISA Adapter via USB to a VM? ISA does depend a lot on DMA and timing, but the clock is only 8 mhz and gives a software layer on a modern cpu a lot of time to do stuff between ISA bus cycles.

Keeping old hardware running is very fragile. Most spare parts are decades old now too, and nobody knows if they still work properly.

▲Teknoman117 4 hours ago | parent | next [-]

To a VM? Possibly.

The DMA might actually be the easy part.

The main concern is how many VM exits per second a modern CPU can handle. Even though the interface is "slow", you can probably do ~500k to 1 million IN/OUTs or MOVs per second to ISA. You'd have to trap (VM exit) every access to a IO port or memory within the ISA window.

During the pandemic I cobbled together a KVM-accelerated emulator for an old 386EX based board I had and trapping every memory access to IO was slower than the real hardware.

▲lysace 4 hours ago | parent | prev [-]

USB and VM latencies are both questionable here, I would think.

ISA motherboards still work and have been mass produced in the hundreds of millions. (I have about a dozen in my retro closet.)

The esoteric ISA expansion cards would be the bottleneck, not the motherboards.

▲andix 4 hours ago | parent [-]

All those layers add some latency, but 8 mhz is really slow. USB 4 can do extremely low latency, otherwise PCIe over USB wouldn't work.

▲lysace 4 hours ago | parent [-]

This looks quite interesting:

https://www.reddit.com/r/vintagecomputing/comments/jbaw38/is... (2020)

ISA-over-USB, using real ISA cards in an emulator

https://github.com/Manawyrm/ISASTM/