Jump to content
lucky1

SAM Build with modular DMD drivers for pindmd1,2,3 and PIN2DMD

Recommended Posts

Thanks Dave ! I´m currently in contact with RussDX who hopefully will provide me a static .lib of his driver which will help do get rid of the 
pindmd.dll. Then in the end you only need to copy the dmddevice.dll to your pinmame folder to make pindmd3 work. I already made a build
for pindmd2 that way and it is working fine. PIN2DMD dll is already built that way also for usage with winusb drivers, which get automatically installed
when you plug in your device for the first time. libusbk.dll is only need in backward compatibility mode for applications which need old libusb-win32 drivers.

Share this post


Link to post
Share on other sites

New zip file with latest vpm and drivers in first post. Now also includes dlls for pinballx and ultradmd. You just need to replace the existing dlls in the directories and add the dmddevice.dll for your device  into the same directory. Now pindmd2 and pindmd3 also work without additional dlls like libusb0.dll or pindmd.dll. 

Thanks for extensive pindmd3 testing to DStott.

Share this post


Link to post
Share on other sites
13 minutes ago, toxie said:

no, you do not need to in this case.

btw, @lucky1: pindmd2 never needed an external .dll anyway

It needed the libusb0.dll to work, which is now part of the dmddevice.dll

Share this post


Link to post
Share on other sites

I made a build which is pretty much based on the 2.7 (Carny´s 2.36) release version but contains my AlvinG and Gottlieb DMD fixes as well as the dmddevice patch. Also a build based on Carny´s latest 2.43b. Both attached to the first post. From now on you can take
the vpinmame.dlls from Carny. and use them with the dmddevice drivers.

Share this post


Link to post
Share on other sites

@lucky1

Tested this version with the very new Star Trek LE and the good news is that that the external Pin2DMD is now working.

However: THIS is not working anymore:

With 4 color Stern table GTXJOE made a script which is called Palette loading: it does a call to the pin2dmd.exe and you can pass p x as parameter (x= 1 to 8) for the (monochrome) palette color.

Now, when using the new files I do see when starting a table that the color does change to the color I did specify in the script command but when the table initioalizes more the DMD color will turn back to standard-red.

 

When replacing the vpinmame.dll file to the older one (as can be found on this site at the start page) the script works flawlessly so it's in the dll file.

Are you able to change thiss?

Thank you for your work!

 

Share this post


Link to post
Share on other sites

Look at the ReadMe.txt in the pin2dmd directory of the zipfile

Quote

Please copy the dmddevice.dll file into your PinMAME installation folder.
If you run your PIN2DMD device in compatibility mode with libusb-win32
drivers installed instead of WinUSB, you also need to copy libusbk.dll 
to your PinMAME folder. You can switch drivers using Zadig utility.

This driver automatically loads color information from pin2dmd.pal files in the 
subfolder named altcolor\"gamename" of PinMAME. 
(e.g. c:\pinmame\altcolor\tz_92\pin2dmd.pal for TwilightZone 9.2 ROM). 

For latest PIN2DMD dmddevice.dll drivers visit
https://github.com/lucky01/PIN2DMD

For more information visit the project's web site at:
http://www.pin2dmd.com
 

If you want shades of a single color just pick it in the gamesettings of your table without checking colorize,

You don´t need that script anymore.

Share this post


Link to post
Share on other sites
21 hours ago, lucky1 said:

If you want shades of a single color just pick it in the gamesettings of your table without checking colorize,

You don´t need that script anymore.

Thank you for that suggestion.

 

It seems to work partially however there is something strange about the colors selected and the colors not being displayed on the DMD.

i.e. I want to have magenta as is one of the default PIN2DMD colors.

By pressing F1 I select magenta: R7  G248 G248 and shade 76% 33% 20% (changed this last one to 0 as well).

But with this settings the display remains totally blank.

Changing it to more hard/100% colors seems to be ok  (like R255 G0 B0 for Red etc).

 

What s the secret around here?

 

Share this post


Link to post
Share on other sites

The default Cyan (light blue) palette in the firmware is based on R0 G255 B255 which works.

I have updated the driver in the first post to allow calculation from smaller values,

like your example R7 G248 B248. 

Share this post


Link to post
Share on other sites

It works! Great, thanks!
 

I updated the pinmame.dll so therefore there was no change.   I tried also some 'obscure' colors by just randomly picking them in the Windows color-chart and they all work well (although the result on the display might not what you want but technically said it works, great!)

 

Share this post


Link to post
Share on other sites

Quick questions, becuase it's hard to follow and becuase I could find the information anywhere. Lucky, are your changes to vpinmame included in the current 2.45(a)?

Edit: Another question: Are the xdmd.dll and xdmdnative.dll supposed to replace the according dlls in both Pinballx AND Visual Pinball?

Edited by fuzgi
Another question

Share this post


Link to post
Share on other sites

Since Toxie commited my changes to the official pinmame repository every build based on the latest code does contain these changes.
I just updated the dmddevice.dll for pin2dmd in the archives of the first post. So you can take this dll and the latest release from Carny or DJRobx

Share this post


Link to post
Share on other sites

Thanks a lot for the quick answer! I guess I take this also as a "yes" to the second qustion. Keep up the highly apperciated and even more impresive work!

Share this post


Link to post
Share on other sites

Unfortunately, my update of VPinMame from 2.37 to current 2.45a did not go as well as I expected. Hmm, well, VPinMame seems to work, but the Pin2DMD does not anymore. I get the same error as Bent did: "No DMD device driver found" from the DmdDevice.dll.

What I did in this order:

1. Updated to 2.43: Added the PinMAME.exe to my VPinMame folder. (only this file becuase the included vpinmame.dll and the sam.vbs would be replaced anyway again). Source of 2.43: VPUniverse Downloads.
2. Updated to  2.45a: Replaced my old sam.vbs and vpinmame.dll with the new ones. Sourc of the files: Carny's post over at the "code change" thread
3. Update to 2.43b (PinDMD only): Added the dmddevice.dll and the libusbK.dll to my VPinMAME directory. Left the vpinmame.dll in there untouched to not overwrite 2.45a again. Sourc of the files: First post of this thread.
4. Ran VPinMAME's Setup.exe and it installed sucessfully.
5. Replaced XDMD.dll and XDMDNative.dll in both relevant directories: (1) "Visual Pinball\XDMD" and (2) "PinballX"

-----

So, compared to the perfectly running 2.37 the following new files were added or replaced:

- PinMAME.exe / dated 31.10.2016 / VpinMAME directory
- sam.vbs / dated 25.11.2015 / Scripts directory
- vpinmame.dll / dated 30.11.2016 / VPinMAME directory Size: 1'718'272 bytes
- dmddevice.dll / dated 15.11.2016 / VPinMAME directory / Size: 92'672 bytes
- libusbK.dll / dated 30.01.2016 / VPinMame directory / Size: 84'280 bytes
- XDMD.dll / date 4.11.216 / Visual Pinball\XDMD AND PinballX directories / Size: 268'288 bytes
- XDMDnative.dll / dated 4.11.216 / Visual Pinball\XDMD AND  PinballX directories / Size: 85'504 bytes

Did I miss something? Pin2DMD.dll or libusb0.dll or libusb-1-0.dll maybe from the latest PIN2DMD master? What are those for?
Or do I have to delete older dlls like pindmd.dll and ftd2xx.dll that were used back in april or so?

-----

So, can you guys please help me with that? Where to go from here?

My best guess is that there is something wrong with my Pin2DMD driver setup. VPinMAME 2.45a works without a "External DMD Device" enabled. From my amateur perspective the dedicated DMDDevice.dll for Pin2DMD seems to work, becuase it's able to give me an error message. But it can't find or communicated with the driver for Pin2DMD, which in my understanding is the libusbK.dll. After that my understanding of what's happening then approaches 0. So I might be completely wrong. Interesstingly the PIN2DMD also stopped working in PinballX BUT there was no error message.

-----

Some relevant info on my setup:

-Win7 64bit
-V2.30 firmware on Pin2DMD
-Drivers for Pin2DMD:
   \system32\drivers\libusb0.sys
   \system32\libusb0.dll
   \system32\libusbk.dll
   \syswow64\libusb0.dll
-all other Pinball software running perfectly, no other major issues with the system

Share this post


Link to post
Share on other sites

This is the very latest build which includes a patch from lucky1 incorporated into the official source today. Don't know if it will help you. I have no way to test this myself.

r4119

Note - this does not include the work DJRobX is doing for MTL LE as that has not been committed yet.. Authors should use the latest DJRobX build. This is mainly for testing out Pin2DMD. I think lucky1 has already posted all of the other drivers that are needed. 

 

PinMAME_SAM_2.45b.zip

Share this post


Link to post
Share on other sites
16 minutes ago, CarnyPriest said:

This is the very latest build which includes a patch from lucky1 incorporated into the official source today. Don't know if it will help you. I have no way to test this myself.

r4119

Note - this does not include the work DJRobX is doing for MTL LE as that has not been committed yet.. Authors should use the latest DJRobX build. This is mainly for testing out Pin2DMD. I think lucky1 has already posted all of the other drivers that are needed. 

 

PinMAME_SAM_2.45b.zip

Thanks for trying to help. Unfortunately this version of VPinMAME.dll didn't solve my problem. Same result again.

Why's that file so big compared to older dlls? Something big coming? ;-)

Share this post


Link to post
Share on other sites

No. I usually compress the file before publishing. I wasn't intending on publishing this one because DJRobX already has a build out today, but threw this out there to see if it would solve your issue. 

I'm not sure what is going on. The source also updated the pin2dmd devicedmd.dll. I assume that it is identical to what lucky1 posted today, but if you want to try it out. Who knows?

dmddevice.dll

dmddevice64.dll

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×