Skilled player (1737)
Joined: 9/17/2009
Posts: 4979
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
HHS wrote:
Yeah, that's another way of triggering the ending scene. If you can somehow put a nonzero value into $07d8 and manage to get back to the world map, then the game will end the next time you exit a level. By the way, to be reproducible on a real NES, a run should not depend on the values of uninitialized bytes of RAM. That's why you should avoid executing past $0102.
Does the current WIP Tom posted do that? :o
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
No, the last falsely executed address is $00b0 in my WIP.
Joined: 6/20/2012
Posts: 27
That way seems more "feasible", getting sent out from the 7-1 level and then just go down the pipe for us speedrunners to activate the ending. Is there a way you TAS'ers can find out how/what makes you get sent out from 7-1 map and mimic it? Thanks for everything!
Joined: 3/9/2014
Posts: 13
I got the warp on my nes real time! Thank you so much lord tom and HSS The hard part is getting those 3 frame perfect object and probably gonna take forever to get in a good run but it's doable
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
Producks wrote:
I got the warp on my nes real time! Thank you so much lord tom and HSS The hard part is getting those 3 frame perfect object and probably gonna take forever to get in a good run but it's doable
That's amazing, congratulations!!! Did you use a similar sequence? How many attempts? I'd love to see a vid if you recorded. I discovered that the rightmost object can actually be at x=223,225,226 or 227 and it still works, but the other two need to have x=32 and 143 exactly. Feel free to PM if you have any technical q's.
Tompa
Any
Editor, Expert player (2214)
Joined: 8/15/2005
Posts: 1941
Location: Mullsjö, Sweden
He is currently streaming his attempts: http://www.twitch.tv/producks
Skilled player (1737)
Joined: 9/17/2009
Posts: 4979
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Producks wrote:
I got the warp on my nes real time! Thank you so much lord tom and HSS The hard part is getting those 3 frame perfect object and probably gonna take forever to get in a good run but it's doable
Submit it to SDA and see what happens lol
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
Latest WIP finishes in 3:00.90 with room for improvement. I think I can get it under 3 and then some.
Joined: 12/29/2007
Posts: 489
So we went from 11 minutes (the legendary Morimoto run) to under 10.5 minutes, and then all of a sudden it's cut down to 3? Holy crap. Also, so much for this, lol:
Future improvements Wow, it's getting tough to imagine where it might come from. As mentioned, a World 1 improvement would need to be 14+ frames. What's more, the next possible Bowser Quick Drop manipulation would require getting to Bowser 17 frames faster than our best time (38 frames faster than this submission). We'll keep looking, though!
Editor, Player (69)
Joined: 1/18/2008
Posts: 663
I have been working like crazy, but will try to make time to console verify this.
true on twitch - lsnes windows builds 20230425 - the date this site is buried
Tompa
Any
Editor, Expert player (2214)
Joined: 8/15/2005
Posts: 1941
Location: Mullsjö, Sweden
It has already been on console at least, True. Edit: Seems like Lord Tom's 3:42 was uploaded to Nicovideo: http://www.nicovideo.jp/watch/sm23068901
Editor, Player (69)
Joined: 1/18/2008
Posts: 663
I only read that the glitch has been verified, not that a recorded / reproducible version has been...
true on twitch - lsnes windows builds 20230425 - the date this site is buried
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
That's right, so I say verify away if/when you get the chance.
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
Real-time Strat Demo I made a from-power-on demo of the most realtime-friendly strat I've been able to find. It's still not very realtime friendly...:D True - if you're able to console-verify this one, I'm sure the speedrunners would appreciate it so they know they're going for something attainable. An easier strat I'd been working at with Producks turned out not to work despite having the correct memory addresses. Unlike the prior TAS's it involved going up to the top room of the level. In emulator testing with HHS's script, something seems to get messed up when you go that high up and all the numbers go permanently dark. It can also happen if you kill the first upward-facing plant when it's fully extended. Any insights from the rom-knowledgable?
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
I figured out why all the #'s periodically go dark in HHS' script - as written, the first row of values (0x81-0x8D) is cut off the top of the screen. That explains a lot! I reformatted and commented his script in an attempt to understand it better, with some minor modifications that are in progress.
Language: lua

-- address we're targeting target = 0xae -- table of the lengths of the various instructions lengths={ 2,2,2,2, -- 0x(0,2,4,6,8,A,C,E)0-3 2,2,2,2, -- 0x(0,2,4,6,8,A,C,E)4-7 1,2,1,2, -- 0x(0,2,4,6,8,A,C,E)8-B 3,3,3,3, -- 0x(0,2,4,6,8,A,C,E)C-F 2,2,0,2,-- 0x(1,3,5,7,9,B,D,F)0-3 2,2,2,2,-- 0x(1,3,5,7,9,B,D,F)4-7 1,3,1,3,-- 0x(1,3,5,7,9,B,D,F)8-B 3,3,3,3 -- 0x(1,3,5,7,9,B,D,F)C-F } -- main loop while true do -- each frame, always start from same address with all variables reset except for target startAddress=0x81 displayCol=0 displayRow=0 jumpFlag=false postJump=false message = 'Fail'; branchMsg = 'No Branches'; -- will show up to 16 rows while displayRow<16 do -- get the instruction and determine its length op=memory.readbyte(startAddress) opLength=lengths[AND(op,31)+1] -- start of instruction, white color='#ffffff' -- we got to our target! Hooray! if startAddress==target and not jumpFlag then color='#00ff00' message='Success' end -- JSR (20) and JMP (4c,6c) have length 3, special color if op==0x20 or op==0x4c or op==0x6c then color='#ff0000' -- red opLength=3 jumpFlag=true -- RTI (40), RTS (60), AND(1000 1111) == 2 --> 0xxx 0010 --> 02, 12, 22...72 -- length 0 for 0x12, 32...F2. elseif opLength==0 or AND(op,0x8f)==2 or op==0x40 or op==0x60 then color='#ff0000' -- red opLength=1 jumpFlag=true -- Branch instructions -- essentially we warn elseif AND(op,31)==0x10 then color='#880000' -- light red branchMsg = "May Branch" end -- process the bytes in an operation for i=0,opLength-1 do -- read the byte x=memory.readbyte(startAddress) -- mark bytes beyond a jump -- dark/not executed if postJump then color='#502020' end -- display the byte! gui.text(displayCol*16,8+displayRow*8,string.format('%02X',x),color) -- next byte in this instruction startAddress=startAddress+1 color='#0000ff' -- data bytes -- advance display, use next row if needed displayCol=displayCol+1 if displayCol==16 then displayCol=0 displayRow=displayRow+1 end -- note that we're now beyond a jumping instruction, so further bytes won't be executed if jumpFlag then postJump = true end end -- terminate (for this frame) if beyond target if startAddress>target+2 or startAddress<0x80 then gui.text(10*18,(displayRow+1)*8,message,'#ffffff'); gui.text(10*18,(displayRow+2)*8,branchMsg,'#ffffff'); break end end FCEU.frameadvance(); end
HHS
Active player (285)
Joined: 10/8/2006
Posts: 356
The forum broke the code. Try again with "Disable HTML in this post" checked. Edit: Lol. Guess where I am.
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
Thanks, fixed it above. Also, was able to get a successful demo of the hopefully easier upper room realtime strat. Optimization continues on the TAS, we're definitely under 3:00 though. Edit: Updated link with from-power-on version.
Editor, Player (69)
Joined: 1/18/2008
Posts: 663
Console verifying shortly. Been sick as fuck and everything here is a mess. Edit: here is the result Link to video
true on twitch - lsnes windows builds 20230425 - the date this site is buried
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
HHS wrote:
The forum broke the code. Try again with "Disable HTML in this post" checked. Edit: Lol. Guess where I am.
You try to get it to take u to W1? True: thanks a lot, rest up no rush
Player (12)
Joined: 11/23/2012
Posts: 94
Holy crap, nice console verification. Looks like Mario found the secret Back Door to Bowser's Castle before SMW even came out! :)
Joined: 3/9/2014
Posts: 13
That might seem weird True but can you tell me if on your carthbridge of smb3 their is NES-UM-USA or NES-UM-USA-1
Editor, Player (69)
Joined: 1/18/2008
Posts: 663
Both carts I have are NES-UM-USA-1.
true on twitch - lsnes windows builds 20230425 - the date this site is buried
Joka
He/Him
Player (16)
Joined: 3/19/2013
Posts: 42
Location: Sweden
Lord Tom wrote:
Also, was able to get a successful demo of the hopefully easier upper room realtime strat.
Looks like fun ^_^
Signature
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
SMB3 glitched at a marathon when? (ESA? :D)
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
MESHUGGAH
Other
Skilled player (1916)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
I've experimented a little bit by trial and error, so here's some notes. #1 - When I got the same "level restart, go world screen, start level, credits start" (maybe Producks did that), my movie desynced. Every other movies when I didn't triggered that didn't desynced. Not sure if this is because of emulation problem. #2 - Wouldn't be the fastest approach is MUGG's version (kill first koopa, grab shell, take shell inside pipe, go to the right, launch shell and hit note block)? I had absolutely no luck with trial and error, maybe because I didn't had perfect X position for the shell. #3 - when I go to W1, I always get luigi with 99 lives, where should does the 99 comes? it's the upper limit of lives?
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...