For video arcade games there is MAME, for home computers and consoles there is MESS and also computerized pinball machines have been emulated with PinMAME, but yet there was no solution for electro- mechanical pinball machines. With this I hope I can help to close the gap by providing a sort of framework for building EM pinball emulations from. A reference implementation of seedware code can be found in the VB script of the "Jimmy das Gummipferd" pinball game; a reference implementation of the "reel-a-listic" reel score display can be found on the backdrop of the Bally "Boomerang" emulator. (The very complex "reel-a-listic" reel counter display technology has become a bit outdated since nowadays Visual Pinball itself supports revolving counter reel objects, but the "reel-a-listic" ones can get stuck halfway rotated and are backlit; I am not sure if VP EM reel objects can do this too. The score counter engine code in "Boomerang" is outdated; the newest and most versatile version can be found in "Jimmy das Gummipferd".)
You are permitted and encouraged to use parts of this source code or other parts of seedware games in other Visual Pinball tables and publish them for non-commercial purposes, so far you give me (CYBERYOGI =CO=Windler) credits and include the URL of my site (see below) into the derived work.
You are also permitted to port seedware code to other programming languages and hardware platforms to hopefully soon get rid of that "MS" disease it is yet still bound to. If you publish a modified version of a seedware project that was created by someone else, you must use a different file name than the original work to prevent confusion, and you also must include your e-mail address and a download URL or other description to enable people to obtain the unmodified version of it.
All source code parts of seedware must be documented using English language code comments (in the style of literate programming) in a way that other programmers can understand them. When you change code parts, then you must also update the documentation to explain the changes.
If you emulate a pinball machine that has a certain feature (e.g. playfield illumination) but you are too lazy to implement it in your playfield and backbox model, then you must NOT delete the corresponding routines from seedware source code (so far present in the original seedware code), but instead implement them as empty, commented dummy routine to permit everybody to easily add the missing features later.
So far not mentioned otherwise, seedware programs and their components are distributed "as is" and come with absolutely no warranties.
All copyleft and copyright messages of authors and co-authors must be kept intact. All seedware projects must include a visible note that they are published under the seedware licence.
Seedware and its derived works can NOT be sold for profit without my explicit written permission and the permission of all co-authors.
All new written program code that includes portions of seedware code or is based on it (so far published) must also be releases as open source under this license to follow the universal law of software and let the seed grow and multiply.
(If you make such works, please inform me by e-mail because I would like to receive a copy of your work too. But never (!) e-mail to me a VPT file itself or other huge data without my prior explicit request, because huge files could result in a mail box crash which could endanger me to loose e-mails. Instead better e-mail me a download URL of your VPT file.)
When you make a new pinball game derived from seedware, you have the right to exclude art components of your own work from open source in a way that they may not be modified and/or not removed from your pinball game and/or not included into different pinball games, so far these components are mainly copyrighted by you and NOT substantially based on the artwork of a given pinball machine. The here described "art components" cover only pictures, text and music elements - they can never cover technical parts of the source code nor technical playfield objects nor sound samples taken from a pinball machine.
So far you use seedware code to upgrade a given Visual Pinball game that initially was created by 3rd persons (not by you) under a different open source licence, then you must mention the game's original author and explain in the merged code which parts have been upgraded with seedware and that the original parts of the game are not seedware and provide a source (e.g. download URL) to enable people (e.g. other programmers) to obtain the unmodified version of the game under its original licence unless the initial creator of the VP game accepts the upgraded version as the new official release of his game and allows to change the new version's licence entirely into seedware.
To make it clearer: You CAN upgrade given non- seedware Visual Pinball tables created by 3rd persons with parts of seedware code (and also later add other non- seedware code to that table again) without converting the entire game into seedware, but you CAN NOT upgrade an existing Visual Pinball game that is declared as a seedware project with non- seedware code without converting that piece of code into seedware too, nor you can create a new VP game based on seedware code without declaring it as seedware.
It is FORBIDDEN to use parts of seedware for purposes or products those severely glorify brutality or senseless brain destruction (e.g. alcohol, glutamate products or other drugs), cruelty, environmental destruction, machismo or other socially harmful things. If you intend to remake a historical pinball game that deals with such a topic, you may possibly get my permission by e-mail, but in this case you must include a visible warning into the game that its topic is ok only within a piece of pinball game history, but not in reality.
You also must not distribute versions of seedware- based software those are Visual Pinball password protected, nor versions those are otherwise read or edit protected by technical or other means. Seedware is open source and it is forbidden to technically hinder people from modifying the code of such games or from reading it to learn programming. (You are permitted to install the VP password lock personally on seedware games to hinder your kids from messing up them in the editor during play, but you must not distribute such versions.)
Valid is always the newest version of this licence, which can be downloaded
on the homepage of CYBERYOGI Christian Oliver Windler in the "Visual Pinball"
section. Any program distribution that contains seedware code must include
a recent copy of this licence and a hyperlink with explanation how to obtain
the newest version of the seedware licence.