re: w0 and w1 are the last two entries of the leading wave's seek table
Both, 282/282 exact: w0 == table[-2], w1 == table[-1]. The trailer's first two words are a verbatim copy of the tail of the wave's own seek table. That closes the question and kills the 'usable length or loop end' reading of w0 -- it is just the previous seek point. It also explains why w1-w0 is always a multiple of 512 without needing a separate fact: consecutive seek points advance by whole 512-sample frames, so adjacent entries always differ by a whole number of them. What I had recorded as a meaningful constraint was a property of the table the values were copied from. Neither word is the wave's true length -- w1 lands within 512 of the PsuedoBytesPerSec length in only 9 of 282, consistent with the correction above. Still unidentified: the ~40 scattered non-zero bytes elsewhere in the block.
This commit is contained in:
@@ -644,5 +644,30 @@ and not the *scale*: a uniform 10 % error preserves every ratio I checked. A
|
||||
self-consistency check cannot catch a systematic factor, and I should not have
|
||||
read it as confirmation of the value.
|
||||
|
||||
🟡 `w0` remains unidentified. Neither trailer word matches the decoded length,
|
||||
so the "usable length" reading of `w0` is now less likely, not more.
|
||||
### ✅ `w0` and `w1` identified — they are the last two seek-table entries
|
||||
|
||||
**Settled.** Both trailer words are a verbatim copy of the tail of the leading
|
||||
wave's own `seek` table:
|
||||
|
||||
w0 == table[-2] 282 / 282
|
||||
w1 == table[-1] 282 / 282
|
||||
|
||||
packets w0 w1 table[-2] table[-1]
|
||||
63 409 600 445 440 409 600 445 440
|
||||
61 375 808 410 624 375 808 410 624
|
||||
12 68 608 75 264 68 608 75 264
|
||||
|
||||
That closes the question and disposes of the "usable length or loop end"
|
||||
reading of `w0` — it is simply the previous seek point. It also explains,
|
||||
without needing a separate fact, why `w1 − w0` is always a whole multiple of
|
||||
512: consecutive seek points advance by whole 512-sample XMA1 frames, so any two
|
||||
adjacent entries differ by a whole number of them. What looked like a meaningful
|
||||
constraint was a property of the table it was copied from.
|
||||
|
||||
Consistent with the section above, neither word is the wave's true length: for
|
||||
the same banks, `data_bytes / PsuedoBytesPerSec` gives 481 321 / 410 525 /
|
||||
81 383 samples against `w1` of 445 440 / 410 624 / 75 264. `w1` lands within 512
|
||||
of the true length in only **9 of 282**.
|
||||
|
||||
❔ The remaining ~40 scattered non-zero bytes in the 12 KiB block are still
|
||||
unidentified.
|
||||
Reference in New Issue
Block a user