diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..648a0e2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.aux +*.log +*.out +*.toc +.kile +*.synctex.gz diff --git a/README.md b/README.md index c6ec282..449d0c7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,17 @@ -# vt132-quickref +# VT132-QuickRef + +This document aims to provide a Quick Reference Guide for the VT132 terminal/modem module for RC2014-style +computers. + +This is a LaTeX document, so a working LaTeX installation is needed to compile it. + +A compiled version is available as ```vt132.pdf```. + +To edit the document in the LaTeX editor Kile, a kile project file (```vt132.kilepr```) is provided. + +To compile the file, just run ```pdflatex vt132.tex``` (2 times to get the references right) and you get the ```.pdf``` file. + +The script ```clean.sh``` can be used to remove all intermediate files. + +The Debian/Ubuntu package ```texlive-fonts-extra``` (besides ```texlive``` as the base TeXlive package) is needed to provide the font "Linux Libertine". -Quick Reference Guide for the VT132 terminal/modem module \ No newline at end of file diff --git a/appendix.tex b/appendix.tex new file mode 100644 index 0000000..5600a95 --- /dev/null +++ b/appendix.tex @@ -0,0 +1,86 @@ +\appendix + +\chapter{Hardware} + +\section{Installation} + +To install the VT132 in a RC2014 or a compatible system, place it in a standard or extended bus socket. + +If your backplane does not offer an extended bus, the modem cannot be used via bus pins, instead the modem FTDI header has to be used. +The extended bus pins are not used for other purposes. + +\textbf{On a new VT132, the NVR (Non-volatile RAM) is not initialized.} + +At power-on or reset, following the \textbf{Wait} message, a new VT132 will display \textbf{Error} along with a series of bells. +This is expected because the NVR has not been initialized. +Once you write settings to the NVR, this error should not persist. + +\section{Jumper settings and headers} + +The board features the following jumpers: + +\begin{tabular}{p{7em} | p{0.71\textwidth}} +\hline +\textbf{Jumper} & \textbf{Function} \\ +\hline +JP1 RxA & \multirow{2}{*}{Connect terminal to port A on bus pins} \\ +JP2 TxA \\ +\hline +JP3 RxB & \multirow{2}{*}{Connect modem to port B on ext. bus pins} \\ +JP4 RxB \\ +\hline +JP5 Pwr FTDI & Connect Power to FTDI +5V pin \\ +\hline +JP6 Pwr Modem & Connect Power to modem FTDI +5V pin \\ +\hline +\end{tabular} + +Enabling JP1 and JP2 is highly advised, as the VT100 terminal serial connection is not available on a FTDI header. + +If you want to provide power to, or take power from either of the 6 pin headers then JP5 and JP6 will provide power +or isolate the \texttt{Vcc} pin in the \texttt{FTDI Program} and \texttt{Modem Port B} 6-pin headers respectively. + +\textbf{Warning:} You should normally only connect one power source to the system at a time. + +\begin{tabular}{ c | p{0.38\textwidth} || c | p{0.38\textwidth}} +\hline +\multicolumn{2}{ l || }{FTDI Program} & \multicolumn{2}{ l }{Modem Port B} \\ +\hline +\textbf{Pin} & \textbf{Function} & \textbf{Pin} & \textbf{Function} \\ +\hline +1 & GND & 1 & GND \\ +2 & not connected & 2 & CTS \\ +3 & Vcc (+5V) & 3 & Vcc (+5V) \\ +4 & Tx & 4 & Tx \\ +5 & Rx & 5 & Rx \\ +6 & not connected & 6 & RTS \\ +\hline +\end{tabular} + +If your RC2014 serial module uses the RTS/CTS pins, you can disable JP3+4 and use jumper wires to connect the \textbf{Modem Port B} of the VT132 to your serial module, +as no bus pins are assigned to RTS/CTS. + +The \textbf{FTDI Program} header outputs debug messages from the ESP32 microcontroller. You can connect another terminal (or a PC) to watch the debug output. +The output uses 115.200 baud, 8 data bits, no parity, 1 stop bit (8-N-1). + +It is also possible to flash the ESP32 via this header. To enable the \textit{programming mode}, press and hold \textbf{Reset}, press and hold \textbf{Prog}, release \textbf{Reset} +and release \textbf{Reset}. Another firmware can now be uploaded, eg. via \texttt{esptool}. + +\newpage +\section{Buttons} + +The VT132 module offers two buttons: + +\begin{itemize} + \item Reset + \item Prog +\end{itemize} + +The hardware \textbf{Reset} button on the PCB reboots the ESP32 (EN line reset). This will cause both the VT100 terminal and the modem to reset. +Any unsaved settings (terminal and/or modem settings) will be lost. + +\textit{Note:} The computer connected to the VT132 will not be reset, so after the reset, you will be in the same program as before. + +The hardware \textbf{Prog} button is used to switch the baud rate of the modem. After each press of this button, the modem outputs its new +baud rate to the serial port - so you can press this button repeatedly until you can read your baud rate. + diff --git a/clean.sh b/clean.sh new file mode 100755 index 0000000..e690508 --- /dev/null +++ b/clean.sh @@ -0,0 +1,2 @@ +#!/bin/sh +rm *.aux *.log *.out *.toc *.synctex.gz diff --git a/includes.tex b/includes.tex new file mode 100644 index 0000000..c0f8af6 --- /dev/null +++ b/includes.tex @@ -0,0 +1,29 @@ +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{libertine} + +\usepackage{tabulary} +\usepackage{varioref} +\usepackage{graphicx} +\usepackage{multirow} + +\usepackage[bookmarks=true, + bookmarksnumbered=true, + pdfpagemode=UseOutlines, + pdfstartview={FitV 0}, + pdffitwindow=true, + colorlinks=true, + linkcolor=black, + citecolor=black, + filecolor=black, + urlcolor=black, + pdfauthor={Anna Christina Nass}, + pdftitle={VT132 Manual}, + pdfsubject={Documentation}, + pdfkeywords={VT132} + ]{hyperref} + +% Give a little room between table rows: +\renewcommand{\arraystretch}{1.2} +% The TOC should only contain Chapters and Sections: +\setcounter{tocdepth}{\sectiontocdepth} diff --git a/introduction.tex b/introduction.tex new file mode 100644 index 0000000..fc6b0b9 --- /dev/null +++ b/introduction.tex @@ -0,0 +1,14 @@ +\chapter{Introduction} + +The VT132 terminal module is a RC2014 compliant module which makes it possible to use a RC2014 as a stand-alone computer +as it provides keyboard input and VGA display output. + +It also provides WiFi modem emulation which enables the use of a terminal program (like Kermit or QTerm on CP/M) for +transferring data, controlling a remote computer or logging into a BBS. + +This Quick Reference Guide lists the options and commands needed for everyday use of the VT132. + +For a more in-depth look into details, please consult the VT132 website provided by TheHighNibble: + +\url{https://thehighnibble.com/vt132/} + diff --git a/logo.png b/logo.png new file mode 100644 index 0000000..0723607 Binary files /dev/null and b/logo.png differ diff --git a/modem.tex b/modem.tex new file mode 100644 index 0000000..694f254 --- /dev/null +++ b/modem.tex @@ -0,0 +1,238 @@ +\chapter{The Modem} + +\section{Background} + +Unlike the VT100 terminal, the modem does not try to faithfully emulate any particular original device. + +Instead it is designed to provide an MVP (minimum viable product) providing a modified Hayes 'AT' compatible command set for connecting over Wi-Fi via TCP/IP sockets with an optional Telnet protocol layer. + +\begin{itemize} +\item The original 'AT' command set was strictly in upper case. This is because the bit sequence of the ASCII values for 'A' and 'T' have a specific property that enables autobaud detection of the connection to the data terminal equipment (DTE). +\item \textbf{The modem only responds to 'AT' commands in upper case.} +\item Commands are terminated by \texttt{} (carriage return, \texttt{-m}, \texttt{0x0D}, decimal 13) usually generated by the \texttt{Enter} or \texttt{Return} key on your keyboard. +\item Commands can by edited, before pressing \texttt{}, using \texttt{} (backspace, \texttt{-H}, \texttt{0x08}, decimal 8) to erase the previous character entered. You may need to configure the terminal to generate \texttt{} when you press the \texttt{Backspace} or \texttt{<-} key on your keyboard. +\item The 'AT' command processor is based on a finite state machine (FSM). If you type anything that is not recognized by the rules of the FSM you will immediately see an \texttt{Error} message. +\end{itemize} + +% TODO: +% - Hinweis auf EN-Button für Baudrate +% - Hinweis auf Nutzung via Bus oder FTDI-Header + +\newpage +\section{Modem commands} +\subsection{Standard commands} + +All commands (except \texttt{AT} by itself, \texttt{A/} and \texttt{+++}) need to have (uppercase) \texttt{AT} prefixed. + +\begin{tabular}{p{6em} | p{0.75\textwidth}} +\hline +\textbf{Command} & \textbf{Function} \\ +\hline +AT & Test, answers \texttt{OK} \\ +A/ & Repeat last command (immediate) \\ +\$ & Show Help \\ +I or I0 & Show modem model string \\ +I1 & Show firmware version string \\ +I2 & Show firmware build chain version string \\ +Z & Modem soft reset \\ +\&F & Restore factory defaults (does not store to NVRAM) \\ +\&W & Write settings to NVRAM \\ +D\textit{host:port} & Open connection to \textit{host:port}, port defaults to 23 \\ +$+++$ & Escape from data mode to command mode \\ +O & Return to data mode \\ +H & Hangup \\ +\&A & Enable Answer mode \\ +A & Answer an incoming call \\ +S\textit{n} & Select register \textit{n} as current register \\ +? & Query current register \\ +=\textit{r} & Set value of register to \textit{r} \\ +S\textit{n}=\textit{r} & Set value of register \textit{n} to \textit{r}, eg. \texttt{S15=1} \\ +\&K or \&K0 & Disable RTS/CTS flow control \\ +\&K1 & Enable RTS/CTS flow control \\ +\hline +\end{tabular} + +\subsection{WiFi commands} + +\begin{tabular}{p{6em} | p{0.75\textwidth}} +\hline +\textbf{Command} & \textbf{Function} \\ +\hline +$+$W? & Show WiFi status \\ +$+$W$=$\textit{sss},\textit{ppp} & Connect to WiFi SSID \textit{sss} using password \textit{ppp} \\ +$+$W\$ & Show WiFi IP address \\ +$+$W\# & Show Wi-Fi MAC address \\ +$+$W$+$ & (Re)connect to WiFi \\ +$+$W$-$ & Disconnect from WiFi \\ +$+$B? & Query Baud Rate used on serial port \\ +$+$B=\textit{n} & Set Baud Rate on serial port \newline + (4800, 9600, 14400, 19200, 38400, 57600, 115200) \\ +$+$T? & Query Telnet TERM environment variable \\ +$+$T=\textit{ttt} & Set Telnet TERM environment variable \\ +\hline +\end{tabular} + +\subsection{OTA update commands} + +\begin{tabular}{p{6em} | p{0.75\textwidth}} +\hline +\textbf{Command} & \textbf{Function} \\ +\hline +$+$U=\textit{url} & Set custom URL to fetch image from \\ +$+$U? & Query for new version online and show status \\ +$+$U\textasciicircum & Upgrade to queried version if it is newer \\ +$+$U! & Force upgrade even if queried version is the same or older \\ +$+$U\$ & Show OTA partition status \\ +\hline +\end{tabular} + +\subsection{Enable Telnet mode} + +Use \texttt{ATS15=1} to enable Telnet mode. + +\newpage +\subsection{S Registers} +\label{sregister} + +The modem has a total of 51 'S' registers, \texttt{S0} to \texttt{S50}. + +Most of them are undefined and unused. The following table lists all defined registers that are used by the VT132 modem part. + +\begin{tabulary}{\textwidth}{L | L | L} +\hline +\mbox{\textbf{Register}} & \mbox{\textbf{Default}} & \textbf{Function} \\ +\hline +S0 & 0 & Number of rings before Auto-Answer \newline (0-255, 0 = never) \\ +S1 & 0 & Ring Counter (0-255 rings) \\ +S14 & 23 & TCP/IP Port for Answer Mode (0-65535) \\ +S15 & 0 & Telnet Protocol for Data Mode (0/1) \\ +S16 & 3 & Negotiate Telnet SGA (0/1/2/3) \\ +S17 & 3 & Negotiate Telnet ECHO (0/1/2/3) \\ +S18 & 0 & Negotiate Telnet BIN (0/1/2/3) \\ +S19 & 3 & Negotiate Telnet NAWS (0/1/2/3) \\ +S20 & 80 & NAWS Negotiate Columns (0-255) \\ +S21 & 24 & NAWS Negotiate Rows (0-255) \\ +S22 & 3 & Negotiate Telnet TERMINAL-TYPE (0/1/2/3) \\ +S39 & 0 & RTS/CTS Flow Control (0/1, set by AT\&K) \\ +\hline +\end{tabulary} + +\bigskip +\begin{tabular}{rl} +0/1: & 0 - disabled, 1 - enabled \\ +0/1/2/3: & 0 - Won't/Don't, 1 - Will, 2 - Do, 3 - Will/Do \\ +\end{tabular} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55 + +\newpage +\section{WiFi Messages} + +\subsection{Dial response messages} + +The following table shows the responses to the dial command \texttt{ATDhost:port} +\medskip + +\begin{tabular}{p{8em} | p{0.68\textwidth}} +\hline +\textbf{Response} & \textbf{Reason} \\ +\hline +\footnotesize{\texttt{NO DIALTONE}} & no Wi-Fi connection has been established with an AP \\ +\footnotesize{\texttt{ALREADY IN CALL}} & a connection is already established ('Dialed' or 'Answered') with another host \\ +\footnotesize{\texttt{ERROR}} & no hostname is provided \\ +\footnotesize{\texttt{NO ANSWER}} & no socket can be opened to the remote \textit{hostname}:\textit{port} \\ +\footnotesize{\texttt{CONNECT}} & a socket connection is opened with \textit{hostname}:\textit{port} \\ +\footnotesize{\texttt{CONNECT TELNET}} & a Telnet connection is opened with \textit{hostname}:\textit{port} \\ +\hline +\end{tabular} + +\subsection{Query Wi-Fi status messages} + +The following table shows the responses to the \textbf{Query WiFi status} command \texttt{AT+W?} +\medskip + +\begin{tabular}{p{10.5em} | p{0.6\textwidth}} +\hline +\textbf{Response} & \textbf{Reason} \\ +\hline +\footnotesize{\texttt{WIFI NOT STARTED}} & no Wi-Fi connection has been attempted since power-on or hardware reset \\ +\footnotesize{\texttt{WIFI IDLE}} & Wi-Fi status is queried during a connection attempt \\ +\footnotesize{\texttt{WIFI NO SSID}} & no AP with the given SSID/password is found following the \texttt{AT+W+} or \texttt{AT+W=}\dots commands \\ +\footnotesize{\texttt{WIFI CONNECTED}} & connection successful to an AP with the \texttt{AT+W+} or \texttt{AT+W=}\dots commands \\ +\footnotesize{\texttt{WIFI CONNECT FAILED}} & tba \\ +\footnotesize{\texttt{WIFI CONNECTION LOST}} & lost connection with the AP \\ +\footnotesize{\texttt{WIFI DISCONNECTED}} & unsuccessful connection attempt, or a successful disconnection with the \texttt{AT+W-} command \\ +\hline +\end{tabular} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\section{Telnet} + +\subsection{Telnet options} + +The VT132 supports the following Telnet options: + +\begin{itemize} + \item SGA (Suppress Go Ahead) + \item ECHO + \item BIN (Binary Transmission) + \item NAWS (Negotiate About Window Size) + \item TERMINAL-TYPE +\end{itemize} + +Each Telnet Option is negotiated in via a request/response exchange described as \textit{Do/Don't} (request) and \textit{Will/Won't} (response). Trying to understand how these work for each Option usually requires reading the RFC and extreme patience and experimentation. + +Usually you either want an Option completely \textbf{On} (Do/Will) or \textbf{Off} (Don't / Won't). + +Setting the supported Options and their default values are defined via specific 'S' Registers \vref{sregister}. + +In summary the defaults are: + +\begin{tabular}{p{6em} | p{5.5em} | p{0.55\textwidth}} +\hline +\textbf{Option} & \textbf{Default} & \textbf{Description} \\ +\hline +SGA & Do/Will & required for the NVT to work character by character and not in linemode \\ +ECHO & Do/Will & tba \\ +BIN & Don't/Won't & To operate as an NVT, binary mode is not required. File transfer protocols like KERMIT and XMODEM do their own binary encoding \\ +NAWS & Do/Will & The remote host can learn your terminal windows size in characters, the default is 80 x 24 set in S20 and S21 respectively \\ +TERMINAL-TYPE & Do/Will & The remote host can learn your terminal type, the default is vt100 \\ +\hline +\end{tabular} +\bigskip + +The \texttt{TERMINAL-TYPE} must be known by the remote system to be recognised. + +When connecting to \texttt{telnetd} on MacOS I use \texttt{vt100+} from the \texttt{terminfo} database which provides support for color over and above the standard \texttt{vt100} terminal type, making text applications like \texttt{htop} work as expected and in color. + +\subsection{Enabling Telnet Protocol} + +Telnet protocol is \textbf{not} enabled by default. + +\begin{itemize} +\item To enable the Telnet protocol you must manually set 'S' Register S15 to 1 with \texttt{ATS15=1} +\item To disable the Telnet protocol you must manually set 'S' Register S15 to 0 with \texttt{ATS15=0} +\end{itemize} + +The Telnet protocol is applied to both \textbf{outgoing} connections 'Dialed' with ATD and \textbf{incoming} connections 'Answered' with \texttt{ATA} or Auto-answer. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newpage +\section{Answer Mode} + +Listening for incoming TCP/IP socket connections is \textbf{not enabled} by default. + +\begin{itemize} +\item To \textbf{enable} listening for incoming TCP/IP socket connections you must manually enter \texttt{AT\&A} to \textit{Enable Answer Mode}. +\item Answer Mode will remain enabled, and can only disabled by an \texttt{ATZ} (Soft Reset), hardware reset or power-cycle. +\item Incoming TCP/IP socket connections will cause the modem to respond with \texttt{RING}, repeated every three (3) seconds. +\item As each \texttt{RING} occurs the Ring Counter in \texttt{S1} is incremented by one (1). +\item The user can \textit{Answer} the incoming call at any time with \texttt{ATA} and the modem will accept the TCP/IP socket connection and enter \textbf{Data Mode}. +\item If the \textbf{Number of rings before Auto-Answer} is set in \texttt{S0} to a number greater than zero (0 = never) and \texttt{S1} is greater-then-or-equal to \texttt{S0} the modem will \textit{Auto-answer}: accept the TCP/IP socket connection and enter \textbf{Data Mode}. +\item If Telnet protocol is enabled by \texttt{ATS15=1} then the Telnet Protocol will be negotiated with the remote host after the modem enters \textbf{Data Mode}. +\item The user can \textit{Hangup} an incoming call by sending the Escape Sequence \texttt{+++} (with guard times) to return to \textbf{Command Mode} and then sending \texttt{ATH} to \textit{Hangup}. +\item A Hangup \texttt{ATH} will reset the Ring Counter in \texttt{S1} to zero (0). +\end{itemize} diff --git a/setup.tex b/setup.tex new file mode 100644 index 0000000..4c541b6 --- /dev/null +++ b/setup.tex @@ -0,0 +1,133 @@ +\chapter{Set-Up Mode} + +\section{Keys in Set-Up Mode} + +\begin{tabular}{p{6em} | p{0.75\textwidth}} +\hline +\textbf{Key} & \textbf{Function} \\ +\hline +\texttt{F1} & Show/hide help \\ +\texttt{5} & Advance to the next screen \\ +\texttt{Shift-T} & Reset tab stops to default \\ +\texttt{Tab} & Move cursor to the next tab stop \\ +\texttt{Enter} & Move cursor to the beginning of the line \\ +\texttt{Shift-C} & On Set-Up B: reset NVRAM to factory defaults on next boot \\ +\hline +\end{tabular} + +\section{The Set-Up Screens} + +The Set-Up screens imitate the same functions on a real DEC VT100 terminal. + +Use \texttt{F1} to toggle the help display which shows all keys. \\ +Use \texttt{5} to advance to the next screen. + +\subsection{Set-Up A} + +This page shows the tab stops and offers to toggle \textbf{80/132 columns} text display and also switching between +\textbf{online} and \textbf{local mode}. + +In \textbf{online mode}, the terminal is connected to the computer via the serial port.\\ +In \textbf{local mode}, the terminal can be used to connect directly to the modem using the \textit{Quick Settings menu} (see \vref{quicksettings}). + +Use \texttt{Shift-S} (capital \texttt{S}) to save and \texttt{Shift-R} (capital \texttt{R}) to recall the settings from NVS. + +\subsection{Set-Up B} + +On this page, various configuration 'bits' can be set. Use the cursor to navigate above the bit and press \texttt{6} to toggle it. Use \texttt{Tab} and \texttt{Enter }to move quicker. + +These bits are available: + +\begin{tabular}{p{8em} | p{0.68\textwidth}} +\hline +\textbf{Bit} & \textbf{Function} \\ +\hline +Scroll & Use smooth scrolling \\ +Auto Repeat & Press longer on a key and the input will be repeated \\ +Screen Inv. & Invert the screen colors (to eg. black on white) \\ +Cursor & Change cursor shape (block / line) \\ +\hline +Margin Bell & Ring the bell when cursor is on right margin \\ +Keyclick & Every keypress will make a clicking sound \\ +Ansi/VT52 & \dots \\ +Auto Xon/off & Use Xon/Xoff as flow control \\ +\hline +US/UK & Switch between US and UK keyboard layout \\ +Wrap Around & \dots \\ +New Line & \dots \\ +Interlace & Enable a 'scanline effect' \\ +\hline +Parity Odd/Even & Not used \\ +Parity & Not used \\ +Bits 7/8 & Not used \\ +Backspace DEL/BS & Send DEL or BS when pressing \texttt{Backspace} \\ +\hline +Bold is Bright & If bold text is displayed bright \\ +Bold is Thick & If bold text is displayed \textbf{thick} \\ +Home on Erase & Should the cursor go to upper left on clear screen \\ +NumLock on Reset & Should NumLock be enabled on bootup \\ +\hline +\end{tabular} + +\newpage +\textbf{Please note:} +\begin{itemize} + \item Use keys \texttt{7} and \texttt{8} to set the baudrate used on the terminal serial port, it is shown in the lower right. + \item The bits for \textbf{bold} text are applied to text with the attribute \texttt{ESC [1m}. + \item \textit{Home on Erase} makes the cursor go home (\texttt{ESC [H}) on a clear screen request (\texttt{ESC [2J}), just as MS-DOS \texttt{ANSI.SYS} works. +\end{itemize} + +\subsection{Set-Up C} + +This screen is a VT132 enhancement over the VT100 functionality. \\ +You can also see the version number and the memory utilization (with help disabled). + +You can change the following settings: + +\begin{tabular}{ c | p{0.88\textwidth}} +\hline +\textbf{Key} & \textbf{Function} \\ +\hline +2 & Select codepage (DEC or Codepage 437) \\ +3 & Select lines per screen (24, 25 or 30) \\ +6 & Toggle ANSI or VGA color palette \\ +7 & Set default foreground color \\ +8 & Set default background color \\ +\hline +\end{tabular} + +\textbf{Please note:} +\begin{itemize} + \item Codepage 437 is not available in 132 column mode. + \item When switching to 30 line mode, the modem part of VT132 is not available due to memory constraints. + \item To set the colors, move the cursor above the desired color on the bottom left of the screen. + \item The current default foreground/background color is displayed by the word \texttt{Default} on the last line of the screen. + \item The current screen size is displayed on the last line of the screen. +\end{itemize} + +\subsection{Set-Up D} + +This screen is a VT132 enhancement over the VT100 functionality. + +\begin{tabular}{ c | p{0.85\textwidth}} +\hline +\textbf{Key} & \textbf{Function} \\ +\hline +6 & Set the keyboard layout \\ +7 & Toggle MCS/NRCS \\ +\hline +\texttt{$\uparrow$} & \multirow{2}{*}{Change Personality} \\ +\texttt{$\downarrow$} & \\ +\hline +\end{tabular} + +\textbf{Please note:} +\begin{itemize} + \item To change the keyboard layout, move the cursor above the desired label and press \texttt{6}. + \item When enabling NRCS, certain characters in the lower 127 characters are replaced with country-specific characters according to the + selected keyboard layout. + \item The current keyboard layout and personality is shown in the last line of the screen. + \item Selecting \textit{WordStar/VT100} will enable WordStar cursor movement sequences for the cursor keys instead of standard ANSI + cursor sequences \textit{(ANSI/VT100)}. +\end{itemize} + diff --git a/terminal.tex b/terminal.tex new file mode 100644 index 0000000..be0987e --- /dev/null +++ b/terminal.tex @@ -0,0 +1,75 @@ +\chapter{The Terminal} + +The main function of the VT132 is the terminal. It functions as a VT100 terminal but is also capable of +ANSI color sequences and can also display DOS \texttt{ANSI.SYS} compatible sequences.\\ +Alternative personalities like ADM-3A or VT-52 are also available. + +\section{Keys in Terminal Mode} + +\begin{tabular}{p{6em} | p{0.75\textwidth}} +\hline +\textbf{Key} & \textbf{Function} \\ +\hline +\texttt{Alt-SysRq} & Open Setup Screen \\ +\texttt{Alt-Esc} & Open Quick Settings Menu \\ +\texttt{Ctrl-J} & Send \texttt{LINEFEED} key \\ +\texttt{ScrollLock} & \texttt{NO SCROLL} function, like Ctrl-S / Ctrl-Q \\ +\hline +\end{tabular} + +\section{The Quick Settings Menu} +\label{quicksettings} + +Use these keys to navigate inside this menu: + +\begin{tabular}{p{6em} | p{0.75\textwidth}} +\hline +\textbf{Key} & \textbf{Function} \\ +\hline +\texttt{Esc} & Close Quick Settings Menu (at top level)\\ +\hline +\texttt{Space} & \multirow{3}{*}{Make selection, enter menu} \\ +\texttt{Enter} & \\ +\texttt{$\rightarrow$} & \\ +\hline +\texttt{Esc} & \multirow{3}{*}{Go back one level} \\ +\texttt{Backspace} & \\ +\texttt{$\leftarrow$} & \\ +\hline +\end{tabular} + +\begin{itemize} + \item Selecting an action (ie. not a menu or checkbox/radio button) will execute this action and close the menu. + \item You can press the \underline{underlined} key to select an option. +\end{itemize} + +The following menu options are available: + +\begin{itemize} + \item Actions: + \begin{itemize} + \item Clear display + \item Soft reset + \item Reset terminal: The same as \texttt{0} in Set-Up menus + \item Reboot: Reboots the microcontroller of the VT132 + \item Clean NVR: ``factory reset'' the VT132 by deleting all terminal and modem settings + \end{itemize} + \item Terminal Type: + \begin{itemize} + \item Emulation Mode: change personality + \item 7-bit NRCS characters: enable/disable NRCS mode + \end{itemize} + \item ASCII emulation: + \begin{itemize} + \item Select a pre-defined emulation ``profile'' + \item White/Green/Amber/Blue screen all sets: DEC Codepage, Bold = Bright + Thick, ANSI color palette (except Amber: VGA palette), 80x24 screen + \item Ansi.sys sets: Codepage 437, Home on Clear, VGA color palette, 80x25 screen + \end{itemize} + \item Modem: Enable modem locally + \begin{itemize} + \item When enabling this setting, the modem part cannot be accessed via the serial connection + \item Instead, when switching from ONLINE to LOCAL mode, you can talk directly to the modem (bypassing the connected computer) + \end{itemize} + \item On-Line: switch between ONLINE and LOCAL mode (for using the modem, see above) +\end{itemize} + diff --git a/vt132.kilepr b/vt132.kilepr new file mode 100644 index 0000000..b8e16fa --- /dev/null +++ b/vt132.kilepr @@ -0,0 +1,67 @@ +[General] +bib_extensions=.bib +bibliographyBackendAutoDetected= +bibliographyBackendUserOverride= +def_graphic_ext=png +img_extIsRegExp=false +img_extensions=.eps .jpg .jpeg .png .pdf .ps .fig .gif +kileprversion=3 +kileversion=2.9.91 +masterDocument= +name=VT132 +pkg_extIsRegExp=false +pkg_extensions=.cls .sty .bbx .cbx .lbx +src_extIsRegExp=false +src_extensions=.tex .ltx .latex .dtx .ins + +[Tools] +MakeIndex= +QuickBuild=PDFLaTeX+ViewPDF + +[item:appendix.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:includes.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:introduction.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:logo.png] +archive=true +encoding= +highlight= +mode= + +[item:modem.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:setup.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX + +[item:vt132.kilepr] +archive=true +encoding=UTF-8 +highlight=None +mode=Normal + +[item:vt132.tex] +archive=true +encoding=UTF-8 +highlight=LaTeX +mode=LaTeX diff --git a/vt132.pdf b/vt132.pdf new file mode 100644 index 0000000..8ef88b7 Binary files /dev/null and b/vt132.pdf differ diff --git a/vt132.tex b/vt132.tex new file mode 100644 index 0000000..cf948c5 --- /dev/null +++ b/vt132.tex @@ -0,0 +1,49 @@ +\documentclass[ + a5paper, + pdftex, + headsepline, + footsepline=false, + 10pt, + twoside, + DIV=16, + BCOR=3mm, + footinclude=false, + parskip=half + ]{scrbook} + +% all other \usepackages and \renewcommands are there: +\include{includes} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Title page and TOC + +\title{\includegraphics{logo}} +\subtitle{Quick Reference Guide} +\author{} +\date{Version 1.0.0} +\publishers{\LaTeX{} by Anna Christina Naß} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Let's get started + +\begin{document} + +\maketitle + +\tableofcontents + +\include{introduction} + +\include{terminal} + +\include{setup} + +\include{modem} + +\include{appendix} + +\end{document} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% The End. +