What comes after understanding a cartridge: changing it. Same rule as the disassemblies — the build has to prove that outside the blocks it declares, the ROM is identical to the original. What is distributed is the difference file, never a cartridge image.
The Maze of Galious — saves on the Yamanooto 1987
Konami · MSX · 128 KB cartridge · Yamanooto patch, unofficial
The game keeps your progress in a 45-letter password that you have to write down. With the patch, in the password room you pick one of three slots and the game is saved to the cartridge’s flash. On the title screen, L no longer takes you to the typing screen: you get the slot menu. What gets saved is those same 45 letters, and the game checks them with its own checksum, as if they had been typed. It also works on bladeba’s Maze of Galious Enhanced (MSX2), and both come as IPS too.
87 bytes changed in 36 stretches · 8 KB driver · 3 slots in one 64 KB sector · Enhanced: 94 bytes in 10 stretches · no ROM distributed
RepositoryWebsitetested in openMSX and on a real MSX with a Yamanooto, by pabibiris; the Enhanced, in openMSX
Metal Gear — saves on the Yamanooto 1987
Konami · MSX · 128 KB cartridge · Yamanooto patch, unofficial
Metal Gear saves to tape. The patch redirects the game’s 20 calls to the tape BIOS to a virtual tape in the cartridge’s flash: the file name, SKIP/FOUND, VERIFY and the retries are still the game’s own. It holds 3 saves.
109 bytes changed in 34 stretches · 8 KB driver · one 64 KB sector · no ROM distributed
RepositoryWebsitetested in openMSX on 2026-07-05: save at an elevator, switch off and load
Metal Gear 2: Solid Snake — saves on the Yamanooto 1990
Konami · MSX2 · 512 KB SCC cartridge · Yamanooto patch, unofficial
Metal Gear 2 saves to the Game Master 2 or to disk. The patch makes it believe the Game Master 2 is plugged in and answers its calls itself, writing the game’s three files (SNAK1, SNAK2 and SNAK3) to the cartridge’s flash. No Game Master 2, no disk drive.
39 bytes changed in 3 stretches · 8 KB driver · one 64 KB sector · no ROM distributed
RepositoryWebsitetested in openMSX
Dunk Shot — MSX2 patch 1986
HAL Laboratory · MSX2 · 32 KB cartridge · IPS patch, unofficial
Every player is four sprites and the MSX draws four per line, so the game sorts them by depth and shows the list and its reverse on alternate frames: that is the flicker. An MSX2 draws eight. This takes the game to SCREEN 4, puts the sprite colour table and the attributes in the only free 1 KB block of VRAM and always shows the sorted list. The new code lives in the filler and in three orphan routines of the cartridge, not one pattern moves, and on a first-generation MSX it plays as the original.
164 bytes changed in 24 stretches · 292-byte IPS · sprites not drawn per frame 66.7 → 1.7 · no ROM distributed
RepositoryWebsitetested in openMSX (MSX and Philips NMS 8250); not yet on real hardware
Konami’s Mahjong Dojo — English patch 1984
Konami · MSX · RC-707 · IPS patch, unofficial
The cartridge is in Japanese, and so is the screen that tells you why you won. This puts every screen you have to read into English without changing one instruction of the game — and gives it the tutorial it never had: twenty attract screens with all thirty-four tiles drawn, hooked on with a single jp. The room came from a gap the cartridge leaves inside its own tiles, and the centre of the screen writes two letters per character cell to fit.
12,103 bytes changed in 46 blocks · 0 outside them · 12,511-byte IPS · 20 tutorial screens · no ROM distributed
RepositoryWebsitework in progress: playable, but not finished
War in Middle Earth — Araubi’s patch 1989
Melbourne House / Dro Soft · MSX · tape · IPS patch, unofficial
Araubi asked for three things on the forum and six came out. The enemy was invisible because the loop that plants units on the map stops one slot before the enemy side begins; a unit’s qualities were adjectives with no numbers; and the Ring’s deadline —a countdown of months the game never shows— now sits beside the ring in the bearer’s sheet. The enemy also got the Eye of Sauron, because a free bit in the map byte was all it took to tell the two sides apart. The new code lives inside the ZX beeper engine this port brought across and never calls. And the whole map is repainted: 122 of the 128 tiles, drawn in a PNG and turned into patch entries by the tool itself.
1,396 bytes changed in 130 places · 0 outside the table · 0 shifted · 1,718-byte IPS · no tape distributed
RepositoryWebsiteplayable; Araubi finished a game with the September build, nobody has with the map repainted