Extending Hardware Support
Posted: Thu Jul 21, 2016 2:58 pm
Since 1.2.1, hardware devices are supported by the game using standalone 'slave' executables, e.g. PinDMD2Slave.exe for the PinDMD 2 device. In order to allow more devices to be supported, we're releasing the source code for this. The executable just needs to be located in the same directory as ProPinball.exe and its name is passed with the d option, e.g. 'dSomeDMDSlave'. The DMD slave receives a message containing the raw DMD frame data (16-colour monochrome) at approximately 24 frames per second, the game's DMD update rate.
1.2.1 also added support for a 'feedback' slave. This is sent a message approximately 60 times per second containing the current intensity of each flasher (0.0 off, 1.0 maximum brightness), the on/off state of each solenoid, and the on/off state of the start, fire and magnosave button lights (not displayed in the game itself, though used to show/hide buttons in the mobile version). These should be suitable for driving real hardware via e.g. an Ledwiz. The game does not provide a feedback slave, but the source package contains code and an executable for a dummy slave that just prints out state changes to the console. The feedback slave is started by adding the command line option f followed by the executable name, e.g. 'fFeedbackSlave'.
boost 1.60.0 is required. Later versions may work, but that's the version the game is built with.
1.2.1 also added support for a 'feedback' slave. This is sent a message approximately 60 times per second containing the current intensity of each flasher (0.0 off, 1.0 maximum brightness), the on/off state of each solenoid, and the on/off state of the start, fire and magnosave button lights (not displayed in the game itself, though used to show/hide buttons in the mobile version). These should be suitable for driving real hardware via e.g. an Ledwiz. The game does not provide a feedback slave, but the source package contains code and an executable for a dummy slave that just prints out state changes to the console. The feedback slave is started by adding the command line option f followed by the executable name, e.g. 'fFeedbackSlave'.
boost 1.60.0 is required. Later versions may work, but that's the version the game is built with.