Running Environment

The simulator configuration is controlled by the "rc" file "~/.wang1200.rc". This file is normally configured through the "System"/"Setup" menu items, but may also be editted manually if necessary (beware of mispelling paramters). The following parameters on the setup window control certain aspects of the system. The corresponding parameter names in the rc file are listed in square brackets.

[wang1200_home] Path to wang1200 files. Default: ~/Wang1200Files.
[wang1200_page_cpi] Affects size of font used to print documents (native, "real" printer). If not zero, used with size of printed page to compute font metrics to achieve desired number of characters per inch. These four settings may work against each other, but the smallest font that conforms to all setting will be used. Default: 10.
[wang1200_page_cpl] Affects size of font used to print documents. If not zero, used with size of printed page to compute font metrics to achieve desired number of characters per line. Default: 0.
[wang1200_page_lpi] Affects size of font used to print documents. If not zero, used with size of printed page to compute font metrics to achieve desired number of lines per inch. Default: 6.
[wang1200_page_lpp] Affects size of font used to print documents. If not zero, used with size of printed page to compute font metrics to achieve desired number of lines per page. Default: 0.
Enable footers
[wang1200_page_footers] Whether a footer will be printed on each page of document. Default: false (no footer).
Footer Text
[wang1200_page_footertext] Text to print on document footer, in addition to page number and date/time. Default "Wang 1200 Output".
Other parameters (maintained by the system, not typically user-controlled), that are not exposed in the "Preferences" dialog, are:
Left Tape image
[wang1200_left_tape_image] The tape image file last used in the Left Tape Drive. Default: none.
Right Tape image
[wang1200_right_tape_image] The tape image file last used in the Right Tape Drive. Default: none.
Tape file suffix
[wang1200_tape_file_suffix] Suffix used for files that contain tape images. Default: "wpt".

The simulator is normally started with the following command:

An alternative is to run the simulator with debugging enabled.

Or the option "-I" (capital "I") causes the program to stop in the debug console before the calculator is initialized. Type the command "go" to start the calulator (other commands allow tracing, setting break points, etc).

Pressing "%" in the calculator window will pause the simulation and print a command prompt. The command "help" will display available debug commands.

In order to use the debugging console, the simulator must have been started from a "terminal window" that is still active (all debug interaction will take place there, i.e. using stdin/out). Note, desktop icons often do not retain a terminal window after starting the program.

About The Simulator

The Wang 1200 Word Processing simulator takes various liberties in order to allow operation on a modern computer.

One such is that the original system qwas constantly executing instructions while waiting for commands or typing. The simulator cannot consume 100% CPU on the host computer, so it must recognize the main idle loop and perform a sleep in order to lessen the CPU consumption. Note, however, that the simulator is still running but simply not spinning at full speed.


The simulation uses your normal computer keyboard for entering text, although modern computer keyboards do not exactly match the keyboards for IBM Selectric typewriters. Some notable differences, and translations, are:

¢^ (Shift 6)

The original Selectric typewriters allowed for some variation in the character set, by changing typing elements ("golf balls"). This simulation does not support changing typing elements, at present. The typing elements often switched the meaning of the codes for "1" and "!" to be "]" and "[", leaving the only way to type the digit "1" being to use lower-case ell. In fact, the Wang Calculators use 'ell' for 'one' when printing numbers, perhaps to avoid complications if a user substituted a different typing element in their Selectric-based "Output Writer". When reading Wang documentation, you may see references to the "]" character, which should be translated to the digit one "1" when using the simulator.

Also, the original typewriter had the concept of Left Margin. That makes less sense when a virtual page is being displayed, printed, or saved. Manipulation of the left margin was outside the scope of the Wang 1200 Word Processing System, being done manually on the typewriter without the system knowing. The simulation likewise does not handle a left margin.

Since the simulation uses "virtual paper", handling of the output is different. There is no platten to roll forward or backward. The "Paper" menu may be used to "Tear Off" (erase any currently printed text), "Save" (save to a text file), or "Print". The Print option only prints what is currently in the virtual paper buffer, and does not provide any fancy formatting. Saving to a file would permit inclusion in a modern word-processing program document, where additional formatting could be done.

To simulate the carriage position indicator, a small box above the typing area contains the current column number. In addition, there is a "cursor" character (▲) shown below the current column on the typing area.

Also above the typing area there are two indicators, 'bell' and 'lock', which provide some feedback from the system.

'bell' will light up in addition to (or absence of) any tone or bell sound.

'lock' will light up whenever the system would have locked the typewriter keyboard. Currently, this does not actually prevent typing.

The System Menu

The contents of the typing window may be Saved, Printed, or Torn Off (erased).

For printing, there is also a menu item for Setup that allows specifying desired pitch (Characters per Inch, Lines per Inch) and page/line size, as well as text to print in an optional footer. If any of the pitch or size numbers are set to zero, that setting is effectively "don't care". Otherwise, the smallest font that fits all the settings will be chosen.

The Save option will save the text to a file. Future options may permit file formats such as HTML or RichText.

The Tear Off option erases all text in the typing area. Future options might allow for a Keep feature where the current typing area is copied into a detached window and then erased. This would allow viewing a copy while making a final, clean, run.

Wang Added Keys and Functions

The simulation allows the use of the computer keyboard ALT key to be used for the CODE function, however not all Java versions allow that to work. The CODE button will be illuminated whenever the ALT key is down.

Due to difficulties with handling color changes on buttons, the Java simulation uses a bright yellow color for keys that are "illuminated". This obscures the keys normal color, which may be confusing when comparing a running simulation with the original machine, and make it difficult to detect when a key is illuminated if you did not actually observe it change color.

The EDIT mode is selected by depressing both the PLAY and RECORD buttons. This is accomplished by using the SHIFT key on your keyboard. With either PLAY or RECORD depressed, hold the SHIFT key down and click on the other (RECORD or PLAY). This should result in both being "down". Clicking, without the SHIFT key down, on any of the TRANS., PLAY, or RECORD buttons should release the PLAY+RECORD state and select only the button that was clicked.

Cassette Tapes

The tape drives use files on your computer, and as such operate differently than tapes in the original machine. When you click on the white "eject" button, to the right of a tape drive, a File selection dialog pops up. This dialog allows you to select an existing file, type the name of a new file (creating it), or clicking on CANCEL to leave/set the tape drive "empty". There is also a checkbox on the dialog to "Protect" the tape. This is equivalent to removing the corner tab of a cassette tape, which would prevent recording.

The green window on the tape drive shows the current status of the drive. When a tape is mounted (file selected), the file name, protection status ("R/O" for Read Only), and position on the tape (by "block" or line) is shown.

The system provided some protection from removing tapes that were not rewound. Currently, the simulator's tape drives are never "locked". If an actual signal for locking the tape drives can be found, that may be implemented later.