OK, I googled and found a hint:
"With an Expansion Interface connected, but without boot disk, the Model 1 will not start and show a screen of garbage chararacters. If BREAK is pressed during power up or reset the MEMORY SIZE? message is displayed. The reset button is at the left back side, next to the expansion connector. "
https://fjkraan.home.xs4all.nl/comp/trs80/basicDescription.html
So for some reason my breadboard machine when running Level II BASIC seems to think it has an expansion interface plugged in and is initially looking for a "boot disk"..........
The ROM attempts to determine the presence of the Expansion Interface by querying the FDC status register at memory location 37EC. What does your implementation return when that location is queried?
Without an EI connected, that memory location doesn't decode - so the Z80 normally just sees 0 and ROM uses that as a flag to indicate there is no EI and skips the routine where it would attempt to read the boot sector of drive 0.
I'm betting your implementation is returning something else there.
Holding down the Break key at startup bypasses the 37EC check, so you always end up in Level II with or w/out an EI.
Just to be clear, w/out an EI - there is no need to hold down the Break key to enter Level II.
For a really good illustration of this boot procedure, download the George Phillips emulator here:
http://48k.ca/trs80gp.htmlIt runs under Windows - but works great under Linux or MacOS via Wine.
Start it via:
trs80gp.exe -m1 -dx -b 068B
And that will set a break point right in area of ROM where it performs the check - and shows a nice disassembly of what it is doing.
(The -dx tells the emulator to not emulate an expansion interface - so the FDC detection check will fail)