1 2
9 10
Post subject: SMS rerecording development
pcc
Emulator Coder
Joined: 6/24/2007
Posts: 45
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
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
Technically, you already CAN do SMS rerecording by using VisualBoyAdvance in conjunction with SMSAdvance (SMS emulator for GBA).
Emulator Coder, Skilled player (1311)
Joined: 12/21/2004
Posts: 2687
Dwedit wrote:
Technically, you already CAN do SMS rerecording by using VisualBoyAdvance in conjunction with SMSAdvance (SMS emulator for GBA).
But that has all sorts of disadvantages compared to using a "real" SMS emulator.
pcc
Emulator Coder
Joined: 6/24/2007
Posts: 45
Technically, you already CAN do SMS rerecording by using VisualBoyAdvance in conjunction with SMSAdvance (SMS emulator for GBA).
According to this thread: http://tasvideos.org/forum/viewtopic.php?t=5089 the site won't take runs produced in that way.
Post subject: Re: SMS rerecording development
Former player
Joined: 3/30/2004
Posts: 359
Location: Borlänge - Sweden
pcc wrote:
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
Thanks, finally someone that is willing to take this task up. You have my support in this. :D We discussed the advantage and the flaws for some time ago http://tasvideos.org/forum/viewtopic.php?t=3726&start=20
Wheeeehaaa.. Yaaayy..
Former player
Joined: 3/30/2004
Posts: 359
Location: Borlänge - Sweden
How do you record? :) the readme file didnt say :P
Wheeeehaaa.. Yaaayy..
pcc
Emulator Coder
Joined: 6/24/2007
Posts: 45
Frenom wrote:
How do you record? :) the readme file didnt say :P
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.
SXL
Joined: 2/7/2005
Posts: 571
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
pcc
Emulator Coder
Joined: 6/24/2007
Posts: 45
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
Former player
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 :)
Wheeeehaaa.. Yaaayy..
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Frenom wrote:
Im very glad that someone have taken this task. Ive have waiting very long for this :)
Slightly off-topic, but… does that mean you'll be back at TASing once SMS rerecording comes around?
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Former player
Joined: 3/30/2004
Posts: 359
Location: Borlänge - Sweden
moozooh wrote:
Frenom wrote:
Im very glad that someone have taken this task. Ive have waiting very long for this :)
Slightly off-topic, but… does that mean you'll be back at TASing once SMS rerecording comes around?
You never know what the future tells ;)
Wheeeehaaa.. Yaaayy..
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Frenom wrote:
You never know what the future tells ;)
That's why I ask, lol.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
nesrocks
He/Him
Player (247)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
I will race for an Alex Kidd in Miracle World TAS!
Post subject: Re: SMS rerecording development
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
pcc wrote:
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.
Player (73)
Joined: 12/20/2006
Posts: 154
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?
nesrocks
He/Him
Player (247)
Joined: 5/1/2004
Posts: 4096
Location: Rio, Brazil
Shouldn't there be a "sms to genesis" rom converter?
upthorn
He/Him
Emulator Coder, Active player (392)
Joined: 3/24/2006
Posts: 1802
stanski wrote:
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.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3575)
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
It's hard to look this good. My TAS projects
Joined: 3/5/2007
Posts: 27
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.
pcc
Emulator Coder
Joined: 6/24/2007
Posts: 45
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.
Twisted_Eye
He/Him
Active player (410)
Joined: 10/17/2005
Posts: 636
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
pcc
Emulator Coder
Joined: 6/24/2007
Posts: 45
Twisted Eye wrote:
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?
Twisted_Eye
He/Him
Active player (410)
Joined: 10/17/2005
Posts: 636
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) [!].
Active player (437)
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
1 2
9 10