TTY
The TTY interface is the most basic of all NetHack user interfaces, present in all versions since Hack 1.0. It is configured using OPTIONS=windowtype:tty .
Capabilities
The exact capabilities of the TTY interface depend on the available hardware. In some cases, it may support only ASCII. If the connected device is so capable, it may support IBMgraphics or DECgraphics.
On Windows, the program NetHack.exe supports the TTY interface, and possibly the Curses interface as well. It supports IBMgraphics.
On MS-DOS, the default user interface is configured as TTY. The interface supports IBMgraphics, and is highly modified to support tiles. MS-DOS is the only system on which the TTY interface supports tiles in any way.
On Unix (including Linux and Mac), the environment variable TERM must be set to the type of terminal in use. On a well-configured public server, the login program that launches NetHack will take care of this requirement. For play on local machines, this will usually be a setting like "export TERM=xterm" or "export TERM=xterm-color", and is normally part of the default configuration. This requirement applies to any program that uses cursor control in a text window, such as vi, and is not limited to NetHack. If the screen shows gibberish or the arrow keys do not work as expected, the TERM variable is one thing to check.
ttyrecs are recordings of the output of the TTY or Curses interface.
Etymology
The TTY interface gets its name from the "tty" devices found on Unix systems, such as /dev/tty01. This name "tty", in term, is an abbreviation for Teletype, a device that in ancient times might be found connected to a tty device. An actual Teletype is very poorly suited for playing NetHack.