Hi,
I'm thinking of doing some development to add rerecording support to an SMS emulator. After looking at the emulators available I believe that dega would be our best choice for doing so, given that it has good cross platform support and a clean code base. I'd like people's opinions on this particular emulator.
As a taster I've also hacked together recording and playback support for this emulator (possibly a bit too cautious as it saves state every few frames). Source code is available here (based on the Linux port): http://www.doc.ic.ac.uk/~pcc03/tmp/dega-1.07-sram-ss.tar.gz
Sorry, forgot to mention. You need to give command line options to the dega binary:
-r,--record <file> to record to <file>
-P,--playback <file> to play back from <file>
both recording and playback will start immediately.
great news, pcc. I'm glad someone finally coped with the long-awaited work.
if you read that topic, you should also know that many games are not very well supported with dega (in comparison to Meka), which is why upthorn never picked this emulator. but it's far better than nothing.
I don't have the time to test it yet, but I'm interested in the changes you made. they seem incredibly short, but only intensive tests will tell us how solid they are, and how well games and rerecording are supported.
what is your planning ?
I never sleep, 'cause sleep is the cousin of death - NAS
Here is the first WIP of the rerecording code. Pause and frame advance have been added to the SDL version, and rerecording now works.
Here are the relevant key mappings:
p - pause
o - frame advance
r - record from reset (you are prompted on stdin for movie file name)
e - record from current state (you are prompted on stdin for movie file name)
t - playback movie file (you are prompted on stdin for movie file name)
w - stop recording/playback
s - save state (you are prompted on stdin for state file name)
l - load state (you are prompted on stdin for state file name)
and the movie file format (pretty standard stuff)
0000: identifier 'MMV\0'
0004: dega version
0008: frame count
000c: rerecord count
0010: begin from reset?
0014-001f: reserved
0020-621f: savestate if beginning from state
rest: input data, 2 bytes/frame (one for each input)
and the code: http://www.doc.ic.ac.uk/~pcc03/tmp/dega-1.12-rerecording-v1.tar.gz
This will only work on SDL (Linux), a windows version is forthcoming with a unified source tree
P.S. if your terminal is flooded with 'resetting audio_len' messages, comment out sdl/main.c line 45
Joined: 3/30/2004
Posts: 359
Location: Borlänge - Sweden
I cant wait until the windows version comes.
I had to call a friend with linux to download your first version to see if it worked. Was at work too... so :P
Im very glad that someone have taken this task. Ive have waiting very long for this :)
I Wishes all luck too you :)
After looking at the emulators available I believe that dega would be our best choice for doing so, given that it has good cross platform support and a clean code base.
The problem with Dega is that there is a fair number of games that Dega cannot run correctly at the moment.
I believe that "Sonic Drift 2" is one such example.
How fleeting are all human passions compared with the massive continuity of ducks.
I always wondered if it wouldn't be easier to add SMS support to gens (a few other genesis emulators have it, the genesis was designed to be able to play sms games with an adapter) vs. modifying a new emulator?
I always wondered if it wouldn't be easier to add SMS support to gens (a few other genesis emulators have it, the genesis was designed to be able to play sms games with an adapter) vs. modifying a new emulator?
This is a good question. I've been considering both ends of the question for quite some time, and still don't know which would be easier.
However, I do know that, if one were to modify an emulator which is primarily for SMS, Meka seems to have the largest compatibility, and many tools already built in.
FODA wrote:
Shouldn't there be a "sms to genesis" rom converter?
Not exactly. The main Genesis processor is a motorola 68000, and the SMS processor is the z80 (which genesis uses for sound processing).
The hardware adapter, aside from simply making the cartridge fit on the slot, also makes the Genesis bypase the 68000 processor, and go straight to the z80 for instruction execution, as well as making it interpret hardware addresses slightly differently.
How fleeting are all human passions compared with the massive continuity of ducks.
Emulator Coder, Site Developer, Site Owner, Expert player
(3570)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
The advantage to modifying GENS instead is that you get all the sophisticated TAS tools already to go. Modifying a new emulator would mean crude tools as first.
Though I am happy either way as long as we can see SMS submissions soon :P
I'm glad people are finally starting to do something about this. Meka would probably be the best one do add re-recording support to. But whichever one does get the treatment, I hope it has good sound and gamepad support as well.
Hi guys,
Thanks for your input. I looked at meka, but there are sound issues on Linux and some soundcards and besides the code is ugly and supposedly nondeterministic, so I'm not going to touch it. If someone else can fix these problems (Bock?) meka would be the clear choice but as it stands might not fulfil the criteria (http://tasvideos.org/NewEmulatorConditions.html)
I have a second WIP ready with Windows support. You can use the p and o keys to pause and frame advance, and the movie functionality is on the Video menu.
Here are the downloads:
Source code: http://www.doc.ic.ac.uk/~pcc03/tmp/dega-1.12-rerecording-v2.tar.gz
Win32 binary: http://www.doc.ic.ac.uk/~pcc03/tmp/dega-1.12-rerecording-v2-win32.zip
Let me know if you have any issues.
Also, I would like to ask anyone with an Intel Mac running OS X to see if they can compile and run the Unix/SDL version on their machine. I believe it should work but don't have a Mac so cannot test.
Joined: 10/17/2005
Posts: 632
Location: Seattle, WA
Works fine so far as far as recording and playing back movies are concerned, but it crashes whenever I try to load a save state. Still, this is very promising
Works fine so far as far as recording and playing back movies are concerned, but it crashes whenever I try to load a save state. Still, this is very promising
Does this happen for a particular game, or for every game? Also, does it only happen while rerecording or not? If so, does it still happen if you use a movie file with a shorter path name?
Joined: 10/17/2005
Posts: 632
Location: Seattle, WA
So far I've tested it on Rampage and Psycho Fox, and both crashed. File names were no larger than 'Psycho Fox (UE) [!].dgz.' Both times I was in the middle of recording, paused or not. I'll test if it happens when not recording.-works fine
--Testing recording again: It worked on Alex Kidd in Miracle World! Shortened filename to just 'alex' and made sure it was always paused, and it works fine.
--works on Rampage, now, as well when recording. As far as I know, the only thing I did differently now was put 'ramp' as the filename for the save state and the movie. Rerecording works great.
--Here, have a movie testrun for Rampage. Found a glitch, tried to figure out how to make it work, figured it out, realized it's useless and incredibly annoying to the viewer, won stage without ever attacking anything. Here. You can test if it syncs between Windows and Linux versions or somenut, or even just between Windows computers. Uses (UE) [!].
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
Twisted Eye wrote:
--works on Rampage, now, as well when recording. As far as I know, the only thing I did differently now was put 'ramp' as the filename for the save state and the movie. Rerecording works great.
Hot dog! Does this mean what I think it means? Can we finally accept SMS runs?!
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P