Monthly Archives: May 2014

More PinballFramework Updates, 5/29/2014

So as it currently stands, the pinball framework is in good enough shape that a pinball machine could be run using it.  It has been a long journey, but I’m happy with how it currently stands.  Below lists the biggest features that were added in the last two weeks:

  • Timer thread processing so now timers can be set up
  • Sound chain processing, so now sounds can repeat after a certain delay.
  • Background music is now supported.
  • Added support for scoring using switch inputs
  • Added support for communicating with hardware cards
  • Added support for a background image

Unrelated to the PinballFramework…added generated documentation to the archive in a zip file.  Added partially completed BackpackPinball layout…but instead of finishing that, I ended up working on the python code.

Next step will be finishing the BackpackPinball layout (the ruleset is currently implemented using the framework).  The framework needs to have non-HD format sizes supported to support the monitor I bought.  Gotta get the Pi up and running which should magically run the pinball framework without changes.  (I’ll believe that when I see it, but it is why I went with Tk and pygame instead of java.)

All in all, a good couple of weeks.  More coding than I was expecting.  I bought another playfield and that is going to take the place of the Camelot playfield.  Hated to put a ton of time into it, and find out that Camelot stinks.  The Camelot playfield parts are going to be used in the backpack pinball machine.  I also bought a used cabinet so I won’t have to use 2x4s to support a naked playfield on a table.  That will probably be the next big thing that I work on.  More on that in a couple of weeks.

Goonie pinball dude, send me a note some time if you read this.  I couldn’t find a link on your site for your email address, and I wanted to talk.  My email is on this site, so send me a note.  Thanks.


More features added to Python Pinball Framework, 5/12/2014

More additions to the python pinball framework over the last couple weeks.  Here is a list of major additions to the framework:

  • Added script files to generate Doxygen documentation.  The Doxygen batch and configuration files are located at Python/PinballFramework/Doxygen.  All of the Python files comments and headers have been updated to support the documentation.
  • Added LED chain processing.  A separate thread processes changes to a masked group of LEDs.  That group of LEDs can be changed using LED commands which include turning on/off LEDs, waiting a certain amount of time between LED changes, and repeating a sequence of LED commands.
  • Added timer thread processing.  The timer thread looks for timers that are running, and if so, increments the time until the limit is reached.  When the limit is equaled or exceeded, the expired timer bit is set for that timer.
  • Added sound chain processing.  This thread is almost identical to the LED chain processing thread except instead of changing the LED state, it can play sounds.  This makes playing a sound every 30 seconds easy, without requiring multiple states to do it.
  • Added play/stop background music to standard functions.  Allows a background track to be played continuously.

Next thing that is going to be added is the scoring.  Right now, the only thing that scores is completing all of the targets or completing the three lanes at the top of the playfield.  I’ve just been too lazy to program the rest of the switches to give scores.  Communications also haven’t been finished.  Those are the last two remaining big features that need to be added.

Allentown Pinfest was a couple of weekends ago.  There was a free T-shirt up for grabs for the first person who asked for a free T-shirt.  Well, nobody asked for it, so nobody got it.  That being said, I’ll continue the contest until somebody actually gets the T-shirt.  Rules are same as before except I probably won’t have the extra shirt with me.  If that is the case, I will take your name/address and mail you the shirt.

I spent most of my time at Pinfest playing EM machines.  There are enough machines around in northeast MA, southern NH where I can play a ton of solid state to DMD machines.  The one group of machines that aren’t really represented in the wild are the EMs.  Allentown had a ton of EMs where some were in a good state, while others were a little rougher.  For some reason the week before Allentown, I was remembering an old pinball Gottlieb machine I played as a kid that had a gobble hole in the center of the playfield.  As a kid, it just seemed totally unfair to have a gobble hole where your ball would just be sucked down, and it was gone.  Now, being able to aim the ball a lot better, playing the angles, it is a lot more fun.  I found one EM machine with a gobble hole at Allentown and played it to death.  It was simply a blast.

I was hoping to score a bunch of parts at Allentown, but looking through the flea market didn’t yield anything very exciting.  I did pick up a Bally MPU board for my Dolly so I can put her back into action.  (I’m sick of fixing up a completely corroded board, and the only real way to fix it would be to remove all the chips, clean, and then replace.  Way too much hassle for that game, so I picked up a tested used MPU board which I will toss in at some point.)  I was rolling in my mind of whether I should just gut the machine, add my new driver cards, throw an LCD in the backbox and add some better rules, but seemed like it was a shame to do with a machine that would be working if the MPU was working.  (This doesn’t include the fact that there is a ton of wear on the playfield and the backglass is completely peeled.)

Started working on the layout for the backpack pinball machine.  I started trying to lay it out after doing a couple quick measurements with some of the parts I’ve collected, and low and behold nothing was fitting.  There was a moment of complete doubt if a 12″ x 24″ pinball machine is even possible.  Luckily Joe talked me back from the brink and threw some ideas at me.  With a 12″ wide playfield, there is no space for two inlanes, two outlanes and two flippers.  The lower playfield is going to be very similar to the Space Station playfield.  It only has two outlanes with a very small wire between the slingshot and the flipper to allow cradling the ball.  I laid that out using visual pinball and it should fit with the slingshots and the mini flippers I have from the Shaq Attaq.

The top of the for the pinball backpack playfield certainly doesn’t have enough space for all the stuff that I was planning for up there so I’m now thinking of adding a second level.  That should give me enough space to fit all the rest of the stuff.