All inps are, are a log on the input ports throughout a game (ie:
controls and DIP switches). The format is more or less the same
across ports, with just a few exceptions. MAME (DOS and Win32
console) and XMAME have 32-byte header, which contains the romset
(short name) that it was recorded with. MAME32 adds to it, by
including the version number as well. MacMAME, as mentioned, has no
header at all. Other MAME ports will see this, and requires the
romset to be named (or selected in the case of MAME32). After the
header (if there is one), it's just a log of the input ports (40
bytes per frame).
<p>
Anyway, the main reason why many non-windows inps won't playback
correctly under win32, is because the CPU cores differ. Of course,
if all the CPU cores in MAME were perfect, it wouldn't be an issue.
But unfortunately they aren't. MAME and MAME32 use ASM 68000 (not
68020), Z80 and 6809 cores, which cannot work under a Mac or a non-
x86 based Unix/Linux PC, and the 68000 is used in a fair share of
arcade games in MAME.
<p>
Basically, it is just trial and error to see if an inp from MacMAME
will work with MAME or MAME32 (or whatever).
<p>
Anyway, that's enough waffle from me.
--
bsr@hnpl.net