Active player (302)
Joined: 9/2/2006
Posts: 504
So nothing happens at the end if you get all of the Dragon Coins? That makes it sound like an arbitrary goal, and I don't think it would be accepted.
You don't really need a diffrent ending or a special event to justify a 100% goal. You justify it by showing that it varies significantly from a normal any% run and shows off more of the game. Obviously the category should not be "too" arbitary. Besides, my memory might be wrong but nothing special happens when you get 96 exits right?
1) To collect all possible dragon coins including those in the sky level; 2) To collect at least five dragon coins in each level which possesses dragon coins.
I'd probably vote for option 2 and collecting only regular non-sky-level dragon coins. Using glitches to get to the sky levels are a problem otherwise and would make the run very uninterresting.
Skilled player (1743)
Joined: 9/17/2009
Posts: 4986
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Wyster wrote:
Besides, my memory might be wrong but nothing special happens when you get 96 exits right?
I think the problem is that the SNES version doesn't record the amount of Dragon Coins collected, as mentioned by Mister. But it does record the number of exits found.
Masterjun
He/Him
Site Developer, Expert player (2047)
Joined: 10/12/2010
Posts: 1185
Location: Germany
Wyster wrote:
my memory might be wrong but nothing special happens when you get 96 exits right?
you get a star besides the 96 what means: "yay, you have all exits!"
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Joined: 6/26/2011
Posts: 167
The thing about this idea "showing off more of the game", is that it really wouldn't show noticeably more than a 96-exit run already would. The only difference now is that you're collecting a lot of the dragon coins, a value that is both arbitrary and untracked. The simplest solution would be to use the GBA version which tracks the coins, and gives you a special scene, so there is an in-game reason to pursue it. (Whether such a run already exists on a different website shouldn't matter, as we should not be held to any records other than what we set ourselves. So as long as the other run's creator elects not to submit it, we'd have to make one ourselves anyway.)
First a movie gets submitted, and ends up accepted despite breaking rules other runs have been rejected for. And when I vote less than spectacularly on this movie, I become the victim of harassment and threats. Yay, favoritism.
Joined: 5/9/2005
Posts: 752
The GBA version also has Luigi who has different mechanics to Mario. I seem to recall there being interest in the recently rejected SMW GBA any% submission topic, in seeing a Luigi run. A run combining the changes of a new character, a new goal (All dragon coins/100%), and an new 'updated' version of the game offers enough variation to the vanilla SMW SNES runs to be worth doing In my mind. Taking those goals individually, into separate runs... Not so much.
Experienced player (608)
Joined: 10/23/2004
Posts: 706
Paused wrote:
A run combining the changes of a new character, a new goal (All dragon coins/100%), and an new 'updated' version of the game offers enough variation to the vanilla SMW SNES runs to be worth doing In my mind.
I completely agree, and would love to see said run.
Current Project: - Mario Kart 64
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4038
Paused wrote:
The GBA version also has Luigi who has different mechanics to Mario. I seem to recall there being interest in the recently rejected SMW GBA any% submission topic, in seeing a Luigi run. A run combining the changes of a new character, a new goal (All dragon coins/100%), and an new 'updated' version of the game offers enough variation to the vanilla SMW SNES runs to be worth doing In my mind. Taking those goals individually, into separate runs... Not so much.
This sounds like a great idea. The run would be really optimized and very entertaining. I hope someone considers doing this.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
I would like to see the GBA version with all Dragon Coins + All Exits. Otherwise, the SNES version is superior.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
dnnzao
He/Him
Former player
Joined: 11/5/2010
Posts: 90
Location: Toronto, ON
hegyak wrote:
I would like to see the GBA version with all Dragon Coins + All Exits. Otherwise, the SNES version is superior.
ISM has a super amazing run on GBA, that's why I'm not doing on the GBA version :/
sorry my bad english... - Finished projects: Super Demo World any% - SMW Hack - Dropped projecs: Super Demo World All Exits - SMW Hack Super Mario World All Exits
Active player (264)
Joined: 4/15/2010
Posts: 198
Location: England
I'll post here what we know about the "credits glitch" discovered by あんた (anta). What is the credits glitch? In short, the credits glitch is a way for us to jump straight to the credits of Super Mario World very early on in the game, from Yoshi's Island 3. I've spoken with DarkKobold and he said it would be considered beating the game. It would probably also be separate category (glitched any%). In a slightly more technical way, it's a way for us to write a value of #$1C to $7E:0100. This RAM address happens to be the game mode, and a value of #$1C will trick the game into running the final cutscene (the credits). Don't get too excited though. The chances of it happening are something such as 1 in 1,000,000,000, or something ridiculous like this. So I'll continue to explain how to perform it and try to be not so technical. How to perform? As you may or may not know, when Yoshi holds a null sprite in his mouth, it has a slot value of 255 (#$FF). The sprite table is 12 bytes. So, as you can imagine, the properties of the null sprite get written elsewhere. For more information on this bug and how to perform it, please see Mister's post. I will not describe it here. So in short, when spitting out a sprite, it'll usually store to $7E00E4 + id. When the id is #$FF, it will store to a different address. When we stand on a brown platform, Mario's (and Yoshi's) image is obscured completely, and a new one is drawn instead. This writes values to the stack. Thus, an unusual program can be executed if we write 255 values to the stack too! All of this below is the code set up to make this bug work. The values must fall into place perfectly, otherwise we'll get a crash, another strange effect or nothing.
Language: ASM

01f1fc lda $e4,x [0000e8] A:f177 X:0004 Y:0001 S:01e0 D:0000 DB:01 nVMXdizC V: 80 01f1fe clc A:f186 X:0004 Y:0001 S:01e0 D:0000 DB:01 NVMXdizC V: 80 01f1ff adc $f305,y [01f306] A:f186 X:0004 Y:0001 S:01e0 D:0000 DB:01 NVMXdizc V: 80 01f202 ply A:f176 X:0004 Y:0001 S:01e0 D:0000 DB:01 nVMXdizC V: 80 01f203 sta $00e4,y [0101e3] A:f176 X:0004 Y:00ff S:01e1 D:0000 DB:01 NVMXdizC V: 80
This is the first part of our executed code. I wouldn't worry too much about it; it just jumps to another piece of executed code.
Language: ASM

01ee77 ror $49,x [00004d] A:f100 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdiZC V: 81 01ee79 ora ($9d,x) [01355a] A:f100 X:0004 Y:00ff S:01e4 D:0000 DB:01 NvMXdizC V: 81 01ee7b jmp ($ad15,x) [01ad19] A:f135 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81
This is the second part. The first byte is the low byte of the random number generator and the second byte is the result of the random number generator. Thus, for this code to work, the RNG must be 92 F7.
Language: ASM

01148c jmp ($f792,x) [01f796] A:f135 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81
This code is executed in RAM, in the OAM mirrors. (From SMWiki: OAM is a chunk of memory in the PPU that stores the data about the sprite tiles to draw onto screen. It contains 128 "sprite slots", each slot requiring 4 bytes in the main table and two additional bits stored separately in a smaller table towards the end of the OAM.) So for this bug to occur we must find out what the OAM values are and manipulate them accordingly. Below is how the code should align:
Language: ASM

010302 8E 28 81 stx $8128 [018128] A:f135 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81 010305 39 06 2A and $2a06,y [012b05] A:f135 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81 010308 B0 FA bcs $02fa [0102fa] A:f120 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81 0102fa 66 A0 ror $a0 [0000a0] A:f120 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81 0102fc A3 F0 lda $f0,s [0002d4] A:f120 X:0004 Y:00ff S:01e4 D:0000 DB:01 NvMXdizC V: 81 <-- Loads the "new game mode" 0102fe 66 20 ror $20 [000020] A:f11c X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81 010300 8F F0 8E 28 sta $288ef0 [288ef0] A:f11c X:0004 Y:00ff S:01e4 D:0000 DB:01 NvMXdizc V: 81 010304 81 39 sta ($39,x) [010100] A:f11c X:0004 Y:00ff S:01e4 D:0000 DB:01 NvMXdizc V: 81 <-- Stores the "new game mode" 010306 06 2A asl $2a [00002a] A:f11c X:0004 Y:00ff S:01e4 D:0000 DB:01 NvMXdizc V: 81 010308 B0 FA bcs $02fa [0102fa] A:f11c X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdiZc V: 81 01030a 04 60 tsb $60 [000060] A:f11c X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdiZc V: 81 01030c 60 rts A:f11c X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdiZc V: 81
So starting from $7E02FA, OAM should look like this:
66 A0 A3 F0 66 20 8F F0 8E 28 81 39 06 2A B0 FA 04 60 60
++ -- ** ** ++ -- ++ -- ++ -- ** ** ++ -- ** ** ++ -- **
** = required ++ = semi-required; the hex value must be the same opcode length as the given example. Another OAM value we have to pay attention to that was previously overlooked is a lone value at $7E:02D4. This OAM value is the one which actually writes to the Game Mode, thus the following values are required: #$1C: For the Yoshis "Thank You!" screen #$20: Shows the enemies cutscene #$26: Shows the "The End" screen The others are not required, provided they don't change the Accumulator when the game mode is changed. The only other thing we have to take into account is Yoshi's X Position and direction. It should be #$86 when facing left. When facing right it must be #$66. Shut up and let me see it! Okay. The original movie by antaasas. This version jumps to the Yoshi "Thank You" screen. There is also an encode here. Masterjun's test movie, which jumps to the "THE END" screen instead. The first thing you'll notice is that the players are performing what may seem to be an arbitrary set of actions, such as recycling fish. Well, it's all relevant. When fish bounce, they call the Random Number Generator subroutine three times. Thus with many fish bouncing we can get to the desired RNG number quickly. However, during their INIT routine, koopas call it once. So we need to plan our RNG values accordingly. In addition, the monty moles which follow Mario call the subroutine once per frame; unfortunately, there are none in yi3 and the value gets reset on OW/level load. p4plus2 is currently working on a C++ program that replicates the SMW RNG routine exactly so we can work out the miminum number of changes required. Any other actions you see within the movie, such as cape-sliding or screen-scrolling seem to be required actions to manipulate the OAM. Useful Links Anta's documentation (Japanese). p4plus2's documentation, from which most of this post is written according to. SMWCentral RAM Map Please, if you notice any mistakes in my writing, point it out to me on IRC or PM or something. I also urge anyone to help us if we've missed something important. I'm not very knowledgeable in the field of Assembly so I probably did get something wrong; most of this post is due to p4plus2/Smallhacker.
Retired smw-96, smw any%
Joined: 12/22/2009
Posts: 291
Location: Michigan
Watching this entire glitch unfold right in front of me on Skype has truly been a remarkable experience.
Current projects: Yoshi's Island Disassembly Yoshi's Island any% TAS with Carl Sagan
Lil_Gecko
He/Him
Player (98)
Joined: 4/7/2011
Posts: 520
I didn't understand a single word, neither a thing that is happening in the smv but it's just awesome !!!!
Joined: 10/20/2006
Posts: 1248
Very awesome beyond what words can express! I'm curious if that's a new trend developing here.
nesrocks
He/Him
Player (247)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
anta is the name of a species of animal, but the word is mostly used as a slang in Brazil meaning a stupid person. Exactly what he is not, this is crazy genius. Good job there bahamete, I also wonder if this is a trend, because honestly this is the kind of stuff that is hard to find by trial and error as a way to improve a TAS.
Former player
Joined: 2/19/2007
Posts: 424
Location: UK
Wow, that's amazing! The detective work leading up to this must have been really exiting! By the way, shouldn't it be
66 A0 A3 F0 66 20 8F F0 8E 28 81 39 06 2A B0 FA 04 60 60
++ -- ** ** ++ -- ++ -- -- -- ** ** ++ -- ** ** ++ -- **
The 20 8F F0 is all part of the argument to the instruction starting at 66, so none of them matter.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
WTF?! That's how you beat a game. For those that have not seen what happens, the game glitches SO hard and then goes to the "Thank You" screen.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Editor, Experienced player (860)
Joined: 8/12/2008
Posts: 845
Location: Québec, Canada
I am stunned. Too bad I don't understand all those hexadecimal values and sutff. All I can say is that this is some really shocking content right there!
Joined: 12/6/2008
Posts: 1193
This is really awesome! Might be a little hard to put this in a "glitched" category, but not the other, because the other uses quite some glitches as well. Maybe make this the default any% and call the other "no gameending glitch" or something. Btw. I still hope whoever is working on the current any% finishes that one first before doing one with this new glitch. I really want to see a how fast a run can get without directly glitching to the ending.
Joined: 12/22/2009
Posts: 291
Location: Michigan
Slowking wrote:
Might be a little hard to put this in a "glitched" category, but not the other, because the other uses quite some glitches as well.
DarkKobold already said that this run would constitute a glitched run.
Slowking wrote:
Btw. I still hope whoever is working on the current any% finishes that one first before doing one with this new glitch. I really want to see a how fast a run can get without directly glitching to the ending.
Both are being worked on. Don't worry, you'll get to see both.
Current projects: Yoshi's Island Disassembly Yoshi's Island any% TAS with Carl Sagan
Skilled player (1652)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
Slowking wrote:
This is really awesome! Might be a little hard to put this in a "glitched" category, but not the other, because the other uses quite some glitches as well. Maybe make this the default any% and call the other "no gameending glitch" or something. Btw. I still hope whoever is working on the current any% finishes that one first before doing one with this new glitch. I really want to see a how fast a run can get without directly glitching to the ending.
I see it most similar to the X-ray glitch in Super Metroid, or the pipe glitch in Super Mario Land 2. However, in the former case, the x-ray glitch is called the glitched category, since it relies on one game breaking glitch. The latter obsoleted the any% run, because both the previous any% run and the current run both use the pipe glitch. A non-pipe-glitch any% run could still fit on the site. This one is only less obvious, because both runs will use Yoshi. However, one relies on the null-spit glitch, and the other is a sprite-replace-swallow glitch.
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Joined: 12/22/2009
Posts: 291
Location: Michigan
DarkKobold wrote:
This one is only less obvious, because both runs will use Yoshi. However, one relies on the null-spit glitch, and the other is a sprite-replace-swallow glitch.
Fun fact: Both glitches use the null sprite.
Current projects: Yoshi's Island Disassembly Yoshi's Island any% TAS with Carl Sagan
Active player (451)
Joined: 3/21/2011
Posts: 127
Location: Virginia (United States)
amaurea wrote:
Wow, that's amazing! The detective work leading up to this must have been really exiting! By the way, shouldn't it be
66 A0 A3 F0 66 20 8F F0 8E 28 81 39 06 2A B0 FA 04 60 60
++ -- ** ** ++ -- ++ -- -- -- ** ** ++ -- ** ** ++ -- **
The 20 8F F0 is all part of the argument to the instruction starting at 66, so none of them matter.
The reason is because of this:
Language: ASM

010302 8E 28 81 stx $8128 [018128] A:f135 X:0004 Y:00ff S:01e4 D:0000 DB:01 nvMXdizC V: 81
This code is run beforehand at $0302, before the branch that realigns the code to $02FA. Also, a new requirement in the OAM was noticed at $02D4, which must be either 1C, 20, or 26 for a section of the credits to appear. 1C is the Yoshis, 20 is the enemy list, and 26 is the THE END text. The result of going straight to THE END is... interesting.
YouTube Channel - Twitter Current projects: Sutte Hakkun, Hyper VI, RTDL, own hacking projects
Active player (264)
Joined: 4/15/2010
Posts: 198
Location: England
DarkMoon wrote:
Fun fact: Both glitches use the null sprite.
Even funner fact: No they don't
Retired smw-96, smw any%
Joined: 12/22/2009
Posts: 291
Location: Michigan
bahamete wrote:
DarkMoon wrote:
Fun fact: Both glitches use the null sprite.
Even funner fact: No they don't
The sprite on Yoshi's tongue when the shell or whatever despawns doesn't exist. Thus, by the definition of "null" (without value), it is actually a null sprite.
Current projects: Yoshi's Island Disassembly Yoshi's Island any% TAS with Carl Sagan
Active player (264)
Joined: 4/15/2010
Posts: 198
Location: England
DarkMoon wrote:
bahamete wrote:
DarkMoon wrote:
Fun fact: Both glitches use the null sprite.
Even funner fact: No they don't
The sprite on Yoshi's tongue when the shell or whatever despawns doesn't exist. Thus, by the definition of "null" (without value), it is actually a null sprite.
The item which is item-swapped has value. It retains the properties of the sprite you double-eat, e.g. if you double-eat a mushroom but don't swap the air, you'll get two mushrooms; whereas a null sprite is different in that it has no properties at all, except for being #$FF as a sprite index. :D
Retired smw-96, smw any%