Posts for Masterjun

Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Why do you have the Metal Force Dude as a face.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Quick solution for people that don't care why it works:
Language: lua

local function main() gui.text(10,10,"hi") end gui.register(main)
---------------- DeSmuME is interesting in that it constantly redraws the screen even when paused. I'm assuming your code looks like this:
Language: lua

while true do gui.text(10,10,"hi") emu.frameadvance() end
The point is that you are using the gui function once a frame, but the screen is redrawn multiple times per frame. The solution is to tell DeSmuME that you want to keep drawing when it draws the screen, with gui.register():
Language: lua

gui.register(function() gui.text(10,10,"hi") end)
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
I'm the one who suggested keeping my Pong and Snake run a secret, even from the TASVideos community. I personally still want to keep that element of surprise. In general the reaction and feedback from the crowd is really great, but I'm especially anticipating the reaction from people that actually know about TASing. They know what's possible, they know what's impressive. However, with the recent events, people from this site made less feedback on what they thought about the block, and more about how well it represented us as a site and TASing in general. These blocks are made for you, too, so please enjoy them as much as I do. I just can't think of completely spoiling the whole event for everyone here.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
z1mb0bw4y wrote:
If the fact that portal was up for consideration was mentioned literally anywhere in this thread (that I checked multiple times leading up to the event), I would have gotten in contact with you and written/practiced something. Instead the run commentary was essentially "here you fly across the room because cameras and portals".
Whaaat? Keeping things a secret? Why would we even do that? To surprise people with the fact that we run a PC TAS on an SNES? Who needs that element of surprise anyways right? And not being able to explain glitch-heavy TASes in realtime, which usually require several pages of submission text to get all the details in? Like that's easy and reasonable to do right?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Ah yes, those accidental leaks.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Post subject: Clearly SMW was missing.
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Guys this AGDQ TAS block was really bad because we didn't have SMW in it. I knew it all along! (No but seriously, good job presenting all this!)
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
LOL
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
That's a great explanation for the run with that submission text! Now I just need an explanation for the submission text.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Alright, I'm joining this contest, but I'm not alone! MMMM Masterjun, MediaMagnet, Micro500, Mothrayas. Now with hopefully better route planning! Logo by Mothrayas, totally inspired by first draft by me lol. Also loading animation... Also, edit: MUGG left the team, and micro500 joined the team.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Post subject: Explanation of the glitch
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Posting everything I have so far. After hours of reverse engineering literally everything that happens (juggling two emulators, a bunch of scripts, tons of logs, etc. you get the idea), I found out a lot of things that don't happen. Process of elimination then got me to a conclusion which was quickly confirmed by a conversation with link_7777 (thanks for that!). With that I then wrote a bot that would test a bunch of possible situations, but that was only possible thanks to the emu.totalexecutedcycles() implemented by adelikat (thanks for that!). Let's start with things we already got by simply trying: Changing button presses changes if the glitch works or not. So how does changing the button presses, !which, when processed, are not even read!, change the glitch results? Now let's start with the further explanations: The obvious thing that I already found out last time is how the whole process will jump to an address in the wrong bank. It will execute a bunch of bogus code and maybe land in the credits routine mode. Now the question is, what is the difference between a result of a simple crash and a credits jump? Logging both, comparing files, critical point at a certain JSR $3C37, which jumps into the mirrors of the PPU registers.
3C37:  00  BRK
<BRK>
3C39:  00  BRK
<BRK>
3C3B:  00  BRK
<BRK>
3C3D:  00  BRK
<BRK>
3C3F:
I stopped at $3C3F because that's where the code differs. $3C3F is a mirror of $2007 which is the PPUDATA register. The important part here is the fact that we're not in VBlank (the part of the frame where the scanline laser reverts back to the top left of the screen), and reading PPU registers when not in VBlank will give us strange values[1], values used by the PPU drawing pixels on the screen. What does this tell us? It means two things: 1. Changing the pixels on the screen could change the results of the glitch. 2. Changing the time at which $3C3F is executed could change the results of the glitch. And how do you change the timing? Exactly! Different button presses lead to different branch paths in the button processing code and thus lead to different timing. This also means that it's possible to exchange different buttons (assuming they both aren't accessed beyond the processig) and still get the credits! (Which is confirmed to work.) Most importantly though, which timing do we need now? The problem is that even small cycles amounts can and will change the outcome completely, so I wrote a bot that tries every single cycle (to like +300, because we won't be able to change it much more). The only cycles it found was the one we already got, and this one, which resets you to the start of the room. The one we already got requires so many buttons, and changing buttons before the frame with the mandatory Start barely changes the cycles, so it won't be possible to reduce that two frame input to a single one. At least not without changing the pixels on the screen, which is what I'm trying currently. [1] - You might have seen that $3C37 is also a mirror of $2007, but it seems like the first read of that register (including mirrors) in non-VBlank gives you a stable 00.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Alyosha wrote:
c64248952    A:7E X:FF Y:62 S:FC P:nvUBdizc    $3C78:A8        TAY
c64248954    A:7E X:FF Y:62 S:FC P:nvUBdizc    $3C7A:10 00     BPL $3C7C
c64248957    A:7E X:FF Y:62 S:FC P:nvUBdizc    $3C8C:87        UNDEFINED
c64248960    A:7E X:FF Y:62 S:FC P:nvUBdizc    $3C9E:23        UNDEFINED
c64248963    A:7E X:FF Y:62 S:FC P:nvUBdizc    $3CA0:A8        TAY
c64248970    A:7E X:FF Y:62 S:F9 P:nvUBdIzc       $0029:48        PHA
There are 2 TAY's here that aren't moving A to Y, a jump to $0029 that I can't tell where it's coming from, and execution jumping from 3C8C to 3C9E on the 87 instruciton (which is just supposed to AND X and A.)
This seems like the usual case of not logging what actually happens. This happens a lot with stuff I do and emulators I use so I'm kind of used to it really. For example, take a look at that first TAY. No matter how you turn it, it should be a 1-byte instruction. However the next instruction is 2 bytes further, clearly indicating that the instructions executed and the instructions logged are different. The location being executed seems to be the huge chunk of mirrors of the 8 bytes PPU registers. And reading PPU registers not meant to be read results in open bus behavior, which would explain the strange logging (and execution, for that matter).
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
I didn't know there was a Metal Force GBA version !?!?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
I'll just let you know that this run syncs on FCEUX 2.2.3 (currently the latest version).
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
The exotic Moth.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Post subject: oh no spoilers
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
dwangoAC wrote:
Fortunately, SMW is a very quick hop into complete control and it has the advantage of SMW which means we can easily show SMW. At one point, we'll allow Twitch Chat to SMW which could get kind of crazy.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Changed the version from Europe to USA, since that's the version you used. Anyone wants to make a reply or at least vote?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
ThunderAxe31 wrote:
FractalFusion wrote:
At the end of the credits in both TASes, the end screen glitches out and it is not possible to press a button to go back to the title screen. Is the game considered to have completed properly then?
Its not up to me to decide, but I think there are probably no problems, since the game ending cutscene and then the credits are correctly triggered.
I'd be careful with this. Simply calling a print_credits routine does not count as beating the game. For reference, see this submission. So I think a full technical explanation (such as in this post) is mandatory.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Hold on everyone. This discussion should not be about whether Discord or IRC is better. This discussion should be about why we, as a site, need a Discord server. Give reasons why the site should go through the trouble of setting up and managing a Discord server.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
Arcree2 wrote:
I don't understand why we still use a simple chat when tas need to send files, images and to talk with audio.
That's because the IRC channel not a place to do active TASing with your team. It's the chat for the site. If everyone were to use IRC for their TASing talks, then it would overflow really fast. Feel free to use a private Discord server with your TASing team.
Arcree2 wrote:
And a big problem with IRC: We can't see the past messages.
That's the big reason why I don't use Discord. Imagine over 100 people in a channel and you're away for like a week. There is no way you will read the backlog that contains silly talk 80% of the time anyways.
Masterjun wrote:
I see Discord as a place where all the twitch chatters meet to flood me with messages in seperate channels so I can't easily ignore it.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
No they actually just show 60fps and 30fps. That site is, in fact, exactly what it doesn't look like.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Post subject: Re: Be careful with 60 FPS on YouTube
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
feos wrote:
Masterjun wrote:
2: Drop frames to fit the timing of the game and audio, meaning it will drop one frame every ~10 seconds but doesn't change the audio or length of the movie:
Language: avisynth

ChangeFPS(60)
Will that be any better than what youtube will do?
What YouTube does without any FPS change (notice the drops at frame ~290). What YouTube does with AssumeFPS (notice how it's better, the length of the video is a tiny little bit longer and the pitch is slighly lower). What YouTube does with ChangeFPS (notice how it's better, also, frame 608 is missing). So yes, it's better than what YouTube does automatically, because it can't properly drop frames.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Masterjun
He/Him
Experienced Forum User, Published Author, Site Developer, Expert player (2100)
Joined: 10/12/2010
Posts: 1187
Location: Germany
So, uuuh, what was the point of those test links?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)