Fireworks mini app using LD2000 SDK

mikkojay

Member
Hello All,
This summer I played around with a little experimental program to create simulated fireworks on the laser projector. I cannot take full credit, I actually started from an open source fireworks application written by a guy named Guillaume Chouteau. I used the LD2000 SDK and the end result ended up being kind of a fun little app.

I sent some info to Bill and he was kind enough to create a page with more details here. Thanks!

By all means, please check it out- and if anyone has any questions, just ask.

I have some enhancements in mind, but that might have to wait for next 4th of July.

Also, if anyone needs a C# wrapper for the LD2000 SDK, just let me know.

-Mike

tn_screen.jpg


tn_LD2000Frames.jpg
 
Is there also an way to get it running on a 64bit machine?

The current error i get is that the program has made an exeption on the file LDCMDS32 initialisation.

Best Regards..

Program looks great. Sound is running also. But no output or preview.
 
Last edited:
I think the only way to get that truly tested and working would be for me to obtain a 64bit system to test with. I don't have one at the moment though.
This transition to 64 bit seems to be causing all kinds of fun surprises in the programming world. With any luck I will be retired by 2029 when someone decides we need to go to 128 bit :)
-Mike
 
You might try right-clicking on the program EXE file, and choose "Properties". Many microsoft operating systems allow you to run a program in a "compatibility mode". See if you can try running it as a different operating system (for example XP).

Best regards,

William Benner
 
Already tried that aproach.. But it has someting to do with the .net version i think. There are some diffrences betwean the 86 and 64 version.
 
On the exception message box, is there a "details" link?
I would be curious to see the specific exception message.
You are running Vista and the framework was already part of your OS, right?
-Mike
 
I have a dutch verson of vista x64. So the error is also in dutch..
I think i translated the most importend things

(Just In Time)

************** text from exeption. **************
System.TypeInitializationException: De type-initialisatiefunctie for FireWorksSimulator.LDCMDS32has made an exeption error. ---> System.TypeLoadException: Het type ProjectionZone from the assembly FireWorks2000, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null cannot be loaded cause of offset 180 een objectfield contains that is incorrectly alignt or overlapt by an field thats no object.
at FireWorksSimulator.LDCMDS32..cctor()
--- end of internal exeptionsstackpad ---
at FireWorksSimulator.LDCMDS32.BeginSessionEx(Int32& version, Int32& maxframes, Int32& maxpoints, Int32& maxbuffer, Int32& numberofundos, Int32& Status)
at FireWorksSimulator.FireWorksSimulatorMainWindow.FireWorksSimulatorMainWindow_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded assembly's **************
mscorlib
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3074 (QFE.050727-3000)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
FireWorks2000
Assembly-versie: 1.0.0.0
Win32-versie: 1.0.0.0
CodeBase: file:///C:/LD2000/Fireworks2000/FireWorks2000.exe
----------------------------------------
System.Windows.Forms
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Interop.WMPLib
Assembly-versie: 1.0.0.0
Win32-versie: 1.0.0.0
CodeBase: file:///C:/LD2000/Fireworks2000/Interop.WMPLib.DLL
----------------------------------------
Multimedia
Assembly-versie: 5.0.0.0
Win32-versie: 5.0.0.0
CodeBase: file:///C:/LD2000/Fireworks2000/Multimedia.DLL
----------------------------------------
mscorlib.resources
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3074 (QFE.050727-3000)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_nl_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT-error tracking **************


Than i press continue, and the second exeption error comes ;

************** Tekst van uitzondering **************
System.TypeInitializationException: De type-initialisatiefunctie voor FireWorksSimulator.LDCMDS32 heeft een uitzondering veroorzaakt. ---> System.TypeLoadException: Het type ProjectionZone uit de assembly FireWorks2000, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null kan niet worden geladen omdat het bij de offset 180 een objectveld bevat dat onjuist is uitgelijnd of dat wordt overlapt door een veld dat geen object is.
bij FireWorksSimulator.LDCMDS32..cctor()
--- Einde van intern uitzonderingsstackpad ---
bij FireWorksSimulator.LDCMDS32.SetWorkingTracks(Int32 trackcode)
bij FireWorksSimulator.SimulatorControl.OnPaint(PaintEventArgs pe)
bij System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
bij System.Windows.Forms.Control.WmPaint(Message& m)
bij System.Windows.Forms.Control.WndProc(Message& m)
bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** loaded assembly's **************
mscorlib
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3074 (QFE.050727-3000)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
FireWorks2000
Assembly-versie: 1.0.0.0
Win32-versie: 1.0.0.0
CodeBase: file:///C:/LD2000/Fireworks2000/FireWorks2000.exe
----------------------------------------
System.Windows.Forms
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Interop.WMPLib
Assembly-versie: 1.0.0.0
Win32-versie: 1.0.0.0
CodeBase: file:///C:/LD2000/Fireworks2000/Interop.WMPLib.DLL
----------------------------------------
Multimedia
Assembly-versie: 5.0.0.0
Win32-versie: 5.0.0.0
CodeBase: file:///C:/LD2000/Fireworks2000/Multimedia.DLL
----------------------------------------
mscorlib.resources
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3074 (QFE.050727-3000)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
Assembly-versie: 2.0.0.0
Win32-versie: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_nl_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

Then i press continue and the program is opend, I see a white field with a red cross in it where the preview should be, and "turn laser on" is grayd out..
 
Last edited:
Thanks for the detail- it is actually quite helpful.
It looks like the problem is that my wrapper class for the LD2000.dll has an issue with the way I have the ProjectionZone structure mapped. Since I am not actively using this structure in this project, it might be easiest to just comment it out, along with the few functions that reference this structure.
When I get a chance, I'll compile a test program and attach it to this thread. If that test program initializes the QM board OK, then I can propagate those changes to the fireworks, and other, apps.
I would still like to determine the issue with the mapping in the ProjectionZone stucture as I have it. It is interesting why 32 bit systems don't seem to mind. Thank goodness for Google.
-Mike
 
I am struggling to get Fireworks2000 to load too and am getting the same error message
Running Windows 7 64bit.
i have tried running it in compatibility mode but with no luck.
Any ideas?

Cheers
Rich
 
Which "same error message"? Please provide details.

We do know that the Fireworks 2000 program requires certain Microsoft components to be installed. (Some version of Dot Net as we recall.) I believe the details are contained in a text file that was a part of the download, and may also be on the portal "details" section as well.

If the error message is of a Microsoft nature, then I'll be willing to bet that the problem is Dot Net or something like that.

This particular program was not written by Pangolin. It was written and donated by a very generous Pangolin user. We will try to bring forth an answer, but in this particular case, our ability to bring forth a complete solution may be limited...


Best regards,

William Benner
 
Back
Top