Files
vt1200/reference/l1probe/console-transcript.txt
SDD c69d2c295f reference: level-1 host-port test — can it be skipped? (analysis, no skip)
Answers the five sub-questions from the service guide, the linear dis34 dump,
the existing reports, and one empirical capture:

* level 1 runs unconditionally at power-up; the boot calls the level-1 runner
  at bit 0x3F204400 (calla L3FDF72D0). The only conditional at the call site is
  the DUART1 IP3 hardware input bit (firmware @0x64000D0 bit 3), not a stored
  value.
* the host-port test has no 'not installed' sense; only SIMMs (@0x5000000) and
  the Image Option (@0x62000D0 bit 5) have presence checks.
* no persistent test-selection record: the power-up test set is a hard-coded
  ROM immediate (0x10FEFD80) written into a RAM descriptor; the interactive
  menu and NCP P3 only modify a run. NVRAM is read only by the user-settings
  code, never on the level-1 path.
* a level-1 failure wedges the boot in the board-LED code loop (0x3F208060,
  jruc itself); transcript = LEVEL1/2 TESTING, HOST PORT - 15, TYPE 'GO' TO
  CONTINUE, then the LED loop.
* the one in-ROM bypass (0x3F2043B0 -> OS cold-start 0x3F5788C0) is a
  board-input gate (IP3 high + no 0x55 signature); it skips all of level 1,
  not just the host port, and is not a firmware setting.

Verdict: no persistent/configurable skip; harness must pass level 1 or assert
DUART1 IP3 (0x0640000D bit 3) to take the OS branch.

Evidence + scratch: reference/l1probe/.
2026-10-16 12:42:35 +03:00

28 lines
1.4 KiB
Plaintext

# Firmware console transcript, 3000 frames, DUART1 mapped (cap.lua)
#
# Command:
# M=/home/arti/code/k-space/mame0289/vt1200
# CAP_MAX=3000 VT1200_VRAM=1 VT1200_BOARD_MODEL=handshake \
# VT1200_BOARD_BUSY_TICKS=2 VT1200_BOARD_SWITCH="0640000D:70:70" \
# VT1200_DUART=1 VT1200_DUART_SEL=1 \
# $M vt1200 -rompath harness/mame/roms -video none -sound none -nothrottle \
# -debug -debugger none -debuglog \
# -autoboot_script harness/mame/cap.lua -autoboot_delay 0
#
# cap.lua breaks on the printer entry (bit 0x3FDE00C0) and prints a9 = the
# message bit-pointer. Decoded with reference/rom-strings.txt:
PRINT a9=3FDCA8E8 -> "LEVEL1/2 TESTING ** " (file 0x17951D)
PRINT a9=3FDC9C68 -> "LEVEL1/2 ERROR -> HOST PORT - 15 " (file 0x17938D)
PRINT a9=0080000C -> (RAM pointer: diagnostic dump value, not a ROM string)
PRINT a9=00C0000C -> (RAM pointer)
PRINT a9=0100000C -> (RAM pointer)
PRINT a9=0200000C -> (RAM pointer)
PRINT a9=3FDCD2A8 -> "TYPE 'GO' TO CONTINUE" (file 0x179A55)
# Nothing else is printed in 3000 frames. In particular "CONIINUING THE TESTS"
# (file 0x179AEE) is NOT printed -- so the runner did not continue to the next
# level-1 test. A separate run of harness/mame/progress.lua shows the CPU
# parked in the board-LED blink loop (hottest PCs 0x3F2088B0 / 0x3F208B20 /
# 0x3F208A80 / 0x3F208950, all inside L3F208060, which ends `jruc L3F208060`).