Releases: thehighnibble/vt132
V1.7.0 - March 2024
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Installation Notes
Since the last update was released, bit.ly has changed its root CA certificate, breaking the default OTA update from GitHub in the VT132 firmware. The problem is fixed in this release and so should be a less likely problem in future.
Meanwhile there is a solution for OTA updates, first set the OTA URL to https://github.com/thehighnibble/vt132/raw/latest/VT132.bin
, eg:
AT+W+
AT+U=https://github.com/thehighnibble/vt132/raw/latest/VT132.bin
AT+U?
AT+U^
Alternatively you can download the attached file VT132.bin locally and use a local webserver for OTA, or the esptool.py method.
Release Notes
This is a MINOR release that
- adds a Cromemco 3102 (C3102) personality
- updates the CA Root Certificate for bit.ly
Added Cromemco 3102 (C3102) personality:
- Keyboard & Cursor Control Escape sequences:
- Up:
<Esc> A
- Down:
<Esc> B
- Left:
<Esc> D
- Right:
<Esc> C
- Home :
<Esc> H
- Backspace :
<ctrl> H
- Delete: ASCII
0x7f
- Function keys F1-10:
<Stx>p
through<Stx>y
- Shifted Function keys F1-F10 act as F11-F20:
<Stx>z
through<Stx>l
- Up:
- Escape sequences:
- uses
<Esc>F
for cursor address/position (happy to add<Esc>Y
, but I've never seen it used) - Insert line:
<Esc> L
- Erase end of line:
<Esc> K
- Clear screen:
<Esc> E
- Erase end Page:
<Esc> J
- Delete char:
<Esc> P
- toggle Cursor :
<Esc> Z
- Start blink :
<Esc> l
- Normal video:
<Esc> m
- Enter/exit graphics mode - for line drawing - I've seen this used in some Cromemco utility programs like
hdtest
- Attribute set :
<Esc> d nn
- wherenn
sets the desired attribute supported attributes are Half (dim), Blink, Reverse, Underline
- uses
New CA Root Certificate for bit.ly:
- the OTA firmware update process uses a short URL provided by bit.ly to locate the firmware file
VT132.bin
- the firmware file
VT132.bin
itself resides on GitHub (see Installation Notes above)
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
partition-table.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
Known Issues
- A race condition can occur when the 'AT' Modem is used as the operating system console eg. the CP/M console device
CON:
. This will cause a buffer overflow and the VT132 will reboot. To avoid this race condition, always use the newAT&A1
"daemon" (silent) mode described above.
V1.5.0 - September 2021
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Installation Notes
If you are currently on a firmware version older than V1.3.0 please see the V1.3.0 Release Notes - Installation Notes for details on installing.
Release Notes
This is a MINOR release that
- fixes performance and stability issues with the USB-HID keyboard adapter
THIS UPDATE IS RECOMMENDED FOR ALL USERS OF ALL EDITIONS OF THE VT132 USING THE USB-HID KEYBOARD ADAPTER
USB-HID keyboard adapter updates
- fixes a bug that was slowing down and sometimes causing failure to detect USB keyboards at power-on or reset
- fixes a bug that was slowing down response to
<CapsLock>
,<NumLock>
&<ScrollLock>
key presses - adds a new feature to the
SET-UP D
screen to display keyboard device status - Press9
- shows the current USB Host Controller (UHC) firmware version
- shows any connected USB keyboard device details including
- vendor and product IDs
- manufacturer and product device strings reported by the keyboard
- adds functionality to perform an upgrade of the UHC firmware
- see USB Host Controller (UHC) Firmware Update Guide for full details
- includes (embedded) the update to UHC firmware version V2.0.0
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
default.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
Known Issues
- A race condition can occur when the 'AT' Modem is used as the operating system console eg. the CP/M console device
CON:
. This will cause a buffer overflow and the VT132 will reboot. To avoid this race condition, always use the newAT&A1
"daemon" (silent) mode described above.
V1.4.0 - July 2021
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Installation Notes
If you are currently on a firmware version older than V1.3.0 please see the V1.3.0 Release Notes - Installation Notes for details on installing.
Release Notes
This is a MINOR release that
- adds DECDLD / DRCS capability
- adds features to the Quick Menu - Modem menu
- adds 'AT' Modem enhancements
VT132 terminal enhancements:
- adds DECDLD / DRCS capability (soft fonts)
- Also called Down-Line-Loadable Character Set (VT220) https://vt100.net/docs/vt220-rm/chapter4.html#S4.16
- The feature is implemented as per the VT220 as the VT132 shares the same character cell size
- Note: VT320 and later soft font files are not compatible as the character cell size is larger on these later terminals
- adds a new, hidden, feature to Setup-C to display the presently loaded soft soft and its
Dscs
(by pressing9
on the keyboard) - adds a non-standard "final character" 'D' to always select the currently loaded soft font
- eg.
ESC ) D
will designate the current soft font toG1
irrespective of what itsDscs
value is
- eg.
- modifies Setup-D to show what characters sets (and a description of the character set) are currently designated to
G0
andG1
respectively (only in MCS 8-bit mode, and not NRCS 7-bit mode)
Note: explaining the use of soft fonts is beyond the scope of these release notes, you should consult the VT220 documentation linked above. The attached PDF files provide supplementary documentation to the VT220 Programmers Guide, showing how the VT132 Character Set Selection differs from the standard VT100 Character Set Selection. Please note that the VT132 implements only designated graphics sets G0
and G1
the same as the VT100. G1
is always mapped to GR
, whereas either G0
or G1
can be mapped to GL
using the standard VT100 locking shifts SI
or SO
, the same as the VT100.
Quick Menu enhancements:
- adds
Modem > [ ] Enable wi-fi autoconnect
checkbox- selects whether the modem autoconnects to the Wi-Fi network during startup
- adds
Modem > Telnet TERM
- allows the Telnet TERM environment variable to be edited via the Quick Menu
- adds
Modem > Initialisation string
(see below)- allows the modem initialization string to be edited via the Quick Menu
- adds
Modem > Reset modem
- performs a modem reset as if the command
ATZ
had been performed, an audible bell will confirm that the modem has been reset
- performs a modem reset as if the command
'AT' Modem enhancements:
- adds standard Command Echo off/on feature
ATEn
- whenn=0
- echo off andn=1
- echo on- to disable/enable echoing 'AT' commands when in command mode
- default is on (echo on)
- adds standard Quiet Results off/on feature
ATQn
- whenn=0
- quiet off andn=1
- quiet on- to show/hide 'AT' command results when in command mode
- default is off (quiet off)
- adds non-standard Enable Answer daemon mode
- existing
AT&A
command (now alsoAT&A0
) enables "interactive" listen mode- continues to display 'RING' & 'CONNECTED' responses (if enabled)
- continues to allow the interrupt sequence
+++
to return the Modem to command mode from data mode
- new
AT&A1
command enables "daemon" listen mode- suppresses 'AT' command echo and responses (effectively
ATE0
&ATQ1
) - ignores the interrupt sequence
+++
preventing the Modem from returning to command mode from data mode - this new mode avoids the race condition when the 'AT' Modem is used as the CP/M console device
CON:
- see Known Issues below and allows the Modem to be used to provide remote access to the console eg. from a telnet client
- suppresses 'AT' command echo and responses (effectively
- existing
- updates
AT$
help to:- show the new commands from above
- replace
<Tab>
characters with spaces as this was preventing the text from displaying on some devices without tab-stops
- added Modem initialization string
- the string can be set in the
Quick Menu -> Modem -> Initialization string
- this string will be processed by the Modem when it is initialised and reset (
ATZ
) - For example, to initialize the modem for:
- auto-answer after 1 ring (
ATS0=1
) - enable telnet protocol (
ATS15=1
) - enable answer mode (ie. listen) in "daemon" mode (
AT&A1
) - set the following initialization string:
- auto-answer after 1 ring (
- the string can be set in the
ATS0=1S15=1AT&1
Note: as a MINOR version update there is a breaking change:
- after installing this firmware you must clear the non-volatile RAM (NVR) using the Quick Menu
Quick Menu -> Actions -> Clear NVR
This is because the new user configurable parameters have been added to the NVR store for the new modem features.
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
default.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
Known Issues
- A race condition can occur when the 'AT' Modem is used as the operating system console eg. the CP/M console device
CON:
. This will cause a buffer overflow and the VT132 will reboot. To avoid this race condition, always use the newAT&A1
"daemon" (silent) mode described above.
V1.3.0 - April 2021
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Installation Notes
Since the last updates were released, both GitHub and Amazon S3 have changed some combination of the root CA certificates used and how the attached files are referenced, breaking the default OTA update from GitHub in the VT132 firmware. This problem is fixed in this release and should be a less frequent problem in future.
Meanwhile there is a solution, for OTA updates, first set the OTA URL to https://bit.ly/VT132latest, eg:
AT+W+
AT+U=https://bit.ly/VT132latest
AT+U?
AT+U^
Alternatively you can download the attached file VT132.bin locally and use a local webserver for OTA, or the esptool.py method.
Release Notes
This is a MINOR release that
- Adds DEC CRM capability
- Also called Display Controls Mode (VT220) https://vt100.net/docs/vt220-rm/chapter2.html#S2.7
- and Control Representation mode or CRM (VT510) https://vt100.net/docs/vt510-rm/chapter2.html#S2.5.15
- As the Quick Menu follows VT510 conventions the feature is on the Quick Menu as
Display -> [X]Show control characters
the[X]
representing a check box. - Works in both 80 and 132 column modes
- if you have selected PC Code Page 437, then you just see the CP437 characters, not the DEC mnemonic glyphs for the control characters
- The feature is implemented as per the VT220 since the font is from the VT220 ROMS and the VT510 specification for this feature is slightly different.
- Thanks to Tony N for suggesting this feature
- Updated the DEC VT100/VT220 ROM (MCS) font for 132 column mode to include all missing glyphs
- Added a DEC VT220/Latin-1 codepage/font for both 80 and 132 column modes
- On SETUP-C pressing
2
now cycles through three codepages- DEC VT100/VT220 ROM
- PC Code Page 437
- DEC VT220/Latin-1 (new)
- If DEC VT220/Latin-1 is currently selected
- any reset event or change of font/lines/columns etc... returns to DEC VT100/VT220 ROM
- this setting is is not currently saved in NVR
- On SETUP-C pressing
- Fixes the recently experienced problems with OTA updates direct from GitHub
- Updates the CA Root certificates for GitHub and Amazon S3
- Employs a new strategy to avoid Amazon S3 and source the file direct from GitHub
Note: as a MINOR version update there is a breaking change:
- after installing this firmware you must clear the non-volatile RAM (NVR) using the Quick Menu
Quick Menu -> Actions -> Clear NVR
This is because the new user configurable parameter has been added to the NVR store for the Display Controls Mode.
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
default.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
V1.2.1 - March 2021
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Installation Erata
Since this patch update was first released, both GitHub and Amazon S3 have changed some combination of the root CA certificates used and how the attached files are referenced, breaking the default OTA update from GitHub in the VT132 firmware. This problem will be fixed in a future release of the firmware (V1.3.0 when available).
Meanwhile there is a solution, for OTA updates, first set the OTA URL to https://bit.ly/VT132latest, eg:
AT+W+
AT+U=https://bit.ly/VT132latest
AT+U?
AT+U^
Alternatively you can download the attached file VT132.bin locally and use a local webserver for OTA, or the esptool.py method.
Release Notes
This is a PATCH release that
- suppresses DECINLM in ANSI.SYS mode
- DECINLM (default off): Interlacing Mode
ESC [ ? 9 h
ESC [ ? 9 l
xterm reuses this sequence to enable mouse reporting, as it was deprecated as early as the VT102 on which xterm is based
so it is best to disable this escape sequence in ANSI.SYS mode to stop responding to this as things like the SynchroNet BBS sends
this sequence thinking that you are an xterm with a mouse- thanks David Toledo for identifying this problem
- DECINLM (default off): Interlacing Mode
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
default.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
V1.2.0-beta.1 Install at your own risk!
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Beta release - install at your own risk!
Release Notes
This is a MINOR release that
- adds support for generating escape codes for function keys
<F11>
to<F20>
using<Shift><F1>
through<Shift><F10>
- thanks again to Jim for requesting this feature
- this makes the physical
<F11>
and<Shift><F1>
the same, and also<F12>
and<Shift><F2>
- escape codes transmitted follow the VT220 format:
- F11
ESC [ 23 ~
(as existing) - F12
ESC [ 24 ~
(as existing) - F13
ESC [ 25 ~
- F14
ESC [ 26 ~
- F15
ESC [ 28 ~
- F16
ESC [ 29 ~
- F17
ESC [ 31 ~
- F18
ESC [ 32 ~
- F19
ESC [ 33 ~
- F20
ESC [ 34 ~
- The "skips" are intentional (skipping 27 and 30) and as per the DEC VT terminal specs.
- F11
- adds support for the Svenska (Swedish) keyboard layout and NRCS 7-bit character set
- thanks Erik for asking for this feature
- as per https://en.wikipedia.org/wiki/QWERTY#/media/File:KB_Sweden.svg
- including dead-keys (in red in the above diagram)
- adds support for the Français (French) keyboard layout and NRCS 7-bit character set
- as per https://en.wikipedia.org/wiki/AZERTY#/media/File:KB_France.svg
- including dead-keys (in red in the above diagram)
- adds dead-keys to the Deutsche (German) keyboard layout
- as per the keys indicated in red see: https://en.wikipedia.org/wiki/German_keyboard_layout#/media/File:KB_Germany.svg
- adds dead-key support for composed characters with accent diacritics ` ´ ^ ¨ ~ (MCS 8-bit character set and CP437)
- à á â ä ā À Á Â Ä Ã
- è é ê ë È É Ê Ë
- ì í î ï Ì Í Î Ï
- ò ó ô ö õ Ò Ó Ô Ö Õ
- ù ú û ü Ù Ú Û Ü
- ñ Ñ
- ÿ Ÿ
- note: not all keyboard layouts support all dead-keys, see above diagrams for details
- pressing a dead-key twice, or followed by
<space>
, will output the accent character if printable- ` ^ ~ are printable as standalone characters
- ´ ¨ are not printable as standalone characters
- see: https://en.wikipedia.org/wiki/Dead_key for further information on the use of dead-keys
- adds a Quick Menu check-box to enable/disable dead-keys (enabled by default)
Quick Menu -> Keyboard -> [x]Enable dead keys
- stored in NVR
- Keyboard language names are now localised ie.
- US
- UK
- Français
- Deutsche
- Italiano
- Svenska
- all keyboard layouts should now also work for USB-HID keyboards connected via the VT132 USB-HID interface
Note: as a MINOR version update there is a breaking change:
- after installing this firmware you must clear the non-volatile RAM (NVR) using the Quick Menu
Quick Menu -> Actions -> Clear NVR
This is because the new user configurable parameter has been added to the NVR store for controlling the dead-key function.
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
default.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
V1.2.0 - December 2020
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Release Notes
This is a MINOR release that
- fixes the timing when communicating with the USB-HID interface to set the keyboard LEDs
- adds support for the
REP
Control Sequence from xtermREP
isESC [ Ps b
- Repeat the preceding graphic character Ps times
- add support for a blank password when joining a WiFi network
- thanks Birko for identifying this issue
- ie. you can join a WiFi network in the modem with
AT+W=mySSID
when no password is required by the Access Point.
- adds support for generating escape codes for function keys
<F11>
to<F20>
using<Shift><F1>
through<Shift><F10>
- thanks again to Jim for requesting this feature
- this makes the physical
<F11>
and<Shift><F1>
the same, and also<F12>
and<Shift><F2>
- escape codes transmitted follow the VT220 format:
- F11
ESC [ 23 ~
(as existing) - F12
ESC [ 24 ~
(as existing) - F13
ESC [ 25 ~
- F14
ESC [ 26 ~
- F15
ESC [ 28 ~
- F16
ESC [ 29 ~
- F17
ESC [ 31 ~
- F18
ESC [ 32 ~
- F19
ESC [ 33 ~
- F20
ESC [ 34 ~
- The "skips" are intentional (skipping 27 and 30) and as per the DEC VT terminal specs.
- F11
- adds support for the Svenska (Swedish) keyboard layout and NRCS 7-bit character set
- thanks Erik for asking for this feature and helping test it
- as per https://en.wikipedia.org/wiki/QWERTY#/media/File:KB_Sweden.svg
- including dead-keys (in red in the above diagram)
- adds support for the Français (French) keyboard layout and NRCS 7-bit character set
- as per https://en.wikipedia.org/wiki/AZERTY#/media/File:KB_France.svg
- including dead-keys (in red in the above diagram)
- adds dead-keys to the Deutsche (German) keyboard layout
- as per the keys indicated in red see: https://en.wikipedia.org/wiki/German_keyboard_layout#/media/File:KB_Germany.svg
- adds dead-key support for composed characters with accent diacritics ` ´ ^ ¨ ~ (MCS 8-bit character set and CP437)
- à á â ä ā À Á Â Ä Ã
- è é ê ë È É Ê Ë
- ì í î ï Ì Í Î Ï
- ò ó ô ö õ Ò Ó Ô Ö Õ
- ù ú û ü Ù Ú Û Ü
- ñ Ñ
- ÿ Ÿ
- note: not all keyboard layouts support all dead-keys, see above diagrams for details
- pressing a dead-key twice, or followed by
<space>
, will output the accent character if printable- ` ^ ~ are printable as standalone characters
- ´ ¨ are not printable as standalone characters
- see: https://en.wikipedia.org/wiki/Dead_key for further information on the use of dead-keys
- adds a Quick Menu check-box to enable/disable dead-keys (enabled by default)
Quick Menu -> Keyboard -> [x]Enable dead keys
- stored in NVR
- Keyboard language names are now localised ie.
- US
- UK
- Français
- Deutsche
- Italiano
- Svenska
- all keyboard layouts should now also work for USB-HID keyboards connected via the VT132 USB-HID interface
Note: as a MINOR version update there is a breaking change:
- after installing this firmware you must clear the non-volatile RAM (NVR) using the Quick Menu
Quick Menu -> Actions -> Clear NVR
This is because the new user configurable parameter has been added to the NVR store for controlling the dead-key function.
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
default.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
V1.1.1 - October 2020
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Release Notes
This is a PATCH release that
- fixes a problem where tab stops could not be set on the
Set-up A
screen- thanks to Jim for pointing this out
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 23K
default.bin 3K
VT132.bin 1.1MB
ota_data_initial.bin 8K
You only need the VT132.bin
file from the FIRMWARE bundle, also attached separately, if upgrading using the OTA process
Instructions for updating the firmware on an existing system are included in the Firmware Update Guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32
V1.1.0-beta.5
For testing only
V1.1.0-beta.4
For testing only