Once you have set the card up with the TimeDX PIO Test you must make DMDX use that device by declaring one of the input devices a PIO can behave as using the <InputDevice> keyword. The first such cards were named PIO-12 cards (despite the fact that they had 24 I/O lines) so DMDX uses the name PIO12 to refer to whatever PIO card DMDX happens to be using. The various devices primarily vary depending on how many of the I/O lines are used for input and how many for output, the original PIO12 device using 16 input lines and 8 output lines. After that queued variations on devices exist that were added to handle issues under Windows 2000 and XP (the non-queued versions should not be used under win2K/XP).
There are two methods that DMDX can use to output data, latched and non-latched with the default mode being latched outputs, once a word is output it stays output. Non-latched mode can be used with the <RevertOutput> parameter where DMDX reverts the output to a specified state a specified period after the data is output. <RevertOutput> can also be used to control the initial state of the PIO and does not also necessarily switch DMDX to non-latched mode. Data can be output once per frame with <Output> and it's hexadecimal equivalent. Output data can be inverted with <InvertOutput>.
When DMDX uses the PIO for input it uses negative logic, logic 0 (0 Volts) is an active signal, logic 1 (5V) is inactive. In order for DMDX to see signals from the PIO the DMDX octal MIP word must be set to mask off unused bits of input, the default value for this word is 7 which limits DMDX's input to the lower 3 bits of input. Bits must also be mapped to various DMDX signals if the defaults are not usable, see the Input section.