1 2
9 10 11 12 13 14
Joined: 10/3/2005
Posts: 1332
83/D3B9:   E230       SEP #$30     ; set bits x, d, i,
                                   ; and z = 1
Not quite. The sigil ($) means we're using hexadecimal. Decimal 30 = 00011110, which is how you got nvmXDIZc, whereas $30 = 00110000 = nvMXdizc. You can find out more about this by searching "flag register" in the asmtutor, but what SEP #$30 does is set the M and X flags, both of which tell the CPU that we're working in 16-bit mode, rather than 8-bit mode. The sharp (#) means that rather than loading an address, it's using an absolute value. I should also tell you about Geiger's debugging snes9x. If you don't already have it, you should get it, because it allows you to step through the code as it's being executed.
83/D3BB:   A542       LDA $42      ; load the accumulator
                                   ; with memory, also
                                   ; deals with Direct Page?
Loads the accumulator with whatever is in 7E0042. I don't think the direct page actually comes into play when digging around in disassembly. At least, I've never seen it.
83/D3BD:   F044       BEQ $D403    ; something to do with a
                                   ; branch to 83/D403?
Branch if EQual checks to see if the zero flag is set, and if it is, it jumps to the address given, within this code bank. (The ROM is divided into chunks or "banks" of (IIRC) $8000 bytes. We're looking at bank $83 right now, hence the jump to $83/D403.)
83/D3BF:   220F8882   JSR $82880F  ; jump to subroutine at
                                   ; 82880F (not sure what
                                   ; this means)
If the z flag wasn't set at the BEQ, the processor will proceed to this line, and jump unconditionally to $82/880F, which is code bank $82. Once there, it executes whatever it finds until it hits the RET code, and returns to $83/D3BF. If you need to see what bank $82 (or any other bank) does, Modify that batch file to dump it by changing "83" to the bank number and renaming the output file.
83/D3C3:   903E       BCC $D403    ; clear the carry bit at
                                   ; D403?
Branch if Carry Clear. If the program had, for example, incremented the accumulator until it carried over to the next byte, the carry flag would be set, and it would jump to 83/D403, as with the BEQ above. We don't know by looking at disassembled code whether this branch actually happens or not, or under what circumstances. Hence the importance of Geiger's debugger.
83/D3C5:   A636       LDX $36      ; Load X register from
                                   ; direct page
In addition to the Accumulator, data is often loaded into the X and Y indices. Usually, these are used as loop counters as you would use "int i" in a for loop in C/++. LDX $36 loads 7E0036 to the x index, the contents of which are listed in the disassembly pane of Geiger's debugger.
83/D3C7:   AD820D     LDA $0D82    ; Load the accumulator
                                   ; with memory at 0D82
Right- and remember that you can find 0D82 in the cheat search by putting 7E in front of it.
83/D3CA:   38         SEC          ; set bit c = 1
Manually sets the carry flag. It's unclear from what you've posted why it would do this.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Although I'm beginning to understand a lot of the disassembly, I think I'm going to have to call it quits on this particular problem. I'm getting frustrated and searching subroutine within subroutine without luck or even any hint of progress. It's probably right in front of me and I'm probably staring right at the answer, but I just can't figure it out. EDIT: Giving up apparently doesn't stop me, and I found this:
83/BC4E:	ADF81D  	LDA $1DF8  ; Load the accumulator with 
                                 ; the value at 7E1DF8 (the
                                 ; counter for eyes you killed)
83/BC51:	C90A    	CMP #$0A   ; and compare it with the 
                                 ; value 10
83/BC53:	D019    	BNE $BC6E  ; if it isn't equal (i.e. you
                                 ; haven't killed all the eyes)
                                 ; branch to $83/BC6E
(I think those comments should be correct, though it's still my first day of learning to read disassembly so bear with me). Now, this bit of data isn't of much use, but it did clue me in that I may be getting closer to what I'm looking for. The beginning of this block begins at $83/BC2B, and it (and the next block) contain the values 1DDE,Y and 1DDE,X as well as commands to switch the Y and X values. (remember, 7E1DDE is the address for whether the first eyeball is active or not; I'm assuming that the X and Y after this value will change the address and affect different eyes?). Anyway, if anyone wants to take a look at this section of the disassembly, I think we can get somewhere. Last thing before I go to bed. The memory address 7E009C could possibly be important. It comes up a few times and it seems to change every single frame, so maybe this is the basis for the RNG?
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Ok, new tack, I've just been trying to kill the eyes as brutally fast as possible. I managed to kill all the eyes a mere couple of frames before Ovnunu reaches the bottom, but it's apparently still not fast enough, as you will be able to see here: http://dehacked.2y.net/microstorage.php/info/885520849/Demon%27s%20Crest%20%28US%29.smv Here's an easier request than the one I've been working on: can anyone figure out how many frames off I am from getting Ovnunu to come out of the slime right after I kill that last eyeball? I'm about to tear my own out.
Joined: 10/3/2005
Posts: 1332
7e1e01 keeps track of Ovnunu's cycle (the Ovnulation cycle, if you will.) Haven't tested a whole lot, since it's hard to get the timing right, but I think if you kill the last eye before it drops from 96, he'll come out. You were late by about 20 frames.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Thanks Dromiceius! This does help a lot. Sigh. I got even closer than the posted movie. I'm about 3 frames away, but it's still 3 frames too many. The problem is that the last eyeball is so far down in the slime that it takes forever to surface. I've been experimenting on manipulating this eyeball to come out faster, and it has something to do with the third eyeball that emerges. Waiting to kill the third eyeball will make the last eyeball come out sooner, but so far it hasn't been soon enough.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Argh, it looks like it has to be well before the counter drops from 96. I tested and you have to kill the last eyeball while the counter is still going UP to 96. It has to be anytime before the counter reaches 61, it seems, which is when the slime is about halfway down to the low point. This is brutal.
HHS
Active player (282)
Joined: 10/8/2006
Posts: 356
Yes, 7E009C is the random number, which is generated with this algorithm. It's run every frame and it's also run when a random number is needed:
BC:904B RNG:                                    ; CODE XREF: _80:A8FAP
BC:904B                                         ; _80:AE67P ...
BC:904B                 rep     #$20
BC:904D                 .ACCU 16
BC:904D                 lda     RandomNumber
BC:9050                 asl     A
BC:9051                 clc     
BC:9052                 adc     RandomNumber
BC:9055                 xba     
BC:9056                 sep     #$20
BC:9058                 .ACCU 8
BC:9058                 sta     (RandomNumber+1)
BC:905B                 clc     
BC:905C                 adc     RandomNumber
BC:905F                 sta     RandomNumber
BC:9062                 rtl
The number of eyes that come out at a time is random. When you start fighting, the probability is 50% of 2 coming out, 37.5% of 3 coming out and 12.5% of 4 coming out. There is a 33 frame delay between them. Afterwards, there is a 128 frame delay, and there is: - 12.5% chance of 1 coming out, 50% chance of 2 coming out, 25% chance of 3 coming out and 12.5% chance of 4 coming out with 0 eyes out, - 37.5% chance of 1 coming out, 50% chance of 2 coming out and 12.5% chance of 3 coming out with 1 eye out, - 37.5% chance of 0 coming out, 50% chance of 1 coming out and 12.5% chance of 2 coming out with 2 eyes out, - 87.5% chance of 0 coming out and 12.5% chance of 1 coming out with 3 eyes out. Otherwise, no eyes come out. In that case, Ovnunu just waits another 128 frames again, which he also does if all the eyes are already out but haven't been killed yet. So you have to kill the last eye before the next is supposed to come out or you'll have to wait another 128 frames. When it's time to send out another eye and you've killed all 10, Ovnunu will decide to jump out the next time he reaches the bottom. Luck manipulation might be hard since all you have to work with is the amount of eyes killed before it's going to send out more eyes, and the amount of wait frames before you start (Ovnunu begins to wake up when your X coordinate is at least 128 or your Y position is less than 568)
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
HHS wrote:
Amazing stuff
Five trillion gold medals to you, good sir. Now I can finally finish this.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Ugh, this is the best I was able to come up with. I'm insanely close to killing the eyeballs without having to wait another 128 frames. It seems doable if the order the last two eyeballs came out was reversed, but I can't seem to make this a reality. Does anyone have any ideas? If someone actually wants to do the fight, I would be way more than happy to let you, and give full credit if (when) I obsolete my current run. http://dehacked.2y.net/microstorage.php/info/207416957/Demon%27s%20Crest%20%28US%29.smv
Joined: 5/8/2008
Posts: 7
I've always wanted to join this discussion, but have been too lazy to take the initiative. Anyway, new account, subscribing to this thread only. Is there currently a published speed run of this game? Last I checked in (been a while) there was some synching problems. Anyway, very interested, so give me an update if you please :D edit: Do you use death as a shortcut anywhere? Most importantly, can you detail your route, or post a link to it?
Skilled player (1404)
Joined: 10/27/2004
Posts: 1977
Location: Making an escape
There sure is. Kind of a shame. It was a good run, but was canceled without explanation. I wonder what gives? At one point I was working on a run that took out the Dark Demon. Lost the video though, and I haven't found the motivation to start it again.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Joined: 5/8/2008
Posts: 7
That's tooo bad. Do bosses have weaknesses to certain abilities? If so, can someone provide a list?
Former player
Joined: 8/1/2004
Posts: 2687
Location: Seattle, WA
MichaelD wrote:
Do bosses have weaknesses to certain abilities? If so, can someone provide a list?
Yes. They have been listed already in the thread.
hi nitrodon streamline: cyn-chine
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Well, there was explanation, but I didn't make a big deal out of it. Basically, after submitting the run and before it was published, I realized that I had about 30 seconds of improvements to make, including major route changes (especially after discovering that Belth is weak against the ground gargoyle, making it so that I can kill him immediately, rather than waiting until I have Legendary). Anyway, I'll probably have the new run up sometime soon, and it's a lot more entertaining to boot. And there's less pausing and switching gargoyles.
Joined: 5/8/2008
Posts: 7
I kill Belth first when I play, not saying my run is superior or anything, but I go: first stage, skull bash minigame, die for hand talisman (>_>) Belth... Also, I haven't watched the run yet cause I'm a little inept with SMV, do I need specific versions of the rom? Also, which emulator do I need, and does it have to be a specific version as well? @Zurreco: This thread is rather large. just found: http://www.youtube.com/watch?v=QmvaG0aeS1Q some questions: For the first part of the dragon fight: given that it's TAS I'm assuming you're at the very peak of your jump, how specific is the timing for your strategy, I've had a great deal of trouble executing that strategy consistently, and I'm looking for excuses :p regarding the first scroll, do you know how to cancel, or reduce the wind up frames for the head but? I'd say it's pretty noticeable. -so glad you skip the first urn and use the floating platform. Is the reverse fireball necessary to climb the wall? In fact, are an absolutely necessary? Your eyeball fight arouses me, and sort of answers my previous question Buster on Hyppogriff II, or do you use it because of it's hit box?? (aside from ground shots obviously) Have you ever considered using a retarded version of enemy/spike boosting? Arma II was rape >__> Fire stage answers my question, but then that makes me think you only did that to die faster (which also makes me extremely happy), boss fight in this stage was excellent. The head butting trick I talked about earlier would help a lot in the minigame...maybe. How manipulated are these bosses? For example, the wolf in the ice stage. Do you manipulate him to not vomit with save states/whatever (lol) or are you simply out of range. The video ended before the underwater boss fight, how unfortunate. Anyway, excellent video, I'm gonna steal a few tricks from you if I dare to do a console run this summer.
Former player
Joined: 8/1/2004
Posts: 2687
Location: Seattle, WA
MichaelD wrote:
@Zurreco: This thread is rather large.
Yes, because looking 2 pages back in a 12 page thread is a huge hassle. Thank you for putting forth some effort...
hi nitrodon streamline: cyn-chine
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Are you directing the questions at me or at Zurreco? I'm assuming you're watching my run. I'm interested in the head butting trick. Do you mean that you can cancel the animation? The bosses are EXTREMELY manipulated. To the extreme... yo. That's the main allure of the run, if you ask me.
Joined: 5/8/2008
Posts: 7
Zurreco wrote:
MichaelD wrote:
@Zurreco: This thread is rather large.
Yes, because looking 2 pages back in a 12 page thread is a huge hassle. Thank you for putting forth some effort...
You're not a good person,
negjay wrote:
Zurreco wrote:
Also, just for kicks, here is the weapon damage values/boss HP counts/etc: Fire: 1 HP Buster: 1 HP Tornado: 0 HP Claw: 1 HP Demon: 3 HP Earth (air): 1 HP Earth (ground): 2 HP Air: 2 HP Water (dry): 1 HP Water (wet): 4 HP Legendary: 5 HP Somulo1: 7HP Somulo2: 4HP Hippogriff1: 16HP Arma1: 16HP Ovnunu's Eyes: 3 HP Ovnunu: 10 HP Belth: 32 HP Flame Lord1: 26 HP (fire immune, air resistant) Flame Lord2: 20 HP (fire immune) Scula (bottom): 24 HP Scula (top): 10 HP Flier1: 24 HP (150% weak to air) Hippogriff2: 24 HP Arma2: 32 HP Crawler: ~61 HP (immune to air) Holothurion: 75 HP Flier2: 48 HP (150% weak to air) Arma 3: 72 HP Grewon1: 64 HP Hippogriff 3: 64 HP Grewon2: 64 HP (200% weak to legendary) Phalanx 1: 30 HP Phalanx 2: 100 HP (drains water at 50HP) Phalanx 3: Dunno
But thanks
ElectroSpecter wrote:
Are you directing the questions at me or at Zurreco? I'm assuming you're watching my run. I'm interested in the head butting trick. Do you mean that you can cancel the animation? The bosses are EXTREMELY manipulated. To the extreme... yo. That's the main allure of the run, if you ask me.
The head butt trick is pretty simple, and cuts the swinging animation pretty significantly (as if the swinging animation were long in the first place). You simply tap jump, so that you hardly leave the ground, and head butt. The key is hitting it right before you land, rather than the jump. If you're unable to do it (doubtful) you can witness it by breaking a window on the top row, and then inputing the head butt right before you land. Also, you can get the urn in the forest stage without the aerial gargoyle by flying right under the vine, then clinging to the wall. You can then proceed to beat the main stage boss (sorry for not knowing technical names of enemies and stages) to get the whirlwind which can aid you in the several sections of the stage where you get the aerial gargoyle. I'll think about recording some things tonight that may (or may not) be useful to you in your TAS. Also, are there tricks I can use on console (positioning, jumping, shooting, anything?) to manipulate bosses, or do you just use save states till they do what you want?
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
I mostly just used trial and error for manipulating bosses. If you do end up recording some things tonight, could you show me what you're talking about with the head butt? Thanks man!
Former player
Joined: 8/1/2004
Posts: 2687
Location: Seattle, WA
MichaelD wrote:
Zurreco wrote:
Also, you can get the urn in the forest stage without the aerial gargoyle by flying right under the vine, then clinging to the wall. You can then proceed to beat the main stage boss (sorry for not knowing technical names of enemies and stages) to get the whirlwind which can aid you in the several sections of the stage where you get the aerial gargoyle.
You have to go back to that stage with the Air Crest anyways, since there is a Life Piece in the third part of the level. With that in mind, it's faster to break the two vines with the Air Crest than it is to get the Urn with an odd wall jump. Plus, the time it would take to fly from stage 2 to 3, to 4, and back to 3 is longer than just flying to 4 and then 3.
hi nitrodon streamline: cyn-chine
Joined: 5/8/2008
Posts: 7
I get all of them in one fell swoop by getting the skull talisman, then dying against the boss, which sets you at the skull talisman door, then fly to the life piece and return to fight the boss. p.s. I've been busy with shit, I'll see about recording some segments this weekend.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
In the route I have planned, I get the aerial goyle before ever entering level 3, so I don't think anything will change with that... especially since it's a lot faster to use the aerial gargoyle for the part with the spitting platforms and water and owls. The new route, if anyone's curious (this takes advantage of the fact that Belth is weak against ground and that I barely have enough vitality to grab the relics in the water in level 2):
Level 1 -> Somulo -> Vellum 1 -> Hippogriff 1 -> Arma 1
Level 2 -> Ovnunu
Level 2 -> Hand/Vial 1 -> Life Vessel 1 -> Belth
Level 2 -> Hand/Vial 1 -> Vellum 2 -> Life Vessel 2
Level 4 -> Vial 2 -> Hippogriff 2 -> Crown -> Vellum 3 -> Arma 2
Level 4 -> Flier 1
Level 3 -> Vial 3 -> Skull -> Life Vessel 3 -> Flame Lord
(I need to check if that trip to level 3 later is faster to do here or not)
Level 6 -> Vial 4 -> Life Vessel 4 -> Armor -> Flier 2 -> Arma 3
Level 6 -> Vellum 4 -> Grewon1
Level 1 -> Vial 5 -> Life Vessel 5
Head Butt Minigame
Level 5 -> Life Vessel 6 -> Crawler
Level 5 -> Life Vessel 7 -> Life Vessel 8 -> Holothurion
Level 3 -> Vellum 5 -> Life Vessel 9 -> Scula (tentative)
Level 7 -> Hippogriff3 -> Fang -> Life Vessel 10 -> Grewon2 -> Phalanx 
Joined: 5/8/2008
Posts: 7
Do you luck manipulate the merman outside the hidden passage to drop the life capsules to get the hand talisman early? Or do you not even need to? Also, just to throw it out there, I think you should hold off on getting the submerged vial on the first run, and instead save it for the return trip to the underground lair later in the game, when you have the water crest. Also, you could try doing the skull bash minigame right after the first level. I understand that your route takes traveling on the world map into account, and I'm just making arbitrary suggestions to keep you thinking.
Player (244)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
It's not necessary to get life for the underwater part, though ground gargoyle just baaarely makes it both times (have to do the Hand Talisman and Vial on two separate runs of the level due to not having enough vitality). If I wait to get the water crest until later in the game, I could possibly save time actually traveling through the water to grab the vial, but i would waste time not only on unnecessary map movement, but also pausing and switching to the crest in the first place. So it's actually faster to just grab it the second time through level 2. I think there was a proposed route that had the skull bashing game after the first level, but I feel that I would ultimately lose time, especially since I think my new map route flows a lot better.
Joined: 5/8/2008
Posts: 7
Just do what you will, I trust that you know exactly what you're doing
1 2
9 10 11 12 13 14