docs/re: a second screen captured, and the two title states pinned down

Two results, one of which closes the navigation problem the last three
iterations kept hitting.

**The title states.** The hypothesis was that the attract-loop title is a
non-interactive presentation that omits the PRESS (A) plate. Half right:

* the state distinction is REAL — a single (A) on the title that ends the boot
  opens the main menu, 2 of 2 in independent runs, one of which never pressed
  F10; the title the attract loop returns to accepts nothing, not (A), START, B,
  BACK, X or Y, across dozens of delivered presses;
* the proposed tell is REFUTED — capturing the draws in both states in one run
  gives 13 quads at identical rects, ptbtn00 and ptbtn00f included. The two are
  identical to the renderer and different only to the guest.

So there is now a reliable route to the menu: first title after boot, one tap.

**The main menu's paint order**, captured with it. Its sprites are GP_TITLE
build 5's, and ptframe1/ptframe2/ptbtn01f land within 4 px of their declared
resting placements — an independent placement check on an untouched bundle.

It does NOT settle the ordering question, and the entry says so: build 5 lists
its background at indices 1-2, so declaration order and "background first"
predict the same sequence here. Same failure mode as GP_READY_ROOM/GP_OPTIONS.
What it does establish is that the title's disagreement is not a decode
artefact — same pak, same engine, one build that follows its table and one that
does not.
This commit is contained in:
Sylpheed RE agent
2026-08-18 23:10:04 +00:00
parent 6fd8cd34f2
commit 68fc072a31
4 changed files with 125 additions and 13 deletions

View File

@@ -0,0 +1,40 @@
# every draw in SUBMISSION ORDER, undeduplicated, frames 1..4
# tex dimensions identify the sprite; base is the guest address
0 prim=8 indices=3 vs=0x0A6D1DD7767FDF27 ps=0x2E372EA28CC404B7
vb=0x14F993B8 stride=28 attrs=[57@0 38@12 ] fmt0=57 v: [-0.50,-0.50,z=0.00000] [1279.50,-0.50,z=0.00000] [1279.50,719.50,z=0.00000]
1 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14F99410 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
2 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14F99470 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [1.84,1.58,z=0.00000] [2.38,1.02,z=0.00000] [1.54,-1.57,z=0.00000] [1.00,-1.02,z=0.00000] [-2.82,1.02,z=0.00000] [-2.38,1.81,z=0.00000] [-0.79,-1.02,z=0.00000] [-1.23,-1.81,z=0.00000]
3 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0AEF0000 1280x768 fmt=6]
vb=0x14F99530 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
4 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0x5773DC18083C4C20
vb=0x14F99590 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
5 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14F995F0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.64,1.00,z=0.00000] [0.64,1.00,z=0.00000] [0.64,-1.00,z=0.00000] [-0.64,-1.00,z=0.00000]
6 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BA60000 1280x768 fmt=6]
vb=0x14F99650 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.54,1.00,z=0.00000] [0.54,1.00,z=0.00000] [0.54,-1.00,z=0.00000] [-0.54,-1.00,z=0.00000]
7 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14F996B0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.31,0.70,z=0.00000] [0.07,0.70,z=0.00000] [0.07,-0.08,z=0.00000] [-0.31,-0.08,z=0.00000] [-0.09,0.26,z=0.00000] [0.31,0.26,z=0.00000] [0.31,-0.60,z=0.00000] [-0.09,-0.60,z=0.00000]
8 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14F99770 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.18,-0.65,z=0.00000] [0.17,-0.65,z=0.00000] [0.17,-0.76,z=0.00000] [-0.18,-0.76,z=0.00000]
9 prim=13 indices=24 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x11C30000 1280x768 fmt=6]
vb=0x14F997D0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.16,0.42,z=0.00000] [-0.23,0.44,z=0.00000] [-0.21,0.57,z=0.00000] [-0.15,0.55,z=0.00000] [-0.16,0.57,z=0.00000] [0.17,0.57,z=0.00000] [0.17,0.42,z=0.00000] [-0.16,0.42,z=0.00000]
10 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
11 prim=8 indices=3 vs=0x72CBCAA6A7984111 ps=0xE59B2B3DA4AA9008 tex[base=0x10000000 1x1 fmt=26]
--- frame 3 ---
12 prim=8 indices=3 vs=0x0A6D1DD7767FDF27 ps=0x2E372EA28CC404B7
vb=0x14FD9B38 stride=28 attrs=[57@0 38@12 ] fmt0=57 v: [-0.50,-0.50,z=0.00000] [1279.50,-0.50,z=0.00000] [1279.50,719.50,z=0.00000]
13 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14FD9B90 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
14 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14FD9BF0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.49,1.58,z=0.00000] [-0.95,1.02,z=0.00000] [-1.80,-1.57,z=0.00000] [-2.34,-1.02,z=0.00000] [-2.87,1.02,z=0.00000] [-2.43,1.81,z=0.00000] [-0.83,-1.02,z=0.00000] [-1.28,-1.81,z=0.00000]
15 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0AEF0000 1280x768 fmt=6]
vb=0x14FD9CB0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
16 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0x5773DC18083C4C20
vb=0x14FD9D10 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-1.00,1.00,z=0.00000] [1.00,1.00,z=0.00000] [1.00,-1.00,z=0.00000] [-1.00,-1.00,z=0.00000]
17 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]
vb=0x14FD9D70 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.64,1.00,z=0.00000] [0.64,1.00,z=0.00000] [0.64,-1.00,z=0.00000] [-0.64,-1.00,z=0.00000]
18 prim=13 indices=4 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0BA60000 1280x768 fmt=6]
vb=0x14FD9DD0 stride=24 attrs=[57@0 6@12 37@16 ] fmt0=57 v: [-0.54,1.00,z=0.00000] [0.54,1.00,z=0.00000] [0.54,-1.00,z=0.00000] [-0.54,-1.00,z=0.00000]
19 prim=13 indices=8 vs=0xE0BAFB4F520FE441 ps=0xE59B2B3DA4AA9008 tex[base=0x0C340000 1280x768 fmt=6]

View File

@@ -0,0 +1,13 @@
frame 1 draw 0 ( 0, 0) 1280x720 → 8AX 1280x720
frame 1 draw 1 ( 0, 0) 1280x720 → 8AX 1280x720
frame 1 draw 2 (1280,-209) 883x1134 ROT → ?
frame 1 draw 2 (-1165,-292) 1299x1303 ROT → ?
frame 1 draw 3 ( 0, 0) 1280x720 → 8AX 1280x720
frame 1 draw 4 ( 0, 0) 1280x720 → 8AX 1280x720
frame 1 draw 5 ( 230, 0) 819x720 → ?
frame 1 draw 6 ( 294, 0) 691x720 → ?
frame 1 draw 7 ( 442, 108) 243x281 → ptframe1.t32 247x281 (±4)
frame 1 draw 7 ( 582, 266) 256x310 → ptframe2.t32 257x311 (±1)
frame 1 draw 8 ( 525, 594) 224x40 → ptmsg.t32 223x38 (±2)
frame 1 draw 9 ( 493, 155) 51x54 ROT → ?
frame 1 draw 9 ( 538, 155) 211x54 → ptbtn01f.t32 216x56 (±5)