# Retry Hijack Map

While this version of the Retry System mostly uses UberASM Tool code to run, it still requires some hijacks for some functions that cannot be achieved otherwise. These hijacks are inserted automatically when inserting UberASM Tool, and they can be removed with the provided src/retry_unpatch.asm file if you need to remove Retry from your rom (see Uninstalling Retry for details).

If you're experiencing game crashes or weird problems after inserting some other patch, you can check here if there are conflicting hijacks with Retry, although that should be pretty rare compared to the old Retry patch which had much more frequent resource conflicts.

Address | Size | Description
--- | --- | ---
`$009E25` | `1` | Changes how many lives the save file starts with.
`$05B31B` | `2` | Fixes a bug where some sprite tiles disappear when closing a message box.
`$00D0D8` | `5` | Disables the vanilla life loss code. It is equivalent to the infinite lives patch found on SMWCentral.
`$008E5B` | `4` | Sets a flag used by Retry when the "hurry up" effect happens. This hijack is also used by the "Individual Dragon Coins Save" patch to check for the presence of Retry in the rom.
`$05DA1C` | `4` | Fixes the initial sprite facing position and the "No Yoshi Sign 2" castle intro being forced for some levels. Depending on the values of `!initial_facing_fix` and `!no_yoshi_intro_fix`, this may be a JML or just a hex edit.
`$00C572` | `4` | Fixes being able to drop the item in reserve while Mario is dead. Depending on the value of `!item_box_fix`, this may be a JML or just a hex edit to restore the original code.
`$0DA415` | `4` | If `!use_custom_midway_bar = 1`, this inserts code to handle Retry's custom midway objects. If `!use_custom_midway_bar = 0`, this restores the original code (only the first time the setting is changed, and only if Objectool is present in the rom).
`$05D842` | `4` | Makes sure to load in the correct entrance when entering a level from the Overworld, depending on the level's last reached checkpoint.
`$05D9DA` | `4` | Makes sure to load in the correct entrance when loading the midway entrance of a level, depending on the sublevel's checkpoint setting.
`$05D9EC` | `4` | Makes sure to load Mario at the correct position when a checkpoint is a vanilla midway entrance.
`$05DAA3` | `4` | Fixes a bug when loading a secondary entrance in a level with a "No Yoshi Intro" from the Overworld.
`$008F49` | `4` | If `!status_death_counter = 1`, this writes the death counter in the status bar. If `!status_death_counter = 0`, it restores the original code (only the first time the setting is changed to 0).
`$008C89` | `12` | If `!status_death_word = 1`, it changes the status bar tilemap to show "DEATHS" instead of "MARIO". If `!status_death_word = 0`, it restores the original tilemap but only the first time that `!status_death_counter` is changed to 0.
`$0081F4` | `3` | If `!remove_vanilla_status_bar = 1`, disables code to draw the vanilla status bar in normal levels. If `!remove_vanilla_status_bar = 0`, it restores the original code (only the first time the setting is changed to 0).
`$008275` | `5` | If `!remove_vanilla_status_bar = 1`, disables code to enable the vanilla status bar IRQ. If `!remove_vanilla_status_bar = 0`, it restores the original code (only the first time the setting is changed to 0).
`$0082E8` | `3` | If `!remove_vanilla_status_bar = 1`, disables code to draw the vanilla status bar in mode 7 levels. If `!remove_vanilla_status_bar = 0`, it restores the original code (only the first time the setting is changed to 0).
`$00985A` | `3` | If `!remove_vanilla_status_bar = 1`, disables code to setup the initial vanilla status bar tilemap in mode 7 levels. If `!remove_vanilla_status_bar = 0`, it restores the original code (only the first time the setting is changed to 0).
`$00A5A8` | `3` | If `!remove_vanilla_status_bar = 1`, disables code to setup the initial vanilla status bar tilemap in normal levels. If `!remove_vanilla_status_bar = 0`, it restores the original code (only the first time the setting is changed to 0).
`$00FFD8` | `1` | If `!sram_feature = 1` and SA-1 is not patched, it sets the SRAM size to 8KB (unless the SRAM size was already set to a bigger size by some other patch). If `!sram_feature = 0` and SA-1 is not patched, is sets the SRAM size back to 2KB (unless the SRAM size was already set to a bigger size by some other patch).
`$009BCB` | `4` | If `!sram_feature = 1`, makes sure to save the addresses in Retry's `save` table to SRAM/BW-RAM whenever the game is saved. If `!sram_feature = 0`, it restores the original code (only the first time the setting is changed to 0).
`$009CF5` | `4` | If `!sram_feature = 1`, makes sure to load the addresses in Retry's `save` table from SRAM/BW-RAM whenever the save file is loaded, or to load the values in Retry's `sram_default` table whenever a new save file is started. If `!sram_feature = 0`, it restores the original code (only the first time the setting is changed to 0).
`$009856` | `4` | Makes sure some of Retry's code is run during level load for vanilla mode 7 bosses.
`$00F2D8` | `4` | Makes sure vanilla midways set the proper checkpoint depending on the current sublevel's settings, and prevents getting a mushroom at the midway if `!midway_powerup = 0`.
`$0DA691` | `4` | Makes sure to spawn or not spawn the midway bar object at level load depending on the current checkpoint.
`$05B30E` | `4` | Fixes a bug where the switch palace message boxes sprites become glitched if drawing sprites in UberASM Tool's 2.0 "end" label.

Return to main page