Wang I/O Explorer Examples
The I/O Explorer device is not connected on starting the simulator.
Go to the "Devices" menu and select the item "I/O Explorer - not connected".
This will plug-in the device to the simulator and also make the control panel visible.
Typewriter
- Set "auto" in the TypeWriter section
- Recall Pi to the display (alpha SEARCH on the 600)
- Execute the command to print the display:
- 600: I/O 03-09
- 700: WRITE 03-09
The value of Pi to 9 decimal places with 3 leading blanks should appear
in the "Output" field.
Note how lowercase ells are used instead of the digit one.
This is because the expected output device is an IBM Selectric which did
not usually have a digit one on the typeball.
GROUP 1 Input
- Set "Addr" field to "0" or blank
- Select the "Grp1" position of the radio button
- Select the "num" option next to "Input"
- In the "Input" field, type a number, composed of digits,
optionally including decimal point, sign, and "e" to introduce an exponent
- Set "auto" (in the Group 1/2 section)
- Execute a GROUP-1 00-00 command sequence
This should result in the number entry being in the display.
Note that each character is treated as a number entry key press,
and the whole string is not interpreted as a floating point value.
This does not always result in the expected value, but usually does.
If GLRN had been set, then the number entry codes would have been
stored in program memory starting at the current P.C. and the display
would have been unchanged.
Block I/O Write
"Write" is from the perspective of the calculator. The calculator will be
sending program steps to the I/O device.
- Set "Addr" field to "0" or blank (in "Group 1/2")
- Select the "Grp1" position of the radio button (in "Group 1/2")
- Set "auto" (in the Group 1/2 section)
- Set "Supported" in the Block I/O section
- Set "auto" (in the Block I/O section)
- Execute a GROUP-1 00-00 command sequence (device light should stay on)
- Execute a I/O command suffix -09 to write 8 bytes to the device
- 600: I/O 13-09
- 700: 08-09
You should see 4 bytes in the "Header" field and 8 bytes in the
"Output" field. The bytes will probably be 0 (mostly) since no interesting
data was provided.
The "Y" display register on the 700, or register [00] on the 600, contains
the address that is provided in the first 3 bytes of the "Header".
Placing a more-interesting value in that register will change the bytes
in the "Header".
The program steps being sent are starting at 0000. Placing something
other than zeroes in the first program steps will change the data seen in
the "Output" field.
As long as the device remains active (light on next to "Group 1/2"),
additional Block I/O commands may be performed. Entering hex, blank-separated,
values in the "Input" field allows non-zero data to be passed for read commands.
PRIME will de-activate the device, after which the GROUP-1 00-00 command
must be run again in order to perform more I/O.
The last nibble of the I/O command determines the operation and length:
- -00
- Read 1 byte from device
- -01
- Read 8 bytes from device
- -02
- Read 16 bytes from device
- -03
- Read 32 bytes from device
- -04
- Read 64 bytes from device
- -05
- Read 128 bytes from device
- -06
- Read 256 bytes from device
- -07
- Read 0/64 bytes from device (undocumented)
- -08
- Write 1 byte to device
- -09
- Write 8 bytes to device
- -10
- Write 16 bytes to device
- -11
- Write 32 bytes to device
- -12
- Write 64 bytes to device
- -13
- Write 128 bytes to device
- -14
- Write 256 bytes to device
- -15
- Write 0/64 bytes to device (undocumented)