Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
In short? RAM Watch. You directly view a variable in the RAM to see what value it is, and as a result how fast he is.
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
Chamale
He/Him
Player (182)
Joined: 10/20/2006
Posts: 1353
Location: Canada
The simplest approach is to jump a various frames and see when he gets furthest with a jump, but RAM watch is better.
Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
Chamale wrote:
The simplest approach is to jump a various frames and see when he gets furthest with a jump, but RAM watch is better.
Would that even work? Doesn't mario's speed oscillate in the air as well and thus it cancels out by the time he reaches the ground? I think memory watch is the only foolproof method.
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
Joined: 7/10/2007
Posts: 5
Okay. Thanks guys/gals. But how do I arrive to that variable? Like step by step... Sorry I'm a little slow...
Former player
Joined: 10/1/2006
Posts: 1102
Location: boot_camp
Moltex wrote:
Okay. Thanks guys/gals. But how do I arrive to that variable? Like step by step... Sorry I'm a little slow...
hero of the day wrote:
Lets say you want to find the hit points of a boss you are currently trying to kill. Before you first attack the boss, pause the emulator and go to the Cheat Menu, then select Search for new cheats. Hit the reset button, then exit the cheat search screen and go back to the game. Attack the boss one time (this will lower his HP), pause the emulator again and go back to the cheat search menu select the radial button that says "< Less than" because the HP of the boss will be less than the last time you ran the search function. It is selected by default anyway, then press the button that says "search". This will reduce the amount of results to the memory values that have reduced in size since the last time you ran the search. Go back to the game and damage the boss again, then repeat the search, now the amount of memory addresses should be even smaller. Repeat this process until there is only a manageable amount of addresses left, or only 1. Then select that memory address and click "watch" now you will be able to view the HP of the boss in real time even though the game itself does not display the information. Ok easy enough. When your character is not moving at all and is in a complete stand still, run a search and click the button "entered value" then type in "0" into the box. Most game will represent no movement as the number 0. Then move your character right or left in order for him to start the running/walking animation and pause the emu while in the running animation, then go back search and click the button that says "greater than" and click search. Now the 0 should be a greater value because the character's momentum has increased and is no longer 0. After you have run the search, go back to the game and hold down left or right plus the run button, now your character will be running even faster than he would during normal walking. Pause the emu while running, then go back to the search and click "greater than" and click search again. The value should be even higher than the value from the second search. After that, stop the character completely and search one more time for the value "0". There should only be one memory address left.
Borg Collective wrote:
Negotiation is irrelevant. Self-determination is irrelevant. You will be assimilated.
Joined: 11/11/2006
Posts: 1235
Location: United Kingdom
In addition to the above post, this might help: 7E007B (1-byte signed) Horizontal velocity 7E0094 (2-byte) Horizontal position 7E0096 (2-byte) Vertical position 7E01F2 (1-byte) Lag indicator 7E0F34 (2-byte) Score 7E13E4 (1-byte) "P-meter" 7E149F (1-byte) Takeoff Meter Source Welcome to the forums.
<adelikat> I am annoyed at my irc statements ending up in forums & sigs
Former player
Joined: 6/15/2005
Posts: 1711
Hey Moltex here's a step by step, hopefully it's clear enough. You need to be watching two RAM values to get this trick working reliably. 7E007B, which is Mario's speed, and 7E13E4, which is Mario's P-meter. When the P-meter reaches a high enough value, Mario can begin to run at his highest speed, and you need to keep the P-meter's value high enough, otherwise he'll begin to slow down. You watch RAM values by going to the Cheat menu, then "Search for new cheats". Here you find these two values in the huge list, and hit "Watch" for each of them, which should put their value on the screen every frame once you close down the Search for new cheats window. Ok so now you're watching the values so you can check and see if you mess the trick up, which is quite easy to do. Now you need to be using frame advance of course, I'm assuming you know about that and can use it etc. Once Mario's P-meter is high enough (108 showing on the screen, unless your version of snes9x differs from mine), he can start running at top speed. What you want to do is jump, then release -> on the first frame where Mario's speed is 49 (it will oscillate between 49-48-47-48-47-etc every 5 frames). Note that the value you "watch" on the screen lags behind 2 frames, so make sure to let go of -> so the value STOPS at 49, that'll be Mario's speed. Now you could just not press -> again and hop through the level at top speed, if the level layout allowed. Doing 6/5 is quite a bit trickier unfortunately. Basically once you have "regular" hopping at 49 set up, you want to NOT press -> for 6 frames, then press -> for 5 frames, then NOT press it for 6 frames, then press it for 5, etc. You need to hold -> for 5 frames to keep the P-meter from going too low, and pressing it for 5 frames will allow it to recharge while still keeping top speed (49) afterwards. To complicate matters further, you sometimes need to time your jumps differently (higher or lower jumps), because when you land you must be in the "recharge phase" of the trick. I don't think I can explain that well enough, so just experiment away and see when during this cycle you should be landing/jumping without losing speed (remember Mario's speed should be 49-49-49-49-49-49 (when not holding ->) -49-48-47-48-47 (when holding ->) and repeat). I suggest checking out an smv where the 6/5 trick is done and with some practice you should get the idea pretty quickly. Ok this probably wasn't a great explanation. Ask away about the parts you didn't get and I'll try to clarify. You can see 6/5 being done in the 11 exit Super Mario World speedrun in the first room of castle #1, or in the 96 exit SMW run in Valley of Bowser 1, or in the 85 exit small SMW run in like 40 levels, if you need somewhere to study it. Really I think if you get the tools set up properly (memory watch), check out how others have done it, and play around and try stuff for a bit, I think you'll figure it out. It's not exactly rocket science. Good luck.
Zoey Ridin' High <Fabian_> I prett much never drunk
Former player
Joined: 6/15/2005
Posts: 1711
laughing_gas wrote:
Chamale wrote:
The simplest approach is to jump a various frames and see when he gets furthest with a jump, but RAM watch is better.
Would that even work? Doesn't mario's speed oscillate in the air as well and thus it cancels out by the time he reaches the ground? I think memory watch is the only foolproof method.
This reminds me of doing the old 120 exit SDW run (also the first half of the SMW96 run) with JXQ almost 2 years ago. Back then we didn't have memory watching, and yes it was a hellish pain and we often laugh about it now and wonder how the hell we did it. Holy jesus did memory watch make things simpler/possible. Ah, the good old days.
Zoey Ridin' High <Fabian_> I prett much never drunk
Joined: 7/10/2007
Posts: 5
Alright, a big thanks to everyone that helped me, especially Fabian for his detailed explanation of the 6/5 and whatnot. Wish me luck on my "speedrun" (if you can really call it that) of SMW. PS: The cheat search gives me bad memories of Cheat Engine XD.
Former player
Joined: 6/15/2005
Posts: 1711
No problem glad to help. Good luck, what are you planning to do? An 11 exit run for fun, or just play around, or what? It can be quite fun. If you want some feedback on things you could improve or if you want any help or whatever, feel free to PM me or find me on IRC. Good luck again.
Zoey Ridin' High <Fabian_> I prett much never drunk
Joined: 7/10/2007
Posts: 5
Fabian wrote:
No problem glad to help. Good luck, what are you planning to do? An 11 exit run for fun, or just play around, or what? It can be quite fun. If you want some feedback on things you could improve or if you want any help or whatever, feel free to PM me or find me on IRC. Good luck again.
I am prolly gonna do an 11 exit run so I can get the hang of everything, after that I'm prolly gonna try to get all the exits. If I still have some of my summer left after that, I might try my luck at a rom hack. Only time will tell I s'pose.
Former player
Joined: 6/15/2005
Posts: 1711
Sweet beans. Be warned though, it can be quite time consuming :)
Zoey Ridin' High <Fabian_> I prett much never drunk
Joined: 7/10/2007
Posts: 5
Heh, I've noticed that. I think I am gonna go to bed now. Thank for the help once again, everyone. G'night.
Player (173)
Joined: 12/28/2007
Posts: 235
Location: Japan, Sapporo
I happend to find an optimal way to gain faster swimming in the water. I believe that it is the fastest. Here is the summary. In the water, Mario's swimming speed oscillates as 17→16→15→16→15→17. To realize the fastest swimming, the following trick, which I temporarily call 1/1, seems to be useful: press "backward" for one frame at a suitable frame, and then press "forward" for one frame, and then "backward" for one frame, and then "forward", and repeat. In 1/1, Mario's swimming speed oscillates as 17→15→17→15→17. The average speed using 1/1 is 16, which is faster than the normal average speed (17+16+15+16+15)/5=15.8. When holding an item, this trick also works: 1/1 makes Mario's swimming speed faster than the usual one. Good luck on your TAS!
Retired because of that deletion event. Projects (WIP RIP): VIP3 all-exits "almost capeless yoshiless", VIP2 all-exits, TSRP2 "normal run"
Former player
Joined: 6/15/2005
Posts: 1711
Excellent work Mister. Very nice, thanks.
Zoey Ridin' High <Fabian_> I prett much never drunk
Player (150)
Joined: 11/27/2004
Posts: 688
Location: WA State, USA
Just out of curiosity, what exactly is Mario's speed measured in? I'm thinking something like sixteenth-pixels per frame, but I'm not sure.
Nach wrote:
I also used to wake up every morning, open my curtains, and see the twin towers. And then one day, wasn't able to anymore, I'll never forget that.
Former player
Joined: 6/25/2006
Posts: 138
Location: Fort Collins, CO
I was happy to hear something new was discovered but I tested this out and it is unfortunately a lot slower. I compared from the beginning of ds1 to the first floating block and 1/-1 was 18 frames slower. Although Mister was right about the numbers technically being higher, half of the motion is in the opposite direction so it turns out a lot slower. I tested other oscillations and found that you can let go of right on certain frames and retain the same speed but it is harder so there is no point. All other patterns are at least 1 frame slower. EDIT: I just tested this with an item and it turned out to be 1 frame faster in the little section I tested it in. So thank you Mister, this is a valid improvement. It might save a good amount of frames in levels with an item early on, such as SW2. I'm not sure why this is faster with an tem but so much slower without an item.
Experienced player (702)
Joined: 2/19/2006
Posts: 742
Location: Quincy, MA
Very cool, Probably won't save too much though, but saving anything is a big accomplishment. Good find Mister!
Super Mario Bros. console speedrunner - Andrew Gardikis
Joined: 10/24/2005
Posts: 1080
Location: San Jose
Nice find! Random question, I'm not at my computer right now, but what about trying 1/-1 with an item in a non-water level?
<agill> banana banana banana terracotta pie! <Shinryuu> ho-la terracotta barba-ra anal-o~
Former player
Joined: 6/25/2006
Posts: 138
Location: Fort Collins, CO
Well, that wouldn't do anything because you run the same on land regardless of if you are holding an item or not. I'm still not 100% positive why it works though so you never know. EDIT: I was wrong before. 1/-1 also works with swimming without an item. I was mislead before because the screen does not scroll forward on the back inputs, so it seems like the object I was comparing to appeared much later, although mario actually gets to it faster. So yeah, great improvement Mister! Although it isn't the most beautiful trick it will save a lot of time in the TASes.
Joined: 1/29/2008
Posts: 10
Location: USA
I'm not exactly sure how to do TAS' on this game, but I tried; This is what I did/what happened... 1- recorded a speedrun demo of yi2 & stopped the demo 2- copied it so it wouldn't be in use when I use tas 3- opened up the smv copy in tas-movie-editor 4- frame advanced to a point in my original smv in snes9x where i wanted to add a jump 5- switched the >Y to >B (tried >YB also) so it would be a jump 6- checked the box and clicked update, and it updated the frame info it seems 7- saved as differently named smv 8- tried to play the smv in snes9x [normal] The problem is, instead of it playing normally, it starts out on the normal world select screen, but just stays there, it counts the frames but no buttons get pressed.. any ideas? by the way, is there like a video tutorial with speech explaining how to do these? I'm probably way off, lol, but of course that's why I'm asking.
Joined: 12/10/2007
Posts: 260
Location: Oregon
Sounds as though your video desynced. Did it work before you made the little edit?
Joined: 1/29/2008
Posts: 10
Location: USA
dartht33bagger wrote:
Did it work before you made the little edit?
Yeah it worked mint before. Was that how I was supposed to edit it? Because I haven't really found any tuts on it yet
Joined: 12/10/2007
Posts: 260
Location: Oregon
I have never used a hex editor in my life so i can't tell you if thats the cause (im taking it as you hex edited the movie). I know there are some games that cannot be hex edited, and SMW may be one of those games.
Former player
Joined: 6/15/2005
Posts: 1711
When I want to change something in a level, I just rerecord from that point on to the end of the level. That is, I create a savestate from where I want to change something, and I load the smv (make sure to uncheck the read only-box) and load the savestate, and it'll start recording from that point on again. Hexediting is difficult stuff, I've never hexedited anything because I don't know how to do it. I'd stay away from that if I were you.
Zoey Ridin' High <Fabian_> I prett much never drunk