Submission #3407: bahamete, kaizoman666, Mister, PangaeaPanga's SNES Super Mario World in 09:57.82

Super Nintendo Entertainment System
Super Mario World (U) [!].smc
Submitted by bahamete on 12/25/2011 2:36:18 AM
Submission Comments
Merry Christmas TASVideos! This is our improvement of 1367 frames, or ~22 seconds over the previous run.

Game objectives

  • Emulator used: Snes9x 1.43 v17
  • Aims for fastest time
  • Abuses programming errors
  • Uses death to save time


This run has taken us a few months and we found many more improvements than we initially thought was possible. If you wish to enjoy the movie to the fullest we suggest you watch before reading ahead.

New Tricks

Chuck-Eat Glitch
This glitch was discovered by nathanisbored. The glitch abused the fact that chucks erroneously have the "Give Power-Up when eaten by Yoshi" bit set. Watching sprite table $7E:167A shows this. Thus, when we eat a chuck, we get something strange in our reserve box or a crash. When we eat a Clappin' Chuck as Fire Mario, it produces a goal sphere in reserve. Other chucks with other power-up statuses give other strange results but these aren't relevant.

Level comments

Level comments in (brackets) are over our previous smv, which is for the same submission but replaced 07/01/12 (dd/mm/yy)

Yoshi's Island 2 (4)

ISM suggested an idea of losing subpixels in order to perform additional corner boosts in this level. These are lost early in the level when 6/5ing. We perform 2 additional corner boosts. Then it became clear that performing one more boost would cause the goal to spawn a frame earlier; we managed a corner clip on a pipe near the end, which is set up via the corner boosts.
Lag is reduced at the goal too, by landing further to the left it seems. Lag is temperamental in this area.

Yoshi's Island 3 (27)

Many frames are saved on the duplications due to PangaeaPanga. Improvement of the sky level is taken from ISM's 96-exit wip.

Yoshi's Island 1 (-2559)

For information on the Item Swap glitch, please see the previous movie's comments.
Many optimization improvements occurred in this level. The aim of yi1 is to eat the Clappin' Chuck as fire mario by using the item-swap glitch; this yields a Goal Point Question Sphere, sprite 4A. We have two strategies to perform this. The first one (smv) is to collect a sprite coin from Jumping Piranha Plant while it is on Yoshi's tongue. We burn the Piranha Plant with Yoshi flames from the red shell near the midpoint. We turn the Piranha Plant into a coin, then collect it while it is on Yoshi's tongue. This triggers an item-swap. This strategy might be thought to be very fast, but because of bad placement of the Piranha Plant and the Clappin' Chuck, it costs a lot of time to die. The second one, which we've chosen in our run, is to fill sprite slots by dropping four resereved powerups and then use the fifth reserved powerup to item-swap. This strategy has an advantage, that we can die with no cost of time, but it costs a little time to collect powerups and we also had to R-Scroll.
(Until recently, these strategies matched after heavy optimization. But thanks to insight from regnum0nline (Dawn), 8 frames were gained for the latter strategy. This idea involved 49 hopping most of the way.)

Yoshi's Island 4 (-2559)

No change.

Iggy's Castle (1287)

The large portion of the improvement in this run happens here. The Goal Point Question Sphere we acquired from Yoshi's Island 1 is used.

Donut Plains 1 (1287)

No change.

Donut Secret 1 (1291)

Just before the first pipe entry, speed oscillation is changed from 17¨15 to 17¨16, which saves a subpixel and hence a frame. In addition, this enables us to beat the frame rule of sprite interaction so we can hit the red koopa a few pixels further to the right as it is unnecessary to slow down and it saves another frame.
To reduce key entry lag, we hit the sleeping fish to the left, with no loss of time thanks to the timing of cape spin.
(A frame is lost due to level transition lag.)

Donut Secret House (1290)

(A frame is lost due to level transition lag.)

Star Warp (1292)

We beat the frame rule of star warp and gain 4 frames on previous movie.
Related addresses:
  • $7E0013: In-Game Frame Counter
  • $7E1F19: Mario's Y Position in OW (2 bytes)
  • $7E1DF7: Star Warp speed
  • $7E1DF8: Star Warp Rotating Timer
OW transition starts as soon as $7E1F19 hits a certain value or less, and warp speed increments depending on the in-game frame counter, or more precisely, it increments when the value of the counter modulo 8 equals 1. So the star warp has a frame rule whose cycle is 8 frames long. Due to its strange behaviour, beating just a half of its cycle may save a frame , and hence the other half 7 frames.

Star World 1 (1296)

New optimization idea of smashola saves 4 frames. This gives us glitchy colours in this level, also.
(A frame is lost from level transition lag.)
Delaying key entry by 2 frames may remove 2 frames of lag.

Star World 2 (1296)

No change.
Delaying key entry by 4 frames may remove 2 frames of lag.

Star World 3 (1296)

No change.

Star World 4 (1302)

By platform boosting at the beginning, we gain some subpixels allowing us to corner clip once more. This saves us a frame. At the keyhole we reduce lag.
(A frame is gained from level transition lag.)
Delaying key entry by 3 frames may remove 2 frames of lag.

Star Warp (1302)

We managed to beat just the whole cycle of the frame rule, which means no time is lost due to the frame rule. If this was not the case, we could sacrifice a few in-game frames, in such a way we would end up losing no time after star warp, to remove lag frames. We were previously on this plan, but the new sw4 improvement finally enabled us to beat the frame rule and this old plan became useless.

Bowser (1367)

A new innovative method involving manipulating Bowser phases allows us to end input much earlier. We can reset a long counter during a phase by hitting Bowser at an appropriate time. For example in the second phase, by hitting Bowser as he begins his routine to drop a Big Steelie, we can avoid this and instead have him throw Mechakoopas on next round. Addresses 7E14B0-7E14B9 are important in this.
The credits would never be triggered by goal spheres being used at any places of Bowsers Castle. It only puts Mario to the overworld.


  • Mister thanks #TASers and pirohiko
  • #tasvideos
  • amaurea and gocha for their helpful Lua scripts
  • nathanisbored for finding Chuck-Eat glitch
  • ISM for some ideas used in this run
Thanks for your patience while we worked on this! Enjoy.

Translation into Japanese - 対訳

この対訳は Mister (Mr.) によるものです。ところどころ私の主観が入っています。


  • 使用したエミュレータ:Snes9x 1.43 v17
  • 最速を目指す
  • プログラムエラーを悪用する
  • 時間短縮のための死亡を許す




このバグは nathanisbored によって発見されました。このバグは「ヨッシーがブルを食べるとパワーアップとして認識される」という(誤って設定されたであろう)仕様を利用したものです。本来食べることのできないブルを口寄せバグ等によって食べると、マリオのパワーアップ状態が変化したり、本来想定されていないストックアイテムが得られたりします。この動画では、ファイアマリオで手拍子ブルを食べることで、ゴール玉(ラムネ海溝の沈没船のゴール)をストックしています。



ヨースター島コース2 (4)

ISM のアイディアをもとにした二つの変更点があります。ひとつは、ゴール口寄せ直前での挙動の最適化、もうひとつは、コーナーブースト等を可能にするために数サブピクセルを犠牲にするというものです。ISM によると「コーナーブーストを2回追加することはできても、ゴールを1フレーム早く出現させるには1サブピクセルだけ足りない」とのことだったので、更に数サブピクセルの犠牲を払い、土管での角抜けを1回追加し、1フレームの短縮につなげました。ヨッシーが居ればこのタイプの角抜けが出来るというのは、この時点ではまだ誰も知らなかったようです(もちろん私も)。

ヨースター島コース3 (27)

PangaeaPanga の妥協のない最適化によって、ブロック増殖部分が大幅に短縮されました。今回はヨースター島コース1でヨッシーを使うため、ここで捨てずに持ち越します。翼を取ったあとの空の面では、ISM の全クリ TAS を参考にしています。

ヨースター島コース1 (-2559)

検証の結果、このふたつの方法はまったく同じ速さになると思われていましたが、regnum0nline (Dawn) の最適化案により、ふたつ目の方法が8フレーム速くなると結論付けられました。彼のアイディアは草陰のキノコ以降慣性移動するというものです。

ヨースター島コース4 (-2559)


ヨースター島の城 (1287)


ドーナツ平野コース1 (1287)


ドーナツ平野秘密のコース1 (1290)


ドーナツ平野の隠れ屋敷 (1289)


スターワープ (1292)

  • $7E0013:ゲーム内フレームカウンタ
  • $7E1F19:マップ画面でのマリオのY座標
  • $7E1DF7:スターワープ時のマリオの速度
  • $7E1Df8:スターワープ時のマリオの回転タイマー
ワープによるマップ移動は $7E1F19 が特定の値以下になったときに始まります。また、ワープ速度はゲーム内フレームカウンタに依存して1から4まで増加します。より正確には、カウンタの値を8で割った余りが1のとき、ワープ速度が増加します。つまりスターワープは8フレーム周期のフレームルールを持っていることになります。一方でスターワープは少し変わった挙動をするので、周期のちょうど半分、4フレームだけ短縮した場合、ワープ後の更新量は1フレームあるいは7フレームとなります。1フレームの場合は更に4フレーム短縮すると残りの7フレームが更新されます。逆もまたしかりです。

ネイティブスターコース1 (1296)

前記録ではマリオの押し出し判定のフレームルールが合わず、このコースに入るのを1フレーム遅らせていましたが、今回はそれを回避することができました。コース内では smashola の新最適化案により、4フレーム短縮しています。また、クリア後のマップ読み込みで1フレームロスしています。

ネイティブスターコース2 (1296)


ネイティブスターコース3 (1296)


ネイティブスターコース4 (1301)

コース内に入るときのマップ読み込みで1フレーム更新。bahamete によるリフト加速のアイディアに、改良型角抜けを追加することで1フレーム短縮。リフト加速のみや、通常の角抜けを追加するだけでは、次の角抜けにつながらず、短縮には至りませんでした。改良型角抜けとは、角抜け中に数サブピクセル犠牲にすることで、ブースト回数を増やし、結果的に通常の角抜けよりも数サブピクセル分のアドバンテージを得るための方法です。また、鍵の挿し込みを最適化して2フレーム短縮し、鍵穴エフェクトのラグも1フレーム軽減しています。

スターワープ (1302)


クッパ城入り口 (1367)


DarkKobold: Judging.

DarkKobold: This run will obsolete the current any%. We will not be changing the branch name.
DarkKobold:Delaying submission while the authors improve the movie. And you only thought it happened to Mario in 3 dimensions.

DarkKobold: Verified and replaced, setting back to accepted. Nice new bowser fight. This run will obsolete the current any%. We will not be changing the branch name.
Last Edited by PangaeaPanga on 1/2/2015 5:42 AM
Page History Latest diff List referrers