In the past, people have commented that my workstation at home still has a multi-io PCIe add in card providing a parallel port and a pair of serial ports. I tinker in various types of embedded systems and having access to serial ports is a must. They can generally be provide by USB to serial converters, but usb to parallel converters generally don't work that well for things that use a parallel port connection. Case in point being my trust old EMP-10 EPROM programmer. However, it doesn't work too well with the PCIe add in card.
Thats a Lenovo Thinkcentre M32 SFF system. It's got a 1.1GHz Celeron, 4GB of Memory, 8GB SSD, four serial ports, and one parallel port. The EMP-10 is sitting on top of it. I noted that my EMP-10 doesn't get along too well with the PCIe parallel port in my workstation. The software that drives it is DOS software from days past. VirtualBox does do parallel port pass through, and I was able to get the software to kind of work in a VM, but it was slow and flakey. If I boot my workstation to FreeDOS, I wasn't able to get the programmer software to recognize the add in card, despite the fact that I was able to find, and load a DOS driver for it.
I had to use a USB flash drive for the FreeDOS install media. It would boot from a CD image in a USB DVD drive, but it couldn't find the installation media once it got that for along. Installed without problem from a flash drive.
The EMP-10 software had no problems finding and driving the programmer. A USB flash drive, plugged into the Thinkcentre at boot time, shows up as a hard drive in FreeDOS so I had put whatever images I need to program on a flash drive, and boot the system up. It's not the quickest cycle time if I need to add or change and image file, but it works.
It was significantly cheaper to buy the Thinkcentre than to by a new, equally capable, and equally quality programmer.