Jump to content




Photo
* * * * * 6 votes

FlexDMD, an UltraDMD alternative

UltraDMD DMD

  • Please log in to reply
815 replies to this topic

#1 vbousquet

vbousquet

    Enthusiast

  • Members
  • PipPipPip
  • 103 posts

  • Flag: France

  • Favorite Pinball: Cue Ball Wizard, Tron Legacy, Terminator 2

Posted 28 January 2020 - 10:20 PM

Hi,

 

I needed to fix a few problems with UltraDMD as well as add new features I wanted for my personal setup. This lead me to develop an open-source DMD rendering library with these features ;

  • provide a flexible enough API to be able to create DMD scene in the script (as opposed to using predefined scene from the script), for example to create 'Video Mode',
  • allow to easily add DMD to JPSalas latest tables,
  • supports rendering inside VPX as an embedded DMD for desktop fullscreen exclusive mode,
  • uses Freezy's DMD Extension to support all type of output (virtual DMD, real DMD, network, capture,...),
  • support 32 and 64 bits mode, to be used as well as a plugin for PinballY,
  • provide a drop-in replacement for UltraDMD, fixing a few things,
  • provide scripts for a few great original tables (Diablo III, Minions, American Most Haunted, Metal Slug, Ghostbusters Slimer, Serious Sam,...).

Everything is available on GitHub here. It is now fully working and largely tested with most tables designed for UltraDMD or FlexDMD. A demo table is also available (example video).

 

Use the following link to download and install the latest version: Github releases.

 

On GitHub, you will also find a directory called 'Scripts' that contains modified scripts for a few popular tables, adding DMDs to JPSalas tables or moving from UltraDMD to FlexDMD. Just download them and place them in your 'table' directory alongside the .vpx table file. VPX 10.6+ will use them. You will also find a script for PinballY frontend for a custom DMD in it.

 

Best regards,

 

             Vincent


Edited by vbousquet, 27 March 2021 - 11:34 PM.


#2 TerryRed

TerryRed

    Pinball Fan

  • Silver Supporter
  • 1,628 posts

  • Flag: Canada

  • Favorite Pinball: Too many to choose...

Contributor

Posted 28 January 2020 - 11:20 PM

Sounds like great stuff!

 

 

One correction for your excellent Visual Pinball architecture diagram....

 

What you have for pup is correct for VPX...but only if using a pup-pack and the b2s server plug-in. That is only one aspect of how pup works.

 

PuP is a com object that can be used and accessed directly from VPX without needing anything else. You would use direct pup commands. An example of this would be Stranger Things SE or my first Tron Legacy: PuP Edition mod.

 

Also there is PUPDMD for text and scoring which can work in a similar way...direct commands from table script.... no b2s server.

 

Pup-Packs are what use the PuP B2S Server plug-in to trigger pup events in a pup-pack using Exx, Sxx, Lxx, etc triggers.

 

 

 

I know the community will be very thankful for progression to an ultradmd update / replacement with new features... especially for real dmd users. 

 

For pup users this may be a good thing as well, as most problems people run into trying to use pup are related to ultradmd files.... moreso for real dmd users


Edited by TerryRed, 28 January 2020 - 11:54 PM.


#3 NailBuster

NailBuster

    Enthusiast

  • Members
  • PipPipPip
  • 291 posts

  • Flag: Canada

  • Favorite Pinball: YES

Posted 28 January 2020 - 11:40 PM

interesting,  i like the ultradmd replacement feature.

 

quick question:  are you using freezy dmddevice.dll with the ultradmd replacement?  i know many lcd users have had issues with tables and registry settings for placement of the ultradmd for LCD screens.  would be great if it just used the freezy default position for that.

 

Also,  seems calls to ultradmd were causing 'blocking' of main script threads via the com-calls.  do the com/activex calls to flexdmd support non-blocking threads to help with the performance of ultra-dmd tables?

 

always great to see devs adding to the vpx eco-system to fix/improve things....thx



#4 LynnInDenver

LynnInDenver

    Pinball Fan

  • Members
  • PipPipPipPip
  • 570 posts
  • Location:Denver

  • Flag: United States of America

  • Favorite Pinball: Genie

Posted 29 January 2020 - 12:59 PM

I'll definitely have to play with this over the next couple of weeks. Not that it will end my drive for PostDMD, but if it pans out as a replacement for the abandoned, poorly documented and not polished UltraDMD, I can expect we'd see UltraDMD support "go away" except for those aiming specifically for "just needs the VPX installer".



#5 vbousquet

vbousquet

    Enthusiast

  • Members
  • PipPipPip
  • 103 posts

  • Flag: France

  • Favorite Pinball: Cue Ball Wizard, Tron Legacy, Terminator 2

Posted 29 January 2020 - 02:33 PM

 

PuP is a com object that can be used and accessed directly from VPX without needing anything else.

 You're right, my bad, I will update the diagram with this, asap.

 

 

quick question:  are you using freezy dmddevice.dll with the ultradmd replacement?  i know many lcd users have had issues with tables and registry settings for placement of the ultradmd for LCD screens.  would be great if it just used the freezy default position for that.

Yes, all outputs are made thourgh Freezy's DmdDevice.dll, therefore supporting all outputs and devices it supports, and using its virtual DMD size & location. The idea is that DMD from original table should be rendered the same way as the DMD coming from VPinMame.

 

 

Also,  seems calls to ultradmd were causing 'blocking' of main script threads via the com-calls.  do the com/activex calls to flexdmd support non-blocking threads to help with the performance of ultra-dmd tables?

The stutterings caused by UltraDMD were one of the reasons I developped FlexDMD. I can not tell for sure (feedback welcomed !) but I was not able to play America's Most Haunted with UltraDMD due to these stutterings on my setup, while it plays nicely with FlexDMD. On a technical point of view, FlexDMD is an in process COM object, therefore running in the context of its caller (VPX) with all rendering done on a separated thread (not the script thread).

 

 

what do you mean by video mode?

real video?

By 'Video Mode', I mean to be able to have a video mode feature in the pinball (like the saucer attack from Attack from Mars, or the Terminator shooting in T2,...). To be able to do this, you need an API that offers the script with full access to the rendering, as opposed to an API that only allows predefined scene to be played. One of the next step of the project is to prepare a demo table with this type of feature after a bit more feedback/stabilization.

 

Thanks all for the supporting feedback !


Edited by vbousquet, 29 January 2020 - 02:35 PM.


#6 The Loafer

The Loafer

    Pinball Wizard

  • VIP
  • 3,458 posts
  • Location:Embrun, Ontario, Canada

  • Flag: ---------

  • Favorite Pinball: Superman, Firepower & Tron



Posted 29 January 2020 - 03:15 PM

vbousquet:  When I saw the subject, I was immediately going to post "Yeah, yeah" (probabably more polite).  Many times over the years we have seen some good intentioned developements, either with new pinball editors or add-ons like ultradmd.  But always, development stagnates and ends up the same:  dead cold because they are not getting the most important issue right out of the gate: having it open sourced.  Right in your 2nd sentence, you addressed this, then proceeded with a great list of features this will have.

 

Thank you for working on this and very happy to see the direction you are taking.  Looks like a winning plan to me!



#7 vbousquet

vbousquet

    Enthusiast

  • Members
  • PipPipPip
  • 103 posts

  • Flag: France

  • Favorite Pinball: Cue Ball Wizard, Tron Legacy, Terminator 2

Posted 29 January 2020 - 05:45 PM

..., then proceeded with a great list of features this will have.

Perhaps, I was not clear on the feature list ; these are not planned features, but the features available to test right now in the 0.1 release that you can download from GitHub (in the release tab).



#8 The Loafer

The Loafer

    Pinball Wizard

  • VIP
  • 3,458 posts
  • Location:Embrun, Ontario, Canada

  • Flag: ---------

  • Favorite Pinball: Superman, Firepower & Tron



Posted 29 January 2020 - 10:31 PM

Wow nicely done then. Will try it this weekend merci beaucoup!

#9 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,701 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 29 January 2020 - 10:58 PM

I'm getting old but I am not blind

Obviously I missing something here because I cannot locate these files or a place to download them

 

FlexDMDUI.exe

FlexDMD.dll

FlexUDMD.dll



#10 Oldschool4

Oldschool4

    Enthusiast

  • Members
  • PipPipPip
  • 64 posts

  • Flag: Australia

  • Favorite Pinball: Metallica

Posted 29 January 2020 - 11:18 PM

I will try this,i have a pin two dmd.Cheers


I'm getting old but I am not blind

Obviously I missing something here because I cannot locate these files or a place to download them

 

FlexDMDUI.exe

FlexDMD.dll

FlexUDMD.dll

I couldnt find it yesterday but found it now,on the main page click on release,next page click the main header,should bring you to the 3 files. Ahh well,this was my long way there.


Edited by Oldschool4, 29 January 2020 - 11:34 PM.


#11 gtxjoe

gtxjoe

    VPF Veteran

  • VIP
  • 5,015 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness, AbraCadabra



Contributor

Posted 29 January 2020 - 11:22 PM

Thanks for contributing. Look forward to trying the out

Thats great that you made it backwards compatible with UltraDMD

#12 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,701 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 30 January 2020 - 12:22 AM

I will try this,i have a pin two dmd.Cheers


I'm getting old but I am not blind

Obviously I missing something here because I cannot locate these files or a place to download them

 

FlexDMDUI.exe

FlexDMD.dll

FlexUDMD.dll

I couldnt find it yesterday but found it now,on the main page click on release,next page click the main header,should bring you to the 3 files. Ahh well,this was my long way there.

Thanks



#13 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,701 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 30 January 2020 - 12:44 AM

I'm getting partway there but I cannot register everything

I unblock the files

I put the files in my VPinMame folder And when I start FlexDMDUI.exe it looks like this

Attached File  20200129_182011.jpg   128.72KB   55 downloads

In order to get the 1st one to register I had to click on Select install file and pick Location But I cannot get the UltraDMD DMD to register

Attached File  20200129_182417.jpg   148.98KB   36 downloads


Edited by Outhere, 30 January 2020 - 12:45 AM.


#14 Oldschool4

Oldschool4

    Enthusiast

  • Members
  • PipPipPip
  • 64 posts

  • Flag: Australia

  • Favorite Pinball: Metallica

Posted 30 January 2020 - 02:43 AM

I also cannot get the UltraDMD replacement (register).  In the Designer tab,i check both and i see the scrolling text test on dmd.


Edited by Oldschool4, 30 January 2020 - 02:44 AM.


#15 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,701 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 30 January 2020 - 02:44 AM

I also cannot get the UltraDMD replacement (register).  In the Designer tab,i check both and i see the scrolling text test on dmd.

Same here



#16 LynnInDenver

LynnInDenver

    Pinball Fan

  • Members
  • PipPipPipPip
  • 570 posts
  • Location:Denver

  • Flag: United States of America

  • Favorite Pinball: Genie

Posted 30 January 2020 - 03:59 AM

Having the same problem of not being able to register as an UltraDMD replacement. I have edited the script for Pokemon, and replaced the script in America's Most Haunted with the repository, and both work fine with the new software.



#17 Oldschool4

Oldschool4

    Enthusiast

  • Members
  • PipPipPip
  • 64 posts

  • Flag: Australia

  • Favorite Pinball: Metallica

Posted 30 January 2020 - 12:34 PM

Tried Diablo and amh with replacement script, lost colour on both(set to red),seems more responsive to gameplay in Diablo, (dmd scenes),whereas Ultradmd lags behind couple seconds with the scoring.


Edited by Oldschool4, 30 January 2020 - 12:43 PM.


#18 vbousquet

vbousquet

    Enthusiast

  • Members
  • PipPipPip
  • 103 posts

  • Flag: France

  • Favorite Pinball: Cue Ball Wizard, Tron Legacy, Terminator 2

Posted 30 January 2020 - 11:06 PM

It seems the pre-release has a bug with registering the UltraDMD component. I will look into it this week-end. Sorry for that. The other part should be fine (registering FlexDMD and using the provided modified scripts).

 

Tried Diablo and amh with replacement script, lost colour on both(set to red),seems more responsive to gameplay in Diablo, (dmd scenes),whereas Ultradmd lags behind couple seconds with the scoring.

This is strange; I do have Diablo with colors. Could you share more information on your setup ; which Windows version are you running ? What do you use in your Dmddevice.ini (the [virtualdmd] section). I will try to understand what goes wrong and find a fix for it.

 

Tanks all for the feedback !
 


Edited by vbousquet, 30 January 2020 - 11:06 PM.


#19 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,701 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 30 January 2020 - 11:48 PM

Testing with a Pin 2 DMD

Windows 10

Visual pinball  10.6 Final

Freezy 1.73

So far a change the scripts for these games

 

I have Diablo with colors

American most haunted it is red

 

UltraDMD Most of the time I lose focus (I have to click on the play field)

With Flex I do not lose focus

 

With UltraDMD when I left the game it always left an image on the pin to DMD with flexDMD does not
Update 5-5-2020 In the beginning it did seem to but now FlexDMD always leaves a image on the DMD when leaving the game
 


Edited by Outhere, 05 May 2020 - 02:08 PM.


#20 Oldschool4

Oldschool4

    Enthusiast

  • Members
  • PipPipPip
  • 64 posts

  • Flag: Australia

  • Favorite Pinball: Metallica

Posted 31 January 2020 - 02:20 AM

It seems the pre-release has a bug with registering the UltraDMD component. I will look into it this week-end. Sorry for that. The other part should be fine (registering FlexDMD and using the provided modified scripts).

 

Tried Diablo and amh with replacement script, lost colour on both(set to red),seems more responsive to gameplay in Diablo, (dmd scenes),whereas Ultradmd lags behind couple seconds with the scoring.

This is strange; I do have Diablo with colors. Could you share more information on your setup ; which Windows version are you running ? What do you use in your Dmddevice.ini (the [virtualdmd] section). I will try to understand what goes wrong and find a fix for it.

 

Tanks all for the feedback !
 

Test with a Pin 2 dmd.

Windows 10 Home

10.6 Final

Freezys 1.73

I will check Diablo again in day or so.


Edited by Oldschool4, 31 January 2020 - 02:46 AM.






Also tagged with one or more of these keywords: UltraDMD, DMD