5/12/2017 – Overlay applied

Got a chance to apply the overlay tonight.  It went much better than the previous one, and the overlay looks spectacular.  The colors really pop with the art that Joe did for this one.

As you can see in these close ups, the scans did not match up perfectly.  There is about 1/8 of an inch offset at some points, and I tried to split the difference to make it as good as possible.  If we had a good amount of time, I would probably do a second print and move the inserts just a little bit to get things perfect.  I think it is just one of those things, that since I put it on, I really notice it a lot, so it bothers me.  I look at production machines, and there are definitely issues that are on those when you get close look at them.  I guess my suggestion is if this is for a project that you have been working on for 5 years (I guess I’m talking to Mark (Nightmare Before Christmas) if he reads this blog, be prepared to do at least two printings to make sure that everything lines up perfectly).  I believe that he also scanned his playfield with the hp4600 and he will see the same sort of issues (i.e. off by 1/8 inch or so in certain sections).

These close up pictures emphasize the offset because I’ve zoomed into them.  Over all, I’m very very happy with how applying the overlay went and the art.  (One more time that my wife talked me down from the edge).

Next up is auto clear coating fun!

5/7/2017 – Prepped for Vinyl Overlay

So the white coat of Kilz is down, and I sanded it with 600 grit sandpaper.  I would have loved to wet sand it so that I didn’t have to keep switching sandpaper because it was getting gummed up, but I didn’t want to clean up the mess that would make, so I just burned through the sheets.  (Burn ’em if you got ’em).

Here are a couple of quick pictures of the current state of the playfield.

The vinyl overlay is supposed to come in on Tuesday (5/9/2017), so right now, everything is prepped and ready for that.  One of the most stressful things is trying to apply the overlay, and to get it perfectly aligned.  My wife loves when I ask her to help me with that.

I’ve been spending a lot of time working on the Pinball Framework to support the switch matrix.  I now have everything displaying in the simulator properly, but I can’t simulate switch inputs from the switch matrix yet.  Just need another couple of hours to implement and test it.

So the OPP Pinball Framework is based off Pygame.  Pygame is well, not that great, which is why better frameworks (i.e. MPF) have moved away from Pygame.  Since I’m only trying to emulate early 80s games, I think of it as good enough for me.  I would eventually like to move to MPF, but because of time constraints, I can’t do it on this project.

One of the issues with Pygame is how it deals with sounds.  It is really, really, picky.  Joe hands me most sounds as MP3 files.  I convert them using Audacity and export them as wav files.  If you export them as “WAV (Microsoft) signed 16 bit PCM”, Pygame can’t play them.  (It just makes a clicking sound).  Instead, choose to export them as “Other uncompressed files”, and make sure that the Project Rate (Hz) is set to 44100.  That will make it so the sample will play properly.

Here is a quick Pygame code to play a sound.  I use this to verify samples are working properly so I don’t have to run the whole framework.

#!/usr/bin/env python
import pygame
import time

pygame.init()

# display.set_mode is necessary for Pygame to properly initialize
pygame.display.set_mode((200,100))
pygame.mixer.init()

# Relative path from directory where program is started
soundPlyr = pygame.mixer.Sound("New/musicFile.wav")
soundPlyr.play()

# Sleep so sample will play before closing out Python program
time.sleep(5)

That is about all for today.  I currently think things are on track for being ready for Pintastic in about two months.

5/2/2017 – Theme is revealed

Well the cabinet painting is done, so now let’s see if you can guess what the theme is going to be.  Here are some pictures of the cabinet.  (This is before I did a little bit of touch-up to where the paint infiltrated below the tape.)  In person, the cabinet is really shiny which is exactly the look that I hoped to achieve.  As stated in the last blog entry, I really like painting with Rustoleum enamel paints.  They really laid nice and flat even though I was painting on a vertical surface.

What is the one thing that we don’t have enough of in pinball?  Yeah, that’s right…late 80s rock bands.  It is Joe’s dream theme, so he is really taking the lead on this project and its direction.   Do you have a guess now?

Well here are some reduced size images of the artwork.  (I reduced the images because the full sized images get to be really large and my computer gets a little unhappy with trying to display them.  GIMP ends up working best for working on the images).  For the original images sent to Banner Buzz, the art is 300 dpi x 300 dpi.

I think that my favorite part of the images is the halftone that Joe did on the playfield.  It looks really great with the full sized image and how it transitions between the different colors.  He also did a great job making the people in the band on the playfield look like cartoon characters.  Top notch!  The Banner Buzz order went out on Monday night (5/1/2017) and I should receive the vinyl overlays by 5/9/2017.

The backglass and plastics vinyl stickers are on white vinyl with the adhesive so that it can be placed on the inside of a window.  The playfield is on clear vinyl with the adhesive so that it can be placed on a flat surface.  All said and done, all the artwork cost about $65 including shipping.  Quite a good price.

So with artwork ordered that means that I need to get the playfield prepped for the vinyl overlay.  Tonight, I masked off all the inserts using tape and cut around them with an exacto knife.  I will use a spray can of Kilz to lay down a layer of white paint where I don’t want the wood to show through.  This will make the vinyl playfield overlay pop as much as possible.

I still need to use some cotton and a little more tape to protect holes and the incandescent bulb sockets from getting paint in them.

In a last bit of news, on Sunday, 4/30/2017, the Pinball Wizard Arcade closed.  I was there for the last night, and met many great friends for one last night of pinball.  I wish Sarah St. John all the best.  Running an arcade with 200 pinball machines is a huge undertaking.  She was there six or seven days a week for the last six years.  I hope she made enough to retire.  While I sometimes complained about the price of the games, it was great to have a location with that many good machines in that good of shape just up the road.  It will be missed by all the pinball players in New England.  We will never again be able to have a New England Pinball League (NEPL) with 170 people battling it out to see who is the best in a single day.  Now finals will only be for 32 people.  It just isn’t the same.  Best of luck, Sarah!

4/23/2017- Firing on all cylinders

The goal is to get the cabinet done by the end of next week, or beginning of the following.  To that point, I need to add one more coat to the cabinet.  A nice cherry red to emulate the theme.  This weekend on Saturday finished up the last coats of white, added more tape for the stripes, and on Sunday night laid down a coat of red.  Looks like it is going to need another three or four coats, but at that time, the cabinet painting should be done.  If everything goes well, I will finish the painting this week and reassemble next weekend.  Here’s the pictures so far:

Next up was some work on the playfield.  I gotta de-Dolly the machine and get ready for the retheme.  I decided to sand it down to bare wood.  I also reseated any inserts that were needed.  So I went from a Dolly-wood to a white wood.  (Yeah, it’s a bad joke but the best that I could come up with.)  Next step is to mask off all the inserts, plug all the holes, and lay down a coat of white primer to get ready for the vinyl banner for the art.

Look, it even shows that I used ear protection.  (Note:  Those are just stage props because I got tired of taking them on and off).  I ended up using an orbital sander and 120 grit sand paper to remove the paint, then 180 grit sand paper to sand it smoother, and ended with 600 grit sand paper.  I would have like to use 220 grit, but I didn’t have it available for the orbital sander.  I’m not that worried about it since I am going to spray paint a white coat of Kilz on it, and I will sand that flat using 600 grit sand paper.

Last but not least this weekend, I started moving the stuff over to the Raspberry Pi.  This involved setting up a small spot I could work upstairs in the house with the monitor.  I used the standard installation of Jessie.  That already has python 2.7.x, pygame, and pyserial installed by default.  Nice!  Next I needed the USB to serial port to be recognized correctly (the default distribution thinks it is a Cypress Thermometer.  I modified /etc/modprobe.d/raspi-blacklist.conf to include the line “blacklist cytherm”.  By adding that line, the driver was correction recognized as a USB-serial driver, and /dev/ttyACM0 showed up.  Here is a picture and if you zoom in, you might be able to see that the Gen2Test program correctly prints out the configuration of the wing cards.

Pi Development Setup

Pi sitting upstairs

That’s all for the weekend.  Somebody mentioned on the Pintastic thread that it is 75 days until Pintastic.  This is definitely going to be a race to the finish, but things are going well right now.

 

 

4/19/2017 – More cabinet work

So the first layer of black paint was down and looked as good as it was going to get.  Next layer is going to be white.  Took a good amount of time to mask of the pattern that I needed, and snap a few pictures.  Doesn’t look like much yet, but I think it is going to look really nice after another two coats of white.  I was amazed at how shiny and reflective the black looked without spraying.  You can definitely see the bumpiness from the roller, but with adding some mineral spirits into the white, I think that it is going to lay even flatter.  (I think that I’m going to need about four coats of the white enamel to get the look that I need.)

This might be the first time that people can really guess what the retheme is going to be.  (Maybe because of the masking tape used to block off the black.)  Here are the pictures:

Please ignore the messy garage.  I really like that I’m keeping all of the fumes out of the house.

In other updates, Jeremy updated the Pinball Makers website with more information on the Power Interface board.   (That is the board that can be connected to an inexpensive 48V power supply from Ebay, and provides more bulk capacitance to fire pinball coils).  He did another great job writing up how to populate the board.  Thanks, as always, Jeremy!  Here is a Pinball Makers link to the write up.

04/11/2017 – Houston, we can read a switch matrix

There are a lot of different things that need to come together to get this retheme done by Pintastic.  Many of them are on my shoulders, but some of them are on Joe’s shoulders.  Joe, I apologize for badgering you, but the schedule is so tight for this project, that everything has to happen perfectly to get this thing in some semblance of finished.  Today, I literally bothered Joe during his lunch hour.  It is his theme, his art, basically his baby, and today, all I did was nag him about things that I need because we are less than 3 months from showing this machine off at Pintastic.  Joe, I’m sorry.

Yes, there are plenty of pinball companies out there that get a new product out in 3 or 4 months.  (Well, actually there is really only Stern, and all the other companies seem to fall late by quite a bit.)  Joe and I are out to prove that a bunch of fools (well, at least I’m a fool) will try to go from a Dolly machine to a completely new machine with new rules in about four or five months.  (We literally didn’t start this project until the beginning of February if I remember properly).  It’s not like we have a whole company behind us, it’s not like we work on pinball during the day, this is simply after hours, during weekends, etc.  A truly audacious goal.  At this point, I literally have no idea if the machine is going to be completed…but we will try our best.

This also proves that anybody can really do this stuff and at a reasonable price.  My budget is about as low as it can go to make a machine, because to me, pinball is simply a hobby.  It is a heck of a fun hobby.  I would say in many ways building pinball is more interesting to me than playing the machine itself.  (I guess I have to say that because I dropped out of league to try and get this machine finished.)  I can guarantee this won’t be an $8K machine.  I can also guarantee that doing these updates to the machine will breathe life back into a trashed machine.

Enough of that crap.  Last Friday, I finished the code for reading a switch matrix.  I checked it into the repository yesterday, but since it wasn’t tested, I didn’t bother putting a new version that can easily be used by upgrade.  Today, I got around to dragging the laptop, the piece of plywood with the OPP boards, and the Bally interface board, and plugged it into the cabinet.  (Bally’s have a switch matrix in the cabinet, and on the playfield.  The playfield is torn down, so I had to go with the cabinet).  Ran Gen2Test which now continuously reads the inputs from both direct switches and a switch matrix if it is configured, and it worked immediately.  Bits were showing up as I tripped them, and there was no bleed from one column to another column in the matrix.  Super sweet!

What does this leave on the firmware?  Well, the only thing left is using a switch matrix input to trigger a solenoid, and being able to change the solenoid configuration.  I’ve already figured out the best data structure to trigger the solenoid automatically, so all the design is really done.  That means I’m just down to the coding which should be pretty easy.  Reading a switch matrix is one big worry out of the way.

If interested in the details, it works like this.  During the main loop, it reads a single input byte.  It then switches to the next column, so if a capacitor needs to be charged it has the time to do it.  It then walks through the data byte looking for changes from the last time it read that column.  If it changes, it clears a counter for each input byte to zero.  If it hasn’t changed, it increments the counter and checks to see if the count has crossed the threshold.  If so, it declares the bit as active, and holds the bit active until the data goes low and crosses the threshold count again.  This makes sure that glitches aren’t caught and automatically debounces the signal.  Next time it moves to the next column, and repeats the process.  This happens thousands of times a second, so for a human it will be instantaneous.  It should detect changes in less than a ms.  Nice!

I wish I had a snazzy video that I could show, but let’s be serious.  It would simply be a picture of the computer screen with one of the 64 ‘0’s changing to a ‘1’ when toggle the coin or tilt switch.  Certainly not worthy of a video.  Maybe this weekend I can make a video, but more than likely, that would be on SS3.

 

04/08/2017 – Pictures of the Teardown

After taking a whole bunch of pictures during the tear down, I suddenly realized I should probably show the pictures.  Dolly is a street level game, so it is simpler than many of the newer games that have multiple levels.

Here are all 31 pictures that I took.  I tend to take a single picture that shows the whole setup so I can refer back to it.  At that point, I remove plastics, then take a picture of each of the different areas of the playfield.  Finally, I take detail photos of anywhere that I think that I might get confused when reassembling.

As I take things apart, I put each section in a separate bag or bin so that I don’t have a huge bucket of parts that I need to know where they go.  Each bin or bag is marked with a location, so I can remember where everything goes.  It’s just that simple.

Here’s the photos:

This slideshow requires JavaScript.

Got the initial implementation of the switch matrix reader completed, but must be tested.  More on that tomorrow if I get some time.  Also, I’ll add some info on the cabinet work that I’ve been doing.  (The last photo in the slideshow shows the cabinet).