ASR 33 Teletype Help

The ASR 33 Teletype can operate under program control or independent of the PDP-8 unter manual control. When operated in manual mode, characters typed at the keyboard are printed by the type writer of the teletype. When additionally the paper tape punch is turned on, the typed characters are punched on the papter tape, too. When a paper tape is loaded into the reader and the reader is turned on, the teletype ignores the keyboard input and reads characters to print or punch from the reader paper tape.

When the teletype is used in online mode, characters typed at the keyboard or read from the reader paper tape are not printed or punched, but their ASCII value is transferred into the keyboard buffer register KBB, from where the PDP-8 can read it into the accumulator AC. The PDP-8 then can use teletype output IOTs to write the character to the teletype output buffer register TTO to initiate the printing or punching of the character.

The teletypes of the PDP-8/E Simulator have the following improvements compared to hardware ASR 33 Teletypes:

Console Teletype

The console teletype uses I/O address 03 for the keyboard and reader and 04 for the printer and punch and supports the following IOTs:

Mnemonic
Symbol
Octal
Code

Description
KCF 6030 Clear the keyboard/reader I/O flag (“Console TTY In” in the CPU window). Do not start the reader to read the next tape character.
KSF 6031 Skip the next instruction when the keyboard/reader I/O flag is raised, i. e. a new character is loaded into the keyboard buffer register KBB.
KCC 6032 Clear AC and the keyboard/reader I/O flag. When the paper tape reader is turned on, start to read the next character from the tape. When a new value is loaded into KBB (from the tape or — when the reader is turned off — because the user typed a key), the flag is raised again.
KRS 6034 Transfer KBB into AC(4–11) by performing a logical OR (“static” read).
KIE 6035 Load the keyboard/reader and printer/punch interrupt enable flag from AC(11) to enable or disable teletype interrupts.
KRB 6036 Clear AC and the keyboard/reader I/O flag, then read KBB into AC(4–11). Microprogrammed combination of KCC and KRS.
TFL 6040 Set the printer/punch I/O flag (“Console TTY Out” in the CPU window).
TSF 6041 Skip the next instruction when the printer/punch I/O flag is set.
TCF 6042 Clear the printer/punch I/O flag.
TPC 6044 Load the teletype output buffer register TTO with the contents of AC(4–11) and start to print and, when the punch is turned on, to punch the character from TTO. When the output is completed, the printer/punch I/O flag is raised.
TSK 6045 Skip the next instruction when an interrupt was caused by the teletype, i. e. when the interrupt mask flag for input or output and the corresponding I/O flag are both set.
TLS 6046 Clear the printer/punch I/O flag, load TTO from AC(4–11) and start the output. When the output is completed, the printer/punch I/O flag is raised again. Microprogrammed combination of TCF and TPC.

Remark

Earlier PDP-8 models (PDP-8, -8/S, -8/I, -8/L) do not support the IOTs KCF (6030), KIE (6035), TFL (6040), and TSK (6045).

Auxiliary Teletype

The PDP-8/E Simulator includes an Auxiliary Teletype that you can activate in the Finder information window for the PDP-8/E Simulator application in the area “Plug-ins”. (With Mac OS X 10.6 “Snow Leopard”, Apple has removed the Plug-ins section from the Finder information window, and you must open the application package manually and move the Auxiliary Teletype from the folder “Contents/PlugIns Disabled” to “Contents/PlugIns”.)

In the CPU window, the flags for the Auxiliary Teletype are called “Auxiliary TTY In” and “Auxiliary TTY Out”. It uses the I/O addressed 40 for input and 41 for output and supports the following IOTs:

Mnemonic
Symbol
Octal
Code
Corresponding
Console Teletype IOT
AKCF 6400 KCF (6030)
AKSF 6401 KSF (6031)
AKCC 6402 KCC (6032)
AKRS 6404 KRS (6034)
AKIE 6405 KIE (6035)
AKRB 6406 KRB (6036)
ATFL 6410 TFL (6040)
ATSF 6411 TSF (6041)
ATCF 6412 TCF (6042)
ATPC 6414 TPC (6044)
ATSK 6415 TSK (6045)
ATLS 6416 TLS (6046)

Additional Teletypes

When you need additional teletypes, you can duplicate the Console or Auxiliary Teletype plugin and then modify the property list that describes the I/O addresses and IOTs for the plugin. You find this property list inside the plugin package at Contents/Resources/English.lproj/auxtty-io-info.plist.