Pinball Browser and SmartDmd FAQ
What's new in v6 ?
What is Pinball Browser ?
Pinball Browser is a software that helps customizing your game.
Depending on the game, you can display and modify images, videos, sounds, adjustments, high scores, ...
Where can I download Pinball Browser ?
The latest version is available here
What's new in the latest version ?
Check the change log at the end of this post
How do I install Pinball Browser ?
No setup is required. Just create a directory and unzip all the files in it.
To start the application, run Pinball-Browser.exe
If you get an error message like "To run this application, you first must install one of the following versions of the .NET Framework: v4", download it here
Can I install Pinball Browser on a Mac ?
Pinball Browser does not run natively on a Mac. Some users had it run on OS X with CrossOver : See here
What are the differences between the free and the registered version ?
In the free version, the restrictions are :
- Images cannot be imported (but they can still be modified with the integrated editor).
- Videos (Spike) cannot be imported.
- Sounds that are longer than 10s cannot be imported.
- Sounds cannot be exported
- Macros cannot be played and patches cannot be loaded.
How do I register Pinball Browser and get a license ?
The registered version is reserved to users who support this project.
If you want to support this project, just click on the Donation button in Pinball Browser and follow the instructions.
In return, you'll be able to use all the features.
You'll also have free upgrades for one year.
Please note that the license is bound to one computer : if you change your computer, you'll need a new key.
The Pinball Browser license does not include the SmartDmd license.
Where can I get support on Pinball Browser ?
The Pinside forum and this Faq are the best place to look at. If you still can’t find an answer, just PM me.
Please don’t ask me to modify your firmware (like replacing a song or colorizing your firmware); I'm not good at this.
I can only answer on how to use Pinball Browser or fix a bug if you find one.
Is Pinball Browser localized ?
Pinball Browser can be used in English, French, German and Spanish.
Just select your language in the drop down list located in the left bottom corner of Pinball Browser.
The translations still need a lot of improvement. Any help on these versions is very welcome !
If you find anything that does not sound good, please contact me.
What's new in the latest version ?
All the modifications are listed in the Change Log at the end of this post
How can I be notified that a new version is available ?
Unless you disable this feature, Pinball Browser will display a pop-up message when a new version is available.
Otherwise, check in this post
Why does my anti-virus complains about Pinball-Browser ?
It is very unlikely but it sometimes happens.
To feel more confident, you can check Pinball-Browser.exe on VirusTotal. It will perform a virus check with more than 60 anti-virus softwares.
Your anti-virus or firewall might also report that Pinball-Browser is trying to access the internet : Pinball-Browser does this to check whether a new version is available and to check for online bookmarks. You can disable this : uncheck the corresponding options in the « Config » tab.
Can I brick my game ?
In theory, yes, but I’ve never heard this happened to anyone.
As the boot loader is in prom (not in flash), it is very unlikely that you brick your game when you patch your firmware. However, I am not 100% sure. So don't blame me if this happens...
Why are you doing this ?
As a software and hardware developer, I’ve found a way to blend my profession and pinball hobby together through the creation of the "Pinball Browser" system. This is a great project and I still don’t see the limits of what can be done !
What is SmartDmd ?
SmartDmd is an interface that allows you to display your Dmd on a screen, colorize images, upscale your Dmd, broadcast its images over your network, ...
Pinball Browser is used to colorize images (on a frame by frame basis), receive and display broadcast images througth the network, post Facebook snapshots, configure the system, and more !
To select a palette for a specific DMD image, click on Edit and select the palette you want (you must first choose SmartDmd as DMD type on the "Display System" tab, and configure your palettes on the "SmartDmd" tab).
The "Remote SmartDmd" feature allows you to broadcast your DMD on your network and display it with Pinball-Browser (SmartDmd tab, Display). You can even publish a DMD on your Facebook wall.
More infos here
Where can I download SmartDmd ?
See the « Installation » section in this post
Which game is compatible with SmartDmd ?
Most of DE, Whitestar, Bally, Sam games.
How can I test SmartDmd ?
Without a license, SmartDmd will run for about 1 minute before displaying a « No License » message.
You can install SmartDmd and check that it works with your game during this period of time.
How can I get a license for SmartDmd ?
See here and send me a PM if you are interested.
The SmartDmd license does not include the Pinball Browser license.
What kind of Hardware do I need ?
- A Raspberry Pi v1.2 B+ (not v2 !) with a 4Gb or more SD card and a power supply.
- A SmartDmd adaptor, a DMD Extender board or a custom cable.
- A HDMI screen
- A side-channel cable
- A network cable
See here for more infos.
What are In-Frame or Side-Channel palettes ?
SmartDmd supports 2 different colorization modes :
- "In-Frame" mode : the color information is embedded into the frame. For some frames, this can lead to 8 missing pixels in the upper-left corner (but there are ways to minimize this)
- "Side-Channel" mode : the color information is transmitted from the pinball machine to SmartDmd in a separate cable.
There are 2 possibilities for this mode : a GPIO cable (15 palettes max) or a Serial cable (255 palettes max).
How do I configure Pinball Browser for side-channel palettes ?
- Load a stock firmware
- Select the way Pinball Browser will store the palette informations into the firmware : go to the "SmartDmd" tab and select the method you want in the "Store colors" drop-down list. Depending on the side-channel cable you want to use, you'll select either "GPIO" or "Serial".
- Load the communication patch ("Load Patch" in the "Sam" tab). It is needed so that the game can send the palette informations to SmartDmd. Enter the game serial number that you'll find on a tag located at the back of the upper cabinet.
- Your macros should look like (this example is for AC/DC with a serial side-channel cable) :
- Select the way SmartDmd will receive the palette informations : go to the "SmartDmd" tab, run the SmartDmd configurator and select the method you want in the "Color mode" drop-down list. Of course, you need to select the same method than above.
How do I build a custom cable ?
See the « Custom cable » section here
How do I build a side-channel cable ?
My side-channel palettes don't work. How do I fix this ?
Add the following line in the smartdmd.txt file :
And remove all the borders you might have defined.
From now, each time a palette is selected, its number will be displayed in the upper left corner of the screen (not the DMD area).
Which firmware is supported ?
Pinball Browser currently supports the following firmwares :
- Stern/Sam firmwares : fully supported ;
- Stern/Spike firmwares : fully supported, except for the communication patch that is not available; At prensent time, videos cannot be imported in some games.
- Stern/Whitestar : Atmel and 6809 boards; Pinball Browser can only play and modify sounds;
- WPC games : Pinball Browser can only display DMD frames. No other features are supported. No modifications are possible.
How do I open a Spike firmware ?
There are 2 options :
1 - The prefered method : Open an image (.img) of the game SD card :
* For Pinball Browser v6 :
Just insert the game SD-card into your PC and use the "Read image from X:"; Pinball Browser will make an image of your SD card and save it on your hard disk.
Modify what you want in this image. Once it's done, the modified image must be written to a SD-card, not a thumbdrive.
Do not use the original SD-card (keep it as a backup); use a new SD-card; no need to format it.
Use the "Write to SD" function in the SmartDmd tab.
* For Pinball Browser v5 :
Use Win32DiskImager to make an image (.img) of your SD card
Open the .img file with Pinball Browser and modify what you want
Use Win32DiskImager again to transfer your modified image to the SD card (it is strongly advised to use a spare SD card and keep the original one unmodified)
2 - Open an .spk or .000 file (available on Stern's website) ;
The main drawback of using a .spk file (compared to a .img) is that you'll only see what's included in the upgrade package (for example, if some video files are not modified with the upgrade, you won't see them in Pinball Browser).
If you open a .000 firmware, Pinball Browser will convert it to a .spk file. This .spk file cannot be used to upgrade the game (because it's bigger than 4Gb and cannot be copied on a FAT formatted USB stick). You have to convert it back again to .000/.001 files before upgrading your game (click on the button next to the Open button and select 'Pack firmware for USB stick').
What is the communication patch ?
The communication patch is a software modification in the firmware that allows the game to communicate with an external device (PC, SmartDmd, PinballMikeD AC/DC band mod, Score mod, …)
Pinball Browser needs the communication patch to be installed on a Stern/Sam game to retrieve/modify the real time high scores or adjustments.
Do I need the communication patch ?
Only if you have a Stern/Sam game and you want to do one of these things :
- display/modify the real time high scores or adjustments
- use a mod that needs to communicate with your game
- use SmartDmd with side-channel palettes
Which game is compatible with the communication patch ?
Only recent Stern/Sam firmwares are supported. The best way to know is to open your stock firmware with Pinball Browser and try to load the communication patch. If you have any errors, it is possible that your game is not supported.
How do I install the communication patch ?
Pinball Browser can communicate with your pinball with a serial link (with this kind of cable : amazon.com link »
This allow you to make real-time modifications :
- Modify adjustments (music volume, language, ...) : Edit an adjustment and click on "Get/Set" current value
- Read/Write/Backup/Restore your high scores : See the high scores tab
Each modification you make is immediately taken into account by your pin
To enable this feature, you first need to use the communication patch :
- Connect your pc to your pin with a RS232 cable
- Load a stock firmware in Pinball Browser
- Specify the serial communication port in Pinball-Browser (Advanced tab); there is a 'test' button. At this stage, it should report that the "communication patch" is NOT installed.
- Load the "commXXX.hex" patch that is included into the .zip you've downloaded (Advanced Tab / Load Patch button). If you have any error or warning during this, it probably means that the patch is not compatible with your pinball.
- Save your patched firmware and upgrade your pin with it
- Pinball Browser should now say that the communication is working when you redo the port test (in the Sam tab).
Untill now, this feature has only been tested on ACD165LE and STLE141 (If you try this feature on a different pinball, please post a message here so that I can update this information).
- More info here
Can I modify the game rules with Pinball Browser ?
No, and I have no plan to do this.
Why do I get "Update Failed - Error code 8" ?
This error means that the file you are using has an incorrect checksum.
Fortunately, it does not prevent the game from working.
More info : Each firmware has a checksum (crc) that is used to verify that the file is not corrupted.
The first versions of Pinball Browser did not take care about this and, thus, the crc was incorrect.
The latest version of Pinball Browser always tries to keep the crc correct but this only works when the original crc is ok : if you modified a firmware with one of the first versions of Pinball Browser, it is not possible to fix it, and the crc will always stay incorrect.
Why should'nt I share binaries ?
Binaries contains copyrighted stuff like code, songs, artworks, …
That’s why you should never share them.
It is better to use Pinball Browser’s macros. Macros do not embed copyrighted material other than yours.
You can store your macros in the online repository that is provided by Pinball Browser.
Why are my modifications on a Spike firmware immediately written to the file ?
Spike firmware files can be huge (more than 4 Gb for Aerosmith !) and Pinball Browser cannot load them in memory. It has to directly work on the file.
Also, copying such files takes some time and Pinball Browser will not do it for you.
How can I find my game serial number ?
- You can find it on the label behind the backglass.
- If the label is missing, you can install the communication patch. When you press "Test" in Pinball Browser (Sam tab), the serial number will be displayed on your DMD.
- You can use the following easter egg on your game (for Sam and Spike) to display the serial number on the DMD :
Press L, Press R, then release both
Then press and release :
where R and L are the right and left flipper buttons
What are the macros in Pinball Browser ?
Each time you make a modification, it is recorded in the "Macros" tab.
Macro can be used to share your mods : anyone who runs your macro on a stock firmware will have your mods
Do not share songs or binary files if you don't own the copyrights ! instead, use macros.
Macros can also be used to optimize memory : For example, if you replace the same image several times, it will consume memory. To prevent this, clean up the macro list of all the tests you made (and you don't want to keep), and re-run it on a stock firmware : it will only use the minimum required memory.
More infos here
Why would I need the macros ?
- Your macros can be shared so that others can apply the same modifications. This way, you don't have to share files on which you don't have copyrights.
- Macros can be used to optimize the memory
- Macros can also help when a new firmware version is release.
What is "Memory Optimization" ?
Most of the time, when you modify an image, some additional memory is consumed (memory is consumed when you save your changes in the image editor or when you import an image – not each time you
modify a pixel in the editor).
The amount of free memory is displayed in the info panel.
With time, and if you modify the same image more than once, memory is wasted.
To recover this wasted memory, you can « optimize » your macros : Pinball Browser arrange your macros so that all the modifications of the same image are gathered into one single editor session.
If you play these optimized macros on a stock firmware, some wasted memory can be recovered.
How can I share my macros
Your can store your macros in the online repository.
Everyone can read it. Only the owner of a macro can modify it;
How can I modify the DMD images ?
You can either use the embedded editor or import images.
For « Raster » images, the new image is stored at the same place; so, there is no limitation in the number of images you can replace; for the other types (« Compressed », « Motion », …), you can also replace them, but you are limited by the free available memory in the firmware.
The image size and type is displayed just below the scrollbar.
What kind of image can I import ?
Regarding the imported image format, there is no requirement : it will be resized to the correct size and converted to gray scale. You can also use other formats that JPEG (bmp, png, ...). Best result when you use BMP or PNG with the same size than the orginal image.
What are the different types of images ?
« Raster », « Compressed » and « Motion » are the most used.
« Raster » is a raw bitmap; « Compressed » is a raw bitmap that is compressed to save memory space and « Motion » only records the differences from the previous frame.
Can I define bookmarks on images ?
Yes, and it can help to directly jump to a specific image.
Just enter a name in the bookmark field and click on « Set Name ».
To jump to a specific frame, you can :
- Select the name in the drop down list
- or enter its id in the bookmark field and hit Return. For example, enter 0x123 into images combo box to jump to image 0x123
How can I colorize the DMD frames ?
You can use SmartDmd to display colorized DMD frames on a LCD screen.
On Sam/Stern games, you can colorize each frame : use the embedded editor to assign a palette to a frame and use the graphic tools to modify the frames. You can define your palette in the SmartDmd configurator and/or you can Control-click a color in the editor to modify the current palette.
On other games, you can only use a single game-wide palette.
How can I change the sounds on my pin ?
It’s very easy, select the sound you want to replace in the list and click on « Import ».
Select your sound file you want to use and the sound editor will open. Most of the time, you don’t need to adjust anything here ; just click on Import and that’s it : your new sound has been imported into your firmware.
What kind of sound file can I import ?
Pinball Browser can import many file formats (wav, mp3, ... and even video sound tracks). The embedded small editor will allow you to crop the sound and adjust the volume. It will also convert the file to the adequate format. No need to use an external software (like Audacity) anymore in most cases.
How can I modify the sound level for a song ?
You can adjust the sound level when you import a sound.
You can also adjust the sound level afterward : select your sound script, click on the dropdown menu right to the Play button and select "Adjust volume"
Why can't I change the duration of a sound ?
The sound track duration cannot be changed. If your file is too long, it will be cut; if it is too short, there will be no sound for the remaining time. Internal structures are too complex to allow this kind of modification (a sound-request is generally made of several sound-scripts; each sound-script can be split into several sound-fragments...); Use the embedded sound editor (or Audacity) to adjust your sounds.
More info here
Can I import stereo sounds ?
Only if the original sound is already in stereo. This is indicated in the sound list.
If you import a stereo sound on a mono sound-script, only the first channel will be used.
If you import a mono sound on a stereo sound-script, the single channel will be used twice.
In brief, you don’t have to bother about mono/stereo. Always import the best possible sound track and Pinball Browser will deal with this.
Can I define bookmarks on sounds ?
Yes, and it can help to directly jump to a specific sound-request or sound-script.
Just enter a name in the bookmark field and click on « Set Name ».
To jump to a specific sound, you can :
- Select the name in the drop down list
- or Enter 0x123 into sounds combo box to jump to sound script 0x123
- or Enter 123 into sounds combo box to jump to sound request 123
What are sound-requests, sound-scripts and sound-fragments ?
First of all, there are 'Sound Requests'. A sound request is related to an action (Drain for example).
Each sound request has 1 or more "Sound script".
Each sound script is a list of actions; The most interesting action is "play sound fragment"...
To make things a little more complicated, the script functions are not the same in all firmwares
The app will show you how many sound requests, scripts and fragments there are (and also the script version).
For example, when you drain, the sound request "Drain" is executed :
It has several associated sound scripts : "Draino", "byebye", "looooser", "ahaha"...
In this example, each sound script only has 1 fragment, but it is not always the case : some songs have more than 100 fragments...
The same sound fragment can be used in several sound script. This is meant to save space in the game memory.
When I replace a sound-script, another one is impacted. Why ?
The same sound fragment can be used in several sound scripts. Thus, when you modify a sound script, all the other ones that contain the same fragments are also impacted.
Pinball Browser v6 can display the sound fragments for each sound script allowing you to check which sound will be impacted.
What are the different sound engines ?
Pinball Browser can use different software sound librairies.
Most of the time, you can let Pinball Browser choose which sound engine to use.
However, in some case, it is not possible and you have to manually select it (int the « Config » tab).
The default sound engine is « Media Foundation » which is the most powerfull. If you use Windows XP, you’ll probably have to select Legacy but you’ll loose some features (like the ability to import MP3).
How can I modify the videos on my game ?
On some Spike games (WWE LE for example), you can replace the videos that are played on the playfield lcd screen.
Just go to the video tab ; select the video you want to replace and click on « Import » ; select your video file and that’s it !
Pinball Browser need « ffmpeg » to convert the video files. If it’s missing, Pinball Browser will ask you to download it and place the program « ffmpeg.exe » and « ffprobe.exe » in his directory.
What kind of video format is supported ?
All the video formats that are supported by « ffmpeg » can be used in Pinball Browser.
In practice, you’ll be able to import any format.
Please note that, on some games, it is not yet possible to import videos.
How can I directly jump to an image or a sound ?
Bookmarks are made for this.
The combo box (right next to the sound or image scrollbar), will give you a direct access to them when you select the corresponding line. You can enter a new name, or modify an existing one :
Enter the name, and click on 'Set Name'.
You can also :
- Enter 0x123 into images combo box to jump to image 0x123
- Enter 0x123 into sounds combo box to jump to sound script 0x123
- Enter 123 into sounds combo box to jump to sound request 123
Additional infos here
You can synchonize your bookmarks with the online database : click on Sync
What is the online synchronisation ?
It’s a way to share the bookmarks that are store in the online database.
Click on « Sync » in the Sounds or Images tabs.
How can I modify the texts in my game ?
Go to the « Messages » tabs in Pinball Browser.
Double-click on the message you want to change and enter a new text !
Please note that these messages are language dependent : you first have to select the working language in the drop down list.
Some texts are not listed here. To modify them, you’ll have to click on « Search Firmware » (at the bottom of the « Messages » tab).
Never remove or modify '%' patterns... or your firmware will crash when the message is displayed. Those strings are used by 'printf' to format items.
What is the difference between a Message and a String ?
The difference is on the way they are implemented into the firmware :
- Messages are localized strings that are stored into a structured area.
- Texts are strings that are diretly referenced by the code.
Most of the strings are Messages.
When you modify a message, it can be stored in-place : its length cannot be increased (or just a few bytes); if you click on 'override max length', it will be moved to free memory, and its length can be increased. Several messages can use the same memory location : if you modify one, all the other ones will also be affected. When modifying such messages, you can change this behaviour : just click on 'Modify this instance only'.
If a string is not listed in the message tab, you can use the 'Search Firmware' function (on the same tab). However, these strings cannot be moved to free memory : they can be modified but their length cannot be increased.
Why would I need to modify the adjustments with Pinball Browser ?
This feature can be can be used to define your favorite adjustments when you load the firmware.
The 'default' value is the one used after a factory reset; 'Min' and 'Max' are the min/max values that you can define in the service menu; 'Increment' is the step used when you increase/decrease a value in the service menu.
What are the real-time values ?
It’s the value that is currently used by the game (which can be different from the factory value).
If you have installed the communication patch, you can :
- modify your adjustments in real time.
- populate the list with the current pinball values (rightmost part of each line); this function will also generate a macro for each value that is different from its factory default value. These macros can later be used to restore the current configuration.
Why would I need to modify the adjustments with Pinball Browser ?
To modify the default names/scores that are used after a factory or highscore reset.
You can use your name !
What are the real-time values ?
It’s the high score that is currently stored into the game (and not the factory default value).
If you have installed the communication patch, you alse can :
- backup/restore your current high scores
- modify your highscores in real time
- populate the list with the current pinball highscores