Skip to content

AKAI: the partitions of a short image are readable and are not read #25

Description

@bmxcode

Found while doing #22, and deliberately not done there.

An AKAI disk declares its partitions in a table at 0x4500 of the first one, and the walk reads a partition only where a header sits at the position the table gives (ADR-0023). On nine images a declared header is not there — and it is not absent, it is displaced, because the image is short of the disc it was made from.

Evidence

Scanning for the header's constant field and its size echo finds them, always earlier than declared, and the slippage accumulates down the disc:

Disc Declared Present Displacement, first to last
AMG - Kickin' Lunatic Beats 2 CD2 9 1 4 blocks, on all eight
Best Service - Alpha Dance I 5 4 4
AKAI.S3000.Sound.Library.5 9 3 8 … 36
AMG - Global Trance Mission 2 9 4 8 … 32
Audio Factory - Classical Wild Takes 11 6 16, on all five
AMG - Kickin' Lunatic Beats 2 CD1 11 1 16 … 336
AKAI.S3000.Sound.Library.6 9 1 60 … 68
Back In Time Rrcords - Elektra Vox 13 1 424 … 2888
AKAI.S3000.Sound.Library.7 11 1 1456 … 7288

Every displacement is a multiple of 4 blocks — 32 768 bytes, one MDX block, a quantity of the container that the filesystem knows nothing about — and every one of these images is .mdx. That is the same tell #17 reached from inside partition 1.

Reading these partitions would add roughly 15 000 files, which is why it is worth writing down rather than forgetting.

A missing partition is not always this. On the ProSamples discs the declared partitions that are absent have no header anywhere near them: the CD carries only the front of a larger disk, or the mastering never wrote them. Displacement is the tell, not absence.

Why #22 did not do it

Three reasons, each measured there:

  • The header's constant field is a rising sawtooth as PCM, so audio matches it: 374 blocks of free space on Global Trance Mission 2 and 153 on ProSamples vol.14 carry a complete header prefix, size echo included, every one in a block the allocation map calls free. A scan finds partitions that are not there.
  • Filtering those by "does a volume yield a file" loses real partitions elsewhere — 94 volumes down to 72 on Advanced Media Trax 3.
  • The audio in a short image is displaced by the missing blocks, and 7 723 of the 15 000 files are on Kickin' Lunatic Beats 2 CD1, whose partition 1 already extracts nine samples that are not their own (A sample payload whose header disagrees with its directory entry is extracted silently #23). Recovering more of that image recovers more of the same fault.

What would settle it

A rule that says where a displaced partition's contents may be trusted, rather than one that merely finds its header. The slippage is not constant within an image — on Kickin CD1 it runs from 16 blocks to 336 — so no single correction is right throughout, and #23's payload-header check is what could tell a good read from a displaced one, file by file. Doing #23 first would make this answerable.

The honest alternative remains re-ripping the discs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions