1 2 3 4 5 6 7 8
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
It's been some time so I'd like to provide new information. As for corrupting savegames we didn't succeed. I played around with the garbage data more and came across some interesting effects that occured by crushing blocks at 0xA000 onwards, but it isn't useful (only glitching up the camera behaviour, mostly) and we can't reach that spot currently anyway. I wasn't able to find a way to trigger the ending credits. After beating Wario and chasing him by jumping out of the castle Mario lands on a block and the screen changes. I looked at the memory and could locate some concerning parts but wasn't able to understand it fully. There seem to be many memory addresses involved, and triggering the ending by crushing blocks (= changing memory addresses with the value 00 to 96, I believe) won't be doable. So the garbage data can only be used for exiting a level earlier, currently. ---- The trick with the multiple bats doesn't only apply to those. You can use the same approach for almost everything else that produces sprites, like piranha plants, cannon pigs, garbage-throwing ants, etc. http://www.youtube.com/watch?v=W3AfV17kXP4 ---- This is an attempt to create a glitchy shortcut to Wario's room, but I failed. At least it produces an interesting glitch and can help understanding lag better, maybe. http://www.youtube.com/watch?v=HRL0DLBYZ7A
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
I don't think when mario lands on that particulat tile, the credits are triggered, instead, I think it it the level boundary which triggers the credits. This was taken from a level editor that I have been using to look fro routes. Although it doesn't look like it, those three rooms which look like garbage are actually the three rooms in which you battle Wario. If you were to change the block palette, it would look like an ordinary room. If you look at the balcony that Mario jumps off, the only blocks underneath are regular walls. which don't do anything. I beleive it is the level boundary which triggers the credits because that's the only other thing which Mario comes into contact with. Anyway the save file corruption doesn't work. This is because a completed level is signified by the most significant bit of a byte (80) in memory if it is completed, and 00 if that level isn't completed. For every 00 in memory, which shows up as a breakable block, destroying it will make the value for that byte 60 which shows up as nothing. but because 60 is 01100000 in binary, thew most significant bit is unaffected, meaning that the level will still show as uncompleted. I came up with a method which would allow me to get to the SRAM using the bat and bubble glitch, by breaking some blocks in the AE00-AFFF range. Unfortunately, this part of memory is concerned with sprites on screen, so performing the bat glitch, which basically fills the entire of the sprite memory plus more, would overwrite these blocks, and I'd be back where I started.
Measure once. Cut twice.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
Kudos to you, andymac! You're doing very well with all the Super Mario Land 2 stuff. About the trigger for the end credits, it's probably as you suggested.
I came up with a method which would allow me to get to the SRAM using the bat and bubble glitch, by breaking some blocks in the AE00-AFFF range. Unfortunately, this part of memory is concerned with sprites on screen, so performing the bat glitch, which basically fills the entire of the sprite memory plus more, would overwrite these blocks, and I'd be back where I started.
I can't quite imagine this scenario. Maybe you can provide a movie file? You aren't limited to the bat glitch now as I discovered that you can do the glitch with everything that produces new sprites, maybe this will help your problem? But there isn't much we can do with the SRAM right now. I only found a block that messes with the camera and this effect can be carried over to other levels, but that's not of much use (it messes up the map loading but it will take too long to set up and that kind of trick is useless in Wario's castle atm).
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
This is a WIP of all the levels I've done so far. This is up to the end of turtle zone. next is macro zone, then finishing off tree zone. Then we go to Wario's castle. WIP EDIT slightly newer WIP
Measure once. Cut twice.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
Using the intro sequence ingame code can result in a lower completion time. http://ism.harisen.jp/sml2demo.mp4 However, since it's an input sequence (cheat code) we're talking about here, I don't think its use should be justified for a future TAS.
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
MUGG wrote:
http://ism.harisen.jp/sml2demo.mp4
That's a 403 forbidden for me :( On another topic: do you think there is chance to see a 100% glitchless run sometimes in the future? With the hidden levels, no pipe glitch, no bell glitch.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
The URL works for me. Maybe it was down temporarily... If a new 100% run was to be made it would consist 80% of the regular run (or at least, the old regular run which doesn't use the pipe glitch).
Player (160)
Joined: 5/20/2010
Posts: 295
Noob Irdoh wrote:
MUGG wrote:
http://ism.harisen.jp/sml2demo.mp4
That's a 403 forbidden for me :(
I couldn’t access it with firefox but I was able to access it with Internet Explorer. EDIT:It doesn't matter. Just copy and paste the URL into the address bar, it works fine. About the run itself I’m with you, MUGG.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
I will just leave this here. http://img715.imageshack.us/img715/1163/sml2.png I'm currently discussing with p4wn3r and andymac about breaking SML2 by reaching SRAM and altering it to allow a fast game completion. I hope it will be possible someday.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
So I actually managed to reach the staff credits by altering 0xA2D5. One only needs to break the block located there, then exit the level and enter a new one and the staff credits are triggered right away. Please note that I used a time-stopping cheat code for investigation purposes. Also, I broke other addresses prior to 0xA2D5, but probably this is of no consequence. The only thing left to do is to find a way to reach the SRAM. http://dehacked.2y.net/microstorage.php/info/796578786/SML2%20staff%20credits%20warp%20SRAM.vbm http://www.youtube.com/watch?v=YntYTPYq2tg (unlisted)
Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Nice find! If the trick works, will the exact same method work the same on a real gameboy? Or will there be slight differences?
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
I don't have the means to test it on a real gameboy, but given that every tile in the "garbage area" corresponds to a memory address, and this effect happens when you alter 0xA2D5 I'd say it would work the same on a real gameboy. I can try modifying 0xA2D5 in VBA24 and see what happens (if I don't edit this post, then the result is the same as in VBA21). It is very difficult to reach the SRAM from above since you have to go through ROM and VRAM (160 blocks height). 40 blocks in, there's a large floor where I can't find any gap to pass through...
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Here's a map of the first 64 rows of garbage data (excluding the first two rows because they always change). It's the same in any level. You still need to go down a further 100 rows to get to A000. I might post some more maps later. My first impressions are that it's possible to get down to A000, but with some serious planning needed. Legend:
green           solid
white           empty
red             spikes
blue            water
pink            jelly
black           exit
orange/black    pipe (the direction of the pipe is the side with the orange))
http://tinyurl.com/23r4r97 EDIT: changed to URL to avoid page breakage. EDIT2: It appears that there are some blocks which I mistakenly marked solid, when they were actually empty. I also need to mark coins on the map because if you touch them, you cause an illegal write and the game crashes. Unfortunately, according to my map, it's impossible to get below the 28th row with big Mario, but you need big mario to break the blocks! Is there any way to make mario big near SRAM?
Measure once. Cut twice.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
I don't think there are any powerups in the whole out-of-bounds section... I made some investigations on your map. map It is possible to pass through small tunnels by running & crouching. In the worst case, we may use the overworld autoscrolling level which can push big Mario through small tunnels where he can't build up enough speed to slide through. Pipes can help pass through some floors, but big Mario gets pushed out in many cases whereas small Mario is allowed to proceed further. So far, I only checked the left part of the map (the right one doesn't seem very useful, so I left it alone for now). I managed to pass through those 64 rows as big Mario, but now there's another floor... also, this leads to a dead end. Microstorage
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Try a different level. Different levels have different memory between 4000-8000.
Measure once. Cut twice.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
Here, a New Years present from me: movie video updated map I'm not really sure if I want to make a TAS using the pixel-trick since it seems very annoying to use. Also there's some lag reduction to do. Maybe andymac is willing to make the glitched TAS? :P I updated the map (deleted solid blocks that weren't solid, added new routes).
Joined: 4/25/2004
Posts: 498
ahahaha, great. I think this run really personifies TASing pushing a game to its limits, what with Mario directly performing memory hacking on his own reality. It's like he found out about the Matrix. :p
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Are you sure that the route shown in the video was the fastest? if it is, then that's a lot less work for me, but if it isn't, then that's okay too. EDIT2: map recall EDIT: here's a map. Didn't bother colouring it this time around. All the grey blocks are empty space, but they might show differently in the real game. The range of this map is 0x4000-0x9000. I didn't go further, because past that, things are subject to change, and a lot of it. I didn't get a dump of the RAM which was a good representation of 0x9000-0xA000. Once you get to A000, it's a simple matter of just destroying some blocks. Red pipes you can't go through, blue is still water and pink is still jelly, but spikes show as spikes. Looks like some areas are mostly free space. map I couldn't find a dump of 0x4000-0x8000 that was representative of actual garbage data. It seems that maybe, ROM is switched at sub frame intervals.
Measure once. Cut twice.
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Sorry to double post, but this is my progress currently: I'm at the second half of the garbage data. Progress is slow let me tell you why. Imagine a game where the map is completely randomised and has no visible order to it. Now imagine the same game, but with a second map, and you can switch the two maps using a hotkey ( so you press a button and the map changes, and you're in the same position, just in the other map). Now imagine that you donlt know what either of those two maps looks like. Get the picture?
Measure once. Cut twice.
Experienced player (603)
Joined: 2/8/2009
Posts: 656
I watched the new TAS and I have to say awesome job andymac and especially you MUGG ;) always wanted to see this game broken like this. but isn't there a quicker route? couldn't you finish level 1 in macro zone with the pipe glitch activated by dieing in the beginning? then quickly finish the level 1 in pumpkin zone? I can imagine this to be quicker. or is there something I'm missing?
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
You can't re-enter level 1 after beating it. So you can't set up the pipe glitch in it or anything. EDIT: Oh I misunderstood. Well I investigated and it turns out you found an improvement for our glitched movie. :)
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Actually, I think Grunt means go into Macro zone, and get hit by the ant throwing stones to die while inside the pipe. The problem with this is that even if you can die in a pipe (not sure if you can, never tested it) if you die, you automatically become small mario, but you need at least big mario to break the block that represents A2D5, an there's no way of becoming big in the garbage data, since there are no objects there.
Measure once. Cut twice.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3931
Location: Germany
There has been discussion on SML2 categories on the recent submission. I think these should be the categories for SML2: glitched entering the memory to trigger the staff credits with a wrong BGM. any% this is the currently published category. It uses the pipe glitch in a lot of places to skip levels. 100% this plays through all 32 (?) levels, without using the pipe glitch or any other glitch that lets you reach an unintended level exit. This category being glitchless means it shows most of the game. playaround maybe ... ^^ I think the new pixel trick (jumping as much as possible) should not be used for any% or 100% since it takes too much fun out of the runs. Now with the pipe death trick mentioned by MrGrunz, the any% route changes: first level tree zone 1st level hippo level moon zone 1st level moon zone 1st level bell pause&quit moon zone boss level, die and re-enter macro zone 1st level, die while going down pipe, re-enter macro zone secret level macro zone boss level macro zone 1st level, die while going down pipe -> pumpkin zone 1st level pumpkin zone 2nd level, 3rd level, boss level prepare pipe glitch in pumpkin zone Mario zone... Turtle Zone... Tree Zone... Wario The route marked in green is new. Here is some investigation on what happens if you break certain addresses in SRAM, or what certain addresses are about. 0xA000 ~ 0xA0DF = savegame slots 0xA247 = acts as if Mario hit the finish bell 0xA24D = locks Mario vertically for a short while 0xA254 = ingame timer 0xA255 = ingame timer 0xA257 = invincibility in the next level you enter (?) 0xA25A = Mario shooting sprite timer 0xA266 = "inability to move" (after defeating a boss) sub timer 0xA267 = "inability to move" (after defeating a boss) timer 0xA268 = spinjump flag 0xA26C = stores value for button press combination (??) 0xA271 = starman timer 0xA272 = starman sub timer 0xA27A = starman enemy kill counter -> timer 0xA287 = low gravity flag 0xA28B = !! resets ROM / opcode error 0xA28E = !! resets ROM / opcode error 0xA2B1 = causes weird behavior... 0xA2B3 = causes screen shaking / inability to move (used for Wario battle) 0xA2B6 = related to white bubble (while swimming) 0xA2C8 = causes auto-scrolling 0xA2CE = switches to "Play demos" mode 0xA2D5 = causes staff credits to be played when a new level is started 0xA2D6 = causes bottom bar to be glitched at the staff credits (0xA2D5) 0xA2E4 = easy/hard mode flag 0xA300 ~ 0xA3FF = demo level input slots 0xA400 ~ 0xA44F = BGM 0xA45D = "game paused" flag 0xA470 = !! opcode error / freezes game 0xA471 = !! opcode error 0xA479 = acts as if Mario hit the finish bell 0xAD00 ~ 0xAEFF = enemy slots
Experienced player (603)
Joined: 2/8/2009
Posts: 656
hmm, so how does the glitched route look like now? I thought of something like this: - first level - Macro Zone level 1 death glitch - Use Pipe Glitch to finish Pumpkin Zone level 1 - Re-enter level 1, get mushroom, pipe glitch - End screen glitch the question now is, whether it is possible to finish pumpkin zone level 1 with pipe glitch so the game treats it like a finished level, thus letting you leave the level via pause+select. for some reason it always differed to me if I remember correctly. sometimes it was a finished level, sometimes I could only go to level 2 without level 1 being treated like a finished level. same thing for macro zone level 1. but here I remember, that it was possible to finish the level via the normal exit. it's to the right of the shortcut exit in the Out of Bounds area, I think. I'm pretty sure, normally the game always treated level 1 as a finished level then.
Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
MUGG wrote:
I think the new pixel trick (jumping as much as possible) should not be used for any% or 100% since it takes too much fun out of the runs.
You know what will be sad? A run that is highly optimized, but doesn't use the pixel trick, gets obsoleted by an unoptimized run that does. =/ So I think the pixel trick should be used.
1 2 3 4 5 6 7 8