Alex Kidd's Infamous Punch Collision Bug Gets Fixed With a Tiny 121-Byte Master System Patch
ROM hacker Psicopompo fixes Alex Kidd in Miracle World's 40-year-old punch collision flaw with an elegant 121-byte Z80 assembly patch that fits into unused bank space.
Alex Kidd in Miracle World has carried an irritating control problem since 1986: Alex's fist can visibly hit a breakable block without the block actually breaking. Forty years later, ROM hacker Psicopompo has identified exactly why and created an extraordinarily small patch that fixes it. The original Master System code checks collision against a block only once, on the exact frame when the punch button is pressed. Worse, that test effectively uses a single small point. If Alex is jumping, moving or striking near the edge of a block, his fist may not yet occupy the expected location when that one collision calculation occurs. The animation then visibly overlaps the block on subsequent frames, but the game never checks again, leaving players feeling that their input simply failed. The new patch changes the behaviour so collision continues to be checked while the fist remains extended. It uses the same 8-by-5-pixel fist hitbox already employed against enemies, adds a one-pixel margin around it to create an effective 10-by-7 area and tests six positions across that space. If any point intersects a destructible block, the block breaks. This improves reliability without radically expanding Alex's reach or turning the patch into a gameplay cheat. Psicopompo also reverses the default control mapping so Button 1 punches and Button 2 jumps, a layout many modern players find more intuitive. The entire modification occupies only 121 bytes and fits inside unused space at the end of an existing fixed cartridge bank, without requiring an expanded ROM or rewritten header. That tiny size makes the project an excellent example of low-level retro debugging. Modern game patches routinely measure in gigabytes because developers can simply replace entire asset archives. On an 8-bit cartridge, a skilled programmer instead studies assembly code, identifies the exact logic responsible and inserts a surgical correction into whatever spare bytes remain. Alex Kidd in Miracle World was built into the memory of many Master System II consoles and consequently became one of Sega's defining pre-Sonic games outside Japan. Its controls have therefore annoyed generations of players. The patch does not remake Alex Kidd or modernise its graphics. It fixes one specific piece of 1986 logic that never behaved quite the way the animation suggested it should. Sometimes forty years of progress can fit comfortably inside 121 bytes.