playback of mame replay files - any utilities out there?

Discussion of playback questions / problems. Any recording where people have playback problems should appear here.

Moderator: Chad

Post Reply
negative1
MARP Serf
MARP Serf
Posts: 163
Joined: Mon Sep 09, 2002 5:18 pm
Location: hartford CT USA
Contact:

playback of mame replay files - any utilities out there?

Post by negative1 »

i've looked around,
and thought maybe somebody here knows..

are there any standalone tools?
or modified versions of mame that
are good for playback of replay files?

i watch a lot of replays, and study them,
and it is very time consuming..

it would be nice to:

1) export to .avi or .mpg , this feature was
in some earlier versions of mame, but i can't
get it to work

2) fast forward or backward at USER defined
rate (yes, i know about speed throttling)..

also have a user seek to point in playback,
(ie. the end or beginning, or anywhere
in between)..

3) pause, freeze-frame, and screen capture
(animation also)...[yes, i know you can
currently do that with f12, and p]

4) nice front-end or gui interface

does anyone have an idea about this,
where to look, which forums to ask,
or has someone started something
like this already?

i am a programmer, (c/vb) but have not
looked at the mame code yet..

thanks in advance...

i figure the board editors could use
something like this, perhaps..

later

| || | | || || ||
ne g ati ve 1
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

hmm, of the above the one that sounds cool would be if you had a key to toggle playback at 200%, 300%, 500% instead of just the F10 key cuz turning off the throttle for many games makes it playback so fast that's really only good for final score confirmations. You really can't watch it at 1000+% type speeds.

I can see where a movie of the playback would be cool for easy viewing of just a certain area.

however, those mpgs even at the 1x1 size and 8 or 16bit would be quite large compared to the inp files.

I guess though if there was a game you really wanted to study you could playback once capturing to a mpg then after that just watch the mpg.

Personally i don't really watch other inp files all that much. I play the game and learn to master it on my own. :P

I also think it's cheap for some games like pacman that someone could download and watch the 3.2 million score to see his 9th key pattern then play their own game and use his pattern to also reach 3+ million even if they really aren't that skilled at the game. That's no fun. If the person has taken the time to discover their own 9th key pattern then they earned the score they get.
User avatar
Chad
Tournament Coordinator
Posts: 4463
Joined: Tue Mar 05, 2002 3:15 pm
Location: calif

Post by Chad »

like barry said backwards and forwards is practially impossible in an emulator that can only support forward emulation. To do this theoretically you'd have to save the save of all memory+registers in mame (plus maybe all the pixels on the screen) for EACH frame played so far to go back to the last frame, that's a lot of memory. If you had a fast enough computer you could, just replay the whole imp to the N-1th frame for a back step, kind of slow but possible. SO that really only leaves an AVI which would proly be too large.

It would be convenient to have a back frame command but not necesary usually you can just watch something in slow motion with the shift-P key to get all you need to learn.

100% 200% 300% and beyond is not practially possible either, you can only playback as fast as your computer and game will let you, you can't just "skip" emulation instructions. (You could proly configure autoframeskip to match 200% instead of 100% as long as the game and computer can keep up.) But you can speed up the playback (if the playback isn't broken where you have to use frameskip0) by usuing frameskip 11 (skiping 11 of 12 frames) whiole using F10=noThrottle. If you can skip 59/60 frames (a possibly implimented feature of mame) you can go faster than F11 but proly not much more faster and it would look more jumpy than F11 which is already pretty jumpy.
-skito
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

Chad wrote:100% 200% 300% and beyond is not practially possible either, you can only playback as fast as your computer and game will let you, you can't just "skip" emulation instructions. (You could proly configure autoframeskip to match 200% instead of 100% as long as the game and computer can keep up.)
nah, you are looking at the approach wrong. For many games if you have a really fast system like 2 GHz turning off the throttle results in it playing at like 800-1000+%. That's too fast to even see wtf is going on.

The code is simply playing the game code and emulation as fast as possible. With speed throttle on you play at 100% all the time(provided the CPU is powerful enough to reach 60fps). It seems it just would be adjusting a variable in whatever sets it to 60fps for 100% speed throttle to showing 120fps for 200%, 180fps for 300% etc. instead.

It wouldn't require anything else really in the code...just that different goal fps for throttled playback. Of course the same rules would apply that apply to "100%" speed throttling so you might need to increase frameskip or run with audio off to get those frame rates.
User avatar
Chad
Tournament Coordinator
Posts: 4463
Joined: Tue Mar 05, 2002 3:15 pm
Location: calif

Post by Chad »

LN2 wrote:
Chad wrote:100% 200% 300% and beyond is not practially possible either, you can only playback as fast as your computer and game will let you, you can't just "skip" emulation instructions. (You could proly configure autoframeskip to match 200% instead of 100% as long as the game and computer can keep up.)
nah, you are looking at the approach wrong
what does it say in my second sentance? configure the autofs (in mame code) to match 200% or 100% or what ever.... but why care about getting exactally 200%? for me i'd want it to go normal speed or as fast as possible. and if you want to adjust between those two speeds, you can already do that adjusting between that with setting frameskipping between 0 and 11 and no throttling.
-skito
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

Chad, no you can't which was the point. On my friend's 2.2 GHz Athlon, I turn off the throttle thinking I could watch an inp for a particular game faster but it plays back at 1200% even with sound still on! That's 12x normal speed. That's unwatchable.

So my only choices for playing back that inp are 100% or 1200%. Both of those are with frameskip 0. There is nothing in between. Perhaps you have a slower system so even for games that emulate efficiently you can't get beyond 200-300% anyway. For some games I do actually add frameskipping so I can get faster inp playback with throttle off. That's a different matter though. You can't have less than frameskip 0 and audio on.

The above suggestion is to add some intermediate throttles so you have something in between to play an inp back at like 200% and 300%. At that speed you still can watch the inp and see what is going on.

You can easily get that 200% or 300% throttle by just adding 2 other throttles so instead of just the 60fps throttle there are also 120 and 180 fps throttles. That seems like a fairly easy addition. Just have F10 cycle between 60fps, 120fps, 180fps, then totally unthrottled.
User avatar
Chad
Tournament Coordinator
Posts: 4463
Joined: Tue Mar 05, 2002 3:15 pm
Location: calif

Post by Chad »

yes you can! take a multiplier to the default frames per second throttling in the mame source! so i'll just post three times so you can get it next time. you can get 50% 100% 200% by taking 30 or 60 or 120 frames per second throttling, if the saved fps is 60. I didn't say you could do this in mame currently i said you could do this in mame code, and it wouldn't be hard for mame dev to do this, you just have to figure out what key to make it happen (i think many if not all of the keys are used...), so maybe another command line option.

-throttle-multiplier 2.00 # for 200%
-throttle-multiplier .50 # for 50%

so at frameskip 0 instead of trying to throttle at 100% or 60fps it'll "try (if the computer can keep up)" to throttle at a multiple of that.
-skito
negative1
MARP Serf
MARP Serf
Posts: 163
Joined: Mon Sep 09, 2002 5:18 pm
Location: hartford CT USA
Contact:

_replays_

Post by negative1 »

LN2 wrote:I can see where a movie of the playback would be cool for easy viewing of just a certain area.
that's my whole point, i'm watching some replays of
'hang-on', and figuring out the max speeds, where
to take the turns etc..and watching the whole game
(even though it's not that long), is aggravating..
I guess though if there was a game you really wanted to study you could playback once capturing to a mpg then after that just watch the mpg.
early versions of mame, had the 'save as .avi' option,
but i can't get it to work..

Personally i don't really watch other inp files all that much. I play the game and learn to master it on my own. :P

I also think it's cheap for some games like pacman that someone could download and watch the 3.2 million score to see his 9th key pattern then play their own game and use his pattern to also reach 3+ million even if they really aren't that skilled at the game. That's no fun. If the person has taken the time to discover their own 9th key pattern then they earned the score they get.
i don't think it's cheap at all..

just cause you see the pattern,
doesn't mean you can do it..

if you're the first to do it, great..

but if enough people get it, then
it won't be worth anything, and
i don't see that happening at all..

and besides, its no different
than watching over some ones
shoulder in the arcade, or
looking in a book/magazine/faq..

so whats the difference?

if you don't want to see the
patterns, don't download the
input file..

i think one of the best things
about this board, is being able
to have access to master players
at each game, because even if
you aren't any good at it, you
learn a whole lot by watching
good people play..

only the really early games had
patterns anyways, most new
games are much more random..

later

|| || || | | || | |
ne ga ti ve 1
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

Chad wrote:yes you can! ...I didn't say you could do this in mame currently i said you could do this in mame code, and it wouldn't be hard for mame dev to do this,
Well duH, that is <b>EXACTLY</b> what I said above so why are you disagreeing with me?

Where you posted disagreeing with me made it sound like mame already has that ability to playback at 200% or 300% etc.

We are talking about what could be added as feature for a future mame.
So your last post above here clearly states you are saying exactly the same thing I am....so why all the crap?

I said above it would just likely be changing one variable to have it throttle to 120 or 180fps etc. to effectively get 200%, 300%, etc.

then you disagreed with me but then posted exactly the same thing?
Funny I can go back up a couple posts and see you saying 200%, 300% is "practically impossible".
...yet now you seem to have totally turned around on that and agree with me it's a fairly trivial change to the code.
User avatar
Chad
Tournament Coordinator
Posts: 4463
Joined: Tue Mar 05, 2002 3:15 pm
Location: calif

Post by Chad »

if you actually read my post, I said backwards and forwards playing inps is practially impossible. And guess what, it still is practially impossible, it's only possible with tons of memory (tera bytes) or disk storage for keeping back stores of save states) or tons of speed (to actually playback the inp back to the last frame from the start real time would require lotsa tera hertz).

yeah i didn't read your post, but you were describing exactally what i had origonally posted, changing "mame code" would allow you change speeds to 200% but i didn't think that would be usefull (i..e i only like to see 100% or no throttle for playback speed or using shift p for slowing down playback, all of which CAN be done in mame now, no code changes). i do think backwards would be usefull but it is still practally impossible. ok do you understand now? no? post again.

btw, very nice mspacman scores.
-skito
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

ok, let's remind you what you said above Chad:
100% 200% 300% and beyond is not practially possible either
I realized after that you get into where it won't be possible for games if the CPU can't play it that fast which is certainly true.

However, there are 100s of games that play at very high speeds if you turn the throttle off. That doesn't make it "not practically possible".

It's very possible just tweaking that variable we both agree on above to run at 120fps or 180fps etc. instead of just throttling at 60fps.

BTW, what does shift-p do in mame? I use macmame remember and it has its own GUI and different keyboard shortcut keys.
btw, very nice mspacman scores.
thx, I have others I haven't uploaded yet cuz I'm not satisfied with those scores yet and figure I'll top them soon. Unlike many here that seem to submit a new personal high score for them on a daily basis over a week I wait until I have a score that I'm happy with, even if it's #1, before uploading.

I am working on the fast modes of regular mspac now...not the variants. I want to get to the kill screen on those before uploading a score. I got 465k doing one last night which was decent. I lost 2 men on the boards where monsters still turn blue though trying to pig out too much. I had 228k after the last board they turn blue which is quite high IMHO.

I'll then be submitting scores for regular speed mspac but not until I get a score up around 225-250k which I would consider a decent score. I hadn't played mspac for about 15 years before I started playing it again a month or so ago. :P I'm starting to get into Jr. pacman now also which IMHO is even harder than mspac.
Last edited by LN2 on Fri Nov 01, 2002 2:51 am, edited 1 time in total.
User avatar
mahlemiut
Editor
Posts: 4188
Joined: Mon Feb 04, 2002 10:05 pm
Location: New Zealand
Contact:

Post by mahlemiut »

Advance frame. Use it while paused.

I suppose it would be possible to compile XMAME on MacOS X. Might be another idea as to getting a version that may be compatible to DOS/Win32 versions, and you can fiddle with the source all you want too. Unless you're one of those Mac users who are afraid of the command line. :)
- Barry Rodewald
MARP Assistant Web Maintainer
Image
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

nah, I have no problem with command lines. I used pcs back when there was just msdos...and have used several unix or vax/vms workstations.

My unix is fairly limited though cuz I was just a user of it....e-mail, NN, ftp, telnet, basic background process running etc. but I'm constantly doing many things in the terminal of OS X.

Anyway, a couple have easily built XMAME for os x but the speed of it was dismal so I haven't bothered building it myself.

I also don't see xmame scores getting verified so am not sure that would help my scores get verified either. I think the pacman and mspac, jrpac, etc. games would still be at 100% but not many of the others cuz from what I read it runs less than half the speed of macmame. That PPC assembly code really seems to optimize things well.

Plus, wouldn't you still have issues with inp playback of games like the pacman.c based games because a separate compiler was used cuz the use of rand()?
User avatar
mahlemiut
Editor
Posts: 4188
Joined: Mon Feb 04, 2002 10:05 pm
Location: New Zealand
Contact:

Post by mahlemiut »

As long as it's the same compiler, there shouldn't be a problem. I use Linux myself, and enabling the ASM 68k core makes it work with most DOS/Windows INPs. Obviously, the ASM 68k core can't be used on MacOS X, but I'm pretty sure if someone could be bothered with compiling a DOS or Win32 version with the C core, there shouldn't be a problem.

Has anyone tried an OpenGL build under MacOS? Or at least something that allows for 2D video hardware acceleration? Macs do have decent video cards these days, right? :)
- Barry Rodewald
MARP Assistant Web Maintainer
Image
LN2
MARPaholic
MARPaholic
Posts: 1669
Joined: Wed Jul 24, 2002 4:46 pm

Post by LN2 »

I had my own build of the original quake using opengl when iD released the source code and others had a preliminary build for OS 9 I took the code and changed it some and recompiled it to improve performance so was familiar with OpenGL, although that aspect of it I had to change very little....most coding was for file and device i/o. 98+% of the code was unchanged versus the source for windoze.

I used Codewarrior Pro for that.

I have not even tried the Dev Tools for OS X yet. I don't really feel like upgrading Codewarrior Pro. Anyone making carbon apps though uses CWPro for sure cuz Apple's Dev Tools only make cocoa apps for OS X.

My guess even for OS X is the code for the opengl stuff really wouldn't be much different...just the libs used to link at compile time would of course be different. Although OpenGL in OS X is more advanced than it is in OS 9 so you might be able to do things to improve performance and have the video card do a little more work versus os 9...mainly differences in things like multitexturing.

I had thought about taking the xmame code and putting a simple OS X front end on it and see how that runs. I'm not sure I really have the time though...given I am playing all these games. hehe

One reason I would prefer to not use xmame is cuz that means launching x-windows etc. I'm not knocking x-windows but it's a tad weird when you have 2 GUIs running at the same time...plus I need all the CPU I can have left over for the game emulation.

Those that develop mame and xmame should coordinate with the macmame developer to try and find some way so inps can be cross-platform for a lot more games. It would be nice if at least the inp format from macmame for all games matches that of mame and xmame like having the header info. That's a small step but an easy one to make.

There is an opengl plugin for macmame for os x available. I have not tried it though.
Post Reply