First Boot - Cannot get to Start Configuration Mode

243 views
Skip to first unread message

ken....@gmail.com

unread,
Nov 4, 2022, 8:32:32 PM11/4/22
to IMSAI 8080esp
Having trouble with my external ram per the log report. I've double double checked my soldering and do not see any bad joints. Reheated some. That little SD card hold is a real bugger and would not be surprised if the joints there are at issue. What is a good way to diagnose them?

All my LEDs lights work and I get a 'normal' looking LED panel on the power switch. Does not seem to like examine and deposit.

When I try to move to Start Configuration Mode I get:

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:4492
load:0x40078000,len:13324
ho 0 tail 12 room 4
load:0x40080400,len:3796
entry 0x40080624
I (353) psram: This chip is ESP32-PICO
E (354) psram: PSRAM ID read error: 0xffffffff
E (354) cpu_start: Failed to init external RAM, needed for external .bss segment
abort() was called at PC 0x40081c33 on core 0


ELF file SHA256: 8a0e39da91675446

Backtrace: 0x4008acb8:0x3ffe3c10 0x4008b091:0x3ffe3c30 0x40081c33:0x3ffe3c50 0x40079354:0x3ffe3c90 |<-CORRUPTED

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:4492
load:0x40078000,len:13324
ho 0 tail 12 room 4
load:0x40080400,len:3796
entry 0x40080624
I (353) psram: This chip is ESP32-PICO
I (354) spiram: Found 64MBit SPI RAM device
I (354) spiram: SPI RAM mode: flash 80m sram 80m
I (357) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (364) cpu_start: Pro cpu up.
I (368) cpu_start: Application information:
I (373) 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
I (0) cpu_start: App cpu up.
I (898) spiram: SPI SRAM memory test OK
I (961) heap_init: Initializing. RAM available for dynamic allocation:
I (962) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (964) heap_init: At 3FFC36F8 len 0001C908 (114 KiB): DRAM
I (970) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (976) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (983) heap_init: At 4009D62C len 000029D4 (10 KiB): IRAM
I (989) cpu_start: Pro cpu start user code
I (994) spiram: Adding pool of 3241K of external SPI memory to heap allocator
I (1014) spi_flash: detected chip: gd
I (1014) spi_flash: flash io: qio
I (1014) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (1086) nvs: Reading settings from NVS
I (1086) nvs: settings = 00000140
I (1086) esp32_boot: Log Level set to NONE

ken....@gmail.com

unread,
Nov 4, 2022, 8:34:50 PM11/4/22
to IMSAI 8080esp
And I did try a new SD card with the latest code and get the same error.

udo....@freenet.de

unread,
Nov 5, 2022, 7:17:58 AM11/5/22
to IMSAI 8080esp
The traces from the SD card all have a pad, so you can measure from the soldering point to the pad if there is a connection.
Then meassure for shorts to the neighbor pins, there should be no shorts of course.

ken....@gmail.com

unread,
Nov 5, 2022, 4:01:16 PM11/5/22
to IMSAI 8080esp
No shorts between the pins for the SD card.  CHKDSK finds no errors on the SD card, and I've tried two (2) of them.
Matters are now worse, I did try to reheat some of the solder joints including the SD card socket. Frustration at nearing critical level. Gravity well garbage can taking hold but I'm resisting.

Now this is all I get repeating over and over. No LEDs. No switch responses including the power switch. I wonder if I now have a bad SD socket.

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:4492
load:0x40078000,len:13324
ho 0 tail 12 room 4
load:0x40080400,len:3796
entry 0x40080624
I (353) psram: This chip is ESP32-PICO
E (354) psram: PSRAM ID read error: 0xffffffff
E (354) cpu_start: Failed to init external RAM, needed for external .bss segment

abort() was called at PC 0x40081c33 on core 0

ELF file SHA256: 8a0e39da91675446

Backtrace: 0x4008acb8:0x3ffe3c10 0x4008b091:0x3ffe3c30 0x40081c33:0x3ffe3c50 0x40079354:0x3ffe3c90 |<-CORRUPTED


TheHighNibble

unread,
Nov 5, 2022, 4:30:51 PM11/5/22
to IMSAI 8080esp
Ken,
this is not related to the SD card socket.

The boot sequence of the ESP32 begins with the onboard bootloader flashed on the ESP32.
The first thing it does is initialise the PSRAM before it even checks the onboard firmware, also flashed on the ESP32.

The SD card is initialised and read much later in the boot sequence, at a stage after the logs you have included.

The logs you sent in the original post show it not working and then working. What was the difference between these 2 executions?

However you say/show that it is not working at all now and you always get the PSRAM error on every reboot.
So you should focus your attention on the soldering of the 8 pin PSRAM SMD chip you placed under the ESP32 and also the 6 pins you soldered onto the ESP32 module as these are what connect the PSRAM.
Check for continuity, shorts, dry solder joints etc...

Previously people have found the smallest whisker of a short where they soldered the extra pin headers and that was enough.
The PSRAM runs with 80MHz signalling and so requires very good and clean soldering along the signal path.

ken....@gmail.com

unread,
Nov 5, 2022, 4:40:26 PM11/5/22
to IMSAI 8080esp
Thanks for the clues. I did a double double check on the 6 pins on the ESP32 before my last post and I will go back and look again. I did a continuity check between the pins and the ESP32 and they seem to check out. I will look again at the PSRAM. I did not do a check on those pins. That is some difficult soldering to be sure.

So I guess I've been confused on the PSRAM vs the SD socket. I'm looking in the wrong place then (I think there is a song about that), its not the SD memory is the little 8 pin memory under the ESP32.

Thank you so much for your help. That is where I'll look next. I'll post up what I find and will also check for the smallest of shorts on the soldered 6 pins. May not get to it until Monday.

ken....@gmail.com

unread,
Nov 8, 2022, 4:42:22 PM11/8/22
to IMSAI 8080esp
Making some progress. I have reflowed solder around the PSRAM chip, did not find any shorts. I did get to start configuration mode once, repeated attempts show no running lights.. This the boot log from trying to get to start configuration mode.

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)

configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:4492
load:0x40078000,len:13324
ho 0 tail 12 room 4
load:0x40080400,len:3796
entry 0x40080624
I (353) psram: This chip is ESP32-PICO
I (354) spiram: Found 64MBit SPI RAM device
I (354) spiram: SPI RAM mode: flash 80m sram 80m
I (357) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (364) cpu_start: Pro cpu up.
I (368) cpu_start: Application information:
I (373) 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
I (0) cpu_start: App cpu up.
I (898) spiram: SPI SRAM memory test OK
I (961) heap_init: Initializing. RAM available for dynamic allocation:
I (962) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (963) heap_init: At 3FFC36F8 len 0001C908 (114 KiB): DRAM

I (970) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (976) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (982) heap_init: At 4009D62C len 000029D4 (10 KiB): IRAM

I (989) cpu_start: Pro cpu start user code
I (993) spiram: Adding pool of 3241K of external SPI memory to heap allocator

I (1014) spi_flash: detected chip: gd
I (1014) spi_flash: flash io: qio
I (1014) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (1086) nvs: Reading settings from NVS
I (1086) nvs: settings = 00000140
I (1086) esp32_boot: Log Level set to NONE

And now for the 'normal' boot

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)

configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:4492
load:0x40078000,len:13324
ho 0 tail 12 room 4
load:0x40080400,len:3796
entry 0x40080624
I (354) psram: This chip is ESP32-PICO

I (354) spiram: Found 64MBit SPI RAM device
I (354) spiram: SPI RAM mode: flash 80m sram 80m
I (357) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (364) cpu_start: Pro cpu up.
I (368) cpu_start: Application information:
I (373) 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
I (0) cpu_start: App cpu up.
I (898) spiram: SPI SRAM memory test OK
I (962) heap_init: Initializing. RAM available for dynamic allocation:

I (962) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (964) heap_init: At 3FFC36F8 len 0001C908 (114 KiB): DRAM
I (970) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (976) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (983) heap_init: At 4009D62C len 000029D4 (10 KiB): IRAM
I (989) cpu_start: Pro cpu start user code
I (994) spiram: Adding pool of 3241K of external SPI memory to heap allocator
I (1014) spi_flash: detected chip: gd
I (1014) spi_flash: flash io: qio
I (1014) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (1086) nvs: Reading settings from NVS
I (1086) nvs: settings = 00000140
I (1086) esp32_boot: Log Level set to NONE
I (1714) phy: phy_version: 4390, 6b3c1f2, Sep 10 2020, 15:09:07, 0, 0

 #####    ###     #####    ###            #####    ###   #     #
#     #  #   #   #     #  #   #          #     #    #    ##   ##
#     # #     #  #     # #     #         #          #    # # # #
 #####  #     #   #####  #     #  #####   #####     #    #  #  #
#     # #     #  #     # #     #               #    #    #     #
#     #  #   #   #     #  #   #          #     #    #    #     #
 #####    ###     #####    ###            #####    ###   #     #

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 64 KB
MMU & Banked RAM initialised: 48 KB x 15 banks

Loader statistics for file /sdcard/imsai/mpu-a-rom.hex:
START : d800H
END   : df7fH
LOADED: 0780H (1920)

DISK MAP: [/sdcard/imsai/disks/disk.map]
A:DSK:='cpm22b01.dsk'
B:DSK:='vio-stuff.dsk'
C:DSK:='Zork.dsk'
D:DSK:='ws33.dsk'
I:DSK:='hd-ws4.hdd'

SIO PORT MAP:
SIO1.portA = WEBTTY UART0
SIO1.portB = VIOKBD
SIO2.portA = WEBPTR UART1
SIO2.portB = MODEM
LPT = WEBLPT FILE

When I am in the wait state and hit 'Run' the machine reboots.  Seems like when I hit a toggle it causes a reboot.

Here is a photo of initial wait state. Where should I direct my attention next, if you please?

.Imsai1.jpg

Thank you again for all your help.
ken

TheHighNibble

unread,
Nov 8, 2022, 10:36:22 PM11/8/22
to IMSAI 8080esp
Looks like you've rectified the PSRAM issue successfully.

A tip for getting into the startup configuration mode is that you must remember to have the POWER switch on the front, down in the PWR.OFF position.
I forget to do this almost every time and scratch my head for a few minutes before remembering.

Getting this far, everything looks fine, and I don't see any clue as to why the machine reboots when you hit RUN.

Worth checking the log at the point where it reboots (scrolling back as necessary) and looking for the cause.
  • a brownout would indicate an under spec power supply
  • a stack overflow would be my fault in the code, but you shouldn't be the only person effected in that case
Let me know what you find.

ken....@gmail.com

unread,
Nov 9, 2022, 4:14:15 PM11/9/22
to IMSAI 8080esp
After running a bunch of trials what seems to be happening is that I'm getting the power switch being detected going on and off. See some of the curious logs below. I had some issues with soldering in that area. Do you by chance have a schematic there so I can check all of the connecitons? It is really hard to tell what I may have damaged with the switches in place. I have an issue with one of the resistors that I soldered poorly so I'm guessing it is not pulling up (or down) like it should. I'm trying to sound intelligent, to confess I got that from reading about the 74HC165 on the web.

The following toggles cause a the following, all in power on mode:

Examine: Reboot
Examine Next: Reboot
Deposit: Reboot, except the last time I tried it moved into 54K CP/M Vers 2.2 B01, all address switches down. Andi it cycles after about a minute to a reboot saying System powered off and back to CP/M while I type. See below:
54K CP/M VERS 2.2 B01

A>System powered off, bye.



 #####    ###     #####    ###            #####    ###   #     #
#     #  #   #   #     #  #   #          #     #    #    ##   ##
#     # #     #  #     # #     #         #          #    # # # #
 #####  #     #   #####  #     #  #####   #####     #    #  #  #
#     # #     #  #     # #     #               #    #    #     #
#     #  #   #   #     #  #   #          #     #    #    #     #
 #####    ###     #####    ###            #####    ###   #     #

Release 1.37, Copyright (C) 1987-2021 by Udo Munk


And after about 5 minutes or cyling, I'm stable in CP/M. I must have something wrong in the switch circuit. What could be the cause of the cpu seeing the power off condition?

54K CP/M VERS 2.2 B01

A>dir
A: ASM      COM : DDT      COM : ED       COM : MOVCPM   COM
A: SUBMIT   COM : DUMP     COM : LOAD     COM : PIP      COM
A: STAT     COM : SYSGEN   COM : XSUB     COM : WM       HLP
A: WM-ANSI  COM : BOOT     PRN : BYE      COM : BOOT     HEX
A: BIOS     PRN : BOOT     ASM : SYSGEN64 SUB : BIOS     ASM
A: SYSGEN60 SUB : CLS      COM : SURVEY   MAC : BIOS     HEX
A: SURVEY   COM : WM-LSI   COM : XDIR     COM : SDIR     COM
A: VIEW     COM : DUMP     ASM : SID      COM : PORTA    SUB
A: BIOS     SYM : PORTB    SUB : MAC      COM : MEMMAP   COM
A: CLSV     COM : VMODE    COM : SYSGEN54 SUB : CPM54    SYS


In power on mode. Hitting Examine Next will sometime give this curious log about powering off, then cycle back and reboot.

System powered off, bye.

TheHighNibble

unread,
Nov 9, 2022, 4:45:52 PM11/9/22
to IMSAI 8080esp
Good detective work.
Yes the message  <<System powered off, bye.>> is generated by the Z80PACK code only when it sees the PWR.OFF switch.

So if you're getting that from other switches then you've got a short or similar.

I've emailed you the schematic directly so you can troubleshoot your soldering around the power and control switches.
Please report back and let us know the solution or at least how you get on.  

ken....@gmail.com

unread,
Nov 17, 2022, 4:42:18 PM11/17/22
to IMSAI 8080esp
Well, not really sure if I fixed anything but the IMSAI is now working. I did examine an number of solder joints that could have been suspect. soldered them and did not see much improvement. 

Then I cleaned up the solder about the ICs with isopropyl alcohol and all of a sudden things started working. Perhaps the cleaning removed a micro-short that I could not see even when using a magnifying glass. We'll go with this theory.

I have the full kit assembled, including the case and it works perfectly now.  Let's leave well enough alone.

Thank you for all the help.  Now I'll have to get a Star Trek game running in Basic. Lots to learn (or maybe relearn).

ken

Charles Hicks

unread,
Nov 20, 2022, 10:30:25 AM11/20/22
to IMSAI 8080esp
I've the same problem from a machine that was previously working fine..

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:4492
load:0x40078000,len:13324
ho 0 tail 12 room 4
load:0x40080400,len:3796
entry 0x40080624
I (356) psram: This chip is ESP32-PICO
E (356) psram: PSRAM ID read error: 0xffffffff
E (356) cpu_start: Failed to init external RAM, needed for external .bss segment
abort() was called at PC 0x40081c87 on core 0

ELF file SHA256: 78f2e7a34a9eb3c6

Backtrace: 0x4008b3e0:0x3ffe3c10 0x4008b7b9:0x3ffe3c30 0x40081c87:0x3ffe3c50 0x40079354:0x3ffe3c90 |<-CORRUPTED

Rebooting...

I tried reflowing the joints on the board including the psram, a new sdcard and reflashing the firmware. I've no lights and that output on the usb port.

udo....@freenet.de

unread,
Nov 21, 2022, 12:59:11 PM11/21/22
to IMSAI 8080esp
rufrea...@gmail.com schrieb am Sonntag, 20. November 2022 um 16:30:25 UTC+1:
I (356) psram: This chip is ESP32-PICO
E (356) psram: PSRAM ID read error: 0xffffffff
E (356) cpu_start: Failed to init external RAM, needed for external .bss segment
abort() was called at PC 0x40081c87 on core 0
 
I tried reflowing the joints on the board including the psram, a new sdcard and reflashing the firmware. I've no lights and that output on the usb port.

It cannot read the PSRAM and without nothing works, so the machine stops at this point.
Measure the PSRAM pins for any shorts to the neighbours, if there are no shorts then likely the PSRAM died.

Charles Hicks

unread,
Nov 21, 2022, 3:26:30 PM11/21/22
to IMSAI 8080esp
Yeah, I didn't find any shorts and all pins had continuity thru the traces. Anyone know where I can get this chip? Googling it wasn't very helpful.

villa...@gmail.com

unread,
Nov 22, 2022, 4:34:50 AM11/22/22
to IMSAI 8080esp
I managed to get some a few years ago from Ali express   https://www.aliexpress.com/i/4000164056594.html
I have had to replace 2 so far over 3+ years or so, I think mainly due to static  problems.

udo....@freenet.de

unread,
Nov 22, 2022, 7:06:58 AM11/22/22
to IMSAI 8080esp
Here in the thread are a few sources for replacement parts:

Charles Hicks

unread,
Nov 22, 2022, 4:06:34 PM11/22/22
to IMSAI 8080esp
Thanks for that. I've ordered some from ALiexpress, Digikey has them backordered.
Reply all
Reply to author
Forward
0 new messages