In Super Mario Land 2, the Pause bug
causes the code execution to return to a wrong place after a VBlank interrupt.
The return address may be $5914 (or other suitable address) in the wrong bank and the game starts executing wrong bytes and eventually causes a block to be created above Mario's head.
Or the return address may be $4067 in the wrong bank which causes the program to eventually jump to RAM where it is possible to have some control over the executed bytes. This may lead to game end glitch, as well as other things such as: immediately ending the level, and other yet unknown outcomes.
Creating a block above Mario can save time in a level in the "Beat Wario" any% category. This category bans the Pause bug's $4067 scenario (game end glitch
) by design, since the game end glitch means Wario is skipped. However, it is unclear if the pause bug could in the future be used to simply warp to Wario and then beat him, which would defeat the purpose of the "Beat Wario" category.
We are trying to determine if the pause bug should be used in the "Beat Wario" category.
- Would it be ok in the "Beat Wario" any% category to use the pause bug's $5914 scenario (creating blocks) but ban the $4067 scenario (to ban the game end glitch and other variants)?
Or would this be considered an arbitrary goal choice
? (since we pick and choose one thing but not the other)
- Does it matter more what's the nature of the two scenarios (that both are ACE bugs), or does it matter more what they do, how severe they are etc. (creating blocks vs. ending the game)?
- Would it be ok to allow pause bug completely as long as Wario is beaten, as long as no "warp to Wario straight away" exploit is found?