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

  1. Set "auto" in the TypeWriter section
  2. Recall Pi to the display (alpha SEARCH on the 600)
  3. Execute the command to print the display: 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

  1. Set "Addr" field to "0" or blank
  2. Select the "Grp1" position of the radio button
  3. Select the "num" option next to "Input"
  4. In the "Input" field, type a number, composed of digits, optionally including decimal point, sign, and "e" to introduce an exponent
  5. Set "auto" (in the Group 1/2 section)
  6. 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.

  1. Set "Addr" field to "0" or blank (in "Group 1/2")
  2. Select the "Grp1" position of the radio button (in "Group 1/2")
  3. Set "auto" (in the Group 1/2 section)
  4. Set "Supported" in the Block I/O section
  5. Set "auto" (in the Block I/O section)
  6. Execute a GROUP-1 00-00 command sequence (device light should stay on)
  7. Execute a I/O command suffix -09 to write 8 bytes to the device

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)