A board · supplementary sheet 1/1 · manual page 31

The custom chip sheet

Three chips on a sheet of its own, one of which Capcom would not sell you.

This sheet is part ofHow the game is protected

The subsystem followed end to end, across every sheet that builds it.

What this sheet is for

The program ROMs hold scrambled code. This sheet is the part that unscrambles it, drawn separately because the custom chip is not a catalogue part and has no datasheet to point at.

10M is a 48-pin custom package sitting in the data path between the program ROMs and the Z80. The CPU-side data bus goes to one set of pins, the memory-side bus to another, and the full address bus passes through as well - which is most of why it needs 48 pins.

The other two chips are the gating. 11J, a '14, flags the cycles where the processor is fetching an instruction rather than reading data, and 6N tells the chip when a memory access is genuine and when to reset itself.

Why the gating is the whole trick

The transformation itself is trivial: a fixed rearrangement of eight wires, no key and no state. What makes it effective is when it applies.

It acts only when the Z80 asserts /M1, meaning "I am fetching an instruction", combined with a real memory cycle. Read the same byte as data - a table, a string, a graphic - and it comes through untouched.

That is what stops anyone unscrambling the ROMs once and burning a clean copy. An offline fix would have to know which bytes the program will ever execute as opposed to merely read.

There is far more on this, including what the swap actually is and how both boards in this project get round it, on the protection story page.

Every chip on this sheet

Click any of them to open the schematic with that chip selected in both panels.

← open the schematic for this sheet