What's broken with v6
$ cd snes9x-improvement6-src/snes9x
$ dos2unix configure Makefile.in `find -iname \*.cpp -o -iname \*.h`
$ sh configure
...
$ make -k
....
gfx.cpp: In function `void S9xDisplayPressedKeys()':
gfx.cpp:3468: error: `Joypad' undeclared (first use this function)
unix.cpp: In function `int main(int, char**)':
unix.cpp:646: error: `S9xProcessEvents' undeclared (first use this function)
unix.cpp: In function `void S9xSyncSpeed()':
unix.cpp:1301: error: `S9xProcessEvents' undeclared (first use this function)
unzip/explode.c:1072:19: crc32.c: No such file or directory
unix/x11.cpp: In function `void S9xProcessEvents(bool8)':
unix/x11.cpp:1742: error: invalid conversion from `wchar_t*' to `uint8'
movie.h:136: error: too few arguments to function `int S9xMovieCreate(const char*, uint8, uint8, uint8, const wchar_t*, int)'
unix/x11.cpp:1742: error: at this point in file
So it comes down to some header file errors, something funny with the unzip code, and changing the parameters of S9xMovieCreate. I had to do some ripping, but I got it.
I'm not going to put per-frame data on the image (ie Frame counter); I'm sending it to stdout instead. That chunk of your patch I'm removing.
And now the problems from v7's source:
snapshot.cpp:602: error: `FREEZE_ERR_WRONG_VERSION' undeclared (first use this function)
(And a whole lot like it.)
i386/cpuexec.o(.text+0x45e): In function `.noOAMreset':
: undefined reference to `S9xUpdateJoypads'
And I am NOT touching the assembly core.