Beta Desktop UI (webfrontend-v1.13.0-beta.11) available to try.

376 views
Skip to first unread message

TheHighNibble

unread,
Feb 25, 2023, 4:35:31 AM2/25/23
to IMSAI 8080esp
PLEASE NOTE this is BETA software.

-> insert cliché here <- I'll go with: "All care; no responsibility" :-)

If using this beta doesn't work out for you, you will have to manually rebuild the www folder on your uSD card using the contents of the IMAGE.zip file for the current stable release, available at https://github.com/thehighnibble/firmware/releases/tag/v1.10.0

If that doesn't sound like fun, please stop reading this post now.

NEW FEATURES:
  • Adds 132 column mode to TTY: devices (includes TTY2: & TTY3: for Cromemco Z-1)
  • Adds Tektronix 4014 terminal (TEK:) as a slave to the TTY: VT100 terminal (only, not to TTY2: & TTY3 for Cromemco Z-1) 
BUG FIXES:
  • Rename of tape files in TAPE: works as expected, removes false error message
  • Rename of tape files in TAPE: can be aborted with Escape key (ESC)
  • Drag-and-drop code for LIB:, MAN: and TAPE: modified to play nicely with badly behaved Chrome extension Imagur (or anything else that re-writes HTML image title attribute "<img title="...">)
    • thanks to community member Quentin for finding this and proposing a solution
BACKGROUND:
  • DEC VT100 132 column mode
    • The TTY(n): now implements 132 column mode:
      • standard DECCOLM escape sequences work
        • ESC [ ? 3 h - sets 132 column mode
        • ESC [ ? 3 l - resets to 80 column mode 
      • there is a new glyph at the top of the TTY: window, a "T" with a width arrow under it
        • this lights up whenever 132 column mode is set
        • this goes dim whenever 80 column mode is reset
        • you can click this glyph to manually change modes, overriding the current mode
      • the window does not change size, the font is scaled horizontally
      • there is a known bug in rare circumstances where the window does resize horizontally - still looking into it
  • New TEK: window implements Tektronix 4014 vector graphics terminal
    • new development from the ground up - not a port of any existing project
    • built by reading the Tektronix 4014 User's Manual hundreds of times and writing code until it worked
    • please don't ask how to use the Tektronix 4014 - RTFM = read the manual first ;-)
    • TEK: window does NOT have its own websocket or HAL device
      • it is a slave device to the TTY: device and shares the same websocket
      • there is a new glyph at the top of the TTY: window, a vector graphic symbol
        • when this is GREEN the TEK: device is connected and all data goes to the TEK: and comes from the TEK:
        • when this is WHITE  the TEK: device is not connected and all data goes to the TTY: and comes from the TTY:
        • this glyph can be manually clicked with the mouse to connect/disconnect the TEK: device to the TTY:
        • xterm compatible Escape sequences can be used to connect/disconnect the TEK:
          • ESC [ ? 38 h - will connect the TEK:
          • ESC ETX - will disconnect the TEK:
        • this implementation is compatible with the DRI GSX-80 Tektronix driver implemented by Udo Munk and available on a number disk images on his site (search for GSX) https://www.autometer.de/unix4fun/z80pack/
          • works great with DR Graph
          • and MS Basic (mbasic) with GSX support
          • DR Draw works to some extent but does not appear to be designed to work with a persistent phosphor display
    • You can scale the window, or make it full screen like other windows
    • You can capture (png) images of the display (only persistent phosphor)
    • In addition to a standard ASCII keyboard layout the following keys are mapped:
      • <PgUp> = Tektronix PAGE key
      •  <shift><PgUp> = Tektronix RESET key
      • <PgDn> = LF
      • <BackSpace> = BS
      • <Delete> = RUBOUT (ASCII 127)
      • Control codes are generated by the keyboard as follows:
        • <ctrl>2 = NUL (ASCII 0)
        • <ctrl>@ = NUL (ASCII 0)
        • <ctrl>A to <ctrl>Z = ASCII 1 to ASCII 26
        • <shift><ctrl>K to <shift><ctrl>O = ASCII 27 to ASCII 31
    • The mouse works to position the cross-hair in GIN mode
    • There is a pseudo colour mode, like the Tektronix 4052 computer where the non-persistent phosphor colour is red (and a few other creative tweaks)
      • Use the "paint-drop" colour glyph on the title bar of the TEK: window to toggle on/off
    • As per the Tektronix 4014 there are 4 inbuilt font sizes for text
      • You can also manually select between these in a cycle by using the "T" (with height arrow) glyph on the title bar of the TEK: window
    • Independent of the selection made by the TTY: window - the TEK: can select ONLINE/LOCAL
      • If the TEK: has a GREEN plug it is ONLINE and ready IF the TTY: selects the TEK:
      • If the TEK: has a RED plug it is LOCAL and will ignore the TTY: and echo the keyboard locally
    • Implements most functionality of the Enhanced Graphics Module
      • This implementation is limited to a resolution of 1024 x 768 (actually 1038 x 780 - see the manual) and scaled if made larger
      • 12 bit coordinates (4096 x  3120) are down scaled to 1024 x 780
    • HOLD mode is not implemented, ie. the screen does not dim to protect the phosphor (a form of early screen saver)
    • There are many Tektronix format "plots" available from another Tektronix 4014 emulator project on GitHub at https://github.com/rricharz/Tek4010/tree/master/pltfiles
      • a small sample of these are on the attached disk image
      • they can by viewed on the TEK: with the CP/M command type
      • or better still
      • use the plot.com command on the attached disk image from the TTY: window and it will switch to the TEK:, clear the screen and display the "plot" and switch back to the TTY:
      • just enter plot on its own to see command options
      • a huge thanks to community member Neil for creating this excellent CP/M utility
INSATLLATION:
  • The required files are in a Google Drive folder shared with this group.
  • To install this beta release:
    • Download the 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 uSD during the boot process
  • To use the attached disk image:
    • Download the ployv1.dsk file to your PC
    • Drag-and-drop the file plotv1.dsk from your PC to the LIB: window on the Desktop UI of your IMSAI8080esp
    • Mount the disk image in your preferred floppy drive A: to D: 
    • Switch to the preferred drive A: to D:
    • Type plot *.plt -c -l -m at the CP/M prompt in the TTY: window

udo....@freenet.de

unread,
Feb 25, 2023, 6:05:47 AM2/25/23
to IMSAI 8080esp
Awesome! Unfortunately I'm still working full time and current job involves traveling a lot :(
So no time to play arround with the IMSAI 8080esp, but maybe you could also update the web gui
for mainstream z80pack sometime, so that I can have a look.

TheHighNibble

unread,
Feb 25, 2023, 8:06:33 AM2/25/23
to IMSAI 8080esp
No need to wait for me, update.bin is just a compressed tar file of the www directory (starting from its parent folder).
So on a Z80PACK setup, simply:
  • copy update.bin to the webfrontend folder
  • change directory to the webfrontend folder
  • perform a tar -xzf update.bin
  • and the files contained will be uncompressed and un-tar-ed over the existing www/... folders
  • maybe step 2 should be to rename www to www.bak so you have a fallback on hand

TheHighNibble

unread,
Feb 25, 2023, 8:25:47 AM2/25/23
to IMSAI 8080esp
So much in this update, I forgot to to include the following: 

CHANGES
  • The key mapping for the TTY: when in "WordStar" mode have been harmonised with the VT132 "WordStar" personality key mapping
    • This is the default, when the keyboard glyph in the window title bar is white
    • when the keyboard glyph in the window title bar is grey, the key mapping is pure VT100/102
    • The full set of key mappings in "WordStar" mode is as follows:
      • ArrowUp = <ctrl>-E
      • ArrowDown = <ctrl>-X
      • ArrowLeft = <ctrl>-S
      • ArrowRight = <ctrl>-D
      • <shift> ArrowUp = <ctrl>-W
      • <shift> ArrowDown = <ctrl>-Z
      • <shift> ArrowLeft = <ctrl>-A
      • <shift> ArrowRight = <ctrl>-F
      • PageUp = <ctrl>-R
      • PageDown = <ctrl>-C
      • <shift> PageUp = <ctrl>-Q R
      • <shift> PageDown = <ctrl>-Q C
      • Home = <ctrl>-Q S
      • End = <ctrl>-Q D
      • Backspace = <ctrl>-H
      • Delete = <ctrl>-G

TheHighNibble

unread,
Feb 25, 2023, 8:44:04 AM2/25/23
to IMSAI 8080esp
Oh, and another thing:

During testing it was found that the TTY: performance setting mentioned in the IMSAI8080esp configuration guide is more or less mandatory for successful operation of the TEK: window
ie. in the boot.conf file you need to set
  • TTY.netsrv.buffer_delay=33
and reboot the ESP32 for this change to take effect.
Thanks goes again to community member Neil for his tireless testing of my code as it evolved towards something that resembles a working Tektronix 4014. 


Message has been deleted

Flip Phillips

unread,
Feb 25, 2023, 1:27:55 PM2/25/23
to IMSAI 8080esp
So far so fun!

I need to look through my archives for old plt files. I worked on a product called Infograf back in the early 1980s, all Fortran all the time. Ran on Prime, VAX and Harris (I did the Harris port!) Supported Ten 4xxx opcodes and different plotters. It's a little flashback, a little PTSD :)

Thanks for making this happen. There goes the weekend. 

Message has been deleted

TheHighNibble

unread,
Feb 26, 2023, 12:08:44 AM2/26/23
to IMSAI 8080esp
Nice to know someone has successfully got it up and running, thanks.

Message has been deleted

TheHighNibble

unread,
Feb 27, 2023, 2:18:44 AM2/27/23
to IMSAI 8080esp
Hi,
I've only heard from 2 people so far that have confirmed that they've installed and tried out this BETA.
If you do give it a try can you please post here or email me so I can get a sense if it is working as required.

The sooner I know, the sooner I can put it into production.

villa...@gmail.com

unread,
Feb 27, 2023, 4:47:29 AM2/27/23
to IMSAI 8080esp
Prelim update : Successfully installed and run most programs/tests as per the video. Truly a remarkable achievement (by Dave that is!!!) . I love the way the CRT persistence is emulated. I haven't tried all the WS key mapping as yet but will further test this evening. So far so good !!!
Colin

John Kennedy

unread,
Feb 27, 2023, 10:13:07 AM2/27/23
to IMSAI 8080esp

Tried it - it’s wonderful. 

ken....@gmail.com

unread,
Mar 1, 2023, 12:23:24 PM3/1/23
to IMSAI 8080esp
I have been unable to get it to work. I did a manual un-tar of the www on the sd card as my drag and drop to the Sys icon did not work. I'm wondering if I need to upgrade to 1.19 (ESP32) as I am running 1.18.

After I unzipped I copied the console directory from the www.imsai directory to the main www directory. Not sure if this is the right thing to do but it got me the tektronix screen icon and the new TTY. The problem i have is that the TTY will not connect, showing the red plug.

Do I need to upgrade to 1.19 before trying the new update? And yes, I did back up my old www.

ImsaiTek.png

ken

Message has been deleted

ken....@gmail.com

unread,
Mar 1, 2023, 7:22:21 PM3/1/23
to IMSAI 8080esp
I wish I knew why I can't drop anything onto SYS:. Every time I try Chrome just wants to copy the file to a local location. I've put the new image on an uSD card and get this on power up.

Release 1.37, Copyright (C) 1987-2021 by Udo Munk
ESP32 IMSAI 8080 Simulation Release 1.18 (ESP32)
Copyright (C) 2008-2021 by Udo Munk & David McNaughton

CPU speed is 4 MHz, CPU executes undocumented instructions
RAM size bank 0 is 0 KB
RAM size bank 0 is 0 KB
RAM size bank 0 is 0 KB
RAM size bank 0 is 0 KB
RAM size bank 0 is 64 KB
MPU-B Banked ROM/RAM enabled
MMU & Banked RAM initialised: 48 KB x 15 banks

can't open file /sdcard/imsai/bootrom.hex


Here is my config from the reset:
I (364) cpu_start: Pro cpu up.
I (367) cpu_start: Application information:
I (372) cpu_start: Project name:     imsaisim_esp32
I (378) cpu_start: App version:      v1.9.1
I (383) cpu_start: Compile time:     Sep  8 2021 15:28:40
I (389) cpu_start: ELF file SHA256:  8a0e39da91675446...
I (395) cpu_start: ESP-IDF:          v4.0.2-4-g877a28e05
I (401) cpu_start: Starting app cpu, entry point is 0x40081b58

TheHighNibble

unread,
Mar 1, 2023, 10:36:27 PM3/1/23
to IMSAI 8080esp
Ken,
you absolutely must upgrade to the firmware version 1.10 before using this BETA.
The upgrade to v1.10 is quite particular. 

Revert your DesktopUI to the backup you made and follow the directions included in the release notes for v1.10 carefully

udo....@freenet.de

unread,
Mar 2, 2023, 4:13:03 AM3/2/23
to IMSAI 8080esp
TheHighNibble schrieb am Samstag, 25. Februar 2023 um 14:06:33 UTC+1:
No need to wait for me, update.bin is just a compressed tar file of the www directory (starting from its parent folder).
So on a Z80PACK setup, simply:
  • copy update.bin to the webfrontend folder
  • change directory to the webfrontend folder
  • perform a tar -xzf update.bin
  • and the files contained will be uncompressed and un-tar-ed over the existing www/... folders
  • maybe step 2 should be to rename www to www.bak so you have a fallback on hand

I did that, no problem, updates the desktop and I see the new Tek icon. But I'm having problems to use it,
on Chrome and Firefox the Tek Window is huge, the title bar is not accessable because to much to the upper
end of the browser display, and it is not possible to resize the window, also the little icon for this is not there.
While messing arround I also tried Microsoft Edge on a Windows system and there at least I can get at
the title bar and also resize the Tek window, it shows the little resize icon in the lower right of the window.

Maybe start with a smaller window size and put it down some for the Tek window might help.

udo....@freenet.de

unread,
Mar 2, 2023, 4:30:03 AM3/2/23
to IMSAI 8080esp
udo....@freenet.de schrieb am Donnerstag, 2. März 2023 um 10:13:03 UTC+1:
I did that, no problem, updates the desktop and I see the new Tek icon. But I'm having problems to use it,

Besides that I tried a few GSX-80 programs with my GSX-80 Tek driver, so far all works perfectly, awsome.
Message has been deleted

TheHighNibble

unread,
Mar 2, 2023, 4:48:24 AM3/2/23
to IMSAI 8080esp
What is your screen or browser window resolution?

The TEK: window wants to open at 1038 x 780 (plus the window border).

I guess I could check the browser screen size and if it is less then the TEK: default size, I could scale the TEK window to 50%?

udo....@freenet.de

unread,
Mar 2, 2023, 6:01:58 AM3/2/23
to IMSAI 8080esp
TheHighNibble schrieb am Donnerstag, 2. März 2023 um 10:48:24 UTC+1:
What is your screen or browser window resolution?

The TEK: window wants to open at 1038 x 780 (plus the window border).

I guess I could check the browser screen size and if it is less then the TEK: default size, I could scale the TEK window to 50%?

All different, worst is my 13" MacBookPro Retina Display.
I would suggest to always check the browser screen size and then use like 50% for the Tek window initially and put it down enough
to have access to the title bar, without one can't even move the Tek window arround.

ken....@gmail.com

unread,
Mar 2, 2023, 9:25:36 AM3/2/23
to IMSAI 8080esp
My drag and drop onto SYS: does not seem to work. I am I missing something in the drag and drop? I am dragging from a windows explorer and trying to drop it over the SYS: icon. When I do this Chrome asks me to save the file to a local drive. The UI does not seem to recognize when a file is dragged over the icon.

Is there an alternative to doing upgrading the firmware?

ken

Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

John Kennedy

unread,
Mar 3, 2023, 1:18:07 AM3/3/23
to IMSAI 8080esp
Title bar is off-screen
Untitled 3.jpg
Message has been deleted
Message has been deleted

TheHighNibble

unread,
Mar 3, 2023, 4:33:08 AM3/3/23
to IMSAI 8080esp
Yep, very much related to the problem Udo flagged.
The TEK: window is large and if it doesn't fit, it ends up off the screen to the top which is very unhelpful.
I will change how it is anchored to the window at startup, and scale it to 50% if the browser window is not big enough for the full TEK window at startup.
Stand-by for the update.
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
0 new messages