by RichM » Wed Dec 03, 2003 7:17 pm
Hi
I'm a software developer of some years experience but a complete innocent when it comes to RC.
Recently, I spent a couple of weeks running the SmartPropo DLL source (only source code available) under a number of different debuggers including Visual Studio and WinDbg. Frankly, what suprises me are the number of instances where you guys say it DOES WORK!? There are a huge number of exceptions thrown (even when you just run FMS with Windows own version of winmm.dll). I guess we have Borland to thank for that since FMS is built using a Borland product.
The furthest I got down that route was on the XP machine when FMS would load (with the SmartPropo DLL) but any attempt to access the Control Setting dialog would blow. Usually with the same old 0xC0000005 Access Violation.
The underlying cause for this particular error is when the interaction between SmartPropo & FMS results in a BAD ADDRESS being is passed, i.e.
...when SmartPropo (SP) intercepts a call from FMS to one of the joystick routines in Windows multimedia libraries. Having done it's business, SP then tries to return control to FMS. It is at this point that we get the 0xC0000005 Access Violation because the return address it attempts to use is generally something like 0x00000000 (i.e. garbage). This means that at sometime during SP's handling of the joystick call, the call-stack gets blown and any attempt to return to FMS goes astray.
Although I could see this happening in the debugger, I couldn't find a way to prevent it. I'm certain that the solution lies in the way the DLL is built. The calling convention used when linking separate executable modules determines how control is passed between blocks of executable code currently loaded into main memory. However, despite many attempts at building 'winmm.dll' with various combinations of function linkage, nothing that built successfully solved the problem?
Sorry for all the developer-speak, but I'm hoping someone out there with a similar background might have an idea or two?
My sound system is (on XP machine) an old (20-bit) Layal Box and a built-in Creative SB 128 on the ME machine.
Iv'e also tried SP's TechPrev 2 on the ME machine and can see all four signal types from my Sanwa RD6000 Pro, i.e. PCM1/2 & PPM +/- whizzing by happily in the Config Dialog scope-control but it has no effect whatever on the model in FMS, or indeed the bar-displays on the Calibration Screen ?
This was my main question as an RC virgin, would any of you expect my Sanwa gear to work with SmartPropo assuming I can get SmartPropo going? Am I wasting my time?
Luck to you all
RichM ???