Every now and then I need to delete quite a few Sprocs. It’s really a pain in the arse to do this with SQL Server Management Studio as it doesn’t let you delete more than one sproc at a time. So, I found this script that works pretty good (source).
1) Click the ‘Results To Text‘ button
2) Run:
SELECT ‘Drop Procedure ‘ + SCHEMA_NAME(schema_id)+’.'+name FROM sys.procedures
Ok, so like usual, after I think I’ve seen it all I usually find something that contradicts my thoughts. Apparently people are calling their own pinball machines, Homemade pinball machines. Not homebrew or DIY like I was searching for. So I found a couple other, not so popular, machines listed below.
Astro Boy – Very well done conversion. GH2006 - Custom built machine using a similar approach to what I want to do. Few documents here and there that could be useful. Solar Ride – From the same guy(s) that did GH2006. More of a proof of concept machine. Has a bit more detailed information.
Futurerama – Conversion…All the links to this machine are dead. Capitol Pinball – Still working on it. Working on the playfield now. Mars Attacks – Well done conversion from a William’s ‘Password’ machine. Oragami Pinball – It’s not EM or SS. But damn it’s freaking cool! Cosmic Colony – Well done conversion hooked up to a PC. Gothic – Hasn’t been updated in a long time. A few details on how it was done. Alchemy – Only information is in youtube videos.
If you know of any other machines I’ve missed, please let me know!
Edit:
Scott over at XTCPinball has a list of some machines that I didn’t list here. Check it out!
Feb. 04 – Added Alchemy
Feb. 15 – Added Astro Boy
Dec. 17 – Added Bill Paxton Pinball and fatmanandcircuitgirl.com
It’s been a few weeks since I’ve gotten 4 MAX6953 chips (for free…Thanks Maxim!). I won’t get into the details of the chip, you can read about it here. Now that the hustle and bustle of the holidays are over I finally got to concentrate on getting them to work with the Propeller. I have to say, it was quite the learning experience. It really brought home the fact that I remember jack squat about what I ‘learned’ in a beginning electronics AP class my senior year in high school (6 years ago…wow I’m getting old).
My first attempt was rather boring and actually sad. First of all I had a hard time getting everything hooked up. For some reason I just couldn’t understand the schematic on the Maxim site. After hooking everything up the same way about 30 different times I realized that I was trying to communicate with it via a serial interface. The chip only supports the SPI interface. After sorting that out and figuring out what to send to the chip I ended up with the following video.
While the blinking might look cool, it’s not supposed to do that. From what I found out is that the power was dropping too much to keep it on. So, after much frustration I added a 47uF capacitor and walla! Well, almost. The problem with the row of LEDs staying on no matter what was due to the intensity setting being set to 15. Ten prooved to be more than bright enough. Now everything works like a charm…
Muuuch better. The first shape is a heart. I was testing out the custom fonts feature this chip has. The second A-Z run is showing the intensity setting.
Here’s a picture of the setup. It looks far more complex than it really is. I’m attempting to learn EAGLE so hopefully you’ll give me a few days to get the schematic up. I’m tired of messing around with EAGLE right now. So enjoy an awesome photoshop of a schematic instead.
My MAX6953 Schematic (Click for fullsize)
Hooked up and ready to go. Second matrix ready to be hooked up (Click for fullsize)
The code to accomplish this is actually really easy. Of course, I say this now that I’ve figured it out. Below is an excerpt of how the ‘demo’ works.
tempa :=$41 ' Start with A
repeat tempa from $41 to $5A ' Cycle A-Z
m.WriteChar(tempa) ' Send it to the max
WaitCnt(clkfreq/2+cnt) ' delay
cognew(Flex,@PWMCog) ' start the intensity setting in a new cog
tempa:=$41 ' Start with A
repeat tempa from $41 to $5A ' Cycle A-Z
m.WriteChar(tempa) ' Send it to the max
WaitCnt(clkfreq/2+cnt) ' delay
So you might be thinking this is real great and all but what the heck is this for? Good question, I’m glad you asked. What I’m working on is the scoreboard for the pinball machine. Instead of using the traditional DMD I want to use LEDs. It’s definatly a much bigger challenge than a DMD. Although, once I reveal the machine design it should make a bit more sense of why I chose LEDs.
As always, I welcome any suggestions on how I can improve my blog posts. Especially technical posts such as this one.
I was randomly searching around to gather some more information on pinball machines and stumbled upon a really neat article written in 2005.
Excerpt:
“What differentiates this project from the typical emulator is that no reference is made to the original programs encoded on the MPU firmware. Instead, I employed a black box, or clean room, method based on studying their function rather than their internal structure. For me, it made sense to interpret these 66 electrical connections in terms of their purpose in a closed-loop process control model. That is, each is either input, output, part of a feedback circuit or part of the power supply. The four main divisions of the pinball machine control system are the solenoids, switch matrix, feature lamps and digital displays. I intentionally left out the digital displays for the first prototype, which is why the apparatus uses the computer monitor to show the scores”
It’s really interesting to see how he managed to interface with the existing MPU with a PC and custom IO card. He also released the code he used — PMREK. It hasn’t been updated since 2005 but I imagine it can be pretty valuable.
Ok, enough of that jazz. Over the past month or so the nagging voice of reason has been rearing it’s head around. Can I really pull this off? I mean pinball machines are made by dozens of people — Highly experienced people at that! I half blame this on my wandering brain and half blame it on Scott @ XTCPinball for even bringing it up ;). It seems he’s having the same kind of doubts with his machine. I’m notorious for thinking of huge ideas and becoming overwhelmed by what needs to be done. I need to keep myself from thinking of the big picture right now. It’s always nice to dream but if I don’t take this one step at a time I’ll never finish. It also helps to see that that Nuggy is still working and progressing well on Coconut Island.
One of the things I’ve noticed with with my research is that it almost feels like there is a cloak of secrecy around the inner workings of pinball machines. From dimensions to volts to how this and that work, it seems nobody, if they even know, wants to divulge their technical knowledge. Sure there are some kind people on RGP that would help out. But as with anyone asking too many questions I’m sure the flame would fly. Of course, I’m sure if you sifted through the RGP archives long enough you could probably have enough information to build a pinball machine, eventually. I don’t know about you, but that just doesn’t sound like fun to me.
Oddly enough this got me thinking about open source software and how awesome it really is. Some of the better programs out there are open source and community based. If you can find the right people, your project can really take off and become something special. My next thought went along the lines of “How can this apply to homebrew/DIY/home made pinball machines? Oh look! A duck!”.
There are tons of people out there with a lot of information to share. Some of it’s directly related to pinball, some of it’s might not be. Either way you think about it, there’s a big untapped pool of information that needs to be…well…tapped. Anyone can contribute to some aspect of a pinball machine — whether they know it or not. I want to harness the open source minded crowd to help with the….wait for it; Open Source Pinball ‘movement’. Ok, so it’s not a movement…yet (high hopes anyone?) If you really think about it, opening up the pinball arena to hundreds, maybe thousands of people, could even help out Stern – the last of the big guys. Fresh minds bring in new ideas! Furthermore this could open the door for some new blood that could really get pinball popular again (Coconut Island and Snow Mountain for instance).
So that’s how it kind of happend. Over the course of the next few days, maybe weeks, as time permits (so probably months ), I will be setting up a community wiki/forum/blog. The information I have collected on my own is very small in comparison to the wealth of knowledge there is out there that might not be published. I want to facilitate the information sharing. A wiki, for starters should get the ball rolling. What I’ve seen in my research is that everyone has their own idea of how to put a machine together. This is great and means that there is a bunch of information that everybody can learn from. The more information that can be put in a central location the better it will be for the start of a community. The worst that could happen is I have a online notebook for my research.
So that’s it for now. I will post again with the progress of the machine at a later date. I need to create some schematics and get some videos made — it’s pretty exciting!
* Edit – Thanks to WikiMatrix, I’ve narrowed the wiki choice down to 5 out of some 200+ choices. Here’s a “WikiMatrix” of the features each one has. If you have any suggestions for a wiki I’d really like to hear them!