Posts for HHS


1 2 3 4
14 15
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
Looks like the game's drawing buffer isn't big enough to handle two vertical rows and two horizontal rows on both planes at the same time. This allows you to overwrite FFF600 with some tile. ACE possibilities: 5400-57ff : jump to FF0000 5cff-5fff : RTS to address at FFFE00 64ff-67ff, 7800-7bff : jump to FFC000
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
No, this is activated by riding the platform.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
For the record, here is a full list of all the objects that can be phantom grabbed: Weapon energy Health Hoganmer's shield Extra lives Sub tanks Boss doors Falling road Road crack Anglerge's seeker Life ups Submarine loading zone Crumbling cave generator Escalators Jet lifts Falling platforms Falling blocks at RT55J Chill penguin's hook Flying platforms Circular platforms Vile door Storm eagle door
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
No. If you don't scroll far enough to start the fight, you are simply stuck with no way to advance further. The only way to start the fight is by going through that door. Also, you can't hurt bosses until the fight actually starts for real, unlike in Mega Man 7.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
I am not too familiar with how zipping works in this game, but Spark Mandrill looks promising. If you can zip your way down to the door, then you can do the same trick in his room by going slightly into the ceiling. For Chill Penguin you could try to phantom grab the door and leave it somewhere around (05F8, 05B7), then zip into the wall and enter with the camera low enough that he will not spawn, if that is even possible.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
I zip down to where boss can catch X and shock camera and then Misc. data turn 0 into 1. I dunno why it can change Misc. data.
I suppose you are referring to the entry for $7E1628 in the RAM Map in the Game Resources section. This is a table of 16 entries of 48 bytes each, for various objects that are not enemies or bullets. The first byte of each entry indicates if the entry is currently in use. These are the kinds of items that can be grabbed with the boomerang cutter. At the moment you are referring to in your movie, the boss door object, which disappears after you go through it, is being loaded again (into the first table entry), due to being at the top of the screen. That is why you are able to go through it again.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
If something is not a collectible, it probably does not belong in the requirements for 100%. So, no such things as high scores, chests opened, doors unlocked, visited rooms. Runs that aim for 100% map completion are usually marked as such. The content of bottles is inconsequential since there is an endless supply of these items.
EEssentia wrote:
If you had the chance of upgrading your sword in two different ways, but getting an upgrade prevents you from getting the other upgrade, then it seems silly to say that we shouldn't get either upgrades. I'd say that it would simply be up to the runner to choose which upgrade to get.
Well, my logic is as follows. If there is a 100% run that would not have been considered 100% had it failed to obtain item A, it seems the most consistent to me that no other run that does not obtain A would be considered 100% either. However, if items A and B are actually the same thing, but obtained in different places, then I agree that either is acceptable. Otherwise, the "either" requirement would only make sense if picking A and picking B were different speedrunning categories.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
The following seems reasonable to me as a definition of 100%: - Anything that can be collected indefinitely from the same location or in the same manner when playing the game in the intended way, is not included. - Anything that can not be collected when playing the game in the intended way is not included. - Anything that you already possess when starting the game is not included. - Anything that can be spent, sold, lost or replaced by another item is not included. - Anything that does not have a clearly defined maximum is not included. - If collecting something precludes the collection of something else, such that both would otherwise be considered part of 100%, then neither is included. - Otherwise, anything that enables the player to do something, or shows up on a status screen, or would otherwise be regarded as one of the player's belongings, is included. About the cow, I think it should be regarded as a collectible. Same with compasses, maps and big keys, of course. Also, one may of course collect an item repeatedly that can normally only be collected once, or collect a normally unobtainable item if doing so saves time, but this does not count towards 100%.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
The level pointer is at $61. So, set a write breakpoint at $62 and you'll be able to tell what the level pointer gets set to.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
For an arbitrary convex, simple quadrilateral ABCD in 3D space, define an S axis that goes from 0 to 1 along AB, and a T axis that goes from 0 to 1 along AD. Having defined a value at each corner, and wanting to find the corresponding value at some point (S,T) using bilinear interpolation, how does one determine the coefficient before ST? Edit: Perhaps what I am trying to do is not even possible?
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
Warp wrote:
Thus the core question is whether this problem is unsolvable or just very hard.
This problem has a trivial solution. Simply write the shortest possible program that does the following: - Clear all of the computer's memory - Output the digit 9 - If the program is in ROM, output more 9's until you run out of ROM space. This is easily accomplished with templates while staying well under the 1000 character limit. - Use all of the computer's memory as a giant counter, and repeat the above until the counter rolls over.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
I am redoing the last part of the movie (after Potos) in Bizhawk, now that I have ported my script. Right now, the biggest challenge is finding time to work on this. I'll see if I have some time tonight. As a side note, I have verified that the full ending is also reachable, but with the current route it would double the length of the movie. In this case, a better option might be triggering the glitch with a 50GP or 1000GP chest, but I have not tried it.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
Even having a single execute hook which is never executed, causes a dramatic slowdown. This is indeed on the BSNES core. Is there something about the BSNES core that makes it much more difficult to implement this efficiently compared to Snes9x?
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
I see, memory hooks were indeed the culprit. I am sure there must be a way to make them more efficient, though. After all, Snes9x can handle a lot of them just fine. Drawing is a little slow, but not too bad. Of course, any improvements in this department would be welcome as well.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
*facepalm* Somehow I failed to notice that A, D and DB were indeed in there as they should be (my output had just gotten cut off at the start, for some reason). "SP" is not the stack pointer, though. The stack pointer is "S". Is "A" the low 8 bits of the A register, while "AA" is the entire register? I also see both D and DP in there. Are they aliases of each other?
Post subject: emu.getregisters (SNES)
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
How can I access the contents of registers A, D and DB? And what is the meaning of MDR, RD, SP, Vector and Z in the table returned by emu.getregisters?
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
When running any LUA script while playing a SNES ROM, the frame rate drops to around 10FPS which is unacceptably slow. Can this be fixed?
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
Current progress: The movie is basically done, but I got a desync after Potos when converting to Bizhawk. I'll try to see if I can fix it.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
Ah, apparently it freezes when it tries to make the "footstep" sound as it is waiting for the SPC to clear the reverb buffer. I think this is based on a timer, so fortunately the optimal strategy should be the same in both Bizhawk and Snes9x.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
The following things influence what's happening: - Getting a dialogue choice. - Any time the name of an item, armor, enemy or spell appears on the screen. (pointer=$099e for enemies, $0864 for equipment/items, $0800 for spells) - Going to the save screen. (choices=0) - Resetting the game. (choices=0, pointer=0) You should be able to jump to any script that is in the same bank as the script you are using to invoke the glitch. BJW managed to jump to Neko's dialogue by advancing to location $CA0808, which contains a value which is interpreted as a jump to script $0099. By reaching $C9F2D4 or $CA4D95 you can get the full ending. Yeah, you can't have any text before showing the money. So it won't work in Pandora. Bizhawk doesn't seem to work very well, as it becomes extremely slow if I try to load a script, but I have managed to make some scripts to export the inputs that are after the title screen from Snes9x into Bizhawk. That way, I can continue to work in Snes9x and leave Bizhawk running overnight to import the movie data once it's done.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
D'oh. I knew there would be something obvious I hadn't tried. Back to the drawing board again. If you fail to get it, you have to go all the way back to Neko's and select Save again (after buying more barrels, if necessary). Using the barrel on the screen before is just a speed trick, and is not necessary. If you do, there is about a 10 frame window to do it. In an emulator, you can see what happens during execution of the glitch by watching addresses 7EA200 (current selection), 7EA1D4 (number of choices), 7EA1D5 (word, pointer to jump table in same bank as the current script pointer). One thing I haven't investigated yet is if it's possible to reduce the enormous lag when selecting option 256. Edit: The lag is unchangeable, unless a way is found to corrupt the byte at 7EA2D6 or 7EA2D7. These bytes come from the decompressed title screen and remain constant during the game. The table at 7EA1D7 holds the starting column for each choice. The game reads the current and the following entry to determine how many tiles to update. Since these two bytes are the same (0), it will loop 65536 times. Although this corrupts a lot of data, in this case an even number of wrongs make a right, leaving everything the way it was before.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
Okay, what I had in mind yesterday didn't quite work out, but this is still going to be fairly short. Probably sub 15.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
I am now able to beat the game shortly after getting Undine. However, I believe I've found a way to do it right after leaving Potos, which I am going to try to test now.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
If you can produce a SMV that shows the palette being messed up when opening the money window, I might be able to determine why it does so. But it might just be the HDMA being started after the frame has started, which would make the SNES read color data from the wrong location but would not be able to corrupt main RAM.
HHS
Experienced Forum User, Published Author, Active player (282)
Joined: 10/8/2006
Posts: 356
Whoever told you that the location information is not loaded was wrong. Rather, the distance to each player has not yet been calculated. Anyway, the chest itself is fine, it's the dialogue that's messing up for some reason. The game enters dialogue selection mode if 7e1d00 bit 7 is set after writing text, or if command 5A is encountered outside of text. This bit is cleared when continuing with non-dialogue commands, which is normally the case after making a choice. This is also cleared when entering a new room. The bit is set after closing a window, and when encountering command 5B. I can see nothing in the code that would make any of this happen after opening the money window.
1 2 3 4
14 15