First post, by Low power
So, this is still my DOSMid fork that described in DOSMid fork that supporting CMSLPT, OPL2LPT and OPL3LPT.
It now works on kFreeBSD-based and Linux-based Unix-like systems. Also, both i386 (32-bit) and amd64 (64-bit) are supported natively.
Of course this Unix port still runs on vintage hardware, such as this i486 laptop:
Note the output device is '/dev/parport0', for the CMSLPT:
Low-level port I/O requires corresponding privilege, which usuallly means the program have to be run as root.
Writing to serial port or parallel port only need writing permission of specified device node.
For example to write to firsrt serial port from Linux:
-com=/dev/ttyS0
or from kFreeBSD:
-com=/dev/cuau0
or to write to an OPL2LPT on first parallel port from Linux:
-opl2=/dev/parport0
or from kFreeBSD:
-opl2=/dev/ppi0
And, writing LPT using low-level port I/O should also work, provided the program have the required privilege to proform port I/O. For example this option should also work on Unix, just like in DOS:
-opl2=lpt1
Btw, Debian GNU/Linux runs quiet slow on this machine, probably because the processor runs at 50 MHz only.
The process of porting DOSMid enables compiling the source code using a more modern compiler (such as GCC and ICC), which actually discovered a few bugs in the code, which I failed to notice previously. I think this will benefit the existing DOS support as well.
Links to the source code repository can be found in my previous post DOSMid fork that supporting CMSLPT, OPL2LPT and OPL3LPT.