What is missing

This patch is a work in progress. It is playable from end to end and every screen has been seen running, but it is published unfinished on purpose. Here is the honest list, worst first.

The title logo is weak

MAHJONG DOJO fits the canvas the four kanji left and it is legible, but as a logo it does not hold up next to what it replaced. The plan is another pass with colour bands, in the style of the Konami logos of those years. Nothing about the machinery is in the way; it just has not been done.

This one is not a guess about taste — it is the judgement of the person the patch is for, said plainly when the logo first came up.

The tutorial cannot print a single digit

Slots 0x10-0x19 on that screen are pieces of the END label, and loading a digit font would cost another block. So the tutorial writes every number as words — «THIRTY THOUSAND POINTS», «IT COSTS ONE THOUSAND». It reads fine, but it means the tutorial can never show a worked example with real figures.

The digraph allocation has no margin left

49 distinct pairs of letters for 49 slots. Zero spare. Any change to any of the centre-third texts — the menu, the message box, the three warnings, the penalty, the drawn-hand sign — is likely to need a fiftieth pair and will simply not fit until something else is shortened.

It got tighter during this round: slot 0x0DF turned out not to be free after all (see Findings), and its replacement, 0x0FA, was the last one available.

The difficulty label is three letters

AMA, PRO, SEM. The cartridge gives that cell two or three characters and no more. «SEM» is not a truncation to be fixed; making it say «SEMIPROFESSIONAL» would need room that does not exist there.

The free area is 98% spent

8,049 of the cartridge's 8,219 spare bytes are used; 170 are left, measured as the 0xFF still at the end of the patched ROM. That is less than one more tutorial screen. Anything bigger needs something else to come out first.

And the free area rests on an assumption that cannot be settled from the binary: that the original chip had those 8 KB writable. The cartridge ends with 8,219 bytes of 0xFF and no instruction in it ever touches that range, which fits both a 32 KB chip with 8 KB never programmed and a 24 KB chip whose dump read past the end. On an emulator and on a flashcart — which is how it is played — it works for certain. On original hardware with an original chip, nobody has tested it.

English only, and that is settled

There is one patch and it is in English. A Spanish version was considered and dropped: the tile budget above is the reason, and it is not close.

What has not been verified

Loose ends inherited from the cartridge

Not the patch's fault, and not the patch's to fix, but worth knowing since they show up in English now:

Those and the rest are documented where they belong, in the disassembly.