Posted by Scott in Rambles
Not nearly as exciting as the last update, but some small progress was made.
- Re-arranged the driver code so that more work happens in driver. This should result in a lot less thunking from user space to kernel space, and honestly, it’s just the right way to do it.
- Roughed in some switch matrix handling code. Doing this is what precipitated the driver rework. Should be able to have a working switch matrix “simultation” early this week.
- Made a trusty checklist of what needs to happen for “in machine” testing of switches. If all goes well, I could get to that this week (short week of work means more time to hack pinball!)
- Did a little research on my display frame rate issues. Might be able to make some changes to thread priorities, but the rate I’m getting is actually just fine. In fact I have plenty of leeway while still being functional, which is good as there are a lot of mechanics still to code.
- Set a simple roadmap to a minimal useable table. I think I should be able to reach that goal by the end of December. The roadmap, in short is: read switches, fire solenoids, code in simple game engine to hook switches to solenoids.
Trying not to think too far ahead though. Need to read the switches first.
Posted by Scott in Rambles
Great progress this week. I got my checklist of items completed and was able to hook the sbc2440 board to the dot matrix display in the Goldeneye machine. Success!

I want to write up some full details on this, but here is the quick version.
The new driver for bit banging the GPIO pins on the sbc2440 didn’t work the first time. I had to dig a bit more into the driver code where I discovered actual documentation. Yes, I RTFM’d. And it helped. I had essentially configured the pins randomly. Once set properly to be output pins things worked much better.
The simulator I wrote for the DMD appears to be pretty darn accurate. Once I got the bit banging working and the cables hooked up properly, the driver worked without any modification. There are a handfull of issues that need to be worked out. I’m not happy with the refresh rate I’m getting. I’m also getting a touch of flicker (barely, you really have to stare at it to notice). It works well enough for now.
Needless to say I’m very excited about this progress.
The functioning display will make debugging the rest of the HW setup much easier. Next up will be getting the switch matrix functioning with the matrix states showing on the display (much like every standard pinball diagnostics works.)
More photos and a details on code and stuff coming soon.
Posted by Scott in Rambles
Check out the work on this nice Metallica themed home brew.
Nice to see a linux system running at the core.
http://arstechnica.com/gaming/news/2009/10/metal-on-metal-behind-the-scenes-on-a-custom-pinball-game.ars
Nice work!
Posted by Scott in Rambles
Not a good week in pinball land.
Step mother visiting == house cleaning instead of hacking.
Not complaining though. I found a lot of things I otherwise would have kept scratching my head and wondering just what the heck I did with.
I did two things of note:
- I started some sketchbook work on a playfield toy that I want in the finished game. While some might say it is a bit premature to be working that far ahead, I say it speaks to my confidence that I’ll get it working. The goal will be to replace the Satellite playfield toy with something more in line with the new theme: a volcano.
- I made a very detailed list of the steps that will lead up to some in machine testing. It is not a long list. In fact, the list points out very clearly that the only thing that will keep me from in machine testing in the next couple of weeks will be my fear of in machine testing.
Unfortunately this weekend is lost and next weekend I will be out of town. I am still committed to making progress every week. It may just not be a lot.