I'd like to see Gameboy/GBC/GBA handheld verifications. Those would be the easiest to make a bot for I would think. How accurate is gameboy emulation? Since the GBA plays GB and GBC games, wouldn't a bot on GBA be the best, or are there issues with how GBA handles older games (less lag, faster processing, etc?)
Looks like it'll sync fine if you add in a few more frames at the game select screen.
Does the same way of modifying it work both on emulator and on the real thing?
I don't know yet, but I just ordered a copy of All Stars from Ebay so I'll test it and share my results as soon as I can!
SoulCal wrote:
I'd like to see Gameboy/GBC/GBA handheld verifications. Those would be the easiest to make a bot for I would think. How accurate is gameboy emulation? Since the GBA plays GB and GBC games, wouldn't a bot on GBA be the best, or are there issues with how GBA handles older games (less lag, faster processing, etc?)
I've considered this, but I'm not sure how to tell when the GBA is polling for input.
I'd like to see Gameboy/GBC/GBA handheld verifications. Those would be the easiest to make a bot for I would think. How accurate is gameboy emulation? Since the GBA plays GB and GBC games, wouldn't a bot on GBA be the best, or are there issues with how GBA handles older games (less lag, faster processing, etc?)
Does the GB(C/A) poll for input or anything during the beginning startup? If so, would the input file still be acceptable as "verified" if it were to be eddited to pass the startup?
Good news everyone!
I've successfully verified KFCMARIO's Lost Levels run! I haven't recorded yet since I was only testing, but I will get on that ASAP. For now, here's a picture that hardly proves anything by itself.
http://i.imgur.com/JONlTSU.jpg
Good news everyone!
I've successfully verified KFCMARIO's Lost Levels run! I haven't recorded yet since I was only testing, but I will get on that ASAP. For now, here's a picture that hardly proves anything by itself.
http://i.imgur.com/JONlTSU.jpg
This took quite a while to upload, but here it is.
Link to videoHere's a close up shot of the bot itself (apparently I accidentally plugged the wire for the X button in the wrong spot, luckily the run shown never used it), and here's the Arduino sketch I made, along with the poll dumping Lua script from Ilari, and the converted Lost Levels run. It's programmed to use the pins on the Mega 2560, but I think it could work on the Uno if you use the Analog Input Pins.
In a nutshell: Attach SD Card reader to Arduino's SPI pins. Attach Arduino to two 4021 Shift Registers by following this, just attach it to the Arduino pins instead of buttons of course, and make sure the latch pin is attached to pin 2 on the Arduino. Modify Arduino sketch if needed and upload it. Convert movie using the polldump script and put the converted file on a FAT32 formatted card with the name "snestas.txt", then put the card in the SD Reader. Connect the shift registers Latch, Clock, and Data pins to the SNES somehow (I just stuck hookup wire into the controller port). Reset Arduino, then turn on the SNES.
As a bonus, here's the "credits glitch" working on a console by replaying Masterjun's proof with my bot.
Link to video
The only thing I had to sync it was program the bot to skip 1 frame ahead, which I guess All-Stars wasn't so picky about. (edit: apparently lsnes emulates an extra frame at the start for some reason)
As a bonus, here's the "credits glitch" working on a console by replaying Masterjun's proof with my bot.
Link to video
The only thing I had to sync it was program the bot to skip 1 frame ahead, which I guess All-Stars wasn't so picky about.
The only thing I had to sync it was program the bot to skip 1 frame ahead, which I guess All-Stars wasn't so picky about.
What does that mean exactly? Added extra button poll at beginning? Something else?
I just had it skip the first frame in the file, as if I deleted the first frame in the file, otherwise for some reason it would desync while spawning the fish. It still seems to sync with Lost Levels with this fix as far as I can tell. It will desync easily if I skip two, so I suspect there's just an extra frame at the beginning of the file after I converted it which doesn't matter for Lost Levels while it does for Mario World.
Congratulations on syncing TASes on Genesis and Snes! You are awesome! The endGhostSonic wrote:
I just had it skip the first frame in the file, as if I deleted the first frame in the file, otherwise for some reason it would desync while spawning the fish. It still seems to sync with Lost Levels with this fix as far as I can tell. It will desync easily if I skip two, so I suspect there's just an extra frame at the beginning of the file after I converted it which doesn't matter for Lost Levels while it does for Mario World.
I think you mean the bounce direction of fishes desyncs, which caused by a different in-game timer value. So if you removed that 1 frame and it syncs, it means there was an extra 1 frame in the file or the emulator had an extra lag frame.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
I think you mean the bounce direction of fishes desyncs, which caused by a different in-game timer value. So if you removed that 1 frame and it syncs, it means there was an extra 1 frame in the file or the emulator had an extra lag frame.
Does this still count if only 1 frame at the very beginning was removed/skipped?
I think you mean the bounce direction of fishes desyncs, which caused by a different in-game timer value. So if you removed that 1 frame and it syncs, it means there was an extra 1 frame in the file or the emulator had an extra lag frame.
Does this still count if only 1 frame at the very beginning was removed/skipped?
I only tested when converting #3413: Masterjun's SNES Super Mario World "game end glitch" in 02:36.40 to BizHawk. Since I had to apply 3-4 empty frames for the lag sections (4 at the start of the game, 3 at start of 1st level, 3 at level selection screen etc), I got a different fish bounces.
Yes, this still counts if only 1 frame at the very beginning was removed/skipped.
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Joined: 10/12/2011
Posts: 6444
Location: The land down under.
MESHUGGAH wrote:
jlun2 wrote:
MESHUGGAH wrote:
I think you mean the bounce direction of fishes desyncs, which caused by a different in-game timer value. So if you removed that 1 frame and it syncs, it means there was an extra 1 frame in the file or the emulator had an extra lag frame.
Does this still count if only 1 frame at the very beginning was removed/skipped?
I only tested when converting #3413: Masterjun's SNES Super Mario World "game end glitch" in 02:36.40 to BizHawk. Since I had to apply 3-4 empty frames for the lag sections (4 at the start of the game, 3 at start of 1st level, 3 at level selection screen etc), I got a different fish bounces.
Yes, this still counts if only 1 frame at the very beginning was removed/skipped.
For example most of the Super Mario 64 tas had to be tweaked due to a ton of desync.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account.Something better for yourself and also others.
For example most of the Super Mario 64 tas had to be tweaked due to a ton of desync.
Uh...not exactly. According to this post, SoulCal only changed the format to make it work with the bot. Otherwise, the frame count and button data is exactly the same:
SoulCal wrote:
However I did have to modify the hell out of the m64 to play it back right, but all frame and button data is the exact same (just some formatting).
For example most of the Super Mario 64 tas had to be tweaked due to a ton of desync.
Uh...not exactly. According to this post, SoulCal only changed the format to make it work with the bot. Otherwise, the frame count and button data is exactly the same:
SoulCal wrote:
However I did have to modify the hell out of the m64 to play it back right, but all frame and button data is the exact same (just some formatting).
Since then, I have modified the Droid64 to accept .m64 files directly, so it's 100% the original author's content.
However, 1 game I tested, Mischief Makers, polls differently for the first 2 frames, then it polls at 60Hz. To compensate I added in 1 blank frame to counter the variable pollrate at startup. Possibly with SNES when starting up Super Mario World or the console itself, the extra frame is introduced in a similar manner. I would think that since the TAS synced on the All-Stars cartridge instead of doing a playback on the original SMW, it had to clear the SNES ram when loading SMW, and maybe clearing ram takes a frame.