I've made some parallel port programs/Linux modules for reading/writing via the parallel port:
They also work under MS-Windows via Cygwin.
Kernel module for direct read/write via the 8 data pins and a kernel thread:
A program with Posix Threads for simulating quick and dirty (without hard realtime) some ergometer data (pulses per minute (PPM) and rounds per minute (RPM)):
Hardware for parda2: The electronic control unit of an ergometer with connectors to the parallel port, power supply via USB and indicator LEDs. The serial connection in the middle is the connection to a PC for (other) ergometer applications.
For clean simulations hard realtime, e. g. RTAI, would be necessary. See also http://loetstelle.net/praxis/parallelport/parallelport.php.