Inp Version Conversion Utility?greenspun.com : LUSENET : MAME Action Replay : One Thread
Why doesn't somebody write an inp conversion utility so that I can at least view some of those recordings made with a DOS version of mame? The machine I use is unable to run DOS programs. It would also save having to download old binaries and all that reconfiguring.
-- LordGaz (firstname.lastname@example.org), May 29, 2000
there's more than just format to playing back different platformed recordings. actually the dos and windows mame's of the same version have the same file format (except for a small version number in the header of the windows format.) it's how the game is recorded or is played back that stops playabcks, sometimes recording with out sound fixes this platform incompatibility other times there's no way you'll even see a windows recording in dos or dos recording in windows.
if you really don't want to do reconfiguring, try to find a machine that the dos version works with and use it. it is about 5 times easier playing back dos versions than windows versions, no registry keys to mess with and reset in changing windows versions, The windows versions are 4 times larger to keep around as well. with the dos version, just unzip and playback, once i got all the right variables i can use the same mame.cfg for every dos playback since mame30.
in my total experience the un-optimized dos version works faster than the windows version, although at one time (before i switches some dos window memory options around) i thought the windows version was faster.
-- Chad (email@example.com), May 29, 2000.
I had the same idea a while ago. I didn't feel like having to have all different versions of MAME either. I couldn't get it to work. And I was only trying to convert a recording from, say, DOS MAME 34b3 to DOS MAME 35b6 format (so staying within the same platform). Converting from a headerless 16 bytes per frame .inp to a 32 bytes per frame .inp with a header is easy, but since drivers and MAME itself have changed, I guess there are slight timing differences that will throw playback off. And that's even staying within the same platform. Across platforms, there's also the problem of platform-dependent parts of the implementation. For some games, between some versions of MAME, it's possible to convert .inps, but, as far as I could see, for the majority it does not work.
It should, theoretically, be possible to convert an .inp from a given version of MAME to another given version of MAME, but, most of the time, this will probably require making "real" changes to the .inp, such as converting a "no input for 46 frames, followed by going left for 13 frames" to "no input for 45 frames, followed by going left for 14 frames".
The only other thing I can think of is to take a given version of MAME for one platform and then emulating that on another platform (either by changing and recompiling, or by using an actual emulator).
In one of the .36 beta versions the following change was made: "- The functionality of osd_skip_this_frame() is now more strictly defined (see osdepend.h). Ports not complying with that must be updated, otherwise problems with certain drivers might arise.". This sounds like an attempt to make .inps compatible across platforms for the same version numbers of MAME, but I don't know if it has been enough.
I am not saying it is impossible, but (apart from a few easy cases) in my opinion, an .inp conversion program would require a LOT of work.
Cheers, Ben Jos.
-- Ben Jos Walbeehm (firstname.lastname@example.org), May 29, 2000.