Posts for fmp


fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
So I had a quick look at the TAS and tried to copy it so I could debug it and see what's going on. The computer translation of the linked explanation is poor, but it sounds pretty much like what I found myself, although, I think I can add a little more detail, and in non-computer English. $09FB is the max menu position. When you go to equip an item, I guess the game just assumes someone must be in your party, so it doesn't do any bounds checking. But because everyone is dead, your max selection is 0xFF. This is what allows you to scroll down really far. Scrolling down this far indexes you 118*2, or 0xEC bytes from address $0694, bringing you to $0780. A critical component in this glitch is that the 16-bit value at $0780 should be 0x0160 (i.e. you should have 1 of item 60, the headgear). I screwed up while following along with your TAS and somehow had 0 headgear in that slot, resulting in a crash. This value here is what gets stored to the character index at $0715. 0x160 corresponds to... well... no one. Each character is allotted 0x60 bytes. MC's index is 0x0000; Heroine's 0x0060; Law Hero 0x00C0; Chaos Hero 0x120. That means when we use this index, our base address is actually the Chaos Hero's luck bonus. Although, that luck bonus isn't what matters. What really matters is the last thing the Chaos Hero did, which was use the hikoubari. This set his action ($1058) to 0xD3, the item's ID. The next address ($1058) appears to hold the offset into the inventory of the item that was used. In my case, it was in slot 3, so I had 0x06. Your TAS had it in slot 2, so it had 0x04. Both of these values work. What happens next is that as you enter the equipment menu, the selected character's stats get drawn. This is currently garbage. When it goes to draw the luck stat, it reads out a really big number. Rather than argue with you about your supposed luck bonus of 1235, the game just agrees and tries to draw that many filled in green boxes. Therein lies the problem. The buffer used to draw these characters is only about 500 bytes long. The number of bytes used by your incredible luck is equal the actual value of your luck stat (each tile shows 2 points, but each tile also requires 2 bytes, so they cancel out). This means the buffer overflows really far and ends up writing the value 0x14C1 all over the place. It extends into your money, magnetite, and even your names at $0400 through $04FF. And later on, it messes with my underworld coordinates ($070C) and game progress flags ($07C0 through $07DF). Your TAS doesn't write that far, and I think that's important. Unfortunately, that's the limit of my current knowledge gained from disassembling this game. From some quick testing, the critical address to all of this is $0404, which is what causes the background scene to change, and probably other stuff.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
This is really cool. I've still not found the time or motivation to understand the glitch, but my original offer to you still stands. I've actually been making a lot of headway with my disassembly of this game recently and probably understand the text engine enough to get some precise details on what's happening, if it's desired.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
That’s just part of me following the RTA item route. The original plan was to use this to pull data from for RTA practice, so I wanted to do everything an RTA runner would do. In this case, every RTA runner would bomb jump. I would hover moldorm 2 though, since that doesn’t change the items.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Hello, it is me, literally the entire SNES SMT hacking community. Here's the RNG routine from my disassembly:
GetRandomInt:
#_009643: PHP
#_009644: SEP #$20
#_009646: CLC
#_009647: LDA.w $0ED7
#_00964A: AND.b #$03
#_00964C: BEQ .zero

#_00964E: CMP.b #$03
#_009650: BNE .not3

.zero
#_009652: SEC

.not3
#_009653: ROL.w $0ED9
#_009656: ROL.w $0ED7

#_009659: LDA.w $0ED7
#_00965C: ADC.b #$22
#_00965E: ADC.w $0ED9

#_009661: EOR.b #$5A
#_009663: ADC.w $0ED8
#_009666: STA.w $0ED8

#_009669: EOR.w $0ED5
#_00966C: STA.w $0ED5

#_00966F: PLP
#_009670: RTL
The RNG routine can be called multiple times when asking for a random encounter. There's a frame counter at $7E:0451 that is incremented at the end of the NMI routine every frame it is called. Its only use appears to be this here:
#_01B17F: LDA.w $0451
#_01B182: AND.b #$03
#_01B184: TAX

.branch01B185
#_01B185: JSL GetRandomInt
#_01B189: DEX
#_01B18A: BNE .branch01B185
That code takes the frame counter and gets the remainder mod 4. Then calls the RNG routine that many times. RNG seems to always initialize to 0xFF for $0ED5 and 0x00 for the other values. I count 69 distinct calls of the RNG routine, though some appear to be part of unused routines. I planned to look into this glitched route both RTA and TAS eventually, but I'm currently busy with other projects. If you think you'd like more info from my disassembly, I'd be happy to look and figure out what I can.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
No one feels like making it. I was working on this TAS, that was not only following NMG rules, but the actual NMG RTA route. I'm at mimics in Palace of Darkness, but I just don't feel like continuing.
Post subject: people often stay quiet when they agree, so I'm saying this
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
This was a very good decision, and I think it's great that the outcome was reached with maturity. If I were in the same situation as Nitrofski (only 1 TAS and equal contribution), I would feel very shitty about not sharing the win. Even if I got 100 votes and my co-author 0, I know I would want to share it. I'm not Nitrofski, so I can't say if he felt bad or just found the situation awkward, or something else; but I will say his response to the initial outcome displays commendable sportsmanship. Tangent: I would have asked to share this year's SNES TASer nomination if I thought there was any chance of winning. Yuzuhara, total, and myself only had 1 TAS in 2019, a shared effort by all of us. But, I don't consider the ACE TAS that interesting (I doubt Yuzu and total found it that interesting either), and I knew the other nominations would definitely beat us out by a lot. Though, personally, I expected a Metroid win here. I even contemplated posting a request that my name be removed, but I didn't want to make a big deal out of something so meaningless. I decided the best course of action was to just lose naturally and quietly, and that was correct. The only reason I'm posting about it now is because I ramble sometimes and it's somewhat relevant to the topic. If you read this entire thing, please unread it, because it was pointless to read. In the future, it might be a good idea to allow any nominee (or nominator) to suggest a shared ballot before voting even begins, something along the lines of "Well, my only eligible TAS here was co-authored by xxx, so I would like them to share the nomination with me." That makes sense to me, seeing how the movie category wins are shared by every listed author. In this sort of situation, silence implies consent, but that's all the more reason to voice support for the decision. Congratulations to this year's winners.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Vykan12 wrote:
I was laughing so hard at certain portions during the run that it felt like some kind of videogame based standup comedy :') I mean, an ostrich bulldozing its way through a wall? Lmao. Easy yes vote.
Leave Expresso out of this.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
The only reason for removing these images is avatar size right? Why not go for a CSS solution?
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
There's a lot of debate about acm, but I believe he would fall under "human", for most cases.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Is there a reason you didn't use the graph variable key (X,T,Θ,n) for the most common variable? It will produce X in one less keystroke than ALPHA+STO. I must say I'm impressed with this line: DelVar F1→S. Taking into account the weird quirk that DelVar doesn't require a delimiter or line break after its argument is nifty.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Ya that’s sort of the problem. When you have users like those who frequently show up in threaded gruefood all over the place, people aren’t really inclined to join your community. Or when you have jerks who post shitty, unfunny, and counterproductive memes on serious topics like meshuggah. It’s what happens when you don’t put community first. I’d rather be part of a nicer community, even if I’m not the nicest person myself. I haven’t interacted directly with him at all, but I already know enough from reading old threads that I’m glad I haven’t. And honestly, my desire to contribute more to this site was already low after the hundo TAS. With the way I’m seeing this community handle this (especially the administration), my desire to contribute is at 0. This site is definitely losing users and potential users, and it’s easy to pinpoint why. For people with such high standards for video games, you all have really low standards for behavior.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Can everyone reread what is literally the first paragraph of this thread?
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
None of those comments surprise me. There’s a number of reasons I stopped using reddit forever ago, and the cesspool of useless and aggressive comments was one of them. I’ve never used YouTube for comments (except that one time to you dwango). I didn’t catch TASBlock this year, but I know you and others work hard on it. I can’t tell you to ignore the brash negativity because that’s easier said than done, but what I can tell you to do is just continue doing what you do because there are more people who appreciate your contributions than there are those who want nothing but to comment pure bile.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Aran Jaeger wrote:
fmp wrote:
You're completely ignoring the fact that one of the users in question is regularly aggressive, abrasive, and toxic, and that this incident is such an inappropriate use of his position that it can't be considered in isolation.
And fmp, you may not have noticed, but the thread's topic (now after the split) is (in my view) different and separate from what you are talking about in this quote, rendering your response as offtopic (with respect to this specific thread), and if you want to talk about this other aspect, find a better suited place to do so, I guess. And I wouldn't find it unlikely that you haven't read up on the news much within this thread either, alongside Angerfist, so I suggest to please do that in this case, if you want to help the situation here with further posts rather than harm it.
I am talking about Spike’s admitted attempt to sabotage the viewership of the SMB TAS (whether successful or not). As such it is completely on topic. His general behavior is relevant to this thread because his gross toxicity in the SMB thread goes hand-in-hand with his motive to flood the TVC YouTube with reencodes. As I said previously: you cannot treat this as an isolated incident. Publishers already seem to be fine with their new rules on content density, but that doesn’t change the fact that this incident was an act of abuse. That this relates so strongly to the other thread is just evidence that there’s a serious problem.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
You're completely ignoring the fact that one of the users in question is regularly aggressive, abrasive, and toxic, and that this incident is such an inappropriate use of his position that it can't be considered in isolation.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
AngerFist wrote:
In my opinion, an apology is not enough. He should be stripped from his duties. I believe in second chances and therefore can remain a regular user. Nach, there really is no need to degree this issue as you put it "any meaningful way". It was done, period. Whether it was done six months ago or yesterday, it really does not matter. What matter is he is still in charge of publishing as far as I am concerned. Any sane site leader, senior admin or whatever high rank you have, would distance themselves from this situation or suffer the consequences, in form of tarnished reputation. It's just a complete waste of time bickering to what degree he did it, saying this isn't the proper topic to talk about it. All this is just bullshit and sweeping it under the rug. We go into endless loop of discussion, explaining and questioning so many things that in the end, we forget what we were arguing about. An apology is not enough, nor am I asking he should be crucified. Lastly, given the toxic environment we live in, ask yourself when was the last time someone you talked with said something like: "Yeah, you know what? You are right". The point of the matter is, we are hellbent on standing firm with our principals and views that we won't accept new point of views, reconsider what has actually happened or taking a step back.
I agree with so much of this. Most importantly "an apology is not enough." A lot of the responses we've been receiving here have been incredibly lackluster and unbecoming of an administrative team.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Why should he retain the ability to do it again?
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
I won't make any accusations, but the person behind this clearly thinks simply changing names is enough to mask their identity, but the common syntax and grammar patterns you find in all these comments make a pretty damning piece of evidence. This person is also really bad at deflecting arguments and trying all too often to toss out red herrings. Regardless of who did what, it sure is time for you all to talk about Spikestuff. Memory posted an apology above, but that doesn't really cut it. Tolerating toxic behavior just because a person does a lot of good work reflects poorly on any community. When a guy says he hates everyone in his signature, there's clearly a problem. If it's a joke, it's not a funny one. It's just disrespectful. Maybe you can take it from an asshole (me) that putting community before project is always better. Better community leads to bigger community leads to better project. I'd also like to take a moment to commend HappyLee both for changing his signature and opting out of this conversation that he's strongly invested in.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Dwedit wrote:
Any way to get a non-glitched ending?
Well, it’s ACE, so yes, but I don’t see the point.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
HappyLee, if your goal is to alienate yourself and become a social pariah by way of petty diatribe and bombastic flamebaiting, then bravo; you are on well on your way to success. If that's not your motive, then you need to just stop. You are driving a wedge between yourself and this community, and you're doing it with an aggressive force that could kill an elephant. What happened here was one extremely good TAS of one of the most popular NES games lost to another extremely good TAS of another one of the most popular NES games, and it was neck and neck the whole time. I can tell you from an outsider's perspective that everything you seem to think happened in the process of your submission is wrong. Most of the "hate" (as you put it) happened because of you lambasting anyone who didn't fully agree that your warpless TAS was a gift from the gods. It seems you grow more bitter by the day, as if the site is slowly plotting to erase your contributions from existence. I used to feel empathy for you. But the more I look at this, the more I can't. You clearly can't let go of your confused version of the past. And I guess this should have been evident to me from your pathetic signature. I wanted to make sure my posts at TASVideos all remained polite, contrary to my usual demeanor, but I just can't anymore. Your childish behavior has driven me to a breaking point where I just have to say something. But really, this is all just for my sanity. You won't listen to me. Or anyone. You'll continue to bitch and moan until you get your way, which will be never. This portion of the thread is just going to be moved to threaded gruefood where you will take it as evidence of your paranoid theories about how much TASVideos hates you. To anyone reading this: Just don't respond to him, now or in the future. I know I won't be responding here any further. Just ignore him and let a moderator come and sweep up the mess. I may sound like a massive hypocrite here, but hopefully I can be the last of those hypocrites. Your petulance precedes you, HappyLee. At this point, the greatest upside to the warpless TAS being absolutely perfect is that we won't have to deal with your tantrums in any future submissions.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Hetfield90 wrote:
Also Yuzuhara_3 for ALttP(especially since fmp was already nominated and they both worked on the same movie).
If I’m being nominated, then honestly, Yuzuhara should share the same nomination. His contributions were by no means small. I’d say the final product was basically 50:50.
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
Got a crash using your settings, and I immediately noticed you using a different sound output method. I'm using DirectSound, and when I switch, it crashes with no other changes to my normal settings. Also managed to get a stack trace:
System.ArgumentException: The sum of offset and count is greater than the buffer length.
   at SlimDX.Utilities.CheckBounds(Int32 lowerBound, Int32 size, Int32 offset, Int32& count)
   at SlimDX.DirectSound.SoundBuffer.Write[T](T[] data, Int32 startIndex, Int32 count, Int32 bufferOffset, LockFlags flags)
   at BizHawk.Client.EmuHawk.DirectSoundSoundOutput.WriteSamples(Int16[] samples, Int32 sampleCount)
   at BizHawk.Client.EmuHawk.Sound.UpdateSound(Single atten)
   at BizHawk.Client.EmuHawk.MainForm.StepRunLoop_Core(Boolean force)
   at BizHawk.Client.EmuHawk.MainForm.ProgramRunLoop()
   at BizHawk.Client.EmuHawk.Program.SingleInstanceController.OnCreateMainForm()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
   at BizHawk.Client.EmuHawk.Program.SubMain(String[] args)
fmp
He/Him
Experienced Forum User, Published Author, Active player (273)
Joined: 9/1/2018
Posts: 82
🤷 Not able to reproduce a crash at this time. Even if I change to a different display method or change the Lua core to +Interface (which displays things wrong for whatever reason). I can't find anything about super specific encoding settings for the SNES, but I can look at your config file and see what differs from mine for some possible causes.