Post subject: MAME: TGM2 Death mode TAS
Emulator Coder, Site Developer
Joined: 11/6/2004
Posts: 833
I wanted to post this since I finally put it on youtube. I beat rerecording support into MAME 0.106 (the version that ships with most linux distros), added TGM2 support, and ripped loose. Muahahahaha. Unfortunately it's not entirely sync stable. As you'll see. Still, it's a step in the right direction.
Morrison
He/Him
Joined: 8/2/2006
Posts: 195
Location: USA
Nice! I hope to see more of MAME and TASing in the future :)
twitch.tv/Retrogaming2084
Joined: 8/27/2006
Posts: 883
Great job, and it sync for a long time. Any idea why it desync after 1:20 ?
Emulator Coder, Site Developer
Joined: 11/6/2004
Posts: 833
DAS (basically, keyboard autorepeat for left/right movement) and ARE (delay between pieces) both shrink over time. ARE shrinks for the difficulty increase, DAS shrinks to make up for the need to get autorepeat working before a piece locks down which happens faster over time. Past level 300, a strange thing occurs. Normally DAS < ARE so "pre-charging" autorepeat is not a problem. At 300 and beyond, DAS > ARE so in order to maintain a charged DAS state, I must abuse TGM2's input code. Most of those pieces were dropped on a single autorepeat charge as far as the game is concerned. The actual execution of this is not a problem - I need only make sure I release left or right for exactly 1 frame to for lockdown. Now, MAME's savestate code automatically unpauses after saving or loaded a state. Comments in the source code imply that actions needed to be executed after a state save/load only occur while emulation runs, hence the unpause. I corrected for this by executing a frame-advance instead. Unfortunately this wreaks havoc for inputs since any save/load state will cause the controller to have no buttons pressed for the immediately following frame. Past level 300, I had to either change this behaviour or give up my precious DAS charge. I chose the former, and desyncs began. I have plans though. It's just not going to be happy.
Joined: 10/3/2005
Posts: 1332
DeHackEd: could you possibly upload a diff? I've been wanting to do something like this to MAME for awhile, but never knew where to start...
Active player (353)
Joined: 1/16/2008
Posts: 358
Location: The Netherlands
all i can say is 'wow' and 'great work' :) keep it going ! (both the TGM and the MAME :P)
TASes: [URL=http://tasvideos.org/Movies-298up-Obs.html]Mr. Nutz (SNES), Young Merlin 100% (SNES), Animaniacs 100% (SNES)[/URL]
Emulator Coder, Site Developer
Joined: 11/6/2004
Posts: 833
Due to the fact that there are timing issues I neglected to take into account and the fact that the piece sequence I ended up with sucks, this run is being considered a failure. In other news, I'm trying out Master mode now, where the level of abuse is even higher, with low gravity, sonic drop, and an invisible piece credit roll challenge. Now I have a better idea of what I should be doing...
Joined: 6/11/2008
Posts: 1
I was thinking of looking into TASing TGM2, but seeing as you're already doing it, I think maybe I'll try TGM1. DeHackEd, do you know of a way of emulating TGM1 with TAS tools? I don't think ZiNc has them...
Emulator Coder, Site Developer
Joined: 11/6/2004
Posts: 833
That's why I went with MAME. Not because it has TAS tools -- it doesn't -- but because it has source code and I'm a evil bastard.