Skip to content

August 2022 Release

Pre-release
Pre-release
Compare
Choose a tag to compare
@dmcnaugh dmcnaugh released this 23 Aug 11:27
280c333

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

Release Notes

This is a BETA, minor release that:

  • includes firmware for both the IMSAI8080 (imsaisim) and the Cromemco Z-1 (cromemcosim) from Z80PACK
  • is based on the development branch on the Z80PACK GitHub repo.
  • updates the desktop UI (webfrontend) to a unified codebase that supports both machines
  • as this is a BETA, minor release this
    • introduces breaking changes
    • is not currently suitable as an upgrade for an existing IMSAI8080esp system

It is strongly recommended that the IMAGE for this release is loaded on to a new µSD card

Firmware updates:

Note:

Beta.3 addresses the following issues identified in Beta.2

  • Updated GUI Version to webfrontend-v1.12.5
  • add an example tape to the TAPE: folder for the Cromemco Z-1
  • fixes a problem with the title/file name of the I:DSK: harddrive icon for the IMSAI8080 - thanks to Kurt for finding this bug
  • update the SYS: window to display any boot loaded ROM/TAPE (-x) in the Memory Map section
  • adds a new glyph to the TTY:, VIO: & DZLR: windows to restore the zoom/size to 100%
    • you can also double-click in the VIO: and DZLR: windows for the same result
  • fixes redraw issues with the TTY: after a resize/zoom
    • there may still be problems when switching to/from full-screen, please report if you are experiencing this
  • update the CPA: device to actively refresh the Desktop UI on 3 events: PWR ON, PWR OFF, EXT.CLR
    • refreshes the floppy disk/harddrive icons on the desktop
    • refreshes the SYS: & LIB: windows

Beta.2 addresses the following issues identified in Beta.1

  • adds the following two (2) directories to enable the TAPE: icon/folder on the desktop to function correctly
    • /imsai/tapes - including a range of sample tape images
    • /cromemco/tapes
  • fixes a number of issues relating to closing & releasing resources on PWR OFF so that the next PWR ON works as expected

Common to both machines:

  • being based on the development branch on the Z80PACK GitHub repo both machines:
    • include a HAL (hardware abstraction layer) for mapping Serial I/O ports to different physical and virtual devices
    • implement a new model for specifying different memory configurations in the system.conf file
      • the NVS_BOOT_ROM bits 8-10 in the NVS Startup configuration now index these memory configurations
      • the ROMn=filename.hex entries in boot.conf are no longer used and are ignored
  • each machine maintains its own NVS Startup configuration in Non-Volatile Storage (NVS)
  • the physical CP-A front panel is refreshed by a separate process CPA, independent of the emulated CPU

Generally, no other changes have been made to the IMSAI8080 machine emulation (imsaisim)

Addition of the Cromemco Z-1 machine emulation (cromemcosim)

  • includes the following emulated hardware configuration, following standard Cromemco memory and I/O port mapping:
    • ZPU - Z80 CPU @ 2MHz, 4MHz or Unlimited (~5MHz)
    • 64KB of RAM in Bank 0
    • seven (7) additional banks of 64KB of RAM as Banks 1 to 6
    • 16FDC/64FDC hybrid floppy disk controller
      • with 4 floppy disk drives (typically A to D)
      • that can behave as 5 1/4" or 8" drives SS or DS, SD or DD
      • based on the *.dsk floppy disk image that is mounted
      • with banked ROM support for RDOS ROMs
      • with the console serial interface (TU-ART) as the TTY: device
      • and Real Time Clock (RTC)
    • WDI-II winchester (hard) disk interface
      • with up to 3 hard disk drives (typically hd0:, hd1: & hd2:)
      • each emulating a 10MB capacity 8" IMI-7710
      • the WDI-II will work with the CPU set to any speed as it reflects all timing relative to a 4MHz CPU
    • additional TU-ART communications interface with
      • two (2) additional serial interfaces as the TTY2: and TTY3: devices
      • two (2) parallel printers as lpt1 (LPT:) and lpt2 devices
    • Dazzler graphics
    • D+7A I/O with joystick input support

Desktop UI updates:

  • Updated GUI Version to webfrontend-v1.12.4
  • adds a Cromemco themed desktop for the Cromemco Z-1
    • adds TTY2: and TTY3: terminal windows to the Cromemco Z-1 desktop
    • TTY: windows emulate Cromemco C3102 terminal or DEC VT 100 terminal
    • only the first printer lpt1 is currently presented via the desktop UI, as LPT:
    • indicates disk formats in the LIB: window
      • ie. 5 1/4" or 8"
      • SS or DS
      • SD or DD
  • most windows are now resizable
    • SYS:, LIB:, MAN:, DZLR: & VIO: are resizable using the widget in the bottom right hand corner of the window
    • the TTY: windows are resizable in font-size steps, like terminal applications on mainstream GUIs
      • use <ctrl> + and <ctrl> - on Windows
      • use <cmd> + and <cmd> - on Mac
  • the layout of the SYS: window has been changed to reorder sections
  • long-running actions like file uploads and file downloads present a shade and wait spinner while the action completes
  • adds the TAPE: icon/folder to desktop providing local storage for paper tape images
    • includes the ability to promote a *.hex or *.mos format tape of a binary as a temporary PROM to be loaded and run at the next front panel power cycle PWR OFF -> PWR ON

Disk image and ROM image updates:

  • Disk images for the IMASI8080 are unchanged
  • a range of disk images for the Cromemco Z-1 are included from Z80PACK, including:
    • CDOS boot disks
    • Cromix boot disks (configured for 3 simultaneous users)
    • CP/M boot disks
  • an empty (all zero, 0x00) 10MB file named empty.hdd is provided as a 'seed' image for harddisks
  • ROM files (*.hex) have been moved into a roms folder for each machine

The bundle is made of two parts:

  • The FIRMWARE for the ESP32-PICO-KIT
  • The IMAGE for the microSD card

FIRMWARE

The FIRMWARE package is a ZIP file containing 7 files

COPYRIGHT.txt
FLASHING.md
bootloader.bin        22KB
cromemcosim_esp32.bin 997KB 
imsai_part_table.bin  3KB 
imsaisim_esp32.bin    1MB 
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.

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.