1
0
Fork 0

Added new key symbols, switched to xeLaTeX, cleanup

This commit is contained in:
acn 2020-07-15 15:54:15 +02:00
parent 0e369ee788
commit f04d8b00a1
9 changed files with 156 additions and 124 deletions

View File

@ -16,6 +16,7 @@ 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}
\label{jumperheaders}
The board features the following jumpers:

View File

@ -1,5 +1,4 @@
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\usepackage{tabulary}
@ -7,21 +6,22 @@
\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}
\usepackage[unicode,
bookmarks=true,
bookmarksnumbered=true,
pdfpagemode=UseOutlines,
pdfstartview={FitV 0},
pdffitwindow=true,
colorlinks=true,
linkcolor=black,
citecolor=black,
filecolor=black,
urlcolor=black,
pdfauthor={Anna Christina Naß},
pdftitle={VT132 Manual},
pdfsubject={Documentation},
pdfkeywords={VT132}
]{hyperref}
% Give a little room between table rows:
\renewcommand{\arraystretch}{1.2}

View File

@ -12,3 +12,17 @@ For a more in-depth look into details, please consult the VT132 website provided
\url{https://thehighnibble.com/vt132/}
\section{Key symbols}
The following key symbols are used that may need explanation:
\begin{tabular}{ r | p{0.73\textwidth} }
\hline
\LKeyTab & \biolinum{Tab} \\
\LKeyEnter & \biolinum{Enter} \\
\LKeySpace & \biolinum{Space} \\
\LKeyBack & \biolinum{Backspace} \\
\LKeyShift & \biolinum{Shift} \\
\LKeyLeft, \LKeyRight, \LKeyUp, \LKeyDown & \biolinum{Cursor keys} \\
\hline
\end{tabular}

2
make.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
xelatex vt132.tex && xelatex vt132.tex

112
modem.tex
View File

@ -2,21 +2,33 @@
\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.
The VT132 modem part is designed to provide a modified Hayes \texttt{AT} compatible command set for connecting over WiFi 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{<CR>} (carriage return, \texttt{<ctrl>-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{<CR>}, using \texttt{<BS>} (backspace, \texttt{<ctrl>-H}, \texttt{0x08}, decimal 8) to erase the previous character entered. You may need to configure the terminal to generate \texttt{<BS>} 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.
\item The original \texttt{AT} command set was strictly in upper case. This is because the bit sequence of the ASCII values for \texttt{A} and \texttt{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 \texttt{AT} commands in upper case.}
\item Commands are terminated by \LKeyEnter \footnote{carriage return, \LKeyCtrlX{M}, \texttt{0x0D}, decimal 13} usually generated by the \LKeyEnter{}
(\biolinum{Enter} or \biolinum{Return}) key on your keyboard.
\item Commands can by edited, before pressing \LKeyEnter, using \LKeyBack \footnote{backspace, \LKeyCtrlX{H}, \texttt{0x08}, decimal 8} to erase the previous
character entered. You may need to configure the terminal to generate \texttt{<BS>} when you press the \LKeyBack{} (backspace) key on your keyboard.
\item The \texttt{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
\section{Communication}
\subsection{Baudrate}
To set the baudrate of the modem, press the \textbf{Prog} button on the VT132 module. 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.
\subsection{Serial Port}
To communicate with the VT132 modem, you can use either the pins of the RC2014 extended bus (Rx2, Tx2) or the FTDI connector \textit{Modem Port B}.
See section \vref{jumperheaders} \textit{(Jumper settings and headers)} for details.
\newpage
\section{Modem commands}
@ -28,23 +40,23 @@ All commands (except \texttt{AT} by itself, \texttt{A/} and \texttt{+++}) need t
\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 \\
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 \\
$+++$ & 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 \\
? & 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 \\
@ -91,10 +103,10 @@ $+$U\$ & Show OTA partition status \\
Use \texttt{ATS15=1} to enable Telnet mode.
\newpage
\subsection{S Registers}
\section{S Registers}
\label{sregister}
The modem has a total of 51 'S' registers, \texttt{S0} to \texttt{S50}.
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.
@ -126,7 +138,7 @@ S39 & 0 & RTS/CTS Flow Control (0/1, set by AT\&K) \\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%55
\newpage
\section{WiFi Messages}
\section{Messages}
\subsection{Dial response messages}
@ -175,18 +187,19 @@ The following table shows the responses to the \textbf{Query WiFi status} comman
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
\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.
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}.
Setting the supported Options and their default values are defined via specific S Registers \vref{sregister}.
In summary the defaults are:
@ -205,15 +218,16 @@ TERMINAL-TYPE & Do/Will & The remote host can learn your terminal type, the def
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.
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}
\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.
@ -226,13 +240,15 @@ The Telnet protocol is applied to both \textbf{outgoing} connections 'Dialed' wi
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).
\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}

View File

@ -6,12 +6,12 @@
\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 \\
\LKeyF{1} & Show/hide help \\
\LKey{5} & Advance to the next screen \\
\LKeyShiftX{T} & Reset tab stops to default \\
\LKeyTab & Move cursor to the next tab stop \\
\LKeyEnter & Move cursor to the beginning of the line \\
\LKeyShiftX{C} & On Set-Up B: reset NVRAM to factory defaults on next boot \\
\hline
\end{tabular}
@ -19,8 +19,8 @@
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.
Use \LKeyF{1} to toggle the help display which shows all keys. \\
Use \LKey{5} to advance to the next screen.
\subsection{Set-Up A}
@ -30,51 +30,51 @@ This page shows the tab stops and offers to toggle \textbf{80/132 columns} text
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.
Use \LKeyShiftX{S} (capital \texttt{S}) to save and \LKeyShiftX{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.
On this page, various configuration \textit{bits} can be set. Use the cursor to navigate above the bit and press \LKey{6} to toggle it. Use \LKeyTab{} and \LKeyEnter{} to move quicker.
These bits are available:
\begin{tabular}{p{8em} | p{0.68\textwidth}}
\hline
\textbf{Bit} & \textbf{Function} \\
\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) \\
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 \\
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' \\
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} \\
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 \\
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.
\item Use keys \LKey{7} and \LKey{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}
@ -88,11 +88,11 @@ You can change the following settings:
\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 \\
\LKey{2} & Select codepage (DEC or Codepage 437) \\
\LKey{3} & Select lines per screen (24, 25 or 30) \\
\LKey{6} & Toggle ANSI or VGA color palette \\
\LKey{7} & Set default foreground color \\
\LKey{8} & Set default background color \\
\hline
\end{tabular}
@ -113,21 +113,21 @@ This screen is a VT132 enhancement over the VT100 functionality.
\hline
\textbf{Key} & \textbf{Function} \\
\hline
6 & Set the keyboard layout \\
7 & Toggle MCS/NRCS \\
\LKey{6} & Set the keyboard layout \\
\LKey{7} & Toggle MCS/NRCS \\
\hline
\texttt{$\uparrow$} & \multirow{2}{*}{Change Personality} \\
\texttt{$\downarrow$} & \\
\LKeyUp & \multirow{2}{*}{Change Personality} \\
\LKeyDown & \\
\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 To change the keyboard layout, move the cursor above the desired label and press \LKey{6}.
\item When enabling NRCS, certain characters in the lower 127 characters are replaced with country-specific characters according to the
selected keyboard layout.
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)}.
cursor sequences \textit{(ANSI/VT100)}.
\end{itemize}

View File

@ -8,12 +8,12 @@ Alternative personalities like ADM-3A or VT-52 are also available.
\begin{tabular}{p{6em} | p{0.75\textwidth}}
\hline
\textbf{Key} & \textbf{Function} \\
\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 \\
\LKeyAlt + \biolinum{SysRq} & Open Setup Screen \\
\LKeyAlt + \LKeyEsc & Open Quick Settings Menu \\
\LKeyCtrlX{J} & Send \texttt{LINEFEED} key \\
\biolinum{ScrollLock} & \texttt{NO SCROLL} function, like \LKeyCtrlX{S} / \LKeyCtrlX{Q} \\
\hline
\end{tabular}
@ -24,17 +24,17 @@ Use these keys to navigate inside this menu:
\begin{tabular}{p{6em} | p{0.75\textwidth}}
\hline
\textbf{Key} & \textbf{Function} \\
\textbf{Key} & \textbf{Function} \\
\hline
\texttt{Esc} & Close Quick Settings Menu (at top level)\\
\LKeyEsc & Close Quick Settings Menu (at top level)\\
\hline
\texttt{Space} & \multirow{3}{*}{Make selection, enter menu} \\
\texttt{Enter} & \\
\texttt{$\rightarrow$} & \\
\LKeySpace & \multirow{3}{*}{Make selection, enter menu} \\
\LKeyEnter & \\
\LKeyRight & \\
\hline
\texttt{Esc} & \multirow{3}{*}{Go back one level} \\
\texttt{Backspace} & \\
\texttt{$\leftarrow$} & \\
\LKeyEsc & \multirow{3}{*}{Go back one level} \\
\LKeyBack & \\
\LKeyLeft & \\
\hline
\end{tabular}

BIN
vt132.pdf

Binary file not shown.

View File

@ -1,6 +1,5 @@
\documentclass[
a5paper,
pdftex,
headsepline,
footsepline=false,
10pt,