My tool for a nice looking DMD behind the glas of a grill on a system without a grill. ;)

This project was developed just for my setup. It closes a gap. There are amazing tables and nice backglasses, but the DMD is only nice looking, if you you use real cabinet. I made some directb2s and changed the DMD's transparency and played around with it allot. But the results don't look "real". The main reason is, that the DMD is above the backglass and not behind it. So I decided to code a small (9,8 MB are transparent graphics) c# gdi+ application for it.

1st layer is still the backglass.
2nd layer is the DMD. Now with a pixel based black border (backmask) from my tool.
3rd layer is the glow and glare of the glas.
4th layer is the grill-graphic.

How to install:
Extract the zip and start the DMDOverlay with admin privileges. (They are needed for analyzing the VPX window-processes.)
Since Version 1.3: Put the zip-included NAudio.dll into the same directory.

How to use it - see it in action:

How it works:
When you start a VPX table while DMDOverlay is running, the DMD-window is recognized and a section is inserted in the configuration file (DMDOverlay.ini) in the application path. When the application finds your setup data for the recognized table, the overlay will be rendered in top of the DMD.

How to setup the table data
When you have already startet some vpx tables, then you get them listet in the setup window. Perhaps you have to reload the list once.

Now it's time to setup a table.
Select a recognized table (window process name).
Set the correct rom-name to enable the three Overlay-Modes and click "save".

Now you can choose ...

1) "Templates" are predefined grill-DMDglass combinations.
They're sized fullwidth and positioned via the top-position value on
the second screen. You can set brightness, glow-level and a
black backmask.

2) "External imagefile" has the same positioning but without
DMDglass. This must be part of the image.

3) "Glass only" is just the glass aligned on the DMD. You can adjust
an optional padding and the glow intensity. This is your mode,
if you want the DMD on a grill within a backglas.

Have fun.


How to use it:

Version 1.1 (10/25/2019):
  • Fileselect-dialog for external grillimages
  • Debug-Info for zindex

Version 1.2.1 (10/28/2019):
  • available romnames listed automatically
  • Pinball FX3 support (One grill for their tables. You must activate cabinet support to have the DMD on second screen. The grill is listed as "Pinball FX3".)

Version 1.3 (11/26/2019):
  • Volume-display for two selectable soundcards
    Info: The volume-controll consumpts some cpu-power. If you dont't want this, please set both audio-devices to "none".
  • Multi-Screen support: You can setup your own x-pos and grill-width

Version 1.3.1 (11/27/2019):
  • Bugfix for long dmd-window-names like "Pirates of the Caribbean (V6.0 German, French)". They were not read correctly from ini-file.

Version 1.3.2 (11/28/2019):
  • Missing "NAudio.dll" included again

Version 1.4 (12/04/2019):
  • Support for freezys DmdDevice.dll (it's beta, please test it). I prefer vpinmame but some people have asked for it.

Version 1.4.1 (12/29/2019):
  • Support for large inifiles with 100s of tables.

Version 1.4.2 (12/31/2019):
  • Bugfix: Errormessage if no ini-file exists

Project by

Profile Photo b4sti

New Collection

Must Have
Flipper storici
JR’s 1st Collection
PuP Packs
to download
Tables i love
Pinball Cabnet
new VPX pc
Best Tables
  1. hworths1545 1 year ago

    Can’t get the DMD to ‘go behind’ the DMD glass. IT appears on top of the DMD glass window. I am using Template mode and have tried author’s grills as well as standard (plastic, metal, silver, brushed metal, etc…) grills.

  2. BrandonLaw 1 year ago

    These look better than my real DMD! Great job.

  3. Blacksad 1 year ago

    Very interesting !

    Could we imagine to call an external folder for the grills overlay ? (not the included one’s ?)

    Could we image to do the same thing concerning no DMD machines ? (overlay on the 4 digitals scores and credits and ball in play display, for Eight ball Deluxe for example ?

  4. Blacksad 1 year ago

    Ok my fisrt question is stupid :) I think the option Glass only is made for this :)

    What about the second question for no DMD tables ?

  5. Author
    b4sti 1 year ago

    This could happen, if the DMD ist more aggressive in getting the top position. I’ve tested it only with the standard Vpinmame DMD, there it should work. Are you using another DMD-Emu like Freezy? Another aspect: If the settings-window is open, the DMD-Overlay is not at top-position until the settings-window is minimized again.

    My tool is only for DMD-Overlays. The digital scores (like Diner or other older classic tables) are mostly integrated in the directb2s-backglas.

  6. hworths1545 1 year ago

    I am using the Vpinmame DMD and am not using another DMD-Emu like Freezy. The settings window is minimized and the DMD will still not go behind the virtual glass. Any other ideas anyone?

    • Author
      b4sti 1 year ago

      My Setup is this: Newest VPX 10.6 beta, newest Vpinmame, newest Backglas-server.
      Because i’m using the pinup system, my settings are these:

      My DMDOverlay sets itself to top every second (if settingswindow is minimized).
      At your setup there must be something trying to set the DMD to top position more aggressivly.
      Do you use a directb2s backglas?
      There is an option for bringing it to top. I disabled it, because the backglas has to be the lowest window.
      If it is disabled, the DMD sets itself to top position only once. If you activate it by clicking, the DMD gets in top position too.

      You should try to play around with these things. If nothing helps, i can build you a version with a dominant topmost timer.

  7. Holt 1 year ago

    This looks promising. I would love to see some kind of layer effect like this produced for the zen pinball tables. Their DMD looks so bad.

    I tried this on Indiana Jones as pictured, but it put my DMD behind The B2S window so that I couldn’t see it at all. I couldn’t figure out a way to reset the table to default, so I ended up having to fully re-download and install the table to get the DMD working again. (Turned out to be a good opportunity to adjust the POV settings)

    I am using default DMD stuff and I’ve picked custom colors for the 4 color mix.

    I find the step during install where you have to type in your rom to be a little confusing. I assumed that with Indiana Jones that meant “ij_l7” but I don’t know if that is sufficient for that field. Having this be a totally open-ended field, with no verification seems bad. Am I meant to know the rom name for all 2 something of the table I use? Do I need to dig through each script to configure this overlay?

    For now, I’ll go back to the basic DMD till I see a little more on this.

  8. Holt 1 year ago

    Kay, update…

    While trying to get this to work, I ended up resetting the vpinball graphics settings to default.

    And then after reinstalling the Indiana Jones table, the overlay now works right. So I cannot really help identify what the problem was.

    So that Said, I realized that one reason I’m having trouble getting my Indiana Jones table to look like yours, is that you are using custom grille Art. It would be great if you would share a couple of your custom grille files so that I can get started making some of these. It would be really nice to have the program look at a folder for choosing these rather than have to type them all in (again thinking of scalability)

    If you haven’t already, I think It might be time to create a forum thread where people can share the flood of custom grilles that are sure to come.

    • Author
      b4sti 1 year ago

      @Holt, this is the first release. I coded it just for my setup. I just shared it for those with the same setup (2 screens) to try it out.

      In the romname field, there must be the romname for the used DMD.
      You’re right, there should be more validation code, more errorhandling code, more from all.
      Perhaps next holidays i can change things that useres report not working or integrate some usefull features.
      Your pulldown-fileselect suggestion will be included.

      I’ve uploaded the custom made Indiana Jones grill:

      Have fun.

  9. hworths1545 1 year ago

    Thanks for your reply.

    I confirmed that I have the latest versions of VPX 10.6 beta, newest Vpinmame, and newest Backglass-server installed.

    I am not using the PINUP system.
    I simply launch each table from my VPX directory in Windows 10 with no front end.

    I do use the Directb2s Backglass Server for displaying my backglass.
    I tried to disabled the DMD coming to the top in the Directb2s Backglass settings by right clicking on the backglass and disabling (unchecking) this option.because the backglas has to be the lowest window to appear behind the virtual glass in your DMD Overlay program.

    I still can not get the DMD Overlay program to work for me. I select the Windows table (i.e. Fish Tales, The Flintstones, and Medieval Madness) and then type in the ROM name for each table and SAVE. I am in Template Mode and I can see the grill templates that have been pre-designed for tables like Fish Tales and The Flintstones. However, I can not see any DMD glass effect, as my DMD window appears on the top.

    Also, if I select different grill overlays, such as Silver, Metal, Brushed Metal, or Rusty these do not appear. It always defaults to the special designed grill overlay instead.

    I have minimized the DMD Overlay program in Windows 10 and this does not help either.

    I am perplexed by what I am doing wrong???

    Any help would be greatly appreciated, as the pictures you posted of tables with this program running properly look awesome.

    • Author
      b4sti 1 year ago

      @hworths1545 your setup sounds absolutly correct. I wish that things would work out for you. We must seperate some things. If you can’t see the selected grilles, than something is wrong with DMDOverlay or it’s setup. The z-index (DMD is topmost) problem is something different.

      Is the DMDOverlay at the right screen?
      Is it at the selected top_position?
      Perhaps your DMDOverlay.ini is corrupted?

      Let’s try it together…

      Step by step for fishtales:
      01) Exit DMDOverlay (CLOSE the Setup window / not minimize)
      02) Delete the DMDOverlay.ini.
      03) Start DMDOverlay.exe with admin privilegs.
      04) Start VPX with admin privilegs
      05) Load fishtales / launch fishtales
      06) Quit fishtales
      07) Open DMDOverlay settings window
      08) reload list
      09) select “Fish Tales (L-5)” in the list
      10) Insert romname “ft_l5” (without quotes)
      11) click “save”
      12) select tab 1 “Template Grill” (Hint: If you click on another tab, the mode will change.)
      13) Choose template “SquareSpeakers”
      14) Choose style “Rusty”
      15) click “save” again

      Now you should open the DMDOverlay.ini with a texteditor and check the entries.
      You can post them here, if you are not sure.
      If everthing is ok, DMDOverlay works like aspected.

      16) Launch fishtales again

      Now Rusty Template should be on screen 2 (with the backglas and the DMD).
      If this is ok, we can look at the topmost-problem.

  10. Tom 1 year ago

    Man this is really cool. If I didn’t have a dmd screen this would look amazing

  11. fischb 1 year ago

    I have been looking for this. But I have a 3 screen setup with a fairly large marquee monitor as my DMD (1920 x 358). I currently simulate a basic DMD overlay with a windows background graphic showing the 2 side speakers, with the DMD window in the middle.

    Is there any way I could put your DMD overlay onto my 3rd (DMD) monitor?

    • Author
      b4sti 1 year ago

      I can change the getting of the x-position. For now it is the width of the first screen. This normally gets the 0-position of the 2nd screen. I can make this more flexible. In the next version, you’ll be able to set up this position by pixel.

      Another new thing I planed: On adjustment the sound volume for 1-2 soundcards will be displayed inside the dmd-area.

    • Author
      b4sti 1 year ago

      @fischb you can download version 1.3 now. Have fun!

  12. Maiguelon 1 year ago

    The new version gives me missing audio file error.

    But following the steps I have only managed to stay vertical in the table, I can not upload it to the backglass.

    And in the open text file, I don’t know what to do :(

  13. Author
    b4sti 1 year ago

    Did you put the zip-included “NAudio.dll” into the same directory, like described above?
    If you get soundcard-related problems, you should start DMDOverlay without started vpx. Then setup your sound-card or select “none” and save/quit DMDOverlay. Now you can restart it and start vpx.

    If nothing helps, take version 1.2.1 without sound-feature.
    1.3 is only tested by me and my 2 soundcard-setup.

    I have a 90deg rotated 1st screen for vpx and a 90deg rotated 2nd screen for backglass, dmdoverlay and vpinmames dmd. My windows10 is positioning everything right.

    Edit: OOOpoops 1.3.1 is missing the dll. In 1.3.2 it’s included again – sorry.

  14. Maiguelon 1 year ago

    Thank you !!!

    I already said … how weird about the dll

    I also have a backglass and a table.
    The problem is when I follow the steps, the mask of the speakers, they stay in the table and does not go up to the backglass and therefore, does not turn.
    Although, in the backglass I can take the DMD with the mouse and move it in all directions, but never lower it to the table, nor raise the mask with the simulation of the speakers.
    I don’t know where I fail :(

    The fish tales table is one of my favorites! : D and I would love to do what you propose with the program, but I don’t get it. :(


    (Note, Google translator from Spanish to English. Possibly something will not be well written)

    • Author
      b4sti 1 year ago

      Info: Multiscreen setup

      The “normal” screen-setup for multiscreen ist described here:

      So all screens start at 0 top (y) position.
      The 2nd screen x-pos starts at [1st screen-width].
      The 3rd screen starts at [1st screen-width]+[2nd screen-width].

      Example: If you want to place the DMDOverlay on the 2nd screen, Then you can enter the [1st screen-width] in the xpos-field and the [2nd screen-width] in the width field. Now DMDOverlay starts in topper left corner of the 2nd screen. To set the top-position you can do this with the same named setting for every table because each backglass could have its own height.

      If your directb2s server has a height of 600px, your top position is 600.

      My two screen setup has only 3 things on the 2nd screen:

      Backglass-Server (without forceTOP!)
      DMD (served from VPinMAME 3.2 (sambuild) via vpx)
      DMDOverlay (y-pos is height of Backglass)

      @Maiguelon: If you setup everything right, i can send you the custom made fishtails-dmdoverlay.

  15. Maiguelon 1 year ago

    I am in it, I have downloaded the new version with the dll, the problem is that the program does not obey me, I can open the tabs of the sound and I even see the option of the x and y position, which was not before.
    I’m finding out why he doesn’t obey in finding the rooms and continuing with the program.

    Regards. I keep on it.

  16. Maiguelon 1 year ago

    Well … with version 1.2.1 I started to get me to create the DMDOverlay.ini file, because with the new version it doesn’t let me.
    Once done, I copied and pasted the .ini in the folder of version 1.3.2 and interestingly, I found the rom of the table “fish tales” I have returned to follow the steps of choice of grill and others, in addition to mark the sound that I have spread across the table, but … the display or mask does not appear anywhere.
    The .ini file says ….

    [Virtual DMD]
    brand=No logo

    I apologize and thank you for your patience, which is not small.

    One question, can it be program configuration failure? Should I install it in a special folder? or just in a folder on the desktop?

    We will get it !!!

    (Note, Google translator from Spanish to English. Possibly something will not be well written)

  17. Author
    b4sti 1 year ago


    If you use vpinmame with vpx correctly, you can play fish tales without Virtual DMD. VPX starts the “” rom with vpinmame and you’ll have a running table with the original rom from fish tales.

    If this is working right, you can cycle through existing windows. There should be 3 windows at VPX. 1 for the editor, 1 for the vplayer (the running table) and 1 for the dmd. This dmd-window is interesting for DMDOverlay. Its name will be saved in the DMDOverlay.ini file automatically, if you select the “ft_l5” rom at the “Fish Tales (L-5)” entry and klick save:

    [Fish Tales (L-5)]

    I didn’t try anything with VirtualDMD.

  18. Maiguelon 1 year ago

    I do not get it, I will continue reading and trying things that you are putting, I am still very new.
    I do not know what I am doing wrong so that today I do not even get the mask upright on the table of fish tales. :(

  19. Maiguelon 1 year ago

    I’ve already got more or less something else. But it is still not right.

    With this configuration, what do I put down. I have been able to center the speaker mask. Although I would have to refill a pair of fingers on each side of the monitor.
    And “cheat” the monitor, lowering the speaker mask a bit, too. Well, the frames or margins are very large.
    (I think it is not intended for a 16: 9 or horizontal screen) with what is left of that mask, almost halfway down covering the screen and does not reveal the backglass.

    It would not be interesting if the mask could grow wide and long with a more intuitive way as with a mouse click?

    If I make the mask bigger, either it goes to one of the sides and falls out of the way or the DMD is small and there is a mask left over :(

    My settings, too bad I can’t upload photos,

    [Fish Tales (L-5)]
    top_margin = 0
    imagen =
    rom =ft_l5
    top_position =700
    brillo = 72
    tipo = XPowerSpeakers
    style =Rusty
    mode =1
    glow =45
    padding =0
    frame =20
    brand=No logo

    And X-Posoition (in px) 1960 and Whidth (in px) 1175

    I am very excited about this project of yours, because I see that its result is fine fine for the eyes and with great pleasure. But … I don’t give with the key.
    I think the DMDoverlay interface should grow a little more, to make it easier for newbies like me. :)

    • Author
      b4sti 12 months ago

      Normally you setup the xpos and the width only once for all your virtual tables.
      The ratio of your display isn’t important for DMDOverlay v.1.3 and above, because you can position and size it, like you want.

      I think you miss an important thing, that has nothing to do with DMDOverlay: You can reposition and size the DMD. You have to right click on the DMD and select “show window border”. Now you can resize it at any corner of the DMD window until it fits. You must move it around, otherwise the values will not be saved. Now deactivate the “show window border” option, because it’ll not look good. Finally move it to the final position. If you adjust the DMD this way, you don’t need a mask and you will not have gaps.

      Another tip: My backglass-screen has no windows-icons on it and a black colored background.

  20. Maiguelon 12 months ago

    @b4sti, Thaks!

    How is the DMDoverlay mask resized? It´s what I still haven´t found the way. I´´m missing two fingers on each side and it´s not that tall. Or reduce therir margins that are very wide?

    • Author
      b4sti 12 months ago

      I don’t know exactly, what you mean with 2 finger space.
      If you mean the black border around the DMD from vpinmame, you can set the mask settings on the table to 0, if your background is black. If you resize the DMD, like described in my last response, you’ll not have any gaps.

      Please make a screenshot (or photo) of your problem and send it to an image-hoster and post me the link.

  21. Maiguelon 12 months ago

    @b4sti Hi!
    As you can see, the mask is too big along with its edges, in addition to being short in its width.
    If I try to make it wide, it is also made alt and of course, it occupies me more than half of the screen. Monitor two, front.

    Como vés, la máscara es demasido grande junto con sus bordes, además de que se queda corta en su ancho.
    Si intento que se haga ancha, tambien se hace alt y por supuesto, me ocupa más de la mitad de la pantalla. Monitor dos, frontal.

    • Author
      b4sti 12 months ago


      ok, now I understand your problem.

      Let’s start with the backglass. most of them are nearly quadratical. That’s the reason, I rotate my 2nd screen. so there is a 1:1 top area for the backglass and space available for the DMD to put ist under the backglass. The best solution for you will be to rotate your screen.

      BTW, i made a how to use DMDoverlay video:

      But if you can’t…
      In the tables directory of your vpx, there is the backglass server and a setup tool for it. I would set it to a nearly quadratical ratio – otherwise the graphic looks stretched. You will have black borders right and left. But that will be ok. Then I would reduce the width of DMDoverlay to the new width of your backglass and place it to the bottom of your screen. The x position must be the same as the new backglass xpos.

      You should use a directb2s-version without the dmd-grill.
      And you should scale your dmd, it’s to large now.

      like this:

  22. nomai 11 months ago

    I decided to use your DMDoverlay because it looks awesome but after setup about 50 tables it doesn’t accept any more. In may opinion seems to be a problem with dmdoverlay file lenght, I have a lot of tables. ¿What I am doing wrong?.

    Using VPX 10.6 + freezy dmd 1.73 as external dmd + 3 monitors

    Sorry for my english.

    Thanks for the program and your atention and Merry Christmas

    • Author
      b4sti 11 months ago

      Hi @nomai,

      the length of the dmd-window-title was fixed in last version.
      Do you have any error-message infos?
      If you send me your dmdoverlay.ini, i can check it for you.
      Merry Xmas to you too.

      • nomai 11 months ago

        When I tried to add new tables after select reload the table’s name doesn’t appear so I cant select the rom.
        Also, the last table that appears in the window only show “Pirates of the Carib” this is what make me suppose a problem with the lengh of the file dmdovelay.ini.
        In dmdoverlay.ini after triying to add more tables (you can see in this case two more) but I cant add the rom name. Tried to add manually but didnt work. They dont appear in the window, and the overlay screen cant be seen in the monitor .

        This is my dmdoverlay.ini. The last two tables are the problem. I tried with another tables and the result was the same.

        • Author
          b4sti 11 months ago

          Hi @nomai,

          Thanks for reporting.
          Please use 1.4.1 with a fix for your problem.

          In your corrupted inifile, you can delete the trimmed [Pirates of the Carib] entry.

          Have fun!

          • nomai 11 months ago

            Thanks for the update, but I cant check it until next week. I’m not at home.
            I hope it works fine now and can use with all my DMD tables because in my opinion it’s amazing to play pinball with your program.
            Thank you again and happy new year.

  23. Maiguelon 11 months ago

    It would be great if the option of 16.9 or 4: 3 also existed, not on a vertical monitor as is the case, but on vertical monitors.
    I think that most of us have a pinball cabinet, the monitor installation is normal, horizontal by nature, not only vertically as is the case of the DMDOverlay program.

    If you could, please program it to be able to do what I comment.

    Regards !!!

    sería estupendo que también existiera la opción del 16.9 o 4:3, no en un monitor vertical como es el caso, si no en monitores verticales.
    Creo que la mayoría que tenemos un pinball cabinet, la instalación del monitor es normal, en horizontal por naturaleza, no sólo en vertical como es el caso del programa DMDOverlay.

    Si pudieras, por favor, programarlo para poder hacer lo que comento.

    Saludos !!!

    • Author
      b4sti 11 months ago

      @maiguel0n , since version 1.3 you can setup the width yourself. It doesn’t matter what kind of monitor (16:9 or 4:3) you are using. the dmdoverlay has its ratio. if you use a cabinet with a backglass, you don’t need this tool.
      Perhaps you only want the glass-effect, because you have a cabinet without glass but with a frame, you can use option 3 “glass-only”. It’s possible, that i don’t know exactly what you want.

  24. Ben Logan2 10 months ago

    I love this! Great idea.

  25. dcnigma 10 months ago

    Like this program a lot use it for all my pinballs, but is there a way to change the height of the templates?
    Now making my own files, but the templates are really good, but way to big for me…

    • Author
      b4sti 9 months ago

      Now i only play via VR. But before, i changed the height of the backglass. You can see it at the indi jones – screenshot. The little williams logo is part of the backglass. The DMDOverlay is just above it.

Leave a reply


Log in with your credentials


Forgot your details?

Create Account

The Vpinball app