Skip to content

IMSAI 8080esp NVS configuration

The following information applies to Release v1.10.0 or later and is based on the documentation at https://thehighnibble.com/imsai8080/configure/.

The non-volatile storage or NVS contains a number of configuration options which will be applied before the system boots.

Enter configuration mode

  • Put the power switch to "off"
  • Hold the "examine" button up
  • Press the internal reset button (top right on the main PCB)
  • Keep the "examine" button up for a few seconds and then release it

Now the four LEDs for interrupts, run, wait and hold should start showing a running light. This indicates, that the configuration mode is active.

You will see the current configuration indicated with the address bus LEDs. To change the configuration, flip the respective address bus switch up or down and then press "deposit" to store the setting.

Please keep in mind, that all 16 bits are stored, when using "deposit"! If you only want to change a single bit, set the other switches in the same way as the LEDs light up.

The settings are as following:

Address Bit Name Equivalent Flag Description
0 NVS_POST n/a Enable Power On Self Test (POST)
1-2 NVS_LOG_LEVEL n/a Set ESP32 console log level
0 = NONE
1 = ERROR
2 = WARN
3 = INFO
3 NVS_IF_STA n/a Set Wi-Fi Mode
0 = Access Point Mode (AP)
1 = Station Mode (STA)
4 NVS_Z80 -z
-8
Enable Z80 CPU emulation
0 = 8080 (-8)
1 = Z80 (-z)
5 NVS_NO_UNDOC -u Suppress support for undocumented op. codes (1 = -u)
6 NVS_4MHZ -f 2
-f 4
Set CPU speed
0 = 2 MHz (-f 2)
1 = 4 MHz (-f 4)
7 NVS_UNLIMITED -f 0 Set CPU speed to Unlimited
0 = use speed from bit 6
1 = Unlimited (-f 0)
8-10 NVS_MEMORY_MAP -M Set memory map
0 = 64K RAM (default)
1-7 = use memory map n (-M n)
11 NVS_BANK_ROM -R Enable MPU-B(A) style Banked ROM/RAM functionality - only compatible with MPU-A ROM images
1 = enable (-R)
12-14 Reserved for future use
15 NVS_AUTO_RUN Autorun - The CPU will automatically run when the machine is switched on (PWR ON)

Change boot mode

Using the following configurations you can also boot directly one of the provided ROMs. Please keep in mind, that if you have enabled WiFi "Station Mode", this needs to be enabled as well (address bit 3 has to be set to 1).

If all options are cleared, you have an empty machine with an Intel 8080 CPU running at 2 MHz, 64 K RAM and no software at all.

However, it is possible to change the CPU to a Z80 and also enable one of the provided boot ROMs.

Booting into XYBASIC

Options: NVS_Z80, NVS_4MHZ, memory map 4

Binary: 0000 0100 0101 0000
Octal: 002120
Hexadecimal: 0450

Booting into CP/M 2.2

This will load CP/M 2.2 from DSK:A. If neccessary, you can load the image on the desktop by ejecting DSK:A and then drag the image cmb22b01 from LIB: to DSK:A.

Options: NVS_Z80, NVS_4MHZ, memory map 1, MPU-B(A) style Banked ROM/RAM

Binary: 0000 1001 0101 0000
Octal: 004520
Hexadecimal: 0950