Skip to content

August 2024 Release

Latest
Compare
Choose a tag to compare
@dmcnaugh dmcnaugh released this 01 Sep 06:22
280c333

THESE PACKAGES MAY NOT BE UPLOADED OR HOSTED ANYWHERE ELSE.​

Release Notes

If you are upgrading from a firmware release older than v1.10.0 then please upgrade to v1.10.0 first referring to the v1.10.0 release notes carefully with respect to updating the µSD card image.

This is a minor release that:

  • Adds IMSAI PIO-4 functionality to the IMSAI8080
  • Updates Cromemco Cyclops digital camera ACC: device functionality
  • Updates Cromemco Dazzler graphics display DZLR: device functionality
  • Fixes a problem where the contents of the SYS: device might not display on the Desktop UI or S-132 add-on

Firmware updates:

  • Update Firmware Build Version to v1.13.0
  • Adds IMSAI PIO-4 functionality to the IMSAI8080:
    • emulated IMSAI PIO-4 interface card (via CP-A overload/overlay)
    • see http://www.s100computers.com/Hardware%20Manuals/IMSAI/IMSAI%20PIO%20Manual.pdf
    • only implements I/O Mapped mode
    • I/O ports fixed to 0xF8 to 0xFB for ports 0 - 3
    • all 4 input and output ports are "available" but mapped to the CP-A front panel as follows:
      • output port 0 -> Status Byte LEDs
      • output port 1 -> Address Bus LEDs 8-15
      • output port 2 -> Data Bus LEDs
      • output port 3 -> Address Bus LEDs 0-7
      • input port 0 -> Address-Data Switches 0-7
    • To enable the PIO-4 to control the CP-A LEDs, in the boot.conf file set
      • CPA.PIO4=1
        • then input to Port0 is "free running" ie. continuous from A0-A7 address-data switches
      • CPA.PIO4=2
        • then then input to Port0 is "latched" by lifting or pressing DEPOSIT or DEPOSIT NEXT
    • Additional notes:
      • PIO-4 only controls the LEDs when RUN is lit
      • When WAIT is lit, normal CP-A LED display is observed
      • When in RUN state, you can press/lift EXAMINE and while it is held, normal CP-A LED display is observed
      • Just like the Programmed-Output (port 0xFF) the LEDs are inverted relative to the data values written to the I/O port
    • This was at the request of a community member @gohills who wanted to be able to control all the CP-A LEDs under program control on the Z80/8080.
  • Updates Cromemco Cyclops digital camera (ACC:) device functionality:
    • The ACC: device now updates memory using emulated DMA and will light the HOLD LED on the CP-A frontpanel as this happens
    • The ACC: device now is correctly reset on EXT.CLR.
    • The ACC: device no longer hangs-up the emulation when the WebSocket is disconnected on the (Web) Desktop UI
  • Updates Cromemco Dazzler graphics display (DZLR:) device functionality:
    • the Dazzler behaviour now more accurately emulates the original Cromemco Dazzler hardware
    • performance of screen updates has been improved, significantly reducing the likelihood of dropped frames or update artefacts
    • NOTE: These are breaking changes that mean the Dazzler device will only work when :
      • The (Web) Desktop UI has been updated to v1.14.0 or greater (see below)
      • and if using the S-132 add-on, the S-132 firmware has been update to V1.7.0 or greater, see the S-132 Release Notes
  • Fixes a problem where the contents of the SYS: device might not display on the Desktop UI or S-132 add-on:
    • the SYS: device contents are transmitted in a JSON format
    • previously, strings were not encoded and made JSON "safe"
    • this was particularly obvious if an entry in the boot.conf file contained a special character like " as might occur in the WiFi PASSWORD= entry
    • all strings are now encoded and made JSON "safe" by escaping special characters

Desktop UI updates:

  • Update GUI Version to webfrontend-v1.14.0
  • Updates Cromemco Cyclops digital camera ACC: device functionality
    • only close WebSocket when ACC: not running
    • only process video when ready
    • handle a dead WebSocket gracefully
    • don't smooth processed image preview
  • Updates Cromemco Dazzler graphics display (DZLR:) device functionality:
    • implement control bit to turn Dazzler on/off
    • refresh display based on a VSYNC message sent by the host rather than locally determined
  • NOTE: These are breaking changes that mean the Dazzler device will only work when the IMSAI8080 or Cromemco Z-1 is running firmware V1.13.0 or greater (see above)
  • WARNING: These are breaking changes that mean the Dazzler device will not work with Z80PACK on other platforms until the backend changes are back-ported to Z80PACK

Disk image updates:

  • Disk images for the IMSAI8080 and Cromemco Z-1 are unchanged

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

FIRMWARE

The FIRMWARE package is a ZIP file containing 7 files

COPYRIGHT.txt
FLASHING.md
bootloader.bin        23KB
cromemcosim_esp32.bin 899KB 
partition-table.bin   3KB 
imsaisim_esp32.bin    907KB 
ota_data_initial.bin  8KB

You only need the imsaisim_esp32.bin file from the FIRMWARE bundle to run the IMSAI8080 machine.
You only need the cromemcosim_esp32.bin file from the FIRMWARE bundle to run the Cromemco Z-1 machine

You can switch between machines by 'updating' to the firmware of the other machine by a drag-and-drop of the appropriate *.bin file to the SYS: device icon on the desktop, see Upload (flash) the firmware to the ESP32

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.

If upgrading from a release of the IMSAI8080esp firmware prior to v1.10.0 then please upgrade to v1.10.0 first referring to the v1.10.0 release notes carefully with respect to updating the µSD card image.

If you only need to update the Desktop UI from v1.13.x to v1.14.0

  • Download the attached update.bin file to your PC
  • Drag-and-drop the update.bin file from your PC to the SYS: icon on the Desktop UI of your IMSAI8080esp or Cromemco Z-1
  • Reboot the ESP32 (reset or power-cycle) and the update will be installed on the µSD during the boot process

Known Issues

  1. There is no UI for changing hard disk images, the required image must be set using the environment variable(s) HARDDISK in the boot.conf file and then the ESP32 hard reset to reload the environment.
  2. 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.
  3. 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 new AT&A1 "daemon" (silent) mode
  4. In the HAL there is currently no fall through implemented for carrier detect, but this is not currently a problem as only MODEM implements carrier detect.
  5. Sending to PTP: appends to the end of the tape and can cause an endless-loop if both reading (PTR:) and punching (PTP:) simultaneously.