Posts for Alyosha
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
natt wrote:
I've played around a bit with the sound emulation. Does it sound any better now (on an interim build)?
That is a definite improvement, great work natt! The mice in Advanced D&D now sound much better, and the exploding tanks in Armor Battle sound much better too. Enterring a dungeon in Advanced D&D still sounds a bit too high pitched for some reason, but it is better.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
^ Just tried and I didn't get an error, I'll need more details on how to reproduce this.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
TheWinslinator wrote:
Hey, I was trying to record an AVI of some of my intellivision TASing work thus far now that Bizhawk 1.12.1 has been released. Only one problem, the AVI files all play back in that squished 176x208 frame. Do you know what settings I would need to apply in order to get the normal 277x208 frame? Thanks!
File -> Configure and record AVI -> check 'resize video' and input the video size you want. There you go!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Another TAS milestone reached, congrats on finishing this!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
cool stuiff! Reminds me of the SNES-Tap thing from a little while ago, really inventive!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
What is the ACE set up for Battletoads? I was only aware of the game end glitch of loading incorrect objects. And yeah as True says DPCM will not always lead to ACE. Some games don't even use the vulnerable read routine (i.e. Ninja Gaiden) and those that do it is only happenstance of coding that would lead to ACE, it's more likely you'd just get a crash due to the stack corruption.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I get a lot of enjoyment from tech demos, so for me this is just another example of why we really need a demo tier. As long as it takes an existing game and dooes nothing but provide inputs through the console, for me that's close enough to TAS to warrant a place on the site. For me the biggest issue then is that it wouldn't be a console demo, but an emulator demo (still a really cool one) and at least for me that makes a lot of difference.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Beefster wrote:
Oh... That's good to know. Sorta leaves me with less of a project though. Or I guess it just calls for a change of direction. I still wonder what kinds of other patterns can be gleaned from throwing data science at the system RAM. It might turn out to be fruitful for something unexpected.
There are a few things I can think of where having an automated appraoch with data science concepts could help out in analzying RAM. Here are couple I thought of ordered in what difficulty I expect them to be. Easy: tracing RNG usage: as feos mentioned, finding RNG is not so difficult. Finding all the things it impacts though can be more time consuming. If you could automatically make some lists of what values RNG impacts (and even indirectly impacts) that might be really useful. Medium: Finding object tables: Usually enemy/sprite/player data used by a game is clumped into tables in RAM, if we could automatically get lists of object slots, hit boxes, attributes, and such that could save a lot of time. Hard: Improving Emulation: Currently one of the challenges in NES emulation is how initial console state impacts the game as it plays out. The dfferences are subtle and might only emerge after several minutes of playing, and might go undtected until something like a desync happens. This could really use some data sceincy type of stuff to find exactly where things go awry. Extra Hard: Stack Corruption: If you can heuristically analyze what actions effect the stack, you might be able to force situations where the stack becomes corrupted (overflow, underflow, gets overwritten etc) This would be like an automated form of glitch hunting which might be feasible using RAM. Might get some really cool results if it works.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I've looked over the sound generation code several times, and as far as I can tell samples are being generated correctly in the PSG. Jzintv and BizHawk seem to be doing a fair bit of post processing beyond this point though (I'm not really sure of the details) so it's possible the relative dullness of BizHawk is due to that. I won't be looking much more into it, if someone else wants to try I'll be happy to help though. @PikachuMan: I won't be doing intellivoice, mainly out of disinterest.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Here are the two runs, both the old one and the new one. They sync on the latest Dev build of BizHawk. Old: http://tasvideos.org/userfiles/info/37881733414401898 New: http://tasvideos.org/userfiles/info/37881743719985076 There are no differences in input or gameplay, the only change is in how lag is flagged between the two emulators. I'm at least somewhat hopeful/confident that these runs will sync. But I think this is also a very rare situation that won't really offer much insight into other games, but hey its better then nothing!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
For anyone who may be interested, I added support for the ColecoVision Super Action Controller in the latest Dev Build. The thumb wheel is broken though and I'm having a hard time finding enough info about it to make it work, but the rest of the controller works for anyone who wants to try it out.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
RobinKeatonTAS wrote:
Alyosha wrote:
RobinKeatonTAS wrote:
After testing these methods out I found out that I have no idea how the macro tool works, and couldn't find any info on it. And I don't know what tool to use to "paste in" the inputs. Help please?..
I don't know how the macro tool works either! 8D Did you find Input Log.txt? Extract it and post it somewhere and post a link here and I should be able to help out.
Yes I got the .txt and posted the inputs here http://pastebin.com/TuNeqCtm It's an input list for the jump rope minigame to earn Hee Beans in Mario & Luigi Superstar Saga (in case that was important to note) Thanks again for putting up with me uwu
http://pastebin.com/pUMaiCRi Here is the input log with all the buttons repeated. Each row like this: | 0, 0, 0, 100,...........| is 1 frame of input. You had ~3500 frames of input in your original file, now you have ~7000 in the new paste, just copying and pasting them all. Now copy that file and put it back in your .bk2 and ttry playing it, it should run twice as long and play through that mini game twice if it syncs up right.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
RobinKeatonTAS wrote:
After testing these methods out I found out that I have no idea how the macro tool works, and couldn't find any info on it. And I don't know what tool to use to "paste in" the inputs. Help please?..
I don't know how the macro tool works either! 8D Did you find Input Log.txt? Extract it and post it somewhere and post a link here and I should be able to help out. There is also IRC if you want to use it, someone there migt be able to help walk you through the steps real time: #tasvideos at irc.freenode.net
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
feos wrote:
Alyosha wrote:
I am having this same issue with the dev builds. When I try to run BizHawk, nothing happens. But, if I run DiscoHawk, exit it, and then open BizHawk it runs just fine. I don't know what magic is happening to make this work, but hope it helps in debugging.
Please let zeromus teamview you! This sounds really weird. Both bizhawk and tastudio start up perfectly for me with the appveyor dev build and local release build.
Done and zeromus fixed it! Hurray!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Hmm, nope there doesn't seem to be any nearby poll. Back to the drawing board I guess. True, are you still able to try this on console and record the results? I tried many combinations of starting states and NMI hits but they all sync. Maybe if I can see exactly what's happening on screen I can try t orecreate it. EDIT: Actually, I see where it would desync in level 6 due to windowing input latches exactly where True describes in the console verification tests page. I don't see where it would desync in level 9, though as described in the most recent published movie's submission page. Both movies encounter a similar problem in area 6. What happens is an input is latched right before NMI. Only a couple of the subsequent 8 polls are done before the NMI, with the rest of the them done only after about 2200 cycles. I'm not sure how exactly the bot behaves in this situation though, but it's my best guess. EDIT2: I also notice that FCEUX has different lag frames in those two movies in the respective areas where Trus said they desynced, so that might be the cause as well, maybe it will work dumping it from BizHawk? (Maybe I should have checked that first.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I am having this same issue with the dev builds. When I try to run BizHawk, nothing happens. But, if I run DiscoHawk, exit it, and then open BizHawk it runs just fine. I don't know what magic is happening to make this work, but hope it helps in debugging.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I'm not sure there is a formal way to do this in the emulator, replaying the movie is not meant to repeat your actions, it's meant to start back at the save state so you can change them, but there is a way to copy your inputs repeatedly. After you save your movie, you'll have a .bk2 file. Open this file with something like 7-zip. Inside you will see a file called Input Log.txt This file contains all of your button presses in the movie, one line per frame. It sounds like what you want to do is just repeat these inputs multiple times. So just open Input Log.txt in notepad and copy paste all the inputs as many times as you would like. As long as these exact same inputs repeat what you want in the exact same way (no RNG in game etc) then this procedure should work.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Brief update here. It seems like I'm running into a wall again. I tested Bionic Commando as True reports that desyncs on console, but it syncs just fine in BizHawk. Looking at the trace logger it seems like there are 2 possibilities. 1. Emulation is wrong. It desyncs at a lag frame where only one or two extra instructions could change the outcome, but so far I haven't found a way to change this result. 2. The bot isn't picking up an input poll. On this particular frame input is polled at the very end of the frame, only two dozen insturctions from vblank, maybe this is throwing something off in the replay?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Was able to watch the segment live, overall I think it went very well. Choosing a general approach to commentary on MK64 worked out great I think. It was noticable how comfortable you were talking about tasing in general rather then trying to point out everything happening in the run, a lot of it was pretty obvious just from watching anyway. SM64 commentary though was not so good in my opinion. That one definitely could have used 5 minutes before the run started to explain some details and some history of how significant the moat door skip is. Overall I liked the segment, and I'm still amazed these runs work on a real N64, it's just plain impressive to watch.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Cool! Will there be a youtube video or something similar compilation of the complete run? Not sure what's been done on Meat Boy but I'll be interested to see the results.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Pretty impressive you mananged to improve this. Nice Work!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
feos wrote:
Where's the test ROM?
https://github.com/nwidger/nintengo/blob/master/samples/other/read2004.nes here it is. So far this is the best test I've seen in characterizing NES power up, so it's pretty neat. (However, if you happen to have a very old nes it will just give garbage since $2004 is not readable.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I gave an initial attempt at looking into this, it's certainly more complicated then I initially thought. So far what I have is 2 savestates on the same frame in slightly different position (0x05B0). One savstate leads to a fuel drop if you go forward, the other doesn't. So far I haven't found any other variable that relates to this drop. I also have a savestate a little further back, and it seems the order in which you kill enemies also plays some role. Looks like a more complete RAM map of this game will be needed to sort this out. I'll have some more time later in the week to dive into it a little deeper.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Warepire wrote:
This is crazy, I am deeply impressed by your progress here. Well done.
Thanks! But so far pretty much all of this is stuff that is already known. Putting it all together into something complete and internally consistent is the challenge now. Thanks to True's console testing I've got a lot of new data to work with. Battletoads one player warpless made it furtehr then ever, but only once, so that needs investigating. A new sync record for Streemerz was also set, but it desycned at a room with tons of clowns running around, and in several different ways at that, so lot's to look at there. Perhaps the most important results were from the read2004 test rom. As suspected 4 seems to be a typical alignment at power on, so that is good to know, 7 is as well. Unexpectedly, values rangnig from 0-12 of initial 'FF' were observed that needs to be studied. Overall I think I need to pick an easier game then the hard core demanding Streemerz and Battletoads, so the hunt is on for that. Unpredicatability of NES power on makes sensitive games difficult to test and identify problems.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I've made some progress lately in analyzing why and how games sync. I improved NMI behaviour in the emulator and now have managed to see a behaviour that has never occured before in emulator but happened about 50% of the time in True's console testing. Unfortunately, in doing so I lost sync in Battletoads 2p warps, which did sync on console , so must in some way have represented a valid console state. The complicating factor here is that ppu/cpu alignment allows for some pretty diificult to capture changes in emulation (without emulating at another level lower accuracy.) So the current build must be emulating a different alignment then the release nuild. Also, NMI timings are not thoroughly tested by test roms. But if this streemerz run in my test build syncs it should mean its close.