mirror of
https://git.k-space.ee/arti/vt1200.git
synced 2026-10-30 12:03:54 +02:00
harness: paste verbatim sweep/differential/INTENB evidence into BRINGUP_LOG
This commit is contained in:
1 parent
2d7747a20d
commit
8e18d81cef
1 file changed
+55
-4
@@ -642,6 +642,31 @@ BUSY_W3=1` → still `PC=3FDCE400`, 5 distinct. So the knobs are wired *and* the
|
||||
critical handshake is isolated to the `0x06200000` window: arming only WIN2
|
||||
leaves gate 1, arming only WIN3 does not.
|
||||
|
||||
Raw runs, verbatim:
|
||||
|
||||
```
|
||||
$ VT1200_BOARD_MODEL=handshake VT1200_BOARD_BUSY_TICKS=0 \
|
||||
$ VT1200_BOARD_SWITCH="0640000D:70:70" \
|
||||
$ COV_FRAMES=600 COV_WINDOW=300 timeout 600 $M vt1200 -rompath harness/mame/roms -video none \
|
||||
$ -sound none -nothrottle -debug -debugger none -autoboot_script harness/mame/coverage.lua -autoboot_delay 0 2>&1 \
|
||||
$ | grep -E "^frame" | tail -1
|
||||
BUSY_TICKS=0 -> frame 600 new= 2 total_distinct= 5 PC=3FDCE400
|
||||
|
||||
$ VT1200_BOARD_MODEL=handshake VT1200_BOARD_BUSY_TICKS=0 VT1200_BOARD_BUSY_W2=1 \
|
||||
$ VT1200_BOARD_SWITCH="0640000D:70:70" \
|
||||
$ COV_FRAMES=600 COV_WINDOW=300 timeout 600 $M vt1200 -rompath harness/mame/roms -video none \
|
||||
$ -sound none -nothrottle -debug -debugger none -autoboot_script harness/mame/coverage.lua -autoboot_delay 0 2>&1 \
|
||||
$ | grep -E "^frame" | tail -1
|
||||
BUSY_TICKS=0 BUSY_W2=1 -> frame 600 new= 2 total_distinct= 56 PC=3F208950
|
||||
|
||||
$ VT1200_BOARD_MODEL=handshake VT1200_BOARD_BUSY_TICKS=0 VT1200_BOARD_BUSY_W3=1 \
|
||||
$ VT1200_BOARD_SWITCH="0640000D:70:70" \
|
||||
$ COV_FRAMES=600 COV_WINDOW=300 timeout 600 $M vt1200 -rompath harness/mame/roms -video none \
|
||||
$ -sound none -nothrottle -debug -debugger none -autoboot_script harness/mame/coverage.lua -autoboot_delay 0 2>&1 \
|
||||
$ | grep -E "^frame" | tail -1
|
||||
BUSY_TICKS=0 BUSY_W3=1 -> frame 600 new= 2 total_distinct= 5 PC=3FDCE400
|
||||
```
|
||||
|
||||
### Sweep: `BUSY_W2` in {1,2,4,8}
|
||||
|
||||
`W3=2`, `DMA=2`, `MODEL=handshake`, `SWITCH=0640000D:70:70`,
|
||||
@@ -654,6 +679,24 @@ leaves gate 1, arming only WIN3 does not.
|
||||
| 4 | 59 | `3F208B20` |
|
||||
| 8 | 59 | `3F208B20` |
|
||||
|
||||
Raw run, verbatim (cwd `harness/mame`-repo root,
|
||||
`M=/home/arti/code/k-space/mame0289/vt1200`):
|
||||
|
||||
```
|
||||
$ for N in 1 2 4 8; do
|
||||
$ printf "W2=%s -> " "$N"
|
||||
$ VT1200_BOARD_MODEL=handshake VT1200_BOARD_BUSY_W2=$N VT1200_BOARD_BUSY_W3=2 \
|
||||
$ VT1200_BOARD_DMA_TICKS=2 VT1200_BOARD_SWITCH="0640000D:70:70" \
|
||||
$ COV_FRAMES=900 COV_WINDOW=300 timeout 600 $M vt1200 -rompath harness/mame/roms -video none \
|
||||
$ -sound none -nothrottle -debug -debugger none -autoboot_script harness/mame/coverage.lua -autoboot_delay 0 2>&1 \
|
||||
$ | grep -E "^frame" | tail -1
|
||||
$ done
|
||||
W2=1 -> frame 900 new= 3 total_distinct= 59 PC=3F208B20
|
||||
W2=2 -> frame 900 new= 3 total_distinct= 59 PC=3F208B20
|
||||
W2=4 -> frame 900 new= 3 total_distinct= 59 PC=3F208B20
|
||||
W2=8 -> frame 900 new= 3 total_distinct= 59 PC=3F208B20
|
||||
```
|
||||
|
||||
**The sweep is flat.** No `BUSY_W2` value moves the firmware further than any
|
||||
other, and none leaves the park loop. The reason is structural, not a bug:
|
||||
`tick()` runs **once per frame** (last visible scanline), while the gate polls
|
||||
@@ -697,14 +740,22 @@ level 1.
|
||||
|
||||
### `INTENB` — still never non-zero
|
||||
|
||||
`intr.lua`, boundary config, 900 frames:
|
||||
`intr.lua`, boundary config, 900 frames, verbatim:
|
||||
|
||||
```
|
||||
$ VT1200_BOARD_MODEL=handshake VT1200_BOARD_BUSY_W2=2 VT1200_BOARD_BUSY_W3=2 \
|
||||
$ VT1200_BOARD_DMA_TICKS=2 VT1200_BOARD_SWITCH="0640000D:70:70" \
|
||||
$ INT_FRAMES=900 INT_EVERY=300 timeout 600 $M vt1200 -rompath harness/mame/roms -video none \
|
||||
$ -sound none -nothrottle -debug -debugger none -autoboot_script harness/mame/intr.lua -autoboot_delay 0 2>&1 \
|
||||
$ | grep -E "CHANGED|distinct|INTENB="
|
||||
f 1 INTENB CHANGED -> 0000 (DI=0)
|
||||
f 1 INTPEND CHANGED -> 0000
|
||||
f 2 INTPEND CHANGED -> 0400
|
||||
f 300 DPYCTL=E008 INTENB=0000(DI=0) INTPEND=0400 DI=1
|
||||
f 900 DPYCTL=E008 INTENB=0000(DI=0) INTPEND=0400 DI=1
|
||||
distinct INTENB values seen: 0000 (900 frames)
|
||||
f 300 DPYCTL=E008 INTENB=0000(DI=0) INTPEND=0400 DI=1 DPYINT=0000 VCOUNT=0383 VTOTAL=0384 HTOTAL=004F HSBLNK=004C
|
||||
f 600 DPYCTL=E008 INTENB=0000(DI=0) INTPEND=0400 DI=1 DPYINT=0000 VCOUNT=0383 VTOTAL=0384 HTOTAL=004F HSBLNK=004C
|
||||
f 900 DPYCTL=E008 INTENB=0000(DI=0) INTPEND=0400 DI=1 DPYINT=0000 VCOUNT=0383 VTOTAL=0384 HTOTAL=004F HSBLNK=004C
|
||||
distinct INTENB values seen:
|
||||
INTENB=0000 DI=0 (900 frames)
|
||||
```
|
||||
|
||||
`INTENB` never becomes non-zero, so the level-0 boundary is **not** crossed:
|
||||
|
||||
Reference in new issue
Block a user