The Romhack Races baserom comes with a significant number of patches to the base game. They are listed below with a brief summary to explain why they are used. Patches without a link are either written for the baserom or not published on a site like SMW Central.
$13FB Game Crash Fix | this fixes a crash that occurs during sprite collision, notably when collecting a fire flower and eating a berry on Yoshi. |
Cape Layer 2 Position Fix | fixes an issue with the Capespin hitbox persisting if the game is frozen, e.g. during power-up/down, etc. |
Cluster Boo Ducking Fix | fixes a bug where ducking doesn't actually work with cluster boos/bats. |
Block Duplication Fix | patchses out the ability to use a held sprite to duplicate a block; the baserom has modified this patch to make this toggleable via FreeRAM. |
Bounce Blocks Death Fix | fixes an issue where Mario can trigger blocks that have a bounce sprite when dying. |
Dark Room Background Fix | allows the spotlight/dark room effect to be used in other level modes (besides 11) and not erase the background. |
Eating Blocks Freeze Fix | Fixes the bug where spawning an eating/creating block while another one is moving will make the other one stop. . |
Feather Autoscroll Freeze Fix | fixes a game crash that occurs if you collect a feather while offscreen in an autoscroller. |
Horizontal Scroll Snap Fix | fixes an issue where the screen snaps horizontally when the player isn't in the middle of the screen. |
Goal Point Sprite Reward Fix | fixes an issue where collecting many sprites at the goal tape garbles the score sprite graphics. |
Item Box Mushroom Priority Fix | changes the Mushroom to be a lower priority sprite in the item box, not overriding a reserve Flower. |
Layer 2+3 Wallrun Triangle Fix | enables the wall run triangle to be used on Layer 2. |
Line Guide Acts-Like Fix | allows you to use the line guide tiles outside of the Rope graphics header. |
No Sprite Interaction Fix | fixes an issue in sprite interaction where sometimes a sprite in a given slot won't interact with another. |
P-Balloon and Cloud Clipping Fix | removes the glitch where if you press left and right simultaneously you can pass through blocks while in the cloud or p-balloon. |
P-Switch Duplication with Yoshi Fix | prevents the Glitch where you can grab and spit out a used p-switch with Yoshi to get another. |
Proximity Wraparound fix | fixes a bug in the proximity-to-sprites check where it can wrap the screen border. |
Question Block Item Collision Fix | removes collision from sprites spawned from blocks for a short time so they can't interact with other sprites. |
Rollover Fix | fixes an issue where if you exceed 255 door entries, enemy bounces, or shell hits the game will overflow. |
Time Up Fix | prevents "TIME UP" from appearing when you die in a zero time limit level. |
Tide Current Fix | Fixes an issue where layer 3 tide current is present in other swimmable blocks that are not part of the tide. . |
Walljump/Note Block Glitch Fix | prevents Mario from catching on solid tiles when he jumps at a wall. |
Ball n' Chain and Yoshi Interaction Fix | this fixes an issue where Yoshi can be hurt by the middle of a ball n' chain. |
Dead Spring Fix | fixes an issue where springs can warp Mario if they are killed (usually by sprite-kill blocks). |
Hammer Bro Fix | allows more than one Hammer Brother to be placed. |
Line Guided Rope Fixes | fixes two bugs in line-guided rope. One from where being pushed off a rope by a wall will leave Mario in climbing state and the other where Mario will cling to a rope if in contact with the ground. The first is RAM-toggleable in the baserom |
Line-Guided Rope Length Fix | changes the Rope so it's length isn't sprite memory dependent. |
Moving Castle Block Offscreen Handling Fix | fixes an issue in the Castle block where it doesn't despawn when offscreen. |
Skull Raft Fix | removes the issue in the skull raft where Mario can get stuck between two skulls. |
Springboard Fixes | this patch prevents Mario from being able to regrab a springboard very briefly after it's been kicked as well as prevents Mario from losing his X-speed on the same frame one is picked up. |
Sprite Ceiling Fix | fixes an issue with a number of sprite's collision where they will pass through a ceiling when they come in contact with it. |
Sprite Scroll Fix | fixes an issue with sprite despawning during screen scroll (not via L/R). |
Triple Rotating Platform Vertical Level Fix | a fix for the rotating platform not spawning when placed in vertical levels. |
Vertical Spawn/Despawn Fix | fixes a glitch where sprites despawn when (re)entering the screen vertically. |
Vertical Level Bowser Statue Fireball Fix | fixes a bug where Bowser statue fireballs don't despawn offscreen in vertical levels. |
BG Candle Flames Priority Fix (for SA-1 MaxTile) | if using SA-1, there is an issue with the candle flames having priority over other sprites, this fixes that. |
Bob-omb Kicked Palette Fix | fixes an issue in the Bob-omb where when it is kicked while flashing it gets stuck in that palette. |
Climbing Net Door on Subscreen Boundary | fixes a bug in the Net door sprite where it doesn't fully erase tiles behind it when on a screen boundary. |
Spike Swim Fix | fixes an issue where when Mario takes damage underwater during a swim his graphics appear garbled. |
Star/Slide Kill GFX Fix | fixes the garbled graphics when you kill a sprite via slide or star that does not have death graphics. |
Title Window Cleaner | removes garbage tiles from the title screen that appear when certain sprites are on positions in the overworld. |
Torpedo Ted Offscreen Smoke Fix | patches out Torpedo Teds smoke appearing when vertically offscreen. |
Victory Pose Fix | fixes a visual issue with Mario's head being squish at level end when small and on Yoshi. |
Yoshi Pipe Animation Fix | fixes an issue where a dismounted Yoshi will use an entering-a-pipe pose when Mario enters a pipe. |
Capespin Direction Consistency | makes it so pressing spin while in flight will consistently turn Mario around; the baserom has modified this patch to make this toggleable via FreeRAM. |
Capespin Hitbox Consistency + Net Punching Hitbox Correction | this patch makes the capespin hitbox is always active on both sides of Mario, check for interaction with sprites every single frame, and check for interaction with tiles either on the left or right side of Mario based on whether the frame is even or odd. |
Double Spinjump Antifail | prevents Mario from dying when spinjumping on two sprites at once. |
Item Release Consistency Fix | this largely makes item throwing and dropping consistent with Mario's movement or the direction on the D-pad being held |
Player X Speed Fix | patches Mario's x-speed oscillation to be consistent when he is at max speed as well as his inability to jump when going at high speed. |
Optimize 1F0 | fixes an issue where placing successive sprites on slope-assist tiles (not just 1F0) runs up the CPU usage and could potentially cause slowdown. |
Fixed Color Data NMI Optimizer | improves how the background colour is stored so there's fewer cycles used during NMI. |
Layer 2 Buoyancy Optimization | fixes slowdown that may occur if use Lunar Magic's second buoyancy option but still have water tiles on Layer 2. |
Lunar Magic's "VRAM Patch" Optimization | optimizes Lunar Magic's handling of VRAM. |
Status Bar NMI Optimizer | faster NMI for the Status Bar saving more scanlines. |
Free Up Tile 69 | Patch that converts a splash tile to three 8x8 tiles to free up one 8x8 in SP1. |
Free Up RAM | Frees up ~32KiB of RAM at 7F0000 for use during levels. |
No More Sprite Tile Limits | allows more sprite tiles to be displayed on screen simultaneously. |
Extended No More Sprite Tile Limits | Allow more extended sprite tiles to be displayed. |
Individual Dragon Coin Save | patches the Dragon Coin system so they are saved when collected. |
ObjecTool 0.5 | this allows for the insertion of custom objects, the baserom makes use of this to enable UberASM Objects. |
Mario's 8x8 Tiles DMA-er | this moves all of the small 8x8 tiles used by Mario when he is climbing or swimming or caping, to be a dynamic asset freeing up a bunch of sprite tiles space in SP1. |
RAM Specific L/R Scroll Disable | rather than a global solution disabling L/R scroll this enabled it to be toggled via FreeRAM. |
RAM Toggled Status Bar | allows the status bar to be toggled via FreeRAM instead of patched out globally. |
RAM-Toggled Spin Jump Fireballs | enables using a FreeRAM flag to make mairo stop using fireballs when he spin jumps. |
Double Bounce Shell Palette | used to display the double bounce shell as grey in-game to distinguish it from the normal green shell. |
Monty Mole, Hammer Bro and Dry Bone Behavior on Extra Bit | these three sprite typically have a sub-map specific behaviour in vanilla, this patch changes that to be enabled by extra bit instead. |
Pitchin' Chuck Won't Turn On Extra Bit | with this patch all types of chucks will persist in their behaviour after jumping on them, instead of chasing Mario. |
Placeable (Kicked) Throw Block | this allows for placing a throw block without the need for the block object, it can be put in kicked state with extra bit. |
Placeable Disco Shell | enables a disco shell to be placed directly without the need for a yellow koopa and shell set up, saving a sprite slot. |
Placeable Kicked Shell | enables a kicked shell to be spawned without the need for a kicking koopa, saving a sprite slot. |
Poison Mushroom | replaces one of the unused vanilla sprites with a Poison mushroom. |
Red Stem Piranha Plants on Extra Bit + Stem Fix | fixes the incorrect stem of the pirahna plants in the Vanilla game but also enhances them with extra bit functionality to have them ignore Mario. |
Rexes With Extra Bit Set Are Squished | starts a Rex in squished state. |
Spike Top Ceiling Cling | patch to allow spinies to be placed on the ceiling. |
Triple Ball 'n' Chain | enhances the triple grey platform sprite to be a triple ball n' chain when the extra bit is set. |
Many minor fixes or edits have been made to the base game via hex edits. Open the "tweaks.asm" file in the resources/patches folder for details.
Some minor changes have been made to the game to optimize it for building Kaizo levels:
A number of bugs and glitches have been patched out of the original game so they will not impact your levels:
Several minor visual problems and oversights in the vanilla game have been fixed or corrected: