Difference between revisions of "In the 6"

From Super Mario World Speedrunning Wiki
Jump to: navigation, search
(Moved Resources, added text. Should be fine for now :P)
(Added Preliminary Multitap Information)
 
(One intermediate revision by the same user not shown)
Line 18: Line 18:
 
== Ace ==
 
== Ace ==
 
*[[Yoshi's Island 1]]
 
*[[Yoshi's Island 1]]
 +
*[[Yoshi's Island 2]]
 +
== Ace (Multitap) ==
 
*[[Yoshi's Island 2]]
 
*[[Yoshi's Island 2]]
  
Line 23: Line 25:
 
ACE is Arbitrary Code Execution. The player writes specific bytes of data in the game by performing specific actions on specific frames or pixels in the game. The player then forces the game to read the arbitrarily written code, in where the game executes the arbitrarily written code.
 
ACE is Arbitrary Code Execution. The player writes specific bytes of data in the game by performing specific actions on specific frames or pixels in the game. The player then forces the game to read the arbitrarily written code, in where the game executes the arbitrarily written code.
  
The ACE route is slightly different that the normal In The 6 route. The route first goes to [[Yoshi's Island 1]] and writes some bytes of code. The route then goes to [[Yoshi's Island 2]] and writes more bytes of code before performing the RLX item swap and executing the arbitrary code. The route then goes to the pipe where the game warps you to Bowser's [[Front Door]] instead of the [[Yoshi's Island 1]] sub-level.
+
The ACE route is slightly different than the normal In The 6 route. The route first goes to [[Yoshi's Island 1]] and writes some bytes of code. The route then goes to [[Yoshi's Island 2]] and writes more bytes of code before performing the RLX item swap and executing the arbitrary code. The route then goes to the pipe where the game warps you to Bowser's [[Front Door]] instead of the [[Yoshi's Island 1]] sub-level.
  
 
== Resources ==  
 
== Resources ==  
Line 34: Line 36:
 
There is also an [https://pastebin.com/yQnfdUhy In The 6 ACE Pastebin] by MostlySMW:
 
There is also an [https://pastebin.com/yQnfdUhy In The 6 ACE Pastebin] by MostlySMW:
  
Go to YI1, get a powerup in reserve and drop it so it sets $EF to 19, then get another powerup and drop it so it sets $EE to C7. Kill yourself and get back to YI2. Do everything normal, except make sure to kill the red shell after the message box and the 2 naked koopas. Do all the shells, up until the slot 7 one, where things get a little weird. You have to first kill the slot 9 koopa, do the turn around and the shell kick upwards, THEN spit it where it needs to be. You'll also have to use the fireball from that last koopa during the swap, since you killed the other red koopa. After you spit the shell, just continue and do the swap
+
"Go to YI1, get a powerup in reserve and drop it so it sets $EF to 19, then get another powerup and drop it so it sets $EE to C7. Kill yourself and get back to YI2. Do everything normal, except make sure to kill the red shell after the message box and the 2 naked koopas. Do all the shells, up until the slot 7 one, where things get a little weird. You have to first kill the slot 9 koopa, do the turn around and the shell kick upwards, THEN spit it where it needs to be. You'll also have to use the fireball from that last koopa during the swap, since you killed the other red koopa. After you spit the shell, just continue and do the swap"
  
 
=== ROM ===
 
=== ROM ===
Line 42: Line 44:
 
Here are the bytes that must be written to the game in order for the ACE to execute properly.
 
Here are the bytes that must be written to the game in order for the ACE to execute properly.
 
[[File:IT6ACE.PNG]]
 
[[File:IT6ACE.PNG]]
 +
 +
If the file above fails to load, here is a link to [https://cdn.discordapp.com/attachments/459223633689182218/482798381559971840/InThe6_ACE_Code.PNG the photo].
 
=== Byte Order ===
 
=== Byte Order ===
 
This is the order in which the bytes are written to SMW's memory addresses.
 
This is the order in which the bytes are written to SMW's memory addresses.
Line 84: Line 88:
  
 
Once all these values are setup, do the RLX item swap to achieve the [[Cloud]] and sucessfully execute the code. The pipe that leads to a sub-level will instead warp you to Bowser's [[Front Door]]. If the item swap did not execute or did not execute properly, the warp will NOT work.
 
Once all these values are setup, do the RLX item swap to achieve the [[Cloud]] and sucessfully execute the code. The pipe that leads to a sub-level will instead warp you to Bowser's [[Front Door]]. If the item swap did not execute or did not execute properly, the warp will NOT work.
 +
 +
= ACE Guide (Multitap) =
 +
The multitap variant of the ACE setup removes the need to go to YI1 and has everything set up and executed in YI2. Two multitaps are required for this setup. This route was developed by Japanese runner tomoha (倫葉).
 +
 +
== Resources ==
 +
=== PasteBin ===
 +
There is also an [https://pastebin.com/Z3QwNKpp In the 6 ACE Multitap Route Technical Explanation Pastebin] by tomoha. It is very technical document in nature, but provides clear insights on the nature of the changes of the run. Here are some lines to take note of:
 +
* $421A and $421B are port 2 slot 1, which is pressing A, L, B, Y and Start.
 +
* $421C and $421D are port 1 slot 2, which is pressing L, Select, Y, B, Down and Right.
 +
* We spit out shell for slots #1-5: $8C, $C7, $19, $4C, $87 and $EF, which mean STY $19C7; JMP $EF87.
 +
 +
== Values ==
 +
=== Multitap Controller ===
 +
'''Note:''' "Ports" are the physical ports on the console from left to right, and "Slots" refer to the slots on the multitap from left to right.
 +
 +
Plug in both multitaps into your controller ports. On the first port, slot 2's controller should have the buttons "L, Select, Y, B, Down and Right" pressed. On the second port, slot 1's controller should have the buttons "A, L, B, Y and Start" pressed. The controller you play with should be on port 1, slot 1.

Latest revision as of 01:31, 28 December 2021

In the 6 is a category on the Extra Categories leaderboard, in where runners get stuck in the "6" in Bowser's Front Door. This run is most often performed with the Orb glitch in order to skip Iggy's Castle and Cutscene. Another method is to use ACE or Arbitrary Code Execution. A guide on In The 6 ACE is available under the Ace Guide section.

Route

No Ace

Ace

Ace (Multitap)

ACE Guide

ACE is Arbitrary Code Execution. The player writes specific bytes of data in the game by performing specific actions on specific frames or pixels in the game. The player then forces the game to read the arbitrarily written code, in where the game executes the arbitrarily written code.

The ACE route is slightly different than the normal In The 6 route. The route first goes to Yoshi's Island 1 and writes some bytes of code. The route then goes to Yoshi's Island 2 and writes more bytes of code before performing the RLX item swap and executing the arbitrary code. The route then goes to the pipe where the game warps you to Bowser's Front Door instead of the Yoshi's Island 1 sub-level.

Resources

Route Video

This video shows a real time route for In The 6 ACE:

Video: In the 6 ACE Route Source: MostlySMW

The description has some very important information as well: One important thing: Make sure not to lick any berries once you're in YI2 (running into them is ok). If you lick a berry, it overrides the values you set when you were in YI1.

PasteBin

There is also an In The 6 ACE Pastebin by MostlySMW:

"Go to YI1, get a powerup in reserve and drop it so it sets $EF to 19, then get another powerup and drop it so it sets $EE to C7. Kill yourself and get back to YI2. Do everything normal, except make sure to kill the red shell after the message box and the 2 naked koopas. Do all the shells, up until the slot 7 one, where things get a little weird. You have to first kill the slot 9 koopa, do the turn around and the shell kick upwards, THEN spit it where it needs to be. You'll also have to use the fireball from that last koopa during the swap, since you killed the other red koopa. After you spit the shell, just continue and do the swap"

ROM

There is a ROM by MostlySMW that will be extremely beneficial while attempting to perform the In The 6 ACE. Click this Link for the ROM.

Values

Here are the bytes that must be written to the game in order for the ACE to execute properly. IT6ACE.PNG

If the file above fails to load, here is a link to the photo.

Byte Order

This is the order in which the bytes are written to SMW's memory addresses.

  • 20 & E5 - Controller 2 Button Setup: L + Select + Y + B + Down + Right.
  • 19 - YI1 Mushroom Drop
  • C7 - YI1 2nd Mushroom Drop
  • 1A - 1UP Shell Sprite Despawn Velocity
  • FC - Shell Spit
  • A9 - Shell Spit
  • D0 - Shell Spit
  • 92 - Shell Spit
  • EE - Shell Spit
  • 4C - Shell Spit
  • 87 - Shell Spit
  • 80 - Shell Turnaround
  • 18 - Shell Kick Upwards
  • EF - Shell Spit

In the photo, the 76 and 04 are explained below.

Byte Explanation

Here is a little more in-depth explanation on how to achieve all of the values. Written in the order as seen in the photo.

  • FC - The first shell in the level, shell spit on a specific pixel.
  • A9 - After respawning all the Koopas (by running left), grab the last Koopa and shell spit on a specific pixel.
  • D0 - After respawning all the Koopas (by running right), grab the first Koopa and shell spit on a specific pixel.
  • 92 - After respawning all the Koopas (by running left), grab the last Koopa and shell spit on a specific pixel.
  • EE - After respawning all the Koopas (by running right), grab the first Koopa and shell spit on a specific pixel.
  • 4C - After respawning all the Koopas (by running left), grab the last Koopa and shell spit on a specific pixel.
  • 87 - After respawning all the Koopas (by running right), grab the first Koopa and go under the platform; shell spit on a specific pixel.
  • EF - Grab the shell with Yoshi and spit out the shell on a specific pixel.
  • 04 - This value corresponds to Yoshi's X-Position. When performing the RLX Cloud setup, this value should be around F6.
  • 76 - This value corresponds to a Sprite Slot's X-Position. However, we can ignore this value as it is of no use to the player.
  • C7 - Collect the Fire Flower and then set up the screen with another screen scroll and drop the mushroom.
  • 19 - You collect the first two mushrooms in the level and then drop the first one after setting up the screen with a screen scroll.
  • 80 - Stomp on the first Koopa with Yoshi and dismount. Bounce off the final Koopa and kill the shell-less Koopa. Go right, then go left and perform the shell turnaround (quickly press right, then go left).
  • 18 - Position the screen on a specific pixel, then kick the shell up. Then go to a spot off to the left and kick the shell up on a specific pixel.
  • 1A - 1UP Shell Sprite Despawn Velocity. Setup by scrolling the screen and seeing when the top-right shell fragment despawns.
  • 20 & E5 - This is the same byte that was used in the former 0 Exit strats. The button setup is: L + Select + Y + B + Down + Right.
  • 14 - This value corresponds to the X-Position of the item in Yoshi's Mouth. It can be useful when setting up sprite slots.

Once all these values are setup, do the RLX item swap to achieve the Cloud and sucessfully execute the code. The pipe that leads to a sub-level will instead warp you to Bowser's Front Door. If the item swap did not execute or did not execute properly, the warp will NOT work.

ACE Guide (Multitap)

The multitap variant of the ACE setup removes the need to go to YI1 and has everything set up and executed in YI2. Two multitaps are required for this setup. This route was developed by Japanese runner tomoha (倫葉).

Resources

PasteBin

There is also an In the 6 ACE Multitap Route Technical Explanation Pastebin by tomoha. It is very technical document in nature, but provides clear insights on the nature of the changes of the run. Here are some lines to take note of:

  • $421A and $421B are port 2 slot 1, which is pressing A, L, B, Y and Start.
  • $421C and $421D are port 1 slot 2, which is pressing L, Select, Y, B, Down and Right.
  • We spit out shell for slots #1-5: $8C, $C7, $19, $4C, $87 and $EF, which mean STY $19C7; JMP $EF87.

Values

Multitap Controller

Note: "Ports" are the physical ports on the console from left to right, and "Slots" refer to the slots on the multitap from left to right.

Plug in both multitaps into your controller ports. On the first port, slot 2's controller should have the buttons "L, Select, Y, B, Down and Right" pressed. On the second port, slot 1's controller should have the buttons "A, L, B, Y and Start" pressed. The controller you play with should be on port 1, slot 1.