The baserom has a few useful features that are included either for quality of life reasons, are part of other features, or are there to help making levels easier.
There is framework of custom objects (built on ObjecTool) in the baserom to allow you to toggle or activate some simple utility features, but the UberASM Objects page goes into greater detail on this feature.
The baserom comes with an UberASM version of the Retry System that performs better and has more features than the Asar patch version you can get from SMW Central. You can read more about the Retry System in its included documentation.
The Retry System is configured to use vanilla death routine globally but different retry types can be set per-level with UberASM Objects.
To change the Retry System's settings you can edit its configuration files in tools/uberasmtool/retry_config.
settings_global.asm
– Change the global settings for the Retry System.settings_local.asm
– Change the per-level settings for the Retry System.After making changes to any of the above, run "Update" in Callisto to insert the UberASM changes in your project.
A feature of the Retry System a custom checkpoint that you can insert into levels to allow for more than just the single vanilla midpoint. You can read more about it in the included documentation.
This is pretty self-explanatory: the baserom has been patched to save dragon (Yoshi) coins as they are collected, but only if a player reached a checkpoint or goal point. If you would like to reconfigure how dragon coins save, open "sram_tables.asm" found in the tools/uberasmtool/retry_config" and change !DragonCoinSaving = 1
to equal zero (0).
This patch has some other features that are not on by default, like changing the collected dragon coin into something else (you may have seen outline coins in other hacks) and those can be configured in the "dragon_coin_save.asm" file found in resources/patches/features.
As part of the Retry System, there is a per-level sprite-tile-based status bar which allows you to display parts of the HUD while the vanilla layer 3 status bar is hidden and with layer 3 backgrounds, you can see it active in the Demo Level:
This feature is part of the Retry System, in this baserom you can set a level to use these status items individually with UberASM Objects. Alternatively, there is a more advanced setup available for use with UberASM. You can read about that in the retry API documentation.
Version 5.11 and earlier of baserom had a more complicated setup.Included in the baserom is an UberASM "safety mechanism" that clears all collected checkpoints (both midways and those given by the Retry System) and saves the game when the player presses a key combo. This is to fix any save files and release the player from any potential checkpoint-related softlocks.
This UberASM runs on the overworld and can be invoked with the following key combo: L + R + Select. Pressing this will play a sound to indicate checkpoints have been cleared and the game has been saved.
If you would like to change the key combination you can do so by editing the "clear_saved_checkpoints.asm" in the tools/uberasmtool/gamemode folder. Keep in mind, using either any of the face buttons (ABXY) in this combo while on the Overworld will enter a level.
If you would like to disable this feature, you can remove it from the gamemode:
section of UberASM Tool's list file in the tools/uberasmtool folder, look for the line you see below.
gamemode: ... 0E clear_saved_checkpoints.asm, ow_auto_save.asm ...Found in version 5.4 of baserom or later. (Runs in gamemode 14 in version 5.4).
The baserom has a basic UberASM feature to autosave the game when you return to or move Mario on the overworld. If you would like to disable this feature, you can remove it from the gamemode:
section of UberASM Tool's list file in the tools/uberasmtool folder, look for the line you see below.
gamemode: ... 0E clear_saved_checkpoints.asm, ow_auto_save.asm ...Found in version 5.8 of baserom or later.