MAME Rerecording
----------------------------------------
This is still an early experiment. The MAME savestate system is a huge mess for our needs, so expect lots and lots of desyncs at the moment. You can find an explanation of this issue in this post by DeHackEd: http://tasvideos.org/forum/viewtopic.php?p=158248#158248.
Otherwise, this version already has the nice Gens RAM Search/Watch, a very complete Lua scripting, some other little things and, of course, pretty much every arcade game ever made.
Latest test version:
-----------
-Binary: mame-rr-0139-test2.7z
-Source: get it at Github. If you want write access, send me a PM or something.
!!!IMPORTANT!!!
-----------
Please, read the instructions in the "readme.txt" file before using it.
Why did you decide moving from FBA to MAME? Aside from larger game list, it's a lot less messy from what I gather.
Also, this MAME branch has reduced input delay on a number of drivers, which should help TASing. Please consider implementing the diff!
This is what I said in an email: "I was actually fixing the crashes in FBA-RR with some ugly hacks, but then I thought I should better spend time in another better emulator." But now I think that FBA is a lot better for TASing.
Still, the source of MAME is the cleanest piece of code I've ever seen, but it's really huge, and they're in the middle of moving from C to C++.
That looks very interesting. I will take a look at it, thanks.
In case anyone wonders, it's also possible to compile MESS with all these features, without any modification to the source code:
So if we can fix the savestate system, we might also have a lot of new systems available for TASing; such as many Ataris, Commodores, ZX Spectrums, MSXs, Apples, etc. (full list)
The rate at which you add RR tools and Lua to emulators is astounding.
I'm amazed.
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.
Joined: 8/26/2006
Posts: 1139
Location: United Kingdom
Oh hell yes. I was hoping for more updates to FBA, but if you can get MAME up to standard then that'd be awesome. There are several games I'd love to TAS so I greatly appreciate all the work you are doing on these emulators.
I'm not very familliar about psx emulation on mame, but can you load games that are'nt in the mame "database"?
Also, uhh it seem that the mame license isn't fully GPL compatible(commercial issue, etc..), but I don't think this a big deal for now.
the psx version is just a port of the arcade version. The arcade it runs on is basically just a supped up ps1 ( Sony ZN-2 ).
It looks like the mame version doesn't have the unavoidable hit glitch and has less slowdown ( due to the arcades much higher ram ), but it does freeze at random times, I don't what's causing it to freeze but hopefully it doesn't happen in the tas.
Seeing the submission for dwangoAC's Epic Pinball "Android" I wonder if PinMAME will be available for re-recording.
There are some great tables which would be pretty much awesome to see a TAS of. For example Attack from Mars from Williams/Bally.
How much concern would it be to implement re-recording into PinMAME?
Can anything concerning the re-recording functions be re-used from the regular MAME and be implemented into PinMAME?
Why someone not try to put the Tools to TAS in the Mame emulator?I know that have a emulator but not emulate TAS perfect (to be exact I cannot TASing on the emulator because not have decent properties to TASing),for-me Mame is a great emulator and actually have a great and good emulators as Mame32 and MamePlus will be good if this emulator mentioned can be TASed's,It's a idea because I know that FBA is a great emulator and wheel much roms of Arcade but Mame wheel more,example as it would be amazing if had a Mortal Kombat,Marvel vs Capcom 2 or same Killer Instinct,but not only games as fighting games as adventures/puzzle also as Super Battletoads and other adventures game that I already played that no wheel in FBA,will be someone who could resume in the future or currently try to get back to the project and is only an idea or tip because sometimes gives boredom tasing ever the same games being that Mame has a greater variety of games.
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.
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: 4/17/2010
Posts: 11495
Location: Lake Chargoggagoggmanchauggagoggchaubunagungamaugg
Because it's just a fork aiming to add a single feature, basically a proof of concept. If it is able to run games and let people tas them, we could think of porting the diff over to newer versions.
All I know is that right now, mame uses visual studio project generator and also modern C++ features, so it might be incompatible with dinosaurs like my computer, but I never tested. Still, reimplementing is harder than occasional hacking.
EDIT:
MAME AVI dumper creates uncompressed video, but due to not using VFW, it is seeking and playing perfectly, and the total size is still not so insane after all, since it's not what people were used to back in the days of fraps: it's still lowres 2D. I mean, I can attach a VFW dumper, or probably figure out how to dump with zlib compression internally like lsnes does, but... is it really worth the trouble?
32k frames of btoads running with no user input (just showing internal demos) give me a 10GB file. Which plays and seeks perfectly.
And this seems to be the first ever finished mame-rr tas (by £e Nécroyeur):
Link to video
He reports the savestates and the read-only switch work perfectly.
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.
You can replay/record movies by pressing the corresponding hotkeys (Control+R and Control+N by default). There are also hotkeys for stopping a movie (Control+T by default) and for playing the active movie from the beginning (Shift+R by default).
You can toggle movie read-only/read+write mode (Control+Q by default).
You can use RAM Search and RAM Watch by pressing the corresponding hotkeys (Control+F and Control+W by default).
You can open the Lua console by pressing the corresponding hotkeys (Control+L by default) or with the command line parameter "-lua" (example: mame.exe cninja -lua example.lua).
AVI (uncomressed) can be recorded from the movie using the command: mame-rr romname -pb moviename.mar -aviwrite aviname.avi. To stop recording, just close the emulator.
If movie recording was started while paused, the replay dialog should also be opened while paused.
If the state was saved while paused, it should also be loaded while paused.
What's new
read-only switch
movie header now stores framerate (as it should be parsed too for tasvideos submissions to provide proper movie time), the header changed a bit
movie replay dialog shows new contents (rom name, emulator version, framerate)
HUD shows more info relevant to tasing (recording/paused/fastforwarding, number of frames, total frames)
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.
Hey feos, I made a small movie with v0.1-alpha. Just stage 1 and 2 of daimakaimura. It synced perfectly: https://www.dropbox.com/s/ht9yq97amuqmfpp/daimakai.mar?dl=0
I think the emulator has potential, but it's a shame it's based on such an outdated build. If the code could be ported over to the latest mame version, it'd be really sweet.
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.