Fix the secondary decompressor message

The full line looks like not implemented: secondary decompressor (id=N). N is a number, not a ROM region. VCDIFF allows a secondary compressor on the window data. xdelta3 turns that on with -S. Its names are lzma, fgk, djw, and none. In the source I read, the option defaults on when LZMA is compiled in. A patch from a current xdelta3 is therefore likely to carry that layer. An older browser decoder that only understands raw windows stops and prints this sentence.

The module pinned here, commit 4f17297 from 21 Oct 2026, handles two ids. Id 1 is DJW static Huffman. Id 2 is LZMA. The commit message is that LZMA decoding was added. If your id is 1 or 2 and you still see the message, you are not on this commit. The v3.2.1 tag is older than that commit. The v3.5 label on the author's hosted page is a different string again. I do not promise that label includes this decoder. I promise the commit hash.

If the id is something else, this decoder will still refuse. The author's fix is to rebuild the patch with xdelta3 -S none so the windows are plain. That is a new file the patch author should publish. Stripping headers, swapping N64 byte order, or changing FireRed revisions will not remove a compressor. Those are other errors with other sentences.

Large DS, GameCube, and PS2 patches are where this shows up, because that is where xdelta is the format. Related pages: the xdelta guide and Delta Patcher, which is where a creator can see the compressor setting. The error index lists the checksum messages so you can tell them apart.

FieldRecord
Messagenot implemented: secondary decompressor (id=N)
Id 1DJW, decoded on commit 4f17297
Id 2LZMA, decoded on commit 4f17297
Other idsStill refused; rebuild with -S none
Browser ROM patcher with two file slots and a patch button
Pixel-art CRT showing a blank cartridge, used as a visual marker

Questions

I use the hosted v3.5 page and still see the error.

v3.5 is a label, not this commit. Use a build you can identify, or ask the author for a patch made with -S none.

Does this mean the ROM is corrupt?

No. It means the patch stream uses a compressor the decoder will not run. The ROM has not been judged yet.

Sources