And again ignorant people can't help but to show their idiocy publicly in the comments:
"That’s neat, but it totally doesn’t count as playing it through on an NES in 5 minutes. Look at 3:54–my NES doesn’t let me wall-jump like that! Or look at 5:10!"
I would like to know how this person explains how the device forces the game to do things that the "NES doesn't let" a normal player do, using the controller only.
Joined: 4/17/2010
Posts: 11478
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
That was just the post from the man that DOESN'T know the game.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Huh?
I really think this thread deserves more attention.
I totally didn't check it because its name doesn't indicate that somebody has actually managed to get a TAS running on real hardware at all, and I haven't read the front page in a while. This is amazing!
If somebody did this for, say, the Wii, would that be the end of SDA? xD
Joined: 4/17/2010
Posts: 11478
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Kuwaga
PS3 will stay their last chance lol
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
micro500, you are the man!
Why do you think that the Wii is more important for SDA than the NES? I don't get that "xD" at the end of your line, either. Do you have something against SDA?
AzumaK wrote: I swear my 1 year old daughter's favorite TASVideo is your R4MI run :3
xxNKxx wrote: ok thanks handsome feos :D
Help improving TASVideos!
I do like the idea of having a separate console encode for each of the runs that syncs, for showing they really work (SMB1 is a good start!), having 100% accurate video/sound + blurred pixels and NTSC effect, and looking the same as speedruns (but the new possibility of passing a TAS as a console speedrun is another story).
The NES has a little known bug with PCM that causes random Right button presses, so any game that uses PCM (like SMB3) needs to poll input multiple times (usually 2, but sometimes more) until the values match, to make sure it's getting the right input. Only Nestopia 1.40 and Nintendulator (0.975, but not 0.965) emulate this bug at all if even properly, and FCEUX 2.1.5 doesn't, so any game that uses PCM isn't likely to sync.
Any that fits the following conditions:
- No PCM (see above)
- No lag during gameplay (where exactly NMI interrupts game code, and how often, depends on precise timing), although it might work if input polling isn't affected
- No use of uninitialized variables unless it doesn't affect gameplay, but some games init the RAM on startup
- Dragon Warrior 1 is a definite no, pausing on the world map runs a short randomize/input loop (until unpause) that needs perfect timing for luck manipulation to sync
Some games with luck manipulation might still work, I'd say Tetris has pretty good odds ...
The xD means I'm basically kidding. It's an emoticon with South Park eyes and the x is lowercase to signify that I'm not strongly "XD"ing on this. There used to be a bit of rivalry between SDA and the TASing scene back in the day and I was sort of alluding to that. Their DK64 run by Manocheese was my favourite speed run of the past year, TAS and non-TAS combined.
The NES has a little known bug with PCM that causes random Right button presses, so any game that uses PCM (like SMB3) needs to poll input multiple times (usually 2, but sometimes more) until the values match, to make sure it's getting the right input. Only Nestopia 1.40 and Nintendulator (0.975, but not 0.965) emulate this bug at all if even properly, and FCEUX 2.1.5 doesn't, so any game that uses PCM isn't likely to sync.
Two NES joysticks are accessed via locations $4016 and $4017 accordingly. To reset joysticks, write first $01 then $00 into $4016. This will generate a strobe in the joysticks' circuitry. Then read either from $4016 (joystick #0) or from $4017 (joystick #1). Each consequent read will return the status of a single button in the 0th bit (1 if pressed, 0 otherwise):
Read # | 1 2 3 4 5 6 7 8
-------+---------------------------------------------------------
Button | A B SELECT START UP DOWN LEFT RIGHT
1st bit indicates whether joystick is connected to the port or not. It is set to 0 if a joystick is connected, 1 otherwise. 6th and 7th bits of $4016/$4017 also seem to have some significance. The rest of bits appear to return zeroes. Some games expect to get exactly $41 from $4016/$4017 if a button is pressed.
From this spec, it seems like, if this is hardcoded into the game, it should be easy to pull out of the movie playing...
excuse the pseudo-lua code.
Download GetFrameData.lua
Language: lua
joypad_info = {};
function dumpcontroller( )
if memory.readbyte(0x4016) == 1 then
--Write joypad_info to movie file
end;
end;
memory.registerwrite(0x4016, dumpcontroller);
while true do
emu.frameadvance();
joypad.get(1,joypad_info);
end;
Something like that should spit out the joystick info repeated times, for each time it is read in a frame. [/code]
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
DarkKobold, can a watch be registered and will it actually execute as many times as necessary, sub-frame? If so, yay - this could solve some problems and get more games runnable.
(I kinda wish I finished my PIC-based playback device...)
I just saw this today, and I am very impressed that this is now possible. Not only does it show that tool-assisted speedruns dont use cheats, but it might also help improve overall emulation of systems. Im now looking foward to seeing other games being run by this type of bot. Maybe even different consoles all together!
Joined: 7/17/2004
Posts: 985
Location: The FLOATING CASTLE
This is pretty badass.
My game suggestions:
Any of the Ninja Gaiden games - They have no lag
Final Fantasy - But all of my runs use power cycle for luck manipulation so you'd have to segment.
So, what are the chances of extending this to the SNES? For that matter, what SNES games would be most likely to work with such a project?
It should be pretty easy to expand this to the SNES, I just need another shift register and a little time. Unfortunately I don't have another shift register handy, but I will make it a point to buy one soon and get to work on that. And that's a good question, what games would work well on the SNES? I only currently own LoZ ALttP, but I'd be willing to expand my collection to try them out.
Mentioning games, heres the list of NES games I own. Let me know which are more likely to work with this robot.
Super Mario Bros (obviously), Super Mario Bros 2, Super Mario Bros 3, Super Mario Bros/Duck Hunt/World Class Track Meet 3-in-one cartridge, Home Alone 2, Treasure Master, LoZ, LoZ II, Star Trek, Marble Madness, and Adventures of Lolo.
Derakon, you said Adventures of Lolo might work. I'll give that a shot. I also bought a copy of Gradius to try it out by popular demand. Tetris and Excitebike also sound promising, so I may buy copies of those soon too.
TheAxeMan wrote:
My game suggestions:
Any of the Ninja Gaiden games - They have no lag
Final Fantasy - But all of my runs use power cycle for luck manipulation so you'd have to segment.
I can also try giving those a shot. I am of course not made of money though, but donations for games are welcome! :P
Acmlm wrote:
The NES has a little known bug with PCM that causes random Right button presses, so any game that uses PCM (like SMB3) needs to poll input multiple times (usually 2, but sometimes more) until the values match, to make sure it's getting the right input. Only Nestopia 1.40 and Nintendulator (0.975, but not 0.965) emulate this bug at all if even properly, and FCEUX 2.1.5 doesn't, so any game that uses PCM isn't likely to sync.
That matches up with what I saw on my scope when I was testing out my project. Sometimes it would poll 2-3 times, sometimes only once. I adjusted for it by holding the input for 2 polls, which worked for a while, until I'm guessing it polled 3 times, screwing up my timing completely. I'll take another look into it and see if I can have any more luck with it. I would absolutely love to get the original SMB3 video to run on the actual console, if thats at all possible, just to see this hobby go full circle.
DarkKobold: Thanks for that code sample! My lua code is a mess, and your method makes more sense anyway. I'll probably do a re-write of it, especially if I'm going to try and get games working that poll more than once a frame.
Another project idea I have is to be able to record button presses that the user inputs on the actual controller, and play them back at least on the console, but maybe in an emulator too. That's still in the beginning planning stages right now, but I'll keep you guys posted.
And thanks for all the support! I'm really glad you all like the project! I'm wondering if I managed to get this board cleaned up a bit, would anyone be interested in buying a copy? It would still be fairly DIY to get it working, but you would have all that you need to make it work.
I like that idea. The icon could be a silver tick (✓) resembling a "V" of "Verified".
AzumaK wrote: I swear my 1 year old daughter's favorite TASVideo is your R4MI run :3
xxNKxx wrote: ok thanks handsome feos :D
Help improving TASVideos!
I agree with Derakon, it's too early for such category. If less than 1% of movies are "verified" it would only undermine credibility of whole collection.