lucky1

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

436 posts in this topic

pindmd3 here - not edited the default config.

 [1] 2016/12/20 02:20:57.726  INFO | [vpm] Open()
 [1] 2016/12/20 02:20:57.742  INFO | [vpm] PM_GameSettings(0)
 [1] 2016/12/20 02:20:57.742  INFO | Disabling game colorization
 [1] 2016/12/20 02:20:57.742  INFO | Setting game name: twd_156h
 [1] 2016/12/20 02:20:57.742  INFO | Setting color: #FFBC2C41
 [1] 2016/12/20 02:20:57.821 DEBUG | No palette file found at C:\Visual_Pinball\VPinMAME\altcolor\twd_156h\pin2dmd.pal.
 [1] 2016/12/20 02:20:57.821  INFO | Opening virtual DMD...
 [8] 2016/12/20 02:20:57.885 DEBUG | PinDMDv1 device not found.
 [8] 2016/12/20 02:20:57.911 DEBUG | PinDMDv2 device not found.
 [8] 2016/12/20 02:20:57.911 DEBUG | Checking port COM1 for PinDMDv3...
 [8] 2016/12/20 02:20:57.992 DEBUG | Error: The parameter is incorrect.
 [8] 2016/12/20 02:20:57.992 DEBUG | Checking port COM3 for PinDMDv3...
 [8] 2016/12/20 02:20:58.118  INFO | Found PinDMDv3 device on COM3.
 [8] 2016/12/20 02:20:58.118 DEBUG |    Firmware:    REV-vPin-01008
 [8] 2016/12/20 02:20:58.119 DEBUG |    Resolution:  128x128
 [8] 2016/12/20 02:20:58.219  INFO | Added PinDMDv3 renderer.
 [8] 2016/12/20 02:20:58.232 DEBUG | PIN2DMD device not found.
 [8] 2016/12/20 02:20:58.232  INFO | Added VirtualDMD renderer.
 [8] 2016/12/20 02:20:58.232  INFO | Applying color to DMD...
 [8] 2016/12/20 02:20:58.232 ERROR | Destination "PinDMD v3" is not 2-bit compatible.
 [8] 2016/12/20 02:20:58.232 ERROR |    at LibDmd.RenderGraph.AssertCompatibility(IFrameDestination dest, Object castedDest, String what) in C:\Development\dmd-extensions\LibDmd\RenderGraph.cs:line 335
   at LibDmd.RenderGraph.AssertCompatibility(IFrameSource src, Object castedSource, IFrameDestination dest, Object castedDest, String what, String whatDest) in C:\Development\dmd-extensions\LibDmd\RenderGraph.cs:line 323
   at LibDmd.RenderGraph.StartRendering(Action onCompleted, Action`1 onError) in C:\Development\dmd-extensions\LibDmd\RenderGraph.cs:line 212
   at PinMameDevice.DmdExt.<SetupGraphs>b__21_0(RenderGraph graph)
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at PinMameDevice.DmdExt.SetupGraphs()
   at PinMameDevice.DmdExt.<CreateVirtualDmd>b__20_0()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

 

Share this post


Link to post

@freezy Now it semi-works. If I don't change config I get virtualdmd with correct colors and the real dmd with default orange.

change enable = false under [virtualdmd] and this happens.

 [1] 2016/12/21 01:45:32.715  INFO | [vpm] Open()
 [1] 2016/12/21 01:45:32.731  INFO | [vpm] PM_GameSettings(0)
 [1] 2016/12/21 01:45:32.731  INFO | Disabling game colorization
 [1] 2016/12/21 01:45:32.731  INFO | Setting game name: twd_156h
 [1] 2016/12/21 01:45:32.731  INFO | Setting color: #FFD90000
 [1] 2016/12/21 01:45:32.810 DEBUG | No palette file found at C:\Visual_Pinball\VPinMAME\altcolor\twd_156h\pin2dmd.pal.
 [1] 2016/12/21 01:45:32.823 DEBUG | PinDMDv1 device not found.
 [1] 2016/12/21 01:45:32.849 DEBUG | PinDMDv2 device not found.
 [1] 2016/12/21 01:45:32.849 DEBUG | Checking port COM1 for PinDMDv3...
 [1] 2016/12/21 01:45:32.930 DEBUG | Error: The parameter is incorrect.
 [1] 2016/12/21 01:45:32.930 DEBUG | Checking port COM3 for PinDMDv3...
 [1] 2016/12/21 01:45:33.060  INFO | Found PinDMDv3 device on COM3.
 [1] 2016/12/21 01:45:33.060 DEBUG |    Firmware:    REV-vPin-01008
 [1] 2016/12/21 01:45:33.060 DEBUG |    Resolution:  128x32
 [1] 2016/12/21 01:45:33.162  INFO | Added PinDMDv3 renderer.
 [1] 2016/12/21 01:45:33.182 DEBUG | PIN2DMD device not found.
 [1] 2016/12/21 01:45:33.182  INFO | Applying color to DMD...
 [1] 2016/12/21 01:45:33.182 ERROR | Object reference not set to an instance of an object.
 [1] 2016/12/21 01:45:33.182 ERROR |    at PinMameDevice.DmdExt.SetupGraphs()
   at PinMameDevice.DmdExt.Init()
   at PinMameDevice.DmdDevice.GameSettings(String gameName, UInt64 hardwareGeneration, IntPtr options)

 

Share this post


Link to post
21 hours ago, freezy said:

Result of the video streaming feature

mtl_164c.avi

How hard is it to make a color patch version for Metallica LE (mtl170h?) 

Share this post


Link to post
3 minutes ago, DJRobX said:

How hard is it to make a color patch version for Metallica LE (mtl170h?) 

You just need to add two lines to the pinball browser macro. I plan to have a look at all macros over holidays but first I have to get there 

Share this post


Link to post
9 hours ago, lucky1 said:

You just need to add two lines to the pinball browser macro. I plan to have a look at all macros over holidays but first I have to get there 

Where do we get the macros?  Or any of the color patches for stern ROMs for that matter?   My google fu is bad today.  All I can find is a post from you referencing that they exist, but not the actual files.   I'm excited to try the colorization feature out.  

 

Share this post


Link to post
19 minutes ago, DJRobX said:

Where do we get the macros?  Or any of the color patches for stern ROMs for that matter?   My google fu is bad today.  All I can find is a post from you referencing that they exist, but not the actual files.   I'm excited to try the colorization feature out.  

 

This thread:

 

Share this post


Link to post
On 19. Dezember 2016 at 6:36 PM, Blashyrk said:

Win 7 freshly installed and I tried Carny's build (2.45D) I'm still getting the same error :(

Please try to copy the dmddevice.dll to your %WinDir%\SysWOW64 directory 

Share this post


Link to post
10 hours ago, lucky1 said:

Please try to copy the dmddevice.dll to your %WinDir%\SysWOW64 directory 

I have allready tried, it makes no difference :(

Share this post


Link to post

Here's the latest version of the dmdext DLL. It now supports dynamic DMD resolution, so if you have a physical DMD, Baywatch & co. will properly get scaled down. How it gets resized you can define in the .ini file. The virtual DMD will adapt its size. Valid options are:

  • stretch - Just fill the available space and ignore the aspect ratio
  • fill - Fill it up so the whole DMD is filled while keeping aspect ratio intact. Pixels will be cropped off.
  • fit - Scale it so the whole image fits on the DMD while keeping aspect ratio intact. There will be white space (uh, more like black space).

The option is called "resize" under "[global]" in the .ini file.

There were a lot of refactorings to make this happen, and I spent more time on testing than last time, but don't expect miracles :)

DmdDevice.dll

 

EDIT: Oh, and h/v flip was added as well. Here the new options with their default values:

[global]
resize = fit
fliphorizontally = false
flipvertically = false

 

Share this post


Link to post
2 hours ago, Blashyrk said:

Thanks, I'll try that when I get home from work :)

The patch adresses a problem with Windows7 and LoadLibraryEx which we use to load the DLL which may be the root of your problem.

Find attached a version of vpinmame which uses old LoadLibray command alternatively if LoadLibraryEx fails. Problem with that
is that you have to copy your dmddevice.dll to the current working directory (e.g. tables folder for vpx) to make it work.

For a first test copy your dmddevice.dll in the vpinmame folder and use setup->test to see if you still get dmddevice not found error.

 

VPinMAME.dll

Share this post


Link to post

@freezy This must be a x-mas release.  So many lovely colors , like a x-mas tree. Thank you ;-)

1) Can't turn off the virtualdmd from ini file.

2) virtual now stays default orange color., before it had the color I told it to use.

3) pindmd3 seems to cycle through all its. colors, slowly..

4) If i try to start pindmdconfig.exe - I do get a Unhandeled exception, expected I guess. To me it seems the color cycle might match what I've set in this tool. 5%..

Ah - yes, the scale is an awesome hack, looked to be working for the pindmd3 as well,

 

DmdDevice.ini

DmdDevice.log

Share this post


Link to post

Interesting, seems only one device gets colored on multiple outputs. Hmm...

I just got the alpha numeric rendering working. Will need to fiddle some more with it, but it looks good so far.

Will try to reproduce the "enabled = false" for the virtual DMD. Thanks for testing!

Share this post


Link to post
10 hours ago, lucky1 said:

The patch adresses a problem with Windows7 and LoadLibraryEx which we use to load the DLL which may be the root of your problem.

Find attached a version of vpinmame which uses old LoadLibray command alternatively if LoadLibraryEx fails. Problem with that
is that you have to copy your dmddevice.dll to the current working directory (e.g. tables folder for vpx) to make it work.

For a first test copy your dmddevice.dll in the vpinmame folder and use setup->test to see if you still get dmddevice not found error.

 

VPinMAME.dll

Having done the updates and trying to get the new modulated flashers to work has been unsuccessful for me. I have tried many of the new VpinMame.dll's but always seem to get the "No DmdDevice found" error. The table will work with the new flashers but just no PinDMD3 support. So I just saw this and tried this new VpinMame.dll and everything works great! Just finished playing the new Medieval Madness and wow! Also just tried the new Tron v1.3f and the ramp lighting is amazing.

So if you have a PinDMD3 this is the new VpinMame.dll you need, well atleast for me anyway. Thank you very much lucky

Share this post


Link to post

@Thalamus In your .ini you have the virtual DMD enabled? I tried setting it to enabled false and it seems work? There must be a way to turn the color cycling off. It's when 2-bit frames are sent to the display.

I've released a new version of dmdext at GitHub. It includes alphanumeric rendering as well:

    https://github.com/freezy/dmd-extensions/releases/tag/v1.4.0

If someone with a PinDMD1 or PinDMD2 happens to read this, please take a minute and just try "dmdext test" to see if everything still runs correctly.

 

Share this post


Link to post

 

57 minutes ago, jweber said:

Having done the updates and trying to get the new modulated flashers to work has been unsuccessful for me. I have tried many of the new VpinMame.dll's but always seem to get the "No DmdDevice found" error. The table will work with the new flashers but just no PinDMD3 support. So I just saw this and tried this new VpinMame.dll and everything works great! Just finished playing the new Medieval Madness and wow! Also just tried the new Tron v1.3f and the ramp lighting is amazing.

So if you have a PinDMD3 this is the new VpinMame.dll you need, well atleast for me anyway. Thank you very much lucky

I think you should also install the patch because that is the reason why the other versions are not working. My modified dll ist just there to proof that Win7 has a problem without the patch.

 

Share this post


Link to post

Thanks for the reply. I did not know that was the reason it wasn't working for me, I will give the patch a try.

Share this post


Link to post
16 hours ago, lucky1 said:

... and with this patch installed ?

http://go.microsoft.com/fwlink/p/?linkid=217865

You can also use that link and choose you OS language

https://www.microsoft.com/de-de/download/details.aspx?id=26767

Thanks lucky, I installed this patch .. rebooted 

Downloaded the 2.45 zip from first post and installed the dmddevice for pindmd3 and the vpinmame.dll from the package and it works now ..loading tables works great manually and from PBX although from PBX the DMD does not show while browsing tables anymore. Maybe an update i missed for PBX recently.

**updating PBX to v2.28 fixed the pinDMD3 not displaying in PBX during the tables selection.

All is up to date and working now

Really appreciate the direction, thanks again.

Share this post


Link to post
25 minutes ago, Dazz said:

So this now supports virtual DMD like on a 3rd LCD screen?

YES!

:D

And that means being able to run the patched full color code that used to run only on pin2dmd (in a future update). But right now it means running outside of the VPM renderer (dots instead of square pixels, > 4 shades, etc.) Really good stuff!

Share this post


Link to post

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