![super metroid randomizer water rooms super metroid randomizer water rooms](https://i.ytimg.com/vi/WnUkIVoVJnA/maxresdefault.jpg)
- #Super metroid randomizer water rooms update#
- #Super metroid randomizer water rooms full#
- #Super metroid randomizer water rooms code#
I simply cannot allow my ability to improve this project be inhibited by inferior applications or devices that do not properly emulate expansion chips. Adding new features to both versions would require maintaining two completely separate codebases and writing almost every feature twice. The change to SA-1 included a complete overhaul of the backend code.
#Super metroid randomizer water rooms update#
My system isn't supported! Update the older hacks! Such features will be marked with this badge: EX. These will necessarily require a slightly higher fraction of the CPU's time, but they will only take this time when the HUD is redrawn.
#Super metroid randomizer water rooms code#
The rest of the code hacked in is very minimal, and those few extra cycles are very unlikely to create additional lag frames.Ĭertain features require more variables to be copied over than others.
![super metroid randomizer water rooms super metroid randomizer water rooms](https://i.ytimg.com/vi/D6KLgZ8_NaM/maxresdefault.jpg)
On any frame where the HUD doesn't update, a separate check makes sure that these variables are still copied over, as this copying is critical to balancing the practice hack back in line with vanilla. This way, they can contribute their normal CPU load without ruining the HUD. Some features (such as the hearts) are still written to their original WRAM buffer. After these variables are copied, the SNES sends another interrupt request to the SA-1 to indicate that the coprocessor can do its own changes to the tilemap before it gets drawn to the screen. This is where most of the time saved with OAM optimization is accounted for. Once the HUD's buffer has been modified by the game, it copies a handful of variables that are only visible to the SNES CPU into memory that is visible to both the SNES and the SA-1. The next frame, the SNES will check for this vector, and respond accordingly.įor the game HUD, almost every reference to its WRAM buffer has been changed to a location in BWRAM where the SA-1 can see it. If a shortcut is found, a vector pointing to its routine in ROM will be saved in memory. The SNES CPU then sends an interrupt request which tells the SA-1 to process controller input for shortcuts. The clearing routine isn't coded very efficiently, so it's been optimized to about twice its original speed. There are specific routines that get run at the beginning and end of every frame to manage the OAM buffer. Due to the limitations on memory access, not every feature can be handled lag-free on the SA-1.įeatures that run on the SA-1 will be marked with this badge: SA1. This allows the practice hack to handle certain features with minimal lag change from vanilla.
![super metroid randomizer water rooms super metroid randomizer water rooms](https://i.ytimg.com/vi/rfdsnjEebDA/maxresdefault.jpg)
It can run code faster, but, more importantly, it can run at the same time as the SNES CPU without slowing it down. The SA-1 is a coprocessor that can be used alongside the main SNES CPU. Here's a quick rundown of how it works: SA-1 Increment/Decrement by larger amounts no wrappingĬommon concerns How accurate is lag compared to the vanilla game?Īs of version 14, very about 1/10th of a scanline off. When disallowed, shortcut bindings will play a beep and resume normal action. This menu and other shortcuts can be activated during most gameplay modes, but will be prohibited during some modules (such as the file select menu). The practice hack menu can be accessed by having the R and Start buttons held down together on the same frame. Input display for displaying your inputs on your display.Ĭonfiguration settings will persist across practice hack versions if newly downloaded hacks are given the same file name as previous versions on whatever system you use.Timers for comparing strategies and execution against yourself and others.Built-in save states for practicing anything repeatedly.Presets to load a specific section of the run with the appropriate equipment.
#Super metroid randomizer water rooms full#
The practice hack comes loaded with a full suite of HUD changes, features, and wedges to facilitate RTA practice and glitch hunting.
![super metroid randomizer water rooms super metroid randomizer water rooms](https://i.ytimg.com/vi/nbU7D3KmuXQ/maxresdefault.jpg)
This is a snapshot of the pre-SA-1 practice hack. Pressing Y on a bottle in the menu will select the next bottle.Bottle submenu is accessed with X, instead of automatically.This version is slightly modified from the main version to include several randomizer features: This version should be used by any system that can properly emulate the SA-1 with 256kb of BWRAM.