Jump to content
freezy

DMD Extensions v1.7.0 released

Recommended Posts

Hi guys!

I've released a new version of dmdext which includes full VNI support, giving monitor and PinDMD3 users a way to use the most recent coloring featured in PIN2DMD.

Many thanks to @lucky1 and @DJRobX for helping me debug this. There were a few other additions, so make sure to read through the changelog. 

As usual, you can find the download on the GitHub page.

Cheers and enjoy!

    -freezy.

Share this post


Link to post
Share on other sites

As a pindmd3 user. I'm very happy to see this release come to life. Not only did we get the *.vni support. I read that the xdmd code from lucky1 was added and other optimizations.

Thank you very much Freezy, DJRobX and Lucky1 !!

I must admit. I've been jealous on the pin2dmd users for having this option and since not being left out in the cold makes it much more attractive to look into how the colourizing works.

Share this post


Link to post
Share on other sites

I seem to have an issue with Freezy's DLL displaying PinMAME on Pin2DMD.  This happened with previous versions as well, but figured I'd try to update to 1.7.0.  I'm currently using Pin2DMD firmware 2.55.  

Share this post


Link to post
Share on other sites

Since I don't have a pin2dmd I'm really on thin ice here. But, that is basically what happens to me if a bad combination of *.dll files exists.

Maybe one guy that has it working - updated and all could make archive of just the files in vpinmame and see if that helps.

Share this post


Link to post
Share on other sites
5 minutes ago, Rappelbox said:

Make sure you don’t have any other dmddevice dlls in folders like syswow64, sytem32 etc.

Only in vpinmame folder! ;)

The only dmddevice.dlls I have are these.  None of which are on my OS drive.

dmddevice_search.png

 

Share this post


Link to post
Share on other sites
43 minutes ago, Rappelbox said:

I’m sure it’s a stupid question but pin2dmd enabled in the ini?

This is what my ini has:
 

>
	[global]
; how to downscale SEGA 192x64 pixel games to smaller displays: fit, fill or stretch
resize = fit
; flips the image horizontally
fliphorizontally = false
; flips the image vertically
flipvertically = false
; enable or disable frame-by-frame colorization (inactive in VPX bundle)
colorize = true
	; a DMD that renders with nice dots on a computer monitor
[virtualdmd]
enabled = true 
; virtual dmd stays on top of all other windows
stayontop = true
; hide the resize grip
hidegrip = false
; ignore the aspect ratio of the rendered dots when resizing
ignorear = false
; use VPM's registry values when positioning the virtual dmd
useregistry = false
; x-axis of the window position
left = 0          
; y-axis of the window position
top = 0           
; width of the dmd in monitor pixels
width = 1024      
; height of the dmd in monitor pixels
height = 256      
; scale the dot size (set to 0.8 for same size as pre-1.6.0)
dotsize = 1.0
	[pindmd1]
; if false, doesn't bother looking for a pinDMD1
enabled = false 
	[pindmd2]
; if false, doesn't bother looking for a pinDMD2
enabled = false
	[pindmd3]
; if false, doesn't bother looking for a pinDMD3
enabled = false  
; COM port, e.g. COM3
port =            
	[pin2dmd]
; if false, doesn't bother looking for a PIN2DMD
enabled = true   
	[browserstream]
; if enabled, stream to your browser in your LAN
enabled = false
port = 9090
	[vpdbstream]
; if enabled, stream DMD to https://test.vpdb.io/live
enabled = false 
endpoint = https://api-test.vpdb.io/
	[video]
; if enabled, writes frames to an .avi file
enabled = false   
; path to folder or .avi file. if folder, gamename.avi is used.
path =
	[pinup]
; if enabled, send frames to PinUP.
enabled = true

When running Freezy's 1.7.0 DLL the game will load, virtual DMD will show (pin2dmd display is black), but then VPM crashes and VP exits completely.  If I simply replace Freezy's DLL with the dmddevice.dll from the Pin2DMD github and everything works fine. I've ensured that I'm running Pin2DMD v2.55 firmware also tried v2.50. Ensured that PinMAME is updated, SAM dll is updated, VPX 10.5, etc. 

I do have the dmddevice.dll also in.  The dll needs to be in these folders in order for these games to work. 
D:\Visual Pinball\XDMD
D:\Visual Pinball\VPinSPA

Share this post


Link to post
Share on other sites
1 hour ago, freezy said:

Could you provide a log?

I was looking for the log earlier, but it looks like a log isn't being created. I am not running from a protected folder and have tried via Pinmame Setup and VP. There is nothing with dmddevice on my C (Windows) drive.

D:\VPinMAME
 

   

>
<target name="console" xsi:type="ColoredConsole" useDefaultRowHighlightingRules="false"
         layout="${pad:padding=4:inner=[${threadid}]} ${date} ${pad:padding=5:inner=${level:uppercase=true}} | ${message} ${exception:format=ToString}">
      <highlight-row condition="level == LogLevel.Trace" foregroundColor="DarkGray" />
      <highlight-row condition="level == LogLevel.Debug" foregroundColor="DarkGray" />
      <highlight-row condition="level == LogLevel.Info" foregroundColor="Gray" />
      <highlight-row condition="level == LogLevel.Warn" foregroundColor="Yellow" />
      <highlight-row condition="level == LogLevel.Error" foregroundColor="Red" />
      <highlight-row condition="level == LogLevel.Fatal" foregroundColor="Magenta" />
    </target>
	    <target xsi:type="File" name="file" fileName="DmdDevice.log"
       layout="${pad:padding=4:inner=[${threadid}]} ${date} ${pad:padding=5:inner=${level:uppercase=true}} | ${message} ${exception:format=ToString}"
       replaceFileContentsOnEachWrite="false"
       deleteOldFileOnStartup="true"/>
	  </targets>
	  <rules>
    <logger name="" minlevel="info" writeTo="console" />
    <logger name="" minlevel="info" writeTo="file" />
  </rules>
</nlog>
	

Share this post


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

Did you configure the dmddevice.ini correctly. Which usb driver do you use ? Libusb32 or winusb ? Maybe change with zadig.

dmddevice.ini is posted above. I don't recall which driver I'm using, but I think it's winusb... I'll have to check in the morning.

 

Share this post


Link to post
Share on other sites

Am I the only one that runs a multiple drive/partition setup? I have my OS on C drive, and VP/VPM, etc on D. I haven't tested yet, but it could be possible that Freezy's DLL isn't working for me as I have it and VP/VPM on my D drive instead of C?

Share this post


Link to post
Share on other sites

Could you paste absolute paths of your:

  • Visual Pinball main folder
  • Visual Pinball tables folder
  • Visual PinMAME folder
  • VPinMAME.dll
  • DmdDevice.dll
  • DmdDevice.ini

Share this post


Link to post
Share on other sites
8 minutes ago, freezy said:

Could you paste absolute paths of your:

  • Visual Pinball main folder
  • Visual Pinball tables folder
  • Visual PinMAME folder
  • VPinMAME.dll
  • DmdDevice.dll
  • DmdDevice.ini

D:\Visual Pinball
D:\Visual Pinball\Tables
D:\VPinMAME
D:\VPinMAME\VPinMAME.dll
D:\VPinMAME\DmdDevice.dll
D:\VPinMAME\DmdDevice.ini

My Pin2DMD works fine using v2.55 and the supplied dll from Lucky's GIT.  I can drop Lucky's dll right into my PinMAME folder, overwrite whatever dll is there and the DMD will work fine. If I drop in any of Freezy's dlls (1.6 or 1.7) they do not work and I've never been able to get them to work in the past. If I run PinMAME Setup.exe, Test a game, ex 24, Start, i see both the PinMAME DMD and Freezy's Virtual DMD, but it closes almost immediately. If I launch a VP table from VPX (any version), the virtual dmd loads and immediately closes and VPX stops responding/freezes/crashes w/no error.

PinMAME folder

vpinmame_folder.png

 

Visual Pinball folder
vpinball_folder.png

 

Share this post


Link to post
Share on other sites

Okay, two follow-up questions:

  • When doing tests, you run it directly on your cab, right? Testing by executing the files on the network share will probably not create a log indeed.
  • Is there a DmdDevice.log at D:\Visual Pinball\Tables?

Share this post


Link to post
Share on other sites

Yes, all test are done directly on the cabinet.  It's currently 100f out and I'd be sweating balls out in the garage. Only using network to grab screen captures and verify file locations. 
There is no log being created in Visual Pinball, Visual Pinball/Tables, VPinMAME.

Share this post


Link to post
Share on other sites

Honestly, I'm a bit out of ideas. I suppose you unblocked the DLL as well after placing it in the VPM folder? And you said you've searched your system for other DmdDevice.dll files that might take precedence?

Share this post


Link to post
Share on other sites

I think over the years something may have gotten corrupted... I'm just going to backup my main drive, do a complete format of the OS drive and do a fresh install of everything.

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


×