1 2 3
17 18
nesrocks
He/Him
Player (240)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
There's this powerpak thing with which you can run NES roms as if they were the real cartridge. Don't use commercial roms please. http://www.retrousb.com/product_info.php?products_id=34
Skilled player (1085)
Joined: 8/26/2006
Posts: 1139
Location: United Kingdom
This is absolutely incredible. Thanks for putting in the time to do this! Also, I agree with AnS, Gradius done like this would be insane.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
micro500 wrote:
Also, I've been featured on Hack a Day! http://hackaday.com/2011/02/11/nesbot-video-game-automation/
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: 7/2/2007
Posts: 3960
I'd say it's more that they're demonstrating their ignorance in what they say. They're only demonstrating their idiocy in their authoritative tone. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
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.
Post subject: Next step: SNES?
Joined: 3/3/2010
Posts: 87
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?
Joined: 10/20/2006
Posts: 1248
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
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
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.
Joined: 5/14/2007
Posts: 525
Location: Pisces-Cetus filament
micro500, you are the man!
Kuwaga wrote:
If somebody did this for, say, the Wii, would that be the end of SDA? xD
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!
Experienced player (527)
Joined: 11/14/2004
Posts: 169
Location: Mirabel, Québec, Canada
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).
micro500 wrote:
Well, I did try Super Mario Bros 3. I discovered the console polls the controller twice a frame in that game, so I first had to adjust for that. I still had bad luck trying to get it to run. Sometimes it wouldn't even make it into the first level, sometimes it would make it halfway through the first level, and sometimes it failed somewhere in between. I'm not entirely sure what the problem is, I may give it a try again soon.
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.
micro500 wrote:
I tried a few other games like Marble Madness, and didn't have too much luck with them either. Are there other games that are as well emulated or lacking a RNG like Super Mario Bros that I might have better luck with? I only went with SMB because people were talking about it being the most likely candidate for this to work.
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 ...
Joined: 12/28/2008
Posts: 12
Simply put, as adelikat said, holy crap!
Joined: 10/20/2006
Posts: 1248
Zeupar wrote:
micro500, you are the man!
Kuwaga wrote:
If somebody did this for, say, the Wii, would that be the end of SDA? xD
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?
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.
Skilled player (1633)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
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.
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.
Expert player (2448)
Joined: 12/23/2007
Posts: 822
Oh, I saw my SMB TAS on console, didn't I? :)
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
Editor, Player (68)
Joined: 1/18/2008
Posts: 663
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...)
true on twitch - lsnes windows builds 20230425 - the date this site is buried
Skilled player (1305)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
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!
Ambassador, Experienced player (695)
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.
Emulator Coder, Player (68)
Joined: 10/4/2005
Posts: 197
evknucklehead wrote:
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.
MESHUGGAH
Other
Skilled player (1884)
Joined: 11/14/2009
Posts: 1349
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
Oh my god, very well done, that's truly amazing! Keep up the good work, also I recommend a special star before your name.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
adelikat
He/Him
Emulator Coder, Expert player, Site Developer, Site Owner (3581)
Joined: 11/3/2004
Posts: 4736
Location: Tennessee
DarkKobold had this idea. What about an icon next to movies that show they are "machine verified"?
It's hard to look this good. My TAS projects
Joined: 5/14/2007
Posts: 525
Location: Pisces-Cetus filament
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!
Joined: 7/2/2007
Posts: 3960
Amusing, but we should probably hold off until there's more than one game that would get the mark.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
AnS
Emulator Coder, Experienced player (723)
Joined: 2/23/2006
Posts: 682
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.
Hoe
Joined: 7/31/2004
Posts: 183
Location: USA
Welcome to the slashdot front page, congrats
1 2 3
17 18