re: the game never draws ptlogo_back2eff3 -- reproduced, with three explanations
ruled out
Last iteration I recorded eff3's absence as unexplained after withdrawing a bad
explanation for it. The previous capture survived on disk with 6907 frames, and
the attract loop returns to the title, so it contains a SECOND build-in at
frames 5942..7025. eff3 is absent there too.
Three alternative explanations tested and failed:
* sampling phase -- eff3 is non-zero for t in (58,64), SIX units, against a
2.23-unit step. A window wider than the step cannot be missed; frames 133
(t=60.1) and 134 (t=62.3) sit inside it and draw eff2 and eff4 instead.
* a draw the log cannot see -- exactly 2 draws per frame carry no geometry,
on all 932 settled title frames, always the same full-screen-triangle
shader, and present on frames where no wipe element is active.
* a bad position guess -- dropping position entirely, ZERO quads anywhere on
screen in either build-in window have a width within +-30 of 408. The width
spectrum jumps straight from 262 to 748.
Draw counts across both entries: eff1 4, eff2 3, eff3 0, eff4 6, against ~5
expected each. The four are a right-aligned wipe (938+258, 788+408, 447+749,
64+1133, all ending at x~1196) -- a left-growing reveal in four widths, of
which the game draws three.
Why is NOT established: nothing in eff3's element record differs from its
neighbours. Classified measured, not decoded, and the port is told that
dropping eff3 means authoring a behaviour I cannot derive from the file.
Two further corrections, both to my own earlier claims:
* "frame 107 is the title composited once" was an over-read. It binds NO
texture and only 4 of its 27 draws log geometry. The second title entry
has no such frame.
* the two build-ins are NOT frame-identical. I had that from a coincidentally
aligned pair of rows; aligned properly only 4 of 46 frames match. They are
the same animation at different sampling phases -- which is precisely what
makes the eff3 result robust.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsEPXWVaEpyfudtR6re1Pd
This commit is contained in:
@@ -43,14 +43,21 @@ rects, everything appears.
|
||||
| frames | draws/frame | what |
|
||||
|---|---|---|
|
||||
| 2–105 | 3–5 | splashes, then the intro movie |
|
||||
| **107** | **27** | 🔴 the title **composited**, once |
|
||||
| **107** | **27** | a transition frame — see the caveat below |
|
||||
| 109–167 | 6 → 14 | the build-in |
|
||||
| 168–1217 | 10–11 | the settled title |
|
||||
| 1218– | 4–5 | back to the attract loop |
|
||||
|
||||
The settled screen is 10–11 draws that never name a sprite; the composite happens
|
||||
in a single 27-draw frame. **A capture armed at the title therefore sees nothing** —
|
||||
which is why `ARM=early` exists.
|
||||
The settled screen is 10–11 draws that never name a sprite. **A capture armed at
|
||||
the title therefore sees nothing** — which is why `ARM=early` exists.
|
||||
|
||||
⚠️ **What frame 107 is, is NOT established.** An earlier version of this page called
|
||||
it "the title composited, once". It is a 27-draw spike sitting between the movie's
|
||||
last frame (105) and the title's first (109), it **binds no texture at all**, and
|
||||
only 4 of its 27 draws log any geometry. It marks the transition; calling it the
|
||||
composite was an over-read. (The regression below independently puts t=0 at frame
|
||||
106.1, which is consistent with the title's clock starting here — but that is a fit
|
||||
landing nearby, not evidence about what the 27 draws do.)
|
||||
|
||||
## The flashes are real, and they are transient
|
||||
|
||||
@@ -72,12 +79,46 @@ a different element**, taking the composite spike (frame 107) as t=0:
|
||||
other 155 frames sampled.** The two holders are present continuously from frame
|
||||
134 onward. That is the decoded mechanism, observed.
|
||||
|
||||
🔴 **`eff3` was never drawn, and I do not know why. An earlier version of this
|
||||
page said it was a sub-frame phase effect. That is WITHDRAWN.** `eff3`'s alpha is
|
||||
non-zero for t ∈ (58, 64), and frames 133 and 134 sit at t = 60.0 and 62.2 —
|
||||
squarely inside it, with `eff2` and `eff4` both drawn in those same frames. It
|
||||
should have been submitted and was not. Whatever the reason, it is not sampling
|
||||
phase.
|
||||
## 🔴 The game does not draw `ptlogo_back2eff3`
|
||||
|
||||
**Reproduced over two title entries, 5 800 frames apart, in one run.** The disc
|
||||
declares `ptlogo_back2eff3` — alpha 0 at t58, **255 at t60–62**, 0 at t64, at
|
||||
(788, 117), sprite 408×203 — and the running game never submits it.
|
||||
|
||||
The wipe family is right-aligned: `eff2` 938+258, `eff3` 788+408, `eff4` 447+749,
|
||||
`eff5` 64+1133 all end at x≈1196. It is a left-growing wipe in four widths, and
|
||||
**the game draws three of them.**
|
||||
|
||||
| element | width | draws across both build-ins | expected at ~2.23 units/frame |
|
||||
|---|---|---|---|
|
||||
| `eff1` | 167 | 4 | ~5 |
|
||||
| `eff2` | 258 | 3 | ~5 |
|
||||
| **`eff3`** | **408** | **0** | **~5** |
|
||||
| `eff4` | 749 | 6 | ~5 |
|
||||
|
||||
⚠️ An earlier version of this page called this a **sub-frame phase effect**. That
|
||||
was wrong and is withdrawn. Three explanations were tested and all fail:
|
||||
|
||||
* **Sampling phase.** `eff3`'s non-zero window is t ∈ (58, 64) — **six units**,
|
||||
against a step of **2.23 units per presented frame**. A window wider than the
|
||||
step *cannot* be missed: at least two frames must land inside it, and frames 133
|
||||
(t = 60.1) and 134 (t = 62.3) do. Both draw `eff2` and `eff4`; neither draws
|
||||
`eff3`.
|
||||
* **A draw the log cannot see.** Exactly **2** draws per frame carry no geometry,
|
||||
on all 932 settled title frames — always the same full-screen-triangle shader
|
||||
(`prim=8 indices=3`, `vs=0x72CBCAA6A7984111`), present on frames where no wipe
|
||||
element is active at all. `eff3` cannot be one of them.
|
||||
* **A bad position guess on my side.** Dropping the position entirely and
|
||||
searching *every* quad submitted anywhere on screen during both build-in
|
||||
windows: **zero** have a width within ±30 of 408. The width spectrum jumps
|
||||
straight from 262 to 748.
|
||||
|
||||
❔ **Why the game skips it is not established.** Nothing in its element record
|
||||
distinguishes it — same kind (`0x0`), same keyframe shape, same `u4`/`u8`, same
|
||||
scale, as `eff2` and `eff4` either side of it.
|
||||
|
||||
🔴 **For the port: you draw `eff3` at t=60–62 and the console does not.** That is
|
||||
one extra frame of wipe, at the widest-but-one step. It is small, and it is real.
|
||||
|
||||
🔴 **A second thing this page previously claimed, also withdrawn: that a port
|
||||
drawing all five flashes shows "more sweep than the console".** There is no
|
||||
@@ -130,6 +171,20 @@ decoded direction.
|
||||
detected at the first frame with a non-zero alpha, and the decoded curve leaves
|
||||
zero part-way through a frame.
|
||||
|
||||
## Two entries, different phases
|
||||
|
||||
The attract loop returns to the title, so one capture contains **two** build-ins
|
||||
(frames 119–1220 and 5942–7025). They are the same animation and are **not**
|
||||
frame-aligned: aligning them on `eff1`'s first frame, only **4 of 46** frames have
|
||||
an identical quad list, and the draw-count sequences drift by a frame partway
|
||||
through.
|
||||
|
||||
That is what makes the `eff3` result robust rather than weaker. Two independent
|
||||
samplings of the same animation, at different phases, both miss it.
|
||||
|
||||
⚠️ Only the **first** entry has the 27-draw frame; the second goes straight from
|
||||
3–6 draws into the build-in. Whatever frame 107 is, the re-entry does not repeat it.
|
||||
|
||||
## Reach and what is not settled
|
||||
|
||||
⚠️ **One run, one machine.** ~2.23 units per presented frame is *this run's*
|
||||
|
||||
Reference in New Issue
Block a user