From 6ce84b86f29801318f3d7ccf03ec7ae33c89cc0d Mon Sep 17 00:00:00 2001 From: SDD Date: Fri, 16 Oct 2026 13:40:21 +0300 Subject: [PATCH] run.sh: skip mode also models DUART2 -- required for the OS (phantom ISR read at 0x06200005); reaches the Terminal Manager --- harness/mame/run.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/harness/mame/run.sh b/harness/mame/run.sh index bdb2f16..88130cd 100755 --- a/harness/mame/run.sh +++ b/harness/mame/run.sh @@ -57,7 +57,13 @@ case "$MODE" in # IP3 high -> the boot gate at 3F2042D0 jumps to the OS cold-start, # skipping all 15 level-1 tests. Also flips DUART1's IRQ to INT2, which # is the routing the OS's DUART driver expects (POST uses INT1). - exec env VT1200_SKIP_LEVEL1=1 \ + # + # DUART2 (keyboard/mouse) is modelled as well, and is REQUIRED for the OS: + # with it unmodelled the board write-back latch echoes the OS's IWR write + # when the OS reads DUART2's ISR (0x06200005), producing a phantom + # interrupt that can never clear -- the OS spins forever at the X11 weave. + # With it real, the Terminal Manager appears. + exec env VT1200_SKIP_LEVEL1=1 VT1200_DUART2=1 \ "$MAME" vt1200 "${COMMON[@]}" -window "$@" ;;