1 2
7 8 9
12 13
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
Just as an update, we are about 75 frames ahead of dezbeast's run up to Chill Penguin's door. And now for some disassembly results. Here's the RNG cycling subroutine (849086 - 84909F):
$84/9086 08          PHP                     
$84/9087 C2 20       REP #$20               
$84/9089 AD A6 0B    LDA $0BA6  [$86:0BA6]   A:0000 X:0004 Y:009C P:envmXdiZc
$84/908C 0A          ASL A                   A:9D2A X:0004 Y:009C P:eNvmXdizc
$84/908D 18          CLC                     A:3A54 X:0004 Y:009C P:envmXdizC
$84/908E 6D A6 0B    ADC $0BA6  [$86:0BA6]   A:3A54 X:0004 Y:009C P:envmXdizc
$84/9091 EB          XBA                     A:D77E X:0004 Y:009C P:eNvmXdizc
$84/9092 E2 20       SEP #$20                A:7ED7 X:0004 Y:009C P:eNvmXdizc
$84/9094 8D A7 0B    STA $0BA7  [$86:0BA7]   A:7ED7 X:0004 Y:009C P:eNvMXdizc
$84/9097 18          CLC                     A:7ED7 X:0004 Y:009C P:eNvMXdizc
$84/9098 6D A6 0B    ADC $0BA6  [$86:0BA6]   A:7ED7 X:0004 Y:009C P:eNvMXdizc
$84/909B 8D A6 0B    STA $0BA6  [$86:0BA6]   A:7E01 X:0004 Y:009C P:envMXdizC
$84/909E 28          PLP                     A:7E01 X:0004 Y:009C P:envMXdizC
$84/909F 6B          RTL                     A:7E01 X:0004 Y:009C P:envMXdiZc
The majority of the time it is called, it cuts back to 809A9A with instruction JSR $D1ED. However, the times which it doesn't are interesting. ** Item drops I'll spare you the assembly language and just cut to the results. The item drop subroutine (at least part of it; there's some stuff that depends on enemy) is at 84AE8D-84AE99. It uses the following lookup table, starting at 86BB9F:
no le LE we WE XL
CF 10 10 08 08 01 00 00 (unknown)
9E 20 20 10 10 02 00 00 (normal)
C0 00 00 20 20 00 00 00 (unknown)
80 40 40 00 00 00 00 00 (spike drop enemies in intro stage)
C0 00 20 00 20 00 00 00 (unknown)
00 3C 3C 3C 3C 10 00 00 (minibosses)
80 00 00 00 00 80 00 00 (bubble bat in armadillo stage)
For the normal (i.e. most enemies) one, the first 0x9E numbers (0x00-0x9D) drop nothing, then the next 0x20 numbers (0x9E-0xBD) drop small life energy, and so on (0xBE-0xDD for big life energy, 0xDE-0xED for small weapon energy, 0xEE-0xFD for big weapon energy, and 0xFE-0xFF for extra life). Note that some enemies don't even have drops, and so do not access this table. ** Chill Penguin's behavior Chill Penguin's actions are given by the subroutine at 81C019-81C033. The action is determined by the previous action, and the last digit of the RNG value. It uses a table (starting at 86C45B):
   0 1 2 3 4 5 6 7 8 9 A B C D E F
0: 0 2 2 4 4 4 4 4 4 4 6 6 8 8 8 8
2: 0 0 2 4 4 6 6 6 6 6 6 6 8 8 8 8
4: 0 0 0 0 2 4 6 6 8 8 8 8 8 8 8 8
6: 0 0 0 0 0 0 0 2 2 2 2 4 4 6 8 8
8: 0 0 0 0 2 2 2 2 2 2 2 4 4 6 6 8
where 0 is ice block, 2 is jump - ice wind, 4 is slide, 6 is jump - direct, and 8 is ice penguin. If there are ice penguins already (even if made offscreen; see both published runs), instead Chill Penguin will do ice block. This is useful to increase the probability of using ice block. ** Bospider Whether Bospider throws out spiders first is determined by the subroutine starting at 82DE46. If the RNG value mod 4 is 0, then he throws spiders and changes lines; otherwise he doesn't. The wires are more interesting. Here's how they are determined (subroutine 82DD56-82DDA2): * There are eight wires. * Wires are determined from the bottom up. * A left wire is represented by 0, middle wire by 1, and right wire by 2. * The bottom wire is determined by taking RNG value mod 4. If it is 3, it becomes 0. * Each new wire is determined by the RNG value mod 2, and the previous wire. It basically works like this: take the value of the previous wire, and add 1 (mod 3) if RNG value is even, and 2 (mod 3) if RNG value is odd, and the new value is the new wire. Note that the new wire cannot be the same as the previous. The RNG values cycle on each determination. For the beginning of Bospider's battle, Bospider moves slowly until first crossing a wire. I looked at the following possible layouts (note: the layouts pictured are just one of two layouts that result in the same thing): Just a straight drop. The fastest one, probability 3/512 of occurring. One crossing. Tied for second fastest, probability 4/512. 4 frames slower than the first one. Two crossings. Tied for second fastest, probability 3/512. 4 frames slower than the first one. There is some other stuff I tried (like Boomer Kuwanger) but Kuwanger's AI is hard to decipher and seems non-logical. By the way, Geiger's snes9x debugger is what I used for all of this.
Player (246)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
I had a crack at improving dez's run about a year ago. He did a really good job... I was only able to squeeze out a couple frames in the first couple levels, so I'd be curious to see where the 75 came from. Also, I love seeing the game's routines broken down like this--and it reinforces the fact that the movie is technically well-done. If it ends up saving time by figuring out Kuwanger's AI, don't give up! I know that's easy for me to say since I'm not volunteering to do it (I've read some disassembly with Geiger's snes9x for Demon's Crest and Secret of Mana; I know how complicated it can get), but it will make it that much more satisfying to watch.
Joined: 3/20/2010
Posts: 126
Hey, you know that heart tank in Boomer Kuwanger's stage? I'm trying to get it without the Boomerang Cutter or Charged Frost Penguin like the TAS did, but I have a question. Do you need to do the triangle jump the TAS does, or can it just be a normal boost jump?
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
The "triangle jump" always ends in a normal boost jump, so of course you can just use a normal boost jump. Trick is, you have to be in the correct position to pull off the jump. You have to wall-jump from as far from the wall as possible, and do it at the right height. I can't really explain much more. You'll have to practice it.
Joined: 3/20/2010
Posts: 126
Cool. By "get as far from the wall as possible", you mean take advantage of the fact that you don't have to be right up against it to wall jump from it, right? EDIT: Yay, I did it! After about 1-2 hours of trying, I did it!
Joined: 12/22/2009
Posts: 291
Location: Michigan
I don't know if this is new or not, but here.
Current projects: Yoshi's Island Disassembly Yoshi's Island any% TAS with Carl Sagan
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
Thanks, DarkMoon. We've heard about it already, but as far as I know, no one here produced it on Snes9x. Apparently, it has something to do with a bad ROM and X-Buster bouncing off something. Maybe ROM version V1.0. In any case, I don't think it's necessary for whatever TASes we're doing.
Joined: 3/20/2010
Posts: 126
Hey, now, I have another question. I have only managed to do the Iceless heart twice, but I can't seem to get it consistently, so I have a question. When you get to that ledge, do you have to press X again after you wall jumped, or do you only have to worry about the altitude you jumped at?
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
Just an update. We are now halfway through Boomer Kuwanger's stage. I discovered that you can glitch the elevator part. You can climb up to the top, die, and warp to the next area. Only condition is that the screen must scroll up for it to work; but just touching the elevator platform once and then going up is enough. From testing, it appears to be about 30 frames faster.
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
FractalFusion wrote:
Just an update. We are now halfway through Boomer Kuwanger's stage. I discovered that you can glitch the elevator part. You can climb up to the top, die, and warp to the next area. Only condition is that the screen must scroll up for it to work; but just touching the elevator platform once and then going up is enough. From testing, it appears to be about 30 frames faster.
Nice find, I'll be looking forward to seeing it in action
Joined: 3/20/2010
Posts: 126
Hey guys, I'm still sort of wondering about my question. Tiki, the SDA speedrunner, says yes, and he's done it before, but I'm just asking just in case he's B.S.ing me or something. Not that I think he is, I'm just making sure.
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
FionordeQuester wrote:
When you get to that ledge, do you have to press X again after you wall jumped, or do you only have to worry about the altitude you jumped at?
I don't understand your question. I might as well answer yes. Anyway, I've tested, and it is very difficult to perform. I'll describe as much as I can. Positioning of wall jump 1 (this is the wall jump that takes you to the hanging ledge): - Must be done 5-7 pixels away from the wall. - Error of 2 frames horizontally; assuming non-dash (slow speed). - Vertical error is essentially 1 frame (unless you can somehow come from underneath very accurately; then you have a few more frames) Positioning of wall jump 2 (this is the wall jump on the hanging ledge): - Error of 2-3 frames horizontally. Here, you have dash speed. - Vertical error is 7 frames. Provided you let go of left/right when you get the correct horizontal positioning, and the vertical positioning of wall jump 1 is correct. I would suggest not even trying at all in a speedrun. But if you really want to test it, what I suggest you do is TAS (yes) the part a few times, so you know what you're up against.
Joined: 11/26/2010
Posts: 454
Location: New York, US
FractalFusion wrote:
Just an update. We are now halfway through Boomer Kuwanger's stage. I discovered that you can glitch the elevator part. You can climb up to the top, die, and warp to the next area. Only condition is that the screen must scroll up for it to work; but just touching the elevator platform once and then going up is enough. From testing, it appears to be about 30 frames faster.
Wow!!! I had no idea anyone was working on this. I'm really glad your improving it, I can't wait to see it when its done!!!
My name is Forensics.
Joined: 11/3/2011
Posts: 5
Just a question, will you guys be incorporating the glitch in Sigma's third stage to skip Armored Aramdillo? From the videos I've seen, he does show up anyway. But when I did the glitch, performed on v1.1 he didn't show up at all. But I'm assuming the run much better done on v1.0?
I'm a Red Mage.
Joined: 11/26/2010
Posts: 454
Location: New York, US
I'm 100% sure they will incorporate it SaiXeven because its definitely faster. From what I believe is he only shows up if you go in backwards like in the demonstration video. I've seen Tiki do it numerous times going forward and he doesn't even show up. It might also be a console thing but, I'm not sure. I wouldn't doubt he doesn't show up in their TAS.
My name is Forensics.
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
SaiXeven wrote:
Just a question, will you guys be incorporating the glitch in Sigma's third stage to skip Armored Aramdillo? From the videos I've seen, he does show up anyway. But when I did the glitch, performed on v1.1 he didn't show up at all. But I'm assuming the run much better done on v1.0?
He only shows up because parrot14green chose to make him show up there by jumping. Anyone can just continue without jumping in the room, and Armadillo will never show up. As far as I know, the version number has nothing to do with it. We are using v1.1.
lxx4xNx6xxl wrote:
From what I believe is he only shows up if you go in backwards like in the demonstration video.
Whether X faces backwards or forwards also has nothing to do with it.
Joined: 11/26/2010
Posts: 454
Location: New York, US
Thanks for clearing that up FractalFusion!!! I didn't realize he jumped in the demonstration video. BTW where are you at now in the TAS?
My name is Forensics.
Joined: 11/3/2011
Posts: 5
Thanks for the clear up, but the reason I asked about the version number is. I was playing both v 1.0 and 1.1 and it seemed like 1.0 was more..slower overall? I'm not entirely sure of all the version changes from 1.0 to 1.1 since I'm pretty much new here.
I'm a Red Mage.
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
SaiXeven wrote:
Thanks for the clear up, but the reason I asked about the version number is. I was playing both v 1.0 and 1.1 and it seemed like 1.0 was more..slower overall? I'm not entirely sure of all the version changes from 1.0 to 1.1 since I'm pretty much new here.
I don't think there is much of a change between v1.0 and v1.1. I heard that there may have been glitches in v1.0 that were fixed in v1.1, but I don't remember. There are definitely some glitches in the JP v1.0 version that were fixed. I have also heard that there is a game-breaking bug in v1.0 that causes the game to "reset" randomly, while keeping all weapons. I have never experienced it so I cannot attest to it. I don't know if it is an emulator problem or not.
lxx4xNx6xxl wrote:
BTW where are you at now in the TAS?
Still halfway through Kuwanger's stage. I redid the elevator shaft part.
Joined: 11/26/2010
Posts: 454
Location: New York, US
Nice, I can't wait till you complete it!!! I've been wanting to see a new TAS of this game since the Armadillo Skip was found. I wonder what other new things we'll see when its done.
My name is Forensics.
Joined: 11/3/2011
Posts: 5
Ah yeah, I don't know at what points it does reset on 1.0. But I hear it's during the fight with Chill Penguin, when the game stops and sends you back into Central Highway with your items obtained and Shotgun Ice. And nice job on re-doing the Elevator part for Kuwanger!
I'm a Red Mage.
Joined: 1/19/2010
Posts: 146
That reset bug is an emulator bug with 1.0 IIRC. Anyway, I just wanted to let you guys know that I discovered you can clip into the ground in Chameleon's stage by letting the miniboss rain rocks around X and then dashing and jumping, X would clip into the ground. I know it would be useless for 100% since you kill the miniboss, but I just thought I'd let anyone know to see if someone more experienced with X1 TASing because maybe they can manipulate the rocks so you can clip faster and maybe they can do some sort of motion that lets X zip to the right after he is in the ground or something.
Joined: 11/26/2010
Posts: 454
Location: New York, US
So FractalFusion if you don't mind me asking how much progress have you made on the TAS and how many frames ahead are you from the published TAS?
My name is Forensics.
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
Sorry for the late reply. Progress is currently at Boomer Kuwanger, 176 frames ahead. I'll check if Rolanmen1 wants to do Boomer Kuwanger.
Joined: 11/26/2010
Posts: 454
Location: New York, US
Nice 176 is a lot so far. I have two questions though one may sound stupid, but I'll ask it anyway. Even though its the 100% thread are you doing a 100% run or Any% run? Also who else is involved with the TAS?
My name is Forensics.
1 2
7 8 9
12 13