- Joined
- May 3, 2016
- Messages
- 3,199
- Solutions
- 7
- Reaction score
- 2,528
- Points
- 145
- Favorite Pinball Machine
- Attack From Mars
Even though I don't own a pinball cabinet, I’ve learned how to create tables for use with DMDExt by working with cabinet users. It’s not especially difficult, but there are some strict rules I had to learn—mostly through trial and error. You will probably find having some knowledge of DMDExt helpful even if you don't create a 3 monitor version of your table.
How DMDExt Selects a DMD
DMDExt is limited to using a 128x32 DMD. It won’t accept any other size and cannot use segmented displays. If a 128x16 DMD exists on a table, DMDExt will ignore it and look for a 128x32 DMD instead. I’ve found that you can change a 128x16 DMD to a 128x32 without having to edit the script. The bottom half of the DMD will be blank, but it will still function correctly with DMDExt.
You can add multiple DMDs to a Future Pinball (FP) table. If you add a DMD for the FizX tweaker, you probably won’t want DMDExt to select it. DMDExt uses the first DMD added to the table to display on the third monitor. So if you're developing a table and need to include a tweaker DMD, be sure to add it after the main DMD you want DMDExt to use. Alternatively, you can delete the unwanted DMD and re-add it back so it is not the first DMD added.
There’s one important exception: DMDExt will always select a hologram DMD, regardless of when it was added. If you don’t want it to be used, you can change its size from 128x32 to 128x64. DMDExt will then ignore it. No script changes are required, although the bottom half of the DMD will be blank—but this doesn't matter since hologram DMDs have invisible backgrounds.
DMDExt can use either a HUD or backglass DMD. As long as the size is 128x32, it doesn't matter which type it is.
Special Script Requirement
DMDExt does not support the transition effects for DMDs that are available in Future Pinball. To ensure compatibility, always code DMDs with the effect set to "deNone". For example:
HudDmd1.QueueText "[Edge3][il1][sf1][ef1][f1][xc][y10]GAME OVER", deNone, 2500, TRUE
The error that occurs has the upper half of the DMD showing a frame and the lower half of the DMD showing the next frame in the script. The example below is from my version of the "Road Runner" table. The top half of the DMD says "Road Runner" where the bottom half of the DMD shows "Beep Beep". The only way to be sure that a table is not coded with the transition effects is to search all occurrences of coding for DMDs in the the script and verify it has "deNone" entered. That can be time consuming. If you have a cabinet, you might do a spot check of the script and just try it on your cabinet. It is not a frequently used feature. If it exists, it is obvious and you will know the cause.

Cabinet-Specific Coding
There is a method for detecting whether a table is being played on a desktop, cabinet, or virtual reality setup. This can be done using the following script:
If xBAM.Camera.Mode = xBAM_Camera_Desktop then [your criteria]
If xBAM.Camera.Mode = xBAM_Camera_Cabinet then [your criteria]
If xBAM.Camera.Mode = xBAM_Camera_VR then [your criteria]
I use the cabinet option to turn off HUD displays—although most cabinet users already do this in the BAM menu. I also use the desktop option to activate alternate camera views that shouldn’t appear when running on a cabinet.
Changing the Backglass
DMDExt compresses the top and bottom of the entire backglass together to fit on a 16:9 monitor. This is usually handled by removing the speaker panel from the backglass texture using an image editor. Some tables don’t include a speaker panel. In that case, you’ll need to either edit the existing texture or find one that approximates a 16:9 aspect ratio.
If the backbox has a DMD, move it above the backbox in the FP editor so it can’t be seen. You do not need to move the HUD DMD.
After updating the backglass texture, you’ll need to adjust the bulbs. If you're using a modified texture with the speaker panel removed, move the existing bulbs to their new locations. If you're using a completely new texture, you may need to move, delete, or add bulbs to match.
Position the bulbs just as you normally would. When you open the FP editor, the backglass texture will appear horizontally compressed. Move the bulbs to their correct positions on this squeezed texture. DMDExt will automatically expand the texture and any associated objects, so the bulbs will appear in the correct place when played on a cabinet.
Update 6/12/25 - If you don't know how to make the backglass texture appear in the editor, you need to click on the "Preferences" pull down menu and click on "Editor Options". Then click on the box "Load images into editor" so it is checked. Then close the FP editor and reopen it. When you reopen it, click on the button on the left to open the translite. Then in the right pane, check the box for "Display Translite in Editor". The bulbs you want to move may be locked so they won't move, you can right click on the bulbs and click on "Lock". You can select several bulbs by drawing a box around the bulbs that you want to select. Then right click on one of the selected bulbs and click on "Lock". You only want to select bulbs and not other table objects. You can right click on the other table objects and save them to another layer by hovering your cursor over the "Assign to" option and selecting a different level. When finished, be sure to uncheck the "Load images into editor" option and close the editor saving any changes you made before you play the table. Leaving the "Load images into editor" checked option will basically result in loading textures twice when you play a table which will use many more resources on your PC.
Segmented Displays
If the table has any segmented displays, DMDExt will stretch them apart but they will still be readable. The following is a picture of some segmented displays on the backbox of the "Galaxia" table that is installed on a cabinet. It may not be obvious but they are stretched apart a little. I don't know of a way to compensate for this. There is a way to change the width of a segmented display in the editor but it just scales the whole display keeping the same proportions. I have never worked on a table with an EM scoring reel, but I think it will work the same as a segmented display with the reels being stretched apart.

Final Comments
I’ve found that cabinet users prefer to have something displayed on their third monitor. While they will accept segmented displays for game scores, number of balls and credits, they prefer additional content to be shown on a DMD. Keep this in mind if you’re creating a table that uses only segmented displays. Even if your table shows only game scores, you might consider adding a DMD that displays the table name or other helpful content.
— George
How DMDExt Selects a DMD
DMDExt is limited to using a 128x32 DMD. It won’t accept any other size and cannot use segmented displays. If a 128x16 DMD exists on a table, DMDExt will ignore it and look for a 128x32 DMD instead. I’ve found that you can change a 128x16 DMD to a 128x32 without having to edit the script. The bottom half of the DMD will be blank, but it will still function correctly with DMDExt.
You can add multiple DMDs to a Future Pinball (FP) table. If you add a DMD for the FizX tweaker, you probably won’t want DMDExt to select it. DMDExt uses the first DMD added to the table to display on the third monitor. So if you're developing a table and need to include a tweaker DMD, be sure to add it after the main DMD you want DMDExt to use. Alternatively, you can delete the unwanted DMD and re-add it back so it is not the first DMD added.
There’s one important exception: DMDExt will always select a hologram DMD, regardless of when it was added. If you don’t want it to be used, you can change its size from 128x32 to 128x64. DMDExt will then ignore it. No script changes are required, although the bottom half of the DMD will be blank—but this doesn't matter since hologram DMDs have invisible backgrounds.
DMDExt can use either a HUD or backglass DMD. As long as the size is 128x32, it doesn't matter which type it is.
Special Script Requirement
DMDExt does not support the transition effects for DMDs that are available in Future Pinball. To ensure compatibility, always code DMDs with the effect set to "deNone". For example:
HudDmd1.QueueText "[Edge3][il1][sf1][ef1][f1][xc][y10]GAME OVER", deNone, 2500, TRUE
The error that occurs has the upper half of the DMD showing a frame and the lower half of the DMD showing the next frame in the script. The example below is from my version of the "Road Runner" table. The top half of the DMD says "Road Runner" where the bottom half of the DMD shows "Beep Beep". The only way to be sure that a table is not coded with the transition effects is to search all occurrences of coding for DMDs in the the script and verify it has "deNone" entered. That can be time consuming. If you have a cabinet, you might do a spot check of the script and just try it on your cabinet. It is not a frequently used feature. If it exists, it is obvious and you will know the cause.

Cabinet-Specific Coding
There is a method for detecting whether a table is being played on a desktop, cabinet, or virtual reality setup. This can be done using the following script:
If xBAM.Camera.Mode = xBAM_Camera_Desktop then [your criteria]
If xBAM.Camera.Mode = xBAM_Camera_Cabinet then [your criteria]
If xBAM.Camera.Mode = xBAM_Camera_VR then [your criteria]
I use the cabinet option to turn off HUD displays—although most cabinet users already do this in the BAM menu. I also use the desktop option to activate alternate camera views that shouldn’t appear when running on a cabinet.
Changing the Backglass
DMDExt compresses the top and bottom of the entire backglass together to fit on a 16:9 monitor. This is usually handled by removing the speaker panel from the backglass texture using an image editor. Some tables don’t include a speaker panel. In that case, you’ll need to either edit the existing texture or find one that approximates a 16:9 aspect ratio.
If the backbox has a DMD, move it above the backbox in the FP editor so it can’t be seen. You do not need to move the HUD DMD.
After updating the backglass texture, you’ll need to adjust the bulbs. If you're using a modified texture with the speaker panel removed, move the existing bulbs to their new locations. If you're using a completely new texture, you may need to move, delete, or add bulbs to match.
Position the bulbs just as you normally would. When you open the FP editor, the backglass texture will appear horizontally compressed. Move the bulbs to their correct positions on this squeezed texture. DMDExt will automatically expand the texture and any associated objects, so the bulbs will appear in the correct place when played on a cabinet.
Update 6/12/25 - If you don't know how to make the backglass texture appear in the editor, you need to click on the "Preferences" pull down menu and click on "Editor Options". Then click on the box "Load images into editor" so it is checked. Then close the FP editor and reopen it. When you reopen it, click on the button on the left to open the translite. Then in the right pane, check the box for "Display Translite in Editor". The bulbs you want to move may be locked so they won't move, you can right click on the bulbs and click on "Lock". You can select several bulbs by drawing a box around the bulbs that you want to select. Then right click on one of the selected bulbs and click on "Lock". You only want to select bulbs and not other table objects. You can right click on the other table objects and save them to another layer by hovering your cursor over the "Assign to" option and selecting a different level. When finished, be sure to uncheck the "Load images into editor" option and close the editor saving any changes you made before you play the table. Leaving the "Load images into editor" checked option will basically result in loading textures twice when you play a table which will use many more resources on your PC.
Segmented Displays
If the table has any segmented displays, DMDExt will stretch them apart but they will still be readable. The following is a picture of some segmented displays on the backbox of the "Galaxia" table that is installed on a cabinet. It may not be obvious but they are stretched apart a little. I don't know of a way to compensate for this. There is a way to change the width of a segmented display in the editor but it just scales the whole display keeping the same proportions. I have never worked on a table with an EM scoring reel, but I think it will work the same as a segmented display with the reels being stretched apart.

Final Comments
I’ve found that cabinet users prefer to have something displayed on their third monitor. While they will accept segmented displays for game scores, number of balls and credits, they prefer additional content to be shown on a DMD. Keep this in mind if you’re creating a table that uses only segmented displays. Even if your table shows only game scores, you might consider adding a DMD that displays the table name or other helpful content.
— George
Last edited: