Flexdmd


History of FlexDMD

I asked Vincent Bousquet, The developer of FlexDMD how he came about developing the software and here is the response he provided for your benefit:

” I decided to build a pincab this summer, but since I live in Paris, in a small flat, I designed a foldable system that can be used as a home theatre / arcade system / gaming computer / pinball. I was only able to fit 2 screens in it, therefore the DMD is on the backglass. Everything was really nice, but I was not satisfied with the fact that the DMD would not look well integrated. I started coding enhancements to my system (specific to my system, therefore not released) ; automatic detection of the fold position and adaptation, light feedback for Mame and AttractMode, framed DMD with nicer rendering (glass and light interaction, you can view a preview of the first version in this push request to Freezy’s DMD),…. When you start coding little things here and there, it become a game that never ends…

Beside, I encountered quite a lot of problems with UltraDMD (mainly stuttering, and it would not close properly on exit, blocking PinballY, spilling UltraDMD.exe process everywhere). The trigger to develop was that my family like JPSalas’s tables (Diablo III, Miraculous, Pokemon) and JPSalas went away from UltraDMD in December 2019, removing it from all his tables. At this time, I decided to code something for this. FlexDMD itself is just a very small piece of code, developed during January. The aim was to solve the problems with UltraDMD, add DMD to JPSalas’s latest tables, and be able to develop a DMD with the feature I have in mind if I ever go along one of my project of creating an original table.


Regarding my background, I’m a long time hobbyist programmer, with even a small free game on GooglePlay. I have never worked as a professional developer but I have used and sometimes contributed to a few open source projects. That’s the reason, FlexDMD was open sourced from the beginning. On the technical side, FlexDMD was my first in C# language (I’m more Kotlin & Java used).”


A lot of tables are using Ultra DMD as a DMD. it is an alternative to ROMS DMD and can be loaded with animations.

What is that Ultra DMD and FlexDMD stuff anyway? don’t table have a built in DMD?

Tables using roms in Vpinmame, will show a dmd on your table. Some original tables are using other table’s roms but some tables do not have roms at all. The choice is up to the table creator how he wants the table to look. There are a few options available to developers.


DMD is not being used in this table, the creator decided to use a Pinup Popper Pack and display the score on the Backglass.

This is an example of America’s most haunted table using UltraDMD

Table using built in Vpinmame rom for the DMD

Where can i find ultra DMD tables and how do i know it’s one?

There are several Ultras DMD tables and they can be downloaded from the different popular virtual pinball websites. The UltraDMD folder is usually included with the table and has to be copied in the visual pinball folder and the author will mention in the description that his table is using UltraDMD.

You can look at Dux Retro’s VPS sheet and apply a filter to only show UltraDMD tables.


I had Ultra DMD working well for over a year and suddenly, my UltraDMD tables stopped working and i received the following error message. There are several people who received this error message and there are a few possible solutions in the forums.

Trying to fix the issue can be quite the expedition, is it because of the path where it is installed, is it a bad installation, is it a setting in the script of the table, is it a conflict with an incompatible version of the software, it it the ActiveX version i am using? You can see that trying to troubleshoot it can be long and painful. i tried to fix the issue for a day but was not successful. After researching, i found a solution. The fix is called Flex DMD.


What is Flex DMD?

Flex DMD is an open source software create by VBousquet. The project is still early in development, but i personally tested it on many UltraDMD tables and it worked flawlessly.

What is it for? It replaces UltraDMD.

Where can i read about it? https://www.vpforums.org/index.php?showtopic=43569

Where can i download FlexDMD? https://github.com/vbousquet/flexdmd/releases

Download the following files:

You can place these 5 files where you want. It happens that VPinMame also uses DMDDevice.dll and requires it to be placed alongside itself. Therefore a good place to place FlexDMD and DMDDevice files would be in your VPinMame folder (usually C:\Visual Pinball\VPinMAME).

You will need to right click on the DLL files and unblock them.


How do i set it up?

  • Select the folder where you have your .dll and flexdmd.exe
  • Register Flex DMD by pressing the register button
  • Register FlexDMD to be used instead of UltraDMD
  • Launch your UltraDmd table to test.


Thank you very Much Vbousquet, Merci mon chum!