- Joined
- May 3, 2016
- Messages
- 3,172
- Solutions
- 7
- Reaction score
- 2,511
- 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
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.
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.

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
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.
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.

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: