I've isolated the Win 7 Mamewah crash. The combination that causes problems for me is:
1. Mamewah
2. Mame
3. LCDBlinky configured for my servostik
In particular when Mamewah tries to launch a "pre_emulator_app_commandlines", Mamewah crashes, brings down the operating system and worse - wipes the mamewah config files!
I can reproduce this regularly.
I debugged the code a bit. It's been a while since I did that though. The problem seems to be when the lcdblinky executable is launched. I forget which call type that is but here are the two suspect lines of code:
Shell vstrCommandline, lngShellFlags
lngReturnVal = CreateProcessA(vbNullString, vstrCommandline, 0&, 0&, 1&, NORMAL_PRIORITY_CLASS, 0&, vbNullString, start, proc)
One of these crashes reliably. I believe mame uses CreateProcessA (because it's meant to wait). But LCDBlinky probably used Shell because it's meant to fire and forget.
My suspicion is that the need to copy windows system files from other machines is the reason for the crash. There are various system files that different people suggest copying. Among others:
dx8vb.dll
dx7vb.dll
and more.
Shell the function
appears to come from the visual basic runtime library. So perhaps Shell is broken in Visual Basic on Windows 7. Some googling found this
article. But no solution, and I've tried changing the compatibility modes to no avail.
Unfortunately I've moved onto Hyperspin - which I'm not really enjoying. I would like to go back to Mamewah, it was so much simpler. If I find the time I might try downgrading to Windows XP 64bit. But my computer shipped with Windows 8 and even in 7 a lot of features like wifi don't work (no drivers) - so I suspect things might be non workable in XP.
Thanks,
Joseph Elwell.