August 2021 Release
THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.
Release Notes
This is a minor release that:
- flushes the printer cache file to disk periodically to allow access when the printer is not busy
- responds to the IMSAI PTR-300 printer initialisation command to reset the printer
- adds 132 column paper options to the printer, LPT: device on the web UI
- performs a printer initialisation command to reset the printer when
Reset
pressed in LPT: device on the web UI - adds support for a hardware parallel printer interface for LPT:
- adds support for a printer initialisation string for a hardware printer connected to the parallel port
Firmware updates:
- the ESP-IDF libraries for file handling are not thread aware:
- so the printer cache file is now closed after a timeout period of 0.5-1 second after print activity ceases
- this allows other processes to access the content of the printer cache file when the printer is not busy
- this firmware now supports a hardware parallel printer via a hardware parallel printer interface connected to the 16-pin
Patch
header on the back of the IMSAI8008esp- details for building your own hardware parallel printer interface will be published soon
- to use the hardware parallel printer interface an environment variable must set set in
boot.conf
as follows:LPT.device=PARALLEL
- when this interface is active, both the printer cache file and the web UI virtual printer are disabled
- the imsaisim printer "device" is strictly 7-bit ASCII, modelled on the IMSAI PTR-300 line printer:
- original IMSAI software also sends a value of
0x80
to initialise the printer- the CP/M BIOS's (both 2.2 and 3) both send this initialisation code when CP/M boots
- however the imsaisim printer driver has previously ignored this initialisation code
- the IMSAI8080esp now responds to a value of
0x80
to initialise the printer as follows:- the printer cache file is closed and truncated to clear the cache
- if the hardware parallel printer interface is being used, a printer initialisation string can be sent to the printer
- the printer initialisation string
LPT.init
is set inboot.conf
and can contain the following escaped control codes:^[
to represent ASCII<ESC>
^L
to represent ASCII<FF>
^J
to represent ASCII<LF>
^M
to represent ASCII<CR>
^^
to represent ASCII^
- the printer initialisation string
- original IMSAI software also sends a value of
For example:
LPT.init=^[E
will send <ESC>E
to initialise an HP PCL5 compatible printer.
Desktop UI updates:
- Updated GUI Version to
webfrontend-v1.8.0
- Updates to LPT: device
- adds 132 column paper options
- the
Paper
button now cycles through 6 paper options:- 8.5" , 80-column - blue-line; green-bar; white, followed by
- 14" , 132-column - blue-line; green-bar; white
- the
- the
Reset
button now signals to the IMSAI8080esp to perform a printer initialisation (see above) - the LPT: device is reset when the IMSAI8080esp performs a printer initialisation (see above)
- the
Line Feed
button now correctly advances the line count and does not corrupt subsequent form feeds
- adds 132 column paper options
The bundle is made of three parts:
- The FIRMWARE for the ESP32-PICO-KIT
- The IMAGE for the microSD card
- An update.bin file for updating the desktop GUI
You only need the imsaisim_esp32.bin
file from the FIRMWARE bundle if upgrading from v1.7.x
and the update.bin
file to update the desktop GUI to v1.8.0
You can simply drag-and-drop the update.bin
file onto the SYS: icon on the desktop GUI. When the upload is complete, reboot the ESP32 and the update will be identified, unpacked and installed. Watch the output on the boot console (typically via USB port @ 115200 8N1) to see the process proceed.
FIRMWARE
The FIRMWARE package is a ZIP file containing 6 files
COPYRIGHT.txt
FLASHING.md
bootloader.bin 22K
imsai_part_table.bin 3.0K
imsaisim_esp32.bin 979K
ota_data_initial.bin 8.0K
Instructions for flashing the firmware to an existing system are included in the Updating Software guide
The FLASHING.md file contains instructions for flashing the firmware to a new ESP32-PICO-KIT
IMAGE
The IMAGE package is a ZIP file of the complete contents of the microSD card and can simply be unzipped onto a newly formatted (FAT32) microSD card with a capacity of 128MB or greater.
Known Issues
- There is no UI for changing hard disk images, the required image must be set using the environment variable
HARDDISK
in theboot.conf
file and then the ESP32 hard reset to reload the environment. - The
boot.conf
file can't include a#
in PASSWORD. The occurrence of#
at any point on any line indicates the start of a comment. - A race condition can occur when the 'AT' Modem is used as the CP/M console device
CON:
. This will cause a buffer overflow and the IMSAI8080esp will reboot. To avoid this race condition, always use the newAT&A1
"daemon" (silent) mode described above.