The IO8 peripheral controls IO8 card which gives you eight binary outputs and eight binary inputs.
The io8 card has eight 5 Volt tolerant inputs and eight 3.3 Volt outputs. The IO8 peripheral can be configured so that a change on an input line automatically sends the input status up to the host. More information about the IO8 card is available here: /cards/io8.html
output : the value on the output pins as a 2 digit hex value. You can read and write this resource using dpget and dpset.
input : the value on the input pins. This resource works with dpget and dpcat. A read (dpget) requires a round trip to the FPGA and may take a few milliseconds. You can monitor the input pins using a dpcat command. Using dpcat makes sense only if one or more of the pins are configured as an interrupt-on-change pin.
interrupt : an 'interrupt-on-change' enable mask as a 2 digit hex value. When an input pin has its corresponding interrupt bit set any change in value on that pin causes an update to be sent to the host. This feature makes reading the input pins something that can be done using select(). This resource works with dpget and dpset.
Set the IO8 outputs to 0x66.
dpset io8 output 66
Set the first four inputs to interrupt-on-change and then start a stream of IO8 input values.
dpset io8 interrupt f dpcat io8 input