IC1 generates the sampling clock of 256Hz IC2 is a monostable used for pulse width modulation from 10usec to 1 msec depending on the analog signal on PIN 5. The pulse is isolated with the optocoupler and switches DTR to CTS. DTR is an output and must be set to +10V by the software. CTS is an input that can be read as a bit of the com port. The UART of the com port can be programmed to generate interrupts on CTS level change. A software driver (or DOS-program) could wait for the interrupt on the low-to high transition and then run a polling loop to calculate the pulse lenght. The pulse lenght is a linear function of the input voltage at IC2 PIN5. This concept is as simple as a gameport ADC, but it is superior to the gameport, because it does not suffer from 1/U nonlinearity, it can generate interrupts and it provides the sampling clock.