Posts for Zanoab

1 2 3 4 5 6 7
Experienced Forum User
Joined: 12/31/2009
Posts: 174
MUGG wrote:
I'm asking to remove the green preview of the HUD only. http://i.imgur.com/q2TnNSJ.png Can Desmume 0.9.8 use "while true do" in Lua?
The only way to remove the green preview is to modify the source code or make your own HUD in lua. As for "while true do", emu.frameadvance() is hit or miss (it creates a few fake lag frames where nothing happens). I haven't checked the latest revision if it was improved or fixed yet.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Here is a sample of how I use it in Desmume: (for newbies, this is specifically for TWEWY's rng)
RNG._routinePtr = 0x020067EC
function _RNGExec()
	-- Get value passed to RNG
	local modValue = emu.getregister("arm9.r0")
	-- Get return address
	local returnAdr = emu.getregister("arm9.r14")
	
	-- Calculate result
	local lowState, highState = RNG:getState()
	lowState, highState = RNG.nextState(lowState, highState)
	local result = RNG.getResult(lowState, modValue)
	
	-- Code here to handle RNG execution
end
memory.registerexec(RNG._routinePtr, 4, _RNGExec)
This tracks code execution but the concept is the same for both read and write.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I'm curious, has anybody attempted to add a decompression algorithm so a compressed (and hopefully much smaller) payload can be sent as input instead?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I tried it myself and it works fine for me.
  1. Playback movie to the frame you want to extract the SRAM from. Try picking a frame that is a few seconds or a screen after the saving takes place to make sure you don't extract SRAM while the game is still saving.
  2. Use the Export Backup Memory and save it as raw SRAM.
  3. Close Desmume and open it again to make sure flags from the movie are gone.
  4. Open the ROM and wait until it is fully loaded.
  5. Go to Import Backup Memory.
  6. Select the sav file from step 2.
  7. Verify the information on the right panel (optional).
  8. Select "AUTO (from imported save data size)".
  9. Press OK.
  10. Reset the emulation state.
  11. Verify the SRAM was successfully imported.
When playing around with it, I found that using the first auto import (based on current save size) with no existing SRAM will cause Desmume to import nothing (blank SRAM). I'm not sure what else could be the problem but have you also tried a soft-reset or something else to see if the SRAM isn't corrupted during the movie?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Easy yes vote. I remember how long it took to search every inch of the stages in the first world (ruins) for the gold cards. They were nicely done for introducing important platforming concepts and then require using them in creative ways to get to at first seeming unreachable and decorative areas (games today really need to push kids to perform limit pushing feats). To see the hidden areas (and every other stage) accessed by these insane tricks destroys my childhood as easily as the SM64 runs. Great work!
Post subject: Any interest in a dtm editor?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Is anybody interested in a dtm editor? I'm working on a simple python library for modifying dtm files or even creating them from scratch. It is currently low-level so the data in each frame isn't deciphered (yet). At the moment, the library can unpack the header data from a dtm file into a more user-friendly form which can be packed into binary data to be written to a dtm (same or new, doesn't matter). The library also breaks up all the frames into a list so you can move, copy, delete, modify, or add frames. The library can of course write the frames to a dtm file. There is also basic integrity checking (input count is accurate, right file type, last frame isn't incomplete, etc). I probably won't create a gui for this but I will try to add useful shortcuts to make it easier on people new to Python interpreter. I'll upload it once it reaches a more complete form along with a tutorial.
Post subject: Final Fantasy Fables: Chocobo's Dungeon
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I just remembered I had this game and decided to see if it would be worth tasing. I only have the NTSC version and have no experience with the JAP version. There is also a DS version (may be faster) but it is Japanese only and I have no experience with it. Some quick entertainment variables to consider:
  • FMVs are skippable.
  • Not all dialog/cutscenes can be skipped (may only be special cutscenes in dungeons).
  • Music doesn't reset when moving between floors in the same set so Final Fantasy fans can enjoy the variety of music remixes (assuming we don't break the game too badly).
Which run should be done: Any% or "All Memories"? Any% will cut out most of the optional memories. An "all memories" run would mix the optional memories into the route and viewers may find getting out of the awkward situations (while under-leveled) to be interesting.
Other things to consider for the route. Which jobs should be used?
  • Natural
    • Chocobo starts out with this so (some) JP can be collected right away.
    • Has a decent range of offensive abilities.
    • Dig can speed up any needed item farming.
  • Thief
    • Obtained early in the game (detour can be a shortcut and be along the route).
    • Requires death to switch immediately after obtaining.
    • Needles! First access to an attack with a range of 3, can cause a status effect, and one of the few abilities that also only cost 1 SP.
    • Alert helps verify the positions of everything (except the exit).
    • Flee can warp Chocobo to a random location on the floor. Can be manipulated to get closer to the exit and escape from sticky situations.
  • Scholar
    • Obtained ~mid-game.
    • Can restore food and HP.
    • Recover from all afflictions.
    • Truth casts a random spell for 1 SP. Can be manipulated.
  • Black Mage
    • Obtained early in the game.
    • Lots of available offensive spells from elemental to status effects.
    • Charge is obtained late but can be manipulated to easily recover SP.
  • White Mage
    • First class obtained in the game.
    • Best range of abilities.
    • Can heal self.
    • Defensive abilities.
    • Holy attack spells.
    • Can remove curses.
    • Charge available sooner than Black Mage.
    • Escape can warp Chocobo to a random location on the floor. Can be manipulated and available early.
At the moment, White Mage and Thief look promising. I personally haven't had much experience with Black Mage so I can't say much. Scholar's Truth needs more research but the lack of Charge hurts its spam potential (not to mention the amount of JP grinding required so late in the game). Other points:
  • Flowers will be grown to farm JP (when it is efficient).
  • Fishing can be manipulated to get useful items/gil.
  • Classic controller will be used (the extra buttons actually have useful shortcuts).
  • Claws (and maybe Saddles) will be honed when the route allows me. I will plan out a honing 'route' to make sure everything mixes well.
Did I miss anything else?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Warp wrote:
Ponyville is a village in the kingdom of Equestria. But is there any official stance of what else is in this fictional world outside of Equestria? In fact, does the world itself have a name? How large is it?
It is confirmed that they live in a place called Earth.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
adelikat wrote:
So this movie is an interesting case for the the Vault. The logic for abusing death in cases where there is infinite continues from the place you left off is sound, for entertainment value. But the vault isn't about entertainment value, so should this rule not apply? A deathless record is still the most impressive record here is it not? We should strive for the vault to have impressive records, even if entertainment value is not considered.
I would like to make sure you are aware that there are no infinite continues in this game. I played it and got so many game overs in the last few missions to the point I wish it was an arcade port with infinite continues. The amount of continues you get for the run depends on the difficulty selected (I think 10 "credits" for Easy which explains the double digits).
Experienced Forum User
Joined: 12/31/2009
Posts: 174
rog wrote:
obviously it's a scam. http://3dsemulator.org/bios.html Oh, and here's the contents of the plugin folder: cdvdGigaherz.dll cdvdiso-r4600.dll CDVDnull.dll DEV9null.dll FWnull.dll gsdx-sse2-r4600.dll gsdx-sse4-r4600.dll gsdx-ssse3-r4600.dll GSnull.dll lilypad-r4600.dll PadSSSPSX.dll spu2-x-r4600.dll USBnull.dll Look familiar?
I heard the 3ds was capable of ps2 level graphics, maybe this explains it?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Cronikeys wrote:
http://www.youtube.com/watch?v=qqhDqTtTt8Y I don't know what to make of this. =| I floated across the fog in the final Grunty fight.
I'm Powerccom on youtube. I strongly believe it has to do with the fog "floor" being an unsuitable surface to stand on which prevents you from recovering from the damage (and thus preventing the instant death from taking place). It has been years since I last played so my memory of this behavior may be wrong. Vertical surfaces normally push you in a specific direction but because the fog floor is a perfectly flat horizontal surface, you keep your horizontal momentum and literally float away in whatever direction you were falling. This is only a theory and I'm really interested in why/how it happens.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Thanks for the post. I found it very helpful and reassuring. Some comments I have.
GipFace wrote:
- Playing at level 1 is pointless so I wonder why that was brought up. Pin drops add significant time, so the only pin drops that should happen in the TAS are 100% drops (unavoidable) or ones that are required to clear a wall mission.
It only costs 4 frames to change the level if you are already in the menu. I haven't checked but the only way changing the level would cause a desync is if player's HP is factored into the AI and/or it manipulates a better drop. Probably not the best way to manipulate the RNG but it is an option if needed. The level 1 is for an optional goal of being low leveled but I don't see the challenge worth pursuing.
GipFace wrote:
- Fusions are still horridly slow compared to puck damage, so it'd only be used in boss battles where using a fusion would save time. Considering a fusion takes around ten seconds to perform, I'd only imagine the level 3 fusions are worth using, if even. This is sort of a relief because it means you don't have to manipulate the combo map cards themselves, only the arrow panels.
I agree with you there. I haven't tested what effects fusions have on the battle yet but restoring HP while dealing damage may have a use on some bosses.
GipFace wrote:
- Psychokinesis D (drag) should become the best psych in the game. Battles would be manipulated so that an SUV (large jeep-like object) or car is on the field every time. Using the psych itself would only last a few frames, thus maximizing the gauge. Sexy D is given at the end of W1D5, and Sexy + is required for a W2D2 wall mission, so there's no detours in obtaining them. However, this introduces the "fighting game problem" ... if every non-boss battle becomes Psychokinesis D abuse, some people may complain that it's repetitive. Then again, is this any different than using Gurdurr to solo most of Pokemon BW?
I don't see that happening because alternative pins may be needed. I haven't done tests yet but as a drag pin, I will assume it's combo would require at least 3 hits to pass the puck. From my experiments with Pyrokinesis, the drag MUST be continuous so if it is against one enemy, it would drain ~52 frames to pass the puck. If the battle manages to out lasts the pin, we would need a second pin to continue attacking.
GipFace wrote:
In all honesty this game is an absolute nightmare to TAS optimally. There are tons of random factors such as trends, noise symbol placement, and obstacles. In addition, with Zanoab's notes indicating that there are random lag frames, I don't think any full run should be fine-tuned to to an extreme degree. In addition, a stylus TAS requires another level of precision to pull off, and you'd need to co-ordinate it so that you pass the puck immediately (or almost immediately according to Zanoab) every time. Of course, if there were some way to glitch it in order to access W3D7 immediately, I'd be all up for that. I could attempt the TAS, but note that I have no LUA knowledge or technical programming knowledge, so anything I'd do would just be brute-forced. I also can't guarantee that I'll even finish it this year. This is a huge undertaking if done with no sequence breaks and I don't know how much time I can spend on it.
I haven't done much research on trends, noise symbol placement, and obstacles yet but I hope to do so soon. The stylus TAS is currently only annoying for moving on the maps. The levels of precision makes it annoying to fully optimize (3 frame delay before it takes affect don't help either). As for passing the puck, I have most of it figured out. I was making a resource page for the site but I never got around to finishing it yet. You can find the Puck mechanics and other interesting pieces of information here. I'm currently writing a trainer that will attach to the emulator using lua via sockets. It will be in Python and use tools similar to Cheat Engine to read memory directly (doing it with lua is too inefficient for dumping the entire RAM). When I get it to a usable state, I will write the resource page as I finish up the tools.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I'm not sure if it is related but I had a lua script that would prompt me for input in the middle of the frame (using memory registers). I noticed that under certain conditions, the emulator would consider the frame finished part way through and make it a lag frame. It would resync to where it should be on the next frame. This caused problems when I need to inject values into the cpu registers (mainly arm9) for RNG research. I'm not sure about what causes it but I think it happens when the frame is stalled for too long (or stalled too many times) under certain internal conditions (I couldn't reproduce it on every frame).
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Truncated wrote:
Cooljay wrote:
Tell them you use Linux or Apple. If they claim they are Microsoft Support, then they wouldn't be of much help with a different OS :P
That would be a good way to get rid of them, but if you want to do that it's easier to just hang up. I don't want to get rid of them, I want to hurt them. :)
I have Microsoft's Virtual Machine set up with multiple instances of Windows specifically for these calls. You could play along (preferably with all the sharing disabled and networking under lock and key) and see what they are trying to do. I was even able to get a guy to stay on the phone for 30-40 minutes because I told him I was having problems installing Windows 7. It sucks for him that it takes forever on a HDD. When I get bored, I google the number/area code and ask them how is the weather.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Hasbro just put up an 8-bit pony game: http://www.hubworld.com/hubworld/specials/mlp8bit/ The code to play is: HUBMLP8BIT It felt like playing SMB all over again. I really want to try TASing it but unfortunately it is a Flash game. Can Hourglass be used on Flash games yet?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Maybe not by me. Most of my important lua scripts were lost in a hard drive crash and the ones on pastebin are severely outdated in comparison. I do have some new information for anybody who is interested. Movement on the overworld can be safely hexed from other movies as long as you sync up the first frame of input (no noticeable lag that can cause desyncs). Results may vary when it comes to interaction with mobile entities (RNG controls their spawn points and direction of movement). The first frame you are able to dismiss speech bubbles during conversations vary greatly but I do not know by what. I have seen differences up to -/+ 3 frames between movies starting from the first speech bubble. I have mentioned before that frames you wait before dismissing a speech bubble may be subtracted from the loading screen and end up costing no frames. Loading screens can vary by lag frames by unknown measures at the moment. I compared two slightly different movies and occasionally one would save a few frames compared to the other but lose it on another loading screen. Attempting to optimize the reduction of lag frames may be futile at this point until somebody figures out what causes it to happen. This would also include lag frames that would appear almost randomly when it shouldn't lag (and usually cost time by forcing the author to change something in hopes of neutralizing the loss).
I have had begun the dissection of calls to the RNG during battles and other occasional instances that peaked my interest. Most of these tests were done with pixiefrogs but it should be the same basic principle for manipulating other enemies. When it is time to refresh an enemy's action, the RNG is called (I will call this part 1). The RNG may be called again (part 2) and the range a value is selected from depends on which branch is taken during part 1. The game then executes the action based on the values of both parts (both are stored in the enemy's data struct). Important values required for analysis is commonly left in the cpu registers so it is a matter of getting the lua script to recognize the return address (think of it as a signature of what the random value will be used for) and then getting the remaining data from the other registers or from memory. Often times, the enemy whose action is to be refreshed is in a specific register(s) so the script should at least be able to identify the associated enemy.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
It could be tracked by counting consecutive frames that the button remains pressed/depressed (frames that could have been spent depressing and pressing the button).
Experienced Forum User
Joined: 12/31/2009
Posts: 174
CoolKirby wrote:
ais523 wrote:
Wow, the trick starting at 21:30 in the encode is amazing
I agree. Also, was this trick done to skip a boss battle? That's what it looks like, but I can't be sure. Anyway, well optimized and entertaining run. Congratulations on finishing another great N64 TAS, Nahoc! Yes vote.
There aren't any bosses outside boss stages. You are required to activate a series of switches to reach the platform normally. Even with the ability to climb onto the walls, it will still take quite a bit of time. The only other way is of course hopping across the gap somehow to skip the entire puzzle.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
I think "See? It can go faster. Good job!" would be a great choice. If we go for a lasting impression to lure in viewers, we could go with the "Ooo, soft..." scene when boarding the airship in Dali (Disc 1). What could get somebody's attention better than the hero grabbing the princess and making a comment?
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Both screenshots are nice. My only problem is that there is no way for people new to FFIX to know it is early game and not end game when looking at the second screenshot. If it displayed the party's hp, then it would be perfect. Are there any frames where the menu is open in Memoria? I think "Memoria/Blah", "7:xx:xx", and low levels would look a bit more appealing than picking up the Excalibur II when the game was beaten with 4.5 hours left to pick it up.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Dada wrote:
Is that trick even possible on psxjin? Anyhow, it's a good thing you don't use it. Even if it's possible to save some more time, this is a good tradeoff.
I know it can be done on epsxe and pcsx by getting the emulator to load a bad image (can be a 0 byte file) but I haven't checked if there is another way to do it.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
It is awesome to see this finally done. I can't wait to see an encode (or find my discs).
Experienced Forum User
Joined: 12/31/2009
Posts: 174
darkszero wrote:
What if you TAS the rom included in either the GC or VC releases? When playing that ROM in the original console it doesn't have the B Stick bug... :P
The game crashing bug isn't in the rom itself but in the hardware. It was fixed in the emulators (GC, VC, and Mupen) used to played the roms.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Synx wrote:
I fear for the people of Hyrule if you guys leave Ganondorf free to terrorize the land! Anyways... I am looking forward to the all temples TAS. Is that still being released?
They aren't. The future Ganondorf didn't stand a chance against adult Link + Master Sword so present Ganondorf shouldn't have a chance either (unless he put on some weight sitting in his castle for those few years). I think the timeline would go: Link grabs Master Sword (he is already an adult so he shouldn't be pulled back into the future), tells Zelda the plan, Zelda becomes bait, Ganondorf takes the bait, Link comes up from behind and executes him, and disaster is averted permanently. I can't wait to see the route and tricks that get put into this run.
Experienced Forum User
Joined: 12/31/2009
Posts: 174
Warp wrote:
(If someone wants to honestly know why people engage in a certain hobby, out of pure and innocent curiosity, and without any kind of dismissive or self-righteous preconceived attitude, and wants to engage in a mutual conversation about such hobbies, that's a completely different story. That kind of conversation can be an informative and fulfilling learning experience on sociology and human nature.)
I think this is one of the best posts so far. I feel the only thing missing is dragging TASing into the argument. The people who think the show is "gay" are just like the people who cry "CHEATER" whenever they see a TAS. There are people who don't share the same interest and continue on with their lives ignoring the fact that TASes exist. Some see it as an act of demeaning video games and would rather avoid watching TAS runs. There may also be people annoyed to the point of dedicating their lives to stop this form of art and expression. People are allowed to enjoy watching the show just like how people can watch TASes. There are people interested enough to keep track of stats, characters, story, pacing, music, actions, etc. People often get into TASing enough to do some small playarounds and eventually produce full runs of their favorite games. Just like how TASing can be used as a hobby to hone various skills, creating fan content for MLP can also be used to practice animation, voice work, music, sewing, or even programming (look at some of the games that fans are developing). Perhaps we should be asking why you are watching/making TASes even though there are people who view TASing as a stupid useless hobby. I'm curious to see if you can do a better job at defending your hobby.
1 2 3 4 5 6 7