re: T8aD +0x04 bit 0x02 predicts the MEASURED blend, 35/35 -- and a prediction to test it
REFUTED.md kills this claim: 'T8aD +0x04 bit 0x02 selects an additive blend -> mine, and refuted. Blending those sprites additively worsens every measure against the capture.' That refutation rests entirely on our renderer, which the corpus's own rule calls a hypothesis under test. The blend is now measured off the GPU, so the claim can be tested against the oracle. 35 elements over three screens, every label an RB_BLENDCONTROL0 value read from the command stream: 16 bit-set and additive, 19 bit-clear and alpha-over, zero false positives, zero false negatives. The control that makes it a decode rather than a coincidence: of every bit of the first 12 header words, EXACTLY ONE separates those 35 elements without error. Nothing ties with it. A perfect partition on a small sample is worthless if half the header partitions equally well, which is the mistake +0x08 = 0x8050 was. And the pair no confound survives: ptbtn00 = 0x0110, ptbtn00f = 0x0112 -- the PRESS (A) plate and its own highlight, same screen, differing in exactly this bit, drawn alpha-over and additive respectively. Committed alongside is a PREDICTION for GP_OPTIONS, written before the capture that tests it: a different archive, a different element set, and a MIXED prediction -- po_menu_eff01/02/03 additive, 592 elements alpha-over. Falsified if those three draw alpha-over or anything else draws additive. The developer splash was considered first and rejected as a test: both its elements predict alpha-over, so it can fail but cannot discriminate. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
36
docs/re/data/blend-bit-prediction-gp-options.txt
Normal file
36
docs/re/data/blend-bit-prediction-gp-options.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
# PREDICTION, written and committed BEFORE the capture that tests it. 2026-08-31.
|
||||
#
|
||||
# blend_vs_t8ad_bit finds T8aD +0x04 bit 0x02 separates ADDITIVE from alpha-over
|
||||
# on all 35 elements whose blend has been measured off the GPU, and that NO OTHER
|
||||
# BIT of the 48-byte header does it. That is a fit to three screens of one
|
||||
# archive.
|
||||
#
|
||||
# GP_OPTIONS has never been captured, is a different archive with an entirely
|
||||
# different element set, and is a screen the port ships. Its prediction is MIXED,
|
||||
# which is what makes it a test rather than a formality: 3 elements ADDITIVE,
|
||||
# 595 alpha-over.
|
||||
#
|
||||
# FALSIFIED IF: po_menu_eff01/02/03 draw alpha-over, or any other GP_OPTIONS
|
||||
# element draws additive.
|
||||
#
|
||||
# (The developer splash was considered first and rejected as a test: both its
|
||||
# elements predict alpha-over, so it can fail but cannot discriminate.)
|
||||
|
||||
=== the ADDITIVE predictions in GP_OPTIONS ===
|
||||
po_menu_eff01.t32 +0x04 = 00008832 bit 0x02 SET PREDICT ADDITIVE
|
||||
po_menu_eff02.t32 +0x04 = 00008832 bit 0x02 SET PREDICT ADDITIVE
|
||||
po_menu_eff03.t32 +0x04 = 00008832 bit 0x02 SET PREDICT ADDITIVE
|
||||
|
||||
=== counts ===
|
||||
elements predicted ADDITIVE: 6
|
||||
elements predicted alpha-over: 592
|
||||
|
||||
=== the developer splash, for completeness (both alpha-over) ===
|
||||
=== GP_TITLE entry 10 ===
|
||||
palogo_sqex.t32 +0x04 = 00008830 bit 0x02 clear PREDICT alpha-over
|
||||
palogo_sqex_eff.t32 +0x04 = 00008830 bit 0x02 clear PREDICT alpha-over
|
||||
|
||||
=== GP_TITLE entry 13 ===
|
||||
palogo_sqex.t32 +0x04 = 00008830 bit 0x02 clear PREDICT alpha-over
|
||||
palogo_sqex_eff.t32 +0x04 = 00008830 bit 0x02 clear PREDICT alpha-over
|
||||
|
||||
67
docs/re/data/blend-bit-vs-oracle.txt
Normal file
67
docs/re/data/blend-bit-vs-oracle.txt
Normal file
@@ -0,0 +1,67 @@
|
||||
# T8aD +0x04 bit 0x02 vs the blend the GAME uses -- 35 elements, 3 screens.
|
||||
# 2026-08-31. cargo run -p sylpheed-formats --example blend_vs_t8ad_bit
|
||||
#
|
||||
# ⚠️ REFUTED.md kills this claim: "T8aD +0x04 bit 0x02 selects an additive blend
|
||||
# -> mine, and refuted. Blending those sprites additively worsens every measure
|
||||
# against the capture." That refutation is a claim about OUR RENDERER, which the
|
||||
# corpus's own rule says is a hypothesis under test. The blend has since been
|
||||
# measured off the GPU, so the claim can be tested against the oracle instead.
|
||||
#
|
||||
# Every label below is an RB_BLENDCONTROL0 value read out of the guest command
|
||||
# stream and attributed to an element by quad size -- see
|
||||
# data/ui-blend-mode-measured.txt, data/ui-blend-title-and-replication.txt and
|
||||
# data/ui-blend-extras-complete.txt.
|
||||
#
|
||||
# The pair that no confound survives: ptbtn00 = 0x0110 and ptbtn00f = 0x0112, the
|
||||
# PRESS (A) plate and its own highlight, same screen, same draw order, differing
|
||||
# in exactly this bit -- and the game draws one alpha-over and the other additive.
|
||||
|
||||
entry sprite +0x04 bit 0x02 measured blend
|
||||
4 ptbase2.t32 00008830 false alpha-over
|
||||
4 ptlogo1.t32 00008830 false alpha-over
|
||||
4 ptlogo2.t32 00008830 false alpha-over
|
||||
4 ptlogo_tm.t32 00008830 false alpha-over
|
||||
4 ptcopyright.t32 00008830 false alpha-over
|
||||
4 ptlogo_back2.t32 00008830 false alpha-over
|
||||
4 ptlogo_back2eff.t32 00008830 false alpha-over
|
||||
2 ptbtn00.t32 00000110 false alpha-over
|
||||
2 ptbtn00f.t32 00000112 true ADDITIVE
|
||||
5 ptbase.t32 00008830 false alpha-over
|
||||
5 ptmsg.t32 00008830 false alpha-over
|
||||
5 ptbtn01f.t32 00008130 false alpha-over
|
||||
5 ptbtneff01.t32 00008130 false alpha-over
|
||||
5 pteff10.t32 00008832 true ADDITIVE
|
||||
5 pteff12.t32 00008832 true ADDITIVE
|
||||
5 ptframe1.t32 00008832 true ADDITIVE
|
||||
5 ptframe2.t32 00008832 true ADDITIVE
|
||||
5 pteff03.t32 00008832 true ADDITIVE
|
||||
5 pteff03a.t32 00008832 true ADDITIVE
|
||||
6 ptbase.t32 00008830 false alpha-over
|
||||
6 ptmsg2.t32 00008830 false alpha-over
|
||||
6 pttitle.t32 00008830 false alpha-over
|
||||
6 ptbtn11f.t32 00008130 false alpha-over
|
||||
6 ptbtn12.t32 00008130 false alpha-over
|
||||
6 ptbtn13.t32 00008130 false alpha-over
|
||||
6 ptbtneff02.t32 00008130 false alpha-over
|
||||
6 pteff10.t32 00008832 true ADDITIVE
|
||||
6 pteff20.t32 00008832 true ADDITIVE
|
||||
6 pteff21.t32 00008832 true ADDITIVE
|
||||
6 pteff22.t32 00008832 true ADDITIVE
|
||||
6 pteff23.t32 00008832 true ADDITIVE
|
||||
6 ptframe3.t32 00008832 true ADDITIVE
|
||||
6 ptframe4.t32 00008832 true ADDITIVE
|
||||
6 pteff03.t32 00008832 true ADDITIVE
|
||||
6 pteff03a.t32 00008832 true ADDITIVE
|
||||
|
||||
bit set & additive 16
|
||||
bit clear & alpha-over 19
|
||||
bit set & alpha-over 0 <- false positives
|
||||
bit clear & additive 0 <- false negatives
|
||||
sprite not found 0
|
||||
|
||||
PERFECT PARTITION on every element whose blend was measured.
|
||||
|
||||
RIVAL FIELDS — other bits of the first 12 header words that separate
|
||||
the same 35 elements with zero errors: 1
|
||||
+0x04 bit 1 (0x2)
|
||||
-> the sample singles out ONE field. Nothing else in the header does it.
|
||||
Reference in New Issue
Block a user