Operating system
The operating system will be FreeBSD. There have to be some adjustments to the system to make it fast and reliable (in terms of timing) enough, and to make it fit onto the flash memory card used for storage.
More on this on the /OperatingSystem page.
The control program
The main game control program will be written in C. It will be a multi-threaded program, and will control the overall game flow, query and evaluate the switches, drive the solenoids that need to be activated by the control computer (most coils will be activated directly by the respective sensors under the playfield), lighten the playfield lamps, and control the backbox display.
A more detailed description can be found at /GameControlProgram.
Fault tolerance
Taking into account the high power used for moving parts in the game, and the unforseen events all the mechanics and player interactions can cause, the software must be designed with a bunch of possible faults in mind. Causes of such faults can be:
- Ball being trapped in mechanical parts
- Ball blocking mechanical parts and preventing them from moving
- Coils burning through
- High-power electronics overloading and failing
- Lamps failing
- Target (and other) switches short-circuiting or failing
- Overload situations in control computer
- Timing issues in control computer
- Software errors
A mechanics reset function (MRF) should be included that moves all the mechanical parts on the playfields in a way that trapped balls would be ejected.
Helper programs
Some helper programs are needed on the control PC for various functions. Some, for example the sshd, will run only when required, others such as the iocd have to run all the time.
/iocd - I/O control daemon
- sshd - Secure shell daemon
CategoryComputer CategoryPinball
THIS DATA IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DATA, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
All product and brand names mentioned on there pages and in the source code are registered names and/or trademarks of the respective owner and are mentioned for identification purposes only.
For a full copyright notice, please see this link. For imprint and contact information, please see http://www.thiemo.net/.