Posts for jlun2

Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Rather late, but I believe I figured out where overworld NPCs addresses are. Also, it seems for the ones that move, they remain at their own location if offscreen far enough, so that should make manipulating certain Denjuu walk cycles somewhat easier. Edit:
Language: lua

memory.usememorydomain("IWRAM") --[[ SystemID GBA 3570 w u 0 IWRAM wtf? 3572 w u 0 IWRAM x cam 3574 w u 0 IWRAM y cam 3576 b h 0 IWRAM sprite related 357C d 3 0 IWRAM x 3580 d 3 0 IWRAM y 3584 d h 0 IWRAM z? 3588 d 3 0 IWRAM movement 358E b h 0 IWRAM nth sprite in area 358F b h 0 IWRAM state ]]-- local NPC = { x,y,xcam,ycam,state } while true do local num = 0 for i = 0x34D0, 0x3790, 0x20 do if memory.readbyte(i) ~= 0 then NPC.xcam = memory.read_u16_le(i+0x2) NPC.ycam = memory.read_u16_le(i+0x4) NPC.x = string.format('%.1f',memory.read_u32_le(i+0xC)/65536.0) NPC.y = string.format('%.1f',memory.read_u32_le(i+0x10)/65536.0) NPC.state = memory.readbyte(i+0x1F) num = math.floor((i-0x34D0)/0x20)+1 --So it would be 1 offset --gui.drawText(xcam,ycam,"X"..x.." Y"..y.."i"..num.."s"..state,null,null,10,null,null) gui.drawText(NPC.xcam,NPC.ycam,num,null,null,10,null,null) end end gui.text(0,70,num) emu.frameadvance() end
Edit: At the very first cave, this already influences the 2 Denjuu to the right of the cave when you go grab the first key; it's possible for them to wander far enough such that they "stop" at different locations, thus changing where they wander once they appear on screen again. Also, moving diagonally for the "stairs" in certain areas such as the first cave is faster than moving straight through it.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Well, for me I used lua for it:
Language: lua

memory.usememorydomain("IWRAM") --Change this to whatever Majoras Mask uses while true do local Address = 0x --Insert your address to toggle here local value = 0x40CB --Insert the value you want here local toggle = 0 if toggle == 0 then if (joypad.getimmediate().L == true) then toggle = 1 end else if (joypad.getimmediate().L == true) then toggle = 0 end memory.write_u32_le(Address,value) --Change 32 to whatever byte size it is end emu.frameadvance() end
Or something like this. I haven't tested it, but it's something around that.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Thread #18810: #5371: ruadath's DS Fire Emblem: Shadow Dragon in 08:47.83 Apparently, the latest version of DeSmeME also has problems with the system clock at start. Anyone who needs to manipulate it should avoid the latest version.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Sorry for your lose loss. Hopefully, you don't quit TASing over this, despite the bad initial impression.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
http://www.pocket-lint.com/news/140059-zelda-marks-the-death-of-nintendo-wii-u-confirmed With this out of the way, how much percentage of games (and apps) released for the wii u are playable on Cemu now? I haven't followed it for a while now; is it more active than non-Nintendo console emulators in terms of development?
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
EEssentia wrote:
I think it's just better to stop "1-upping" ourselves, because let's face it, it's not going to keep happening. At some point in time, we're just not going to be able to keep doing it. How long do you intend to wait to find something new? A year? Two? Three? At some point we have to face the fact that we're just not going to be able to do it. dwangoAC & Co has admitted as much. So let's just break the ice and stop doing it. I honestly think we're beyond the point where we can keep doing it. Takeovers just aren't as cool as they once were. So let's get it out of the way and just keep delivering fun content, regardless of whether we "1-up" ourselves or not. Skipping a GDQ would probably make a large majority unhappy anyway.
I agree. Also it seems it becomes less and less "speedrun/superplay" and more "finding security exploits" as it gets more and more elaborate. People mentioned the aweful game idea, which sounds nice, but not sure how much entertainment can be squeezed out of them.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Fog wrote:
RIP Modern 3D TAS 2017 awards
lmao completely related: Link to video So look forward to RIP Modern 3D TAS 2018 awards too. 🙂
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Does anyone else have the problem such that whenever you open the RAM Watch, then using that to open the hex editor and messing around with hotkeys in hex editor causes hotkeys (control P for instance) to never work on Ram Watch again until the emulator is restarted? This happens on the latest version and interim.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Hey, sorry for the silence. I'm having some trouble at the moment, since it seems: 1. For this particular section, if the NPCs (or Harry) hits 0, it does not appear to be able to make it critical 2. I level up after the turtle, so I get fully healed. The mandrake hits ~25, and ~50 for normal hit and crit respectively. To make it such that the next time Harry encounters an NPC kills him, I need the following: *Mandrake hits normal hit + crit *Harry lands 1 normal hit + 2 crits Point 1, along with rather terrible luck makes this section tricky. And by terrible luck I mean waiting 300+ frames for each crit. Might have to check how long would a somewhat "ideal" non-deathwarp route would take then see how much waiting is possible before it ends up slower. Sorry about that.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Thanks for the invite, but no thanks. I'm struggling with wiki activities, 3 different side projects, and 4 classes for the next 4 months. Sorry about that.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Alright. I'm also curious if other languages may be faster, but I have no idea how much dialogue would be encountered in the case new skips would be found.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
1. If you entered Hagrid's hut, then left, it becomes day. 2. It seems the cutscene right after the Willow fight can be triggered (by cheats), allowing the story to progress without fighting said boss. 3. Unlike the first game, you're severely low level, so I might need to test if deathwarping would help, since in empty classrooms, things like the knights kill you in 1 hit.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
r57shell wrote:
I don't wanna repeat myself. No one listening anyways. I would better continue watching this.
I thought it was mentioned somewhere they lack people coding it to change the site. Not sure if it applies to this as well.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Alyosha wrote:
Dwedit wrote:
I don't think DMC channel state at bootup is consistent. Try playing Blades of Steel, and see how the demo changes every time you play it.
I tested it for a bit using different DMC timer start states, and it looks like you are probably correct. That sucks :( I thought we had a good chance of console verifying this run, but if that is true it seems unlikely.
I have no idea what DMC timer means, but would it be possible to set this to some known, "legit" value to make things consistent on console?
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
https://www.youtube.com/watch?v=rvuMC89K6D0 "Pokémon Red/Blue/Yellow: Virtual Console differences compilation"
7) The Nintendo 3DS emulator ignores unknown opcodes, which allows certain glitches to function differently such as two 'pseudo-LG' move effects in Red/Blue and Yellow (see https://www.youtube.com/watch?v=qzbeTrdHCXw and https://www.youtube.com/watch?v=8cnyjQ_UqRc). 8) There is a discrepancy between how a Game Boy would half player money with an invalid digit (A-F) in it (as money is coded in binary-coded decimal) and a Nintendo 3DS running the Virtual Console release (see https://www.youtube.com/watch?v=9iFDqWEF_uI).
Especially on point 7, how much of the glitches does it affect in VC? Would it affect speedruns?
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Alyosha wrote:
jlun2 wrote:
Alyosha wrote:
So, did reverting the change fix the problem? feos, jlun2, nrg_zam?
Sorry for the late reply, but at the latest interim, the buttons are back for me.
How about the scroll bars? @feos: In the latest dev build copying/cutting cells isn't working for me and when I do that it just leaves the clipboard empty and pasting doesn't do anything.
Scroll bars seems to appear again, but for GBC core, whenever I misclick and click on this region next to "A" in the interim I get : http://imgur.com/a/guHiw
System.NullReferenceException: Object reference not set to an instance of an object. at BizHawk.Client.EmuHawk.TAStudio.TasView_MouseDoubleClick(Object sender, MouseEventArgs e) at System.Windows.Forms.Control.OnMouseDoubleClick(MouseEventArgs e) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Alyosha wrote:
So, did reverting the change fix the problem? feos, jlun2, nrg_zam?
Sorry for the late reply, but at the latest interim, the buttons are back for me.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Alyosha wrote:
Everything works and looks correct to me. What OS are you working with jlun2? You and nrg_zam seem to be having the same issue. @feos: do you think my commit that fixed the original issue i was having should be reverted? It seems like it might be cause of problems here. Maybe then i can find a more surgical fix for windows 10, since I'll at least be able to see the problem, without messing things up for other users.
http://imgur.com/p9n4kIR Edition: Windows 10 Home Version 1607 OS Build: 14393.576 How about you?
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
I'll see if optimizing the input, but pressing "A" on Harry at the same frame as the movie would allow the "28" to occur. Also, can you please check if there's some 2nd RNG affecting this? Edit: It doesn't work; even if the last "A" press is the same frame, changing the previous A makes it 13. Changing 0x00F8 in WRAM ~5 frames before 0BCA (damage dealt) is set changes to 13. Although the addresses around it seems to be for sprite animation. I suspect its the frame that changes 0x0BCA that's responsible, since if the hit changes it at frame 26166 it hits 28, but it hits 13 at other frames. Edit 2: Nevermind, landed a different hit at 26166 and it was 13. Edit 3: Brute force check every frame naively by delaying 1 frame then pressing "A"
Language: lua

memory.usememorydomain("System Bus") local frame_start = emu.framecount() local state = {"Checklag","Wait","Reload","Fix","Done"} function waitframe(frame) while (frame >= 0) do emu.frameadvance() frame = frame-1 end end --[[ algorthim for checking rng start before land hits 1. save state at enemy select 2. press "A" not on lag frame 3. wait 200 frames and see if crit 4. reload save 5. advance frame 6. repeat ]]-- --0BCA local damage_dealt = 0 --needs to be outside loop so it won't get reset while true do local frame_now = emu.framecount() local frame_dif = 0 --difference between this frame and start frame local statenow = state[1] savestate.saveslot(1) while statenow == state[1] do frame_now = emu.framecount() --C3A1 at 37 == cursor gone. 36 == cursor here savestate.saveslot(1) console.log("Reached 1 "..emu.framecount()) if memory.readbyte(0xC3A1) == 37 then --just in case statenow = state[2] break end if memory.readbyte(0xC3A1) == 36 then joypad.set({A = 1}) emu.frameadvance() statenow = state[2] break end emu.frameadvance() end while statenow == state[2] do console.log("Reached 2") waitframe(5) if memory.readbyte(0xC3A1) == 36 then --the enemy select cursor still exists, something went wrong with state1 statenow = state[4] break else waitframe(200)--200 if you want to crit, 400 for npc statenow = state[3] break end end while statenow == state[3] do console.log("Damage: "..memory.readbyte(0x0BCA,"WRAM").." prev "..damage_dealt) if damage_dealt == 0 then damage_dealt = memory.readbyte(0x0BCA,"WRAM") elseif damage_dealt == memory.readbyte(0x0BCA,"WRAM") then frame_dif = frame_dif + 1 savestate.loadslot(1) emu.frameadvance() statenow = state[1] break elseif damage_dealt ~= memory.readbyte(0x0BCA,"WRAM") then console.log("Done. Frame pressed at: "..frame_now.." Started at frame: "..frame_start) console.log("You waited "..frame_now-frame_start.." frames") client.pause() statenow = state[5] break else console.log("IDFK?") client.pause() statenow = state[5] break end end while statenow == state[4] do --something went wrong with state2, go try reload console.log("Reached 4") savestate.loadslot(1) emu.frameadvance() joypad.set({A = 1}) emu.frameadvance() statenow = state[2] break end while statenow == state[5] do emu.frameadvance() end emu.frameadvance() end
Edit: Made the script take account into damage and damage from previous delay, in case some other goal is in mind.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
In the latest interim build: 1. Open a game 2. Open a tasproj file using the "File>Movie>Recent" dialogue 3. Don't frame advance; it should be at frame 0/whatever 4. Open up TAStudios
See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box. ************** Exception Text ************** System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) at BizHawk.Client.EmuHawk.InputRoll.DoBackGroundCallback(PaintEventArgs e, List`1 visibleColumns) at BizHawk.Client.EmuHawk.InputRoll.DrawBg(PaintEventArgs e, List`1 visibleColumns) at BizHawk.Client.EmuHawk.InputRoll.OnPaint(PaintEventArgs e) at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer) at System.Windows.Forms.Control.WmPaint(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
http://i.imgur.com/7Blrfpu.png It then gives the errors shown. Also completely unrelated, but whenever I open TAStudios, my RAM watch window clears out. Can this please be changed so that it doesn't do that? Edit: Why were the buttons in TAStudio regarding the branches and markers removed? Similarly with the scrollbar.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
http://tasvideos.org/userfiles/info/36050262009454538 I believe I did it. This beats the boss in 5 turns, with both alive. However, attempting to optimize the input causes the last hit to land 13 rather than 28. I'm worried it may be some desync, given the RNG appears to be the same, so can you please check if this syncs for you? Edit: Delaying the last "A" press also changes the hit from 28 to 13 for some reason.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Hey, while messing around with Harry and Ron, I seemed to have accidentally skipped an enemy's turn. This happened at the first boss fight, where Ron went first, then I tried to flee with Harry. The game was paused a bit, so I pressed "A", and suddenly it was Ron's turn again. I think the first boss is much more approachable now, just let me try and see if I could make something work first. Edit: Nevermind; unfortunately, this does not advance the RNG, so it still won't work since I would only be able to use Ron, and he'll end up out of MP. I mean, of course unless using only Ron to cast Flipendo 17+ times while Harry skips the turn over and over ends up being faster. lol In other words, right now, if I get the knight to 2 more hits left, it appears I'm left with only Harry. Allowing Ron to live would work, but ends up using Flipendo since Harry has to keep skipping turns. Maybe advance the RNG with Flipendo? IDK. Edit 2: http://tasvideos.org/userfiles/info/35962672901060452 Quick input file where I used this trick + Flipendo to advance the RNG so Ron could crit the knight. It works, but I'm not sure if it would be faster than to heal.
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
ThunderAxe31 wrote:
ThunderAxe31 wrote:
I just discovered how to prevent the graphical glitch to "THE END" screen, tough the game will still freeze: instead of swapping Pokémon 7 with 8, swap 6 with 8. But as I said, this only corrects the graphical part of the problem; the game will still freeze and not save the progress.
I was wrong about this. What made it change was not the different Pokémon swap, but the different amount of time taken in order to close the menu. I'm doing some experiments, and looks like for every frame you close the menu later, a different script is triggered after the credits. I already got some very interesting results, like getting the game softresetted or getting teleported to a glitched location. This may even bring a way to mimic the correct credits end perfectly! Edit: this is the most interesting one I've encountered so far. It happens if you close the menu 3 frames later in FractalFusion's movie file: http://i.imgur.com/ggPIEMD.png Edit 2: it looks like the game executes the next commands found in the WRAM after finishing the credits.
Given that you cancelled it, I suppose this means you failed to find a way to make the post-game contents work properly?
Experienced Forum User, Published Author, Skilled player (1787)
Joined: 9/17/2009
Posts: 5014
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
fsvgm777 wrote:
There's no Dutch language option in the European version. The language options available are English, French (Français) and German (Deutsch).
Oh. Sorry about that. Thanks! Also will finish the rest of the submission text; was busy IRL.