I'm running a new psychological experiment that uses an old, non-legacy machine that communicates with a host PC via a parallel cable and physical LPT (DB25). It sends data to 8 data pins to control eight motors, basically turning individual motors on and off for a specific duration.
For extended compatibility and flexibility, I'm trying to find ways to use the machine in a modern computing environment -either on a Mac or latest windows laptops (as the original host laptop is 15 years-old and kind of finicky). Ideally, I'd like to use python to interface with the machine (I wrote the experiment on Python).
As most modern workstations lack LPT, I should somehow emulate a parallel port with a USB port- and this is where I'm kind of stuck.
I did lots of reading on this matter for last two weeks. It seems that there is no obvious way around this, and sending inputs to control individual pins is not possible using a regular USB-to-Parallel converter cable- which only works with printers but not other peripheral devices. Packages such as pyparallel, pyserial, or pyusb don't seem to adequately support such functionality either, although some people here and there who claime that they managed to sort it out (but exactly how- is not clear to me).
Could somebody direct me to any possible solutions? I know that there exists some commercial products that properly emulates a parallel port when connected to a USB slot. But they are rather expensive (<$300). If this experiment were to run on a desktop, I could try PCI extension but everyone in the lab, including myself, will use a laptop so physically installing an additional PCI card isn't really a viable option.
Currently, I'm leaning towards building my own microcontroller such as Arduino that converts serial signals to parallel outputs. Still, I'd be SOOO happy to learn how to get this old machine to work using a "softer" way, with coding and minimum hardware configuration. If such thing is anyway possible.
Can someone help me with this? Any tips or suggestions would be greatly appreciated!!! Thank you!