Posts for dwangoAC


Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Patashu wrote:
Watched this after being referred from AGDQ2014 Tasbot block 2. It would be interesting to go for an 'entertainment' obsoletion of this run.
Thanks for being such an awesome supporter of my efforts! I would think the best thing to do is have a separate playaround with the freeform music maker mode and publish separately. This run is currently in moons which may make a playaround branch a bit more complicated to judge but I think it would be a better choice. I still invite someone else to come along and use the framework I created in the movie input itself to create different music; if that effort completed the game and was deemed more entertaining I'd definitely be in favor of obsoleting my run. Just my thoughts. Thanks again for your interest, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Re: Inception: the game in the game being TAS'ed is another TAS!
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Nach wrote:
Is that demo part of the payload or part of the input sent in the movie file? If the former, great. If the latter, then it should be as optimal or entertaining as possible.
If the judge demands it, I propose this movie as submitted be truncated to the frame that the payload completes, and a separate movie be submitted which completes the target game as fast as possible. There are two games here, so perhaps we would end up with three submissions in the queue. I would even be willing to create these two TAS's, but I feel that doing so would cheapen what Masterjun accomplished. I'll leave it up to the judge to decide. Thanks for your thoughts, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Inception: the game in the game being TAS'ed is another TAS!
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
This is a precedent-setting run in one very specific way - after the initial game has been TAS'ed and total control is initially established the payload (in this case, the target game) is programmed; as soon as *that* controller input is complete and the new payload starts executing, the controllers can be completely removed in a physical console verification scenario. This means that whatever follows would be a new game in its own right which could then be TAS'ed. Now, if someone figures out a way to perform controller input on the game within the game that causes arbitrary code to be executed, you could then create a new payload to create a game within a game within a game (in the same vein as Inception). For those concerned that the game-within-the-game (specifically Snake) was not TAS'ed optimally, please note that the primary purpose of this TAS was to demonstrate total control in front of a live audience during AGDQ 2014. During the development process we even talked about popping up an infobox along the lines of "Hi AGDQ 2014! We have total control of this console. Here is what we can do with it." The payload that Masterjun settled on was a good balance between providing a payload that was appropriate in length for the time we were alloted in our block as well as something that was clearly arbitrary code that crated a standalone game which could then be played. The payload Masterjun crated intentionally included an "insert coins" arcade game style demo of the gameplay, which is what people are arguing about here; most of those style demos of arcade games from the 80's demonstrated "suboptimal" play much the way this demo did, but when the user takes control themselves (which *can* be done immediately after the payload is fully executed; perhaps Masterjun can provide the exact frame number for this) the human player can play as optimally as they like, as TASEditor appears to have done. In my opinion, the payload for AGDQ was perfect - being able to have Tompa, who had no idea what was happening, compete against micro500 in Pong was absolutely amazing and added to the experience. Had the movie been designed with only a TASVideos submission in mind, I suspect Masterjun would have presented the payload differently. In conclusion, I feel that a TAS of the payload of a game-within-a-game is its own TAS and while the arguments put forth above have merit they should be argued within the context of what we now know is possible, not just for this run but for future runs with different payload. Thanks for reading this tome and I'd love to know what others think! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Knowing what this was ahead of time nearly killed me :)
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
So I knew about the contents of the run ahead of time based on testing runs on true's board. It was fun to see the first tests turn into what is in this final version. What was really awesome was hearing the audience's reaction behind us. I've obviously voted Yes. Masterjun, thank you very much for allowing me to be a part of this. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: TAS block hype - even more prizes for donating!
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Thanks to help from micro500 and Weatherton we now have a very full TAS block. To sweeten the raffle, in addition to a true's NES/SNES replay device and a completely pristine ROB the winner of the raffle for the TAS block donation prize will win micro500's N64 bot as well. Please donate during the TAS block to help us raise $10,000 during the block. Thanks again to everyone for the support and see you soon! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Patashu wrote:
Will there be voice acting for the NESBot now that he has a personifiable avatar?
Heh - I hadn't planned on it but we'll see who volunteers! :) A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: I present to you... ROBBerry Pi!
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
First off, I've been able to console verify A Boy and His Blob. I may try to console verify a few more games but more than likely that will happen at AGDQ. In other news, Up until now I've been struggling with the best way to present this "bot" - true was never picky on a name for his board and the entire process involves more than just the PCB. I was able to borrow a ROB and I've been cleaning him up over the past couple of days. I used Novus on the plastics to get him a lot shinier and after a bit of experimenting I've been able to get a good way to attach the PCB and the Pi to ROB. The result: ROBBerry Pi! I originally tried putting the Raspberry Pi up around his neck, but it didn't quite look right to me. I'm using zipties at the moment which don't look too bad but I might try to find a better solution. I admit that I really like the impression that this gives that ROB is playing the game in question. My next step is to hook up the GPIO pins on the Pi to the LED on the top of ROB's head to make it flash every time a button is pressed. This could be a bit more of a challenge than normal as from here on out I don't have home-field advantage; we're leaving to visit family for Christmas and won't be back home until after AGDQ, so I'll have to do the rest of this "in the field". Thanks again for everyone's support! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: N64 bot taken care of by micr0500, ROB Bot in the works
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
feos wrote:
How about SM64?
I'm working with micro500 to have him be present at AGDQ with his bot. I'm also bringing my own cartridges just in case. :) As a quick update, I do have a ROB I'm borrowing. I put some batteries in him and he moves up and down just fine, but he's very, very noisy; I don't think it'd be appropriate to make him move around, but I think I can get away with hijacking his LED and connecting it to the Pi GPIO pin, and I can also have him holding the board. I'm not yet sure about the name ROB Bot, though. :) Thoughts? Pictures to come, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: NBLUG presentation slides with links posted, updates
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
I have posted my slides with links from the presentation I gave at NBLUG. The presentation went somewhat rough in one sense - the projector I planned on using failed, I cut myself and was bleeding on everything without knowing it, I somehow ripped out the connectors on one of the SNES wiring harnesses I made, and halfway through the presentation I tripped over the power strip and unplugged everything which resulted in me performing an nmap scan to find the Pi's new IP address in the middle of the talk. For everything that went wrong, the demos went extremely smoothly. I was able to demonstrate Gradius, SMB1, SMB3, and SMW total control. I I regret using knock-off controller ends for the SNES wiring harnesses I built. The wires don't want to stay in and they are very flimsy, and the "core" I used to pull all of the wires through the heat shrink tubing is a bit too thick and inflexible. I may rip them apart and try again if I have time, but I might be able to make these work as-is. At this point I have reasonably reproducible results on the games we plan on demonstrating. I'll be repeatedly practicing setup and teardown to ensure everything is bulletproof, and I'll update here as the final set of games to be demonstrated solidifies. Thanks again for the support, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Presenting at NBLUG tonight
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Tonight at 7:30 PST I will be presenting at the North Bay Linux User's Group, which meets at the O'Reilly Campus in Sebastopol, CA. I'll be talking about the Tool-Assisted Speedrun community, Raspberry Pi serial scripting, PCB design using Eagle in Linux, PIC microcontrollers, and how a TAS can be an artform. It'll be a good opportunity to test setting up the bot to see how quickly I can get it working and how smooth the transitions will be. I plan on practicing the setup and transition repeatedly so the TAS block at the marathon goes smoothly. Thanks again to everyone who has contributed so far - this would not be possible without the help of a large number of people. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Total control success! Thanks true, Ilari, and Masterjun
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
With a lot of help from true on the hardware front, help from Ilari on the lsnes front, and Masterjun on the glitched run front, I was finally able to get the SNES total control run to sync on my hardware. It turns out that true did all of his recent work using the GPIO serial header on the Pi while I was using the USB method and there is apparently a bug somewhere preventing that method from working right which is what plagued my testing on Monday. After switching over to the serial connection method, the picture got a bit more messy. It doesn't help that I never depopulated the old NESBot so the Pi is sitting right on top of the poor Arduino. I at least have an excuse for why the SNES wires are a bit messy at this prototype stage, but even then, I had to get extremely creative to get the second controller DATA1 wire to stay in place by using a small screwdriver crammed in to keep the wire from slipping out. The biggest problem I have is lack of proper jumper wires. This is a good example of how not having enough equipment makes everything take so much longer to wire up. Between the Pi and the PCB, I have two old fan connectors hooked up to serial TX, RX, and ground, and the power is connected using two blue jumpers on a breadboard wire. The wire nuts prevent TX and RX from shorting to ground. Suboptimal is probably not a strong enough word. I'll be ordering a lot of parts later this week (after the US Thanksgiving holiday tomorrow) so I can make this a whole lot cleaner. Everything has to be portable enough to make it through the airport in carry-on luggage come January so I plan on putting together a proper wiring harness for the two SNES controllers with a pigtail at the SNES end similar to how USB powered DVD drives are designed. Having said all of that, I am very happy to say that I was able to get the SNES glitched run to complete on my setup, which makes me exceedingly happy. As long as wires are in the right places it's very reproducible, which along with getting Gradius to sync is exactly what I was hoping for at the beginning of the project. I'll be doing a dry run of what I plan on presenting at AGDQ 2014 on December 10th when I'll be giving a presentation at the North Bay Linux User's Group. Linux was a key aspect of this process as I used FCEUX and lsnes Linux ports to convert the emulator-specific movie files to the correct format for the replay script which itself is running on Linux on a Raspberry Pi. With true's permission I plan on releasing the gerber files for the PCB as well as the PIC code and replay scripts as open source (likely with a simple attribution license) as soon as everything is cleaned up. Again, thanks to everyone for the support! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: SNES connected, probably incorrectly
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Someone local donated two knock-off SNES controllers so I've used their cables to connect two SNES controllers to my breadboard. I'm a bit short on wire so the PCB ended up floating. It's a bit tight with the scope probes connected, and I'm not entirely certain I haven't crossed a wire here. At the moment I'm not seeing sane controller input but as soon as I can sort out my wiring problems (hopefully by taking apart a third controller and using its connectors) I'll be able to get SMW going myself. Again, huge thanks go to true for his work on scripts, and for Ilari for his work on lsnes and assistance understanding how to work with its lua scripts. Back with more soon, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Distracted, but will be back in action soon
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Some extended family issues have been causing a great deal of distraction for me over the last week but I hope to have time to work on this more very soon. I'd like to take a crack at getting a dumper script for lsnes that puts everything in the correct format unless true gets to it before I do. Once I get at least one of my games to sync (I have SMW and SMAS for the Lost Levels run) I'll ask around about other games. Mario Kart 64 would definitely be interesting. More to come, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Encode of Cheetahmen II, please!
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Ouzo wrote:
Is there an encode for this run?
I've been waiting for an encode as well. I do not own a copy of Cheetahmen II which is probably something I'm not alone in. :) A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: USB support populated on PCB board from true, working!
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Great news - true was able to get the USB firmware working on his setup and I was able to populate the rest of the components. There's an extra diode soldered in an usual place that you might be able to spot. There were some tricky bits, such as needing to solder a jumper wire to short a populated resistor that was causing problems. I did this soldering myself at home with solder with lead in it and I haven't thoroughly cleaned the board yet but it still looks pretty good. I was able to solder the NES cable onto a header (more specifically, this part was actually done by the same co-worker who helped me with the bulk of the soldering) and I used some glue to keep everything in place. After flashing the latest firmware I hooked everything up. Linux (in my case, Linux Mint XFCE edition) immediately detected a "USB Abstract Control Model driver for USB modems and ISDN adapters" device so I crossed my fingers and attempted to run Super Mario Bros. I'm happy to report that SMB synced to the end. This looks far cleaner than my earlier breadboard setup and is the first result that I'd be comfortable taking to the marathon. Next up, I need to figure out what the SNES controller pinout is and give that a shot, but that might have to wait until true can get an SNES of his own. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Working bot from true's PCB!
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
So the PCB that true designed arrived this week and I got everything soldered up with some assistance from a co-worker. We have an awesome soldering station at work which made things much easier. One thing I've discovered is that true has a lot of parts and I don't. This is something I need to fix, but in the meantime the consequence of my lack of parts is I end up devising some creative hacks (case in point, I had to build my own SD card holder using jumper wires when I worked on the NESBot, but I digress). I had to come up with a pretty messy setup to go between the PCB and the Raspberry Pi (which is acting as a UART serial data source containing movie files and a script to send them across said UART serial interface). I finally resorted to using pinheaders off of old fans from a neglected Pentium II, but this only got me three of the four wires I needed (+3.3 volts, ground, RX, and TX). For the final wire I ended up using a jumper and jammed a wire into it - it worked well enough. :) I moved the NES connector over and re-used the same method of connecting it to the breadboard. I didn't bother depopulating everything from the NESBot, so it's still on the breadboard for the moment. I'm happy with how the blue wires fanned out, but I'll have to tighten everything up when I get to two players. I'm very happy to report that this crazy contraption was able to sync SMB1. Next step - obtain a copy of Gradius and work on getting another broken SNES controller (I have one, but I need one more). Again, thanks goes to true for the amount of time and effort he's put in to the PCB. Thanks for everyone's interest and support! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Warepire wrote:
Seemingly busted SNES controller for sale here if you still need one: https://forum.speeddemosarchive.com/post/wts_a_lot_of_video_games_nessnesn64_ntscu.html
Thanks for the tip. I got in contact with the seller and sent some bitcoins and the controller should be here sometime soon. If anyone has a copy of Gradius they could sell me I'm still on the lookout for that although I'll snag it from Amazon if I don't hear of anyone here with a copy. I have the PCB now and I hope to populate it very soon, but my schedule has been packed this week. I'll update when I can. Thanks for everyone's support! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Unlimited snapshots possible as used in virtualbox-rr
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
When I set up the "virtualbox-rr" rerecording environment in Linux for the NetHack run, ais523 and I had a lot of discussions on how best to handle savestates. We eventually decided to implement unlimited savestates using a list structure with buttons to move forward or back in an ever-expanding list, a button to save a new state at the end of the list, and a button to set the current state as the one to load when the load state key was pressed. In other words, there are five buttons total, including load savestate from working slot, create new savestate, go to previous slot, go to next slot, set current slot as working slot. It can be a little challenging to figure out where you are in the list so we added a show list method and save screenshots of the savestates, sort of. You see, everything is text-based, so it's a bit.. er.. different. Anyway, after using that method I don't like going back to only 10 slots. I always feel like I'm throwing away something I might need. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Re: Genesis support requires console to test with - donations?
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
mmbossman wrote:
...If anyone has a more useful way of getting a hold of him, please let me know. I'd still be happy to donate it (and the 10 or so games I sent to him) to the same cause, if anyone else is interested in actually working on it.
I will attempt to contact him by E-Mail; I also sent a TASVideos forum private message to him and did not receive a response which Adelikat said is not uncommon for him, so it's not just you. :) I probably won't worry about games until we've had a chance to test out the Genesis code, and as noted the emulators are not yet very accurate so I'm preparing for the reality that some games will not sync correctly. Thanks for your offer and support of this project! I'll be sure to keep in touch. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Genesis support requires console to test with - donations?
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
arkiandruski wrote:
Would it be possible to maybe do some Genesis verification there?
That's definitely the idea. If someone has a Genesis that they would be willing to donate to the cause I would be most appreciative, and I can pay for shipping. I'm also on the lookout for broken SNES controllers. Thanks for your interest, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: NESBot built and working, but more is on the horizon...
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
It's been a busy couple of weeks. After giving up on connecting directly from the Pi (despite zid` spending hours experimenting), I tried to go back to make the original NESBot design based on the files included in the Instructible. Unfortunately, I ran into a lot of problems, mostly with the processing script (i.e. the movie to SD card transfer script written in the programming language named "processing"). It also took me a fair bit of time to populate the breadboard - there were a lot more jumper wires than I thought there would be. I borrowed an analog scope that I could keep a bit more long-term, and the family cat decided to supervise. Eventually with some help from DarkKobold pointing me in the right direction I got the code in the console-tas code repository to function correctly after finding the Arduino library dependencies. The newer code relies on a tas.txt file on a FAT filesystem on the root of the SD card as opposed to the processing script, which saves having to populate a load switch and makes switching files a bit easier (mostly - it can be a bit tricky getting the SD card off the breadboard, but the jumper wire SD harness I hacked together held up surprisingly well). One thing that really plagued me with testing this is that on my setup I see low resistance between the latch and clock lines, perhaps because of something interesting going on inside the 4021. The long and short of it is that when I turn on the Arduino, voltage flows toward the NES on the latch line with the result that the NES either doesn't turn on or goes to a white screen. Sometimes I could get past that problem and get into a game but I could never get HappyLee's SMB1 run to sync even after what felt like hours of attempts with both the old and the new code. I *was* able to get Baxter's Tetris Mode B to sync after only a couple of attempts, however, and that made me very happy. I've been at this project for weeks now in my spare time and this is the first time I've actually seen a TAS movie sync to the end on my desk. I dabbled at getting other games to work, but the setup is so finicky that I think it's best to wait for a newer solution. There's a lot to say about said newer solution which involves a board that true designed and I ordered from OSH Park but because the PCB hasn't arrived yet I don't want to go into too many details just yet. I'll make a follow-up post once the board is in and we can do some testing. As always, please feel free to ask questions and let me know if you have any broken SNES controllers as I still need some of those. :) Thanks! A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Testing out the Arduino NESBot design
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
DK64_MASTER wrote:
Does the Pi even support slave mode?
Apparently the Pi only supports being the master for both SPI and I2C. This is unfortunate, but I suspect this is for the same reason as why I've had to abandon the Pi being directly connected to the NES - the Pi isn't reliable about listening for short pulses on the GPIO pins. So far, this is the best that my setup can do (with help from zid'). This shows a Raspberry Pi holding the left button as measured next to the Pi's GPIO. The Pi often misses these latch and clock signals and leaves the line high which presses every button. Yellow = Clock from NES, Purple = Serial data to NES, Pink = 5V from NES, Green = Latch from NES. The end result of this is if you play Dr. Mario the pill will get shoved to the left but will "bounce" one spot to the right for a fraction of a second every once in a while, and may even get rotated. This means that in order to use the Pi some kind of buffering method is needed which means I will need to order parts. Until I figure out which parts to order and get parts shipped, I've started working on creating the original NESBot design micro500 created using the Arduino a co-worker lent to me (thanks, twm!). So far I've only laid out the breadboard connections, but they do look pretty to me. One thing I'm still missing for the original NESBot design is an SD card holder, but I might try to modify the design to fetch the movie data from the Pi. That will require software changes, which will require a better understanding of the Arduino and AVR programming so we'll see if that's still my plan after I do some more research. :) Thanks for the helpful comments and the interest, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Current Pi progress: research mode
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
I find that when I'm working on projects like this I tend to go in sprints of research followed by sprints of experimentation. At this point, I think I've wrapped up a good bit of experimentation and I'm back into research mode, at least as far as the Pi is concerned. Here's where I'm at, with a grainy shot of the Pi in the distance. There's a lot going on there. Here's just the breadboard. The stuff on the right is left over from when I still had the dip switches connected. On the left, there are connections from the NES to the Pi with voltage potential divider resistors to knock down the voltage so the 5 volts on the latch and clock from the NES doesn't hurt the Pi. There's also an NPN transistor to bump up the voltage from the Pi to the NES on the serial data line. A few things are connected back for monitoring purposes. Here's some ASCII art of the connections with all of the various pin and GPIO mapping notations, drawn by reusing (abusing?) wiringPi's gpio readall command.
+----------+-Rev1-+------+--------+------+----------------------------+
| wiringPi | GPIO | Phys | Name   | Mode | To/From                    |
+----------+------+------+--------+------+----------------------------+
|      0   |  17  |  11  | GPIO 0 | IN   | N/C                        |
|      1   |  18  |  12  | GPIO 1 | IN   | Read serial (Phys 8)       |
|      2   |  21  |  13  | GPIO 2 | IN   | N/C                        |
|      3   |  22  |  15  | GPIO 3 | OUT  | N/C                        |
|      4   |  23  |  16  | GPIO 4 | IN   | N/C                        |
|      5   |  24  |  18  | GPIO 5 | IN   | NES latch, ~? kHz          |
|      6   |  25  |  22  | GPIO 6 | OUT  | Out to Phys 7              |
|      7   |   4  |   7  | GPIO 7 | In   | In from Phys 22            |
|      8   |   0  |   3  | SDA    | IN   | N/C                        |
|      9   |   1  |   5  | SCL    | IN   | N/C                        |
|     10   |   8  |  24  | CE0    | IN   | N/C                        |
|     11   |   7  |  26  | CE1    | IN   | N/C                        |
|     12   |  10  |  19  | MOSI   | IN   | N/C                        |
|     13   |   9  |  21  | MISO   | IN   | N/C                        |
|     14   |  11  |  23  | SCLK   | IN   | N/C                        |
|     15   |  14  |   8  | TxD    | ALT0 | Serial to NES and Phys 12  |
|     16   |  15  |  10  | RxD    | ALT0 | NES clock, ~117 kHz        |
+----------+------+------+--------+------+----------------------------+
In this state it's possible to send random garbage down the serial line toward the NES and occasionally get the A button to be triggered (as observed by viewing the Game Genie screen) but not much else works. Yet. This is where the research phase starts. It might be that I need to order parts to create a buffer between the NES and the Pi or try various software methods to reduce latency and jitter. I'm not sure yet. There have been a lot of ideas thrown around in this thread already, but I'm going to set the Pi aside for a day or two and see if I can get the loaned Arduino up and running using micro500's original design, as I believe I have everything I need to at least test the original NESBot with my copy of Tetris. I might even try Dragon Warrior and see if I can Console Verify a new game. :) Thanks for all of the support and ideas from everyone both here in this thread and on IRC in #TASVideos, A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Post subject: Possible kernel-level driver for faster GPIO
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
A co-worker of mine pointed out the following kernel-level ISR project: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=72&t=33880 https://sites.google.com/site/hamlinhomeprojects/projects/raspberry-pi-isr It looks like this gets interrupts down to 2.5us to 7us and could be worth looking at. In the meantime, a different co-worker loaned me an Arduino Duemilanove which I can keep through January so I can build the original NESBot based on micro500's design as well, although I'm still dedicated to getting the Pi working. Thanks to everyone who has provided help thus far - there is no way I could do this without the assistance. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.
Experienced Forum User, Moderator, Published Author, Senior Ambassador, Experienced player (898)
Joined: 9/14/2008
Posts: 1007
Derakon wrote:
Is the rPi a realtime device?
Sort of. There are things like http://www.xenomai.org/ that has a realtime kernel which runs on the Pi, and we might have to play with that. It's more likely that we will need to buffer the output with another chip so the timing (latency and jitter) are improved; the data rate of the Pi is definitely high enough based on the performance data from this report: http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/ In other words, the problem is still solvable but will likely require more work. A.C. ******
I was laid off in May 2023 and could use support via Patreon or onetime donations as I work on TASBot Re: and TASBot HD. I'm dwangoAC, part of the senior staff of TASVideos as the Senior Ambassador and BDFL of the TASBot community; I post TAS content on YouTube.com/dwangoAC based on livestreams from Twitch.tv/dwangoAC.