Digital Pinball With Force Feedback

pinball Hang around Hackaday long enough and you’ll hear about MAME, and all the other ways to emulate vintage arcade machines on a computer. The builds are usually fantastic, with real arcade buttons, MDF cabinets, and side graphics with just the right retro flair to make any connoisseur of ancient video games happy. MAME is only emulating old video games, though, and not physical systems like the digital pinball system [ronnied] put up on the Projects site.

[ronnied] was inspired by a real life, full-size White Water pinball machine at his previous job, and decided it was high time for him to acquire – somehow – a pinball machine of his own. He had a spare computer sitting around, an old 16:9 monitor for the main playfield, and was donated a smaller 4:3 monitor for the backglass. With an MDF cabinet, PinMAME, and a little bit of work, [ronnied] had his own machine capable of recreating hundreds of classic machines.

The build didn’t stop at just a few arcade buttons and a screen; [ronnied] added a 3-axis accelerometer for a tilt mechanism, solenoids and a plunger torn from a real pinball machine for a more realistic interface, and a Williams knocker for a very loud bit of haptic feedback. We’ve seen solenoids, buzzers, and knockers in pinball emulators before, and the vibrations and buzzing that comes with these electromechanical add ons make all the difference; without them, it’s pretty much the same as playing a pinball emulator on a computer. With them, it’s pretty easy to convince yourself you’re playing a real machine.

Videos of the mechanisms below.

[Read more...]

Mini Ms. Pacman

MsThe bragging rights of owning a vintage arcade machine are awesome, but the practicality of it – restoring what is likely a very abused machine, and the sheer physical space one requires – doesn’t appeal to a lot of people. [Jason] has a much better solution to anyone who wants a vintage arcade machine, but doesn’t want the buyer’s remorse that comes with the phrase, “now where do we put it?” It’s a miniaturized Ms. Pacman, mostly scale in every detail.

The cabinet is constructed out of 1/8″ plywood, decorated with printed out graphics properly scaled down from the full-size machine. Inside is a BeagleBone Black with a 4.3″ touchscreen, USB speakers, and a battery-backed power supply.

The control system is rather interesting. Although [Jason] is using an analog joystick, the resistive touch screen monopolizes the ADC on the BeagleBone. The solution to this problem would be to write a driver, or if you’re [Jason], crack the joystick open and scratch away the resistive contact until you have a digital joystick. A nice solution, considering Ms. Pacman doesn’t use an analog joystick anyway.

Pictures over on [Jason]‘s G+ page, along with a vertical video that G+ displays properly. Thanks, Google.

Hackaday Links: November 3, 2013

hackaday-links-chain

[Michael] just missed the deadline for the Trinket Contest but we still think his tablet is pretty cool. He says it predates the iPad and uses a custom aluminum case, a SoC he ripped from a Gecko Edubook, powered by eight NiMH batteries. Check out the front, the guts, and the sides.

Speaking of portable power sources, After doing a teardown of a 12V 6800 mAh Li-Po battery [Howard] strapped some prototyping equipment to either side of it and now he’s got a prototyping power supply that’s easy to take with him.

Blinky goodness doesn’t have to look hacked together (even if it is). This Raspberry Pi logo looks like a professional sign! It was cut from foam and plastic, primed and painted, then stuffed with addressable LED strips.

While we’re on the topic of refined RPi projects, check out this Raspberry Pi MAME cabinet. It’s a bit bigger than the Galaga cabinet we saw recently but still small enough to keep around the house without getting in the way.

If you’re a fan of automotive hacks you should check out this effort to build an Electronic Diesel Control.

We’ve been saving the gnarliest link for last. [Matthew] laments that his missed Halloween to show off this project. But we don’t think an almost-entirely wooden spider-like walker needs to be paired with a holiday. It’s very cool and somewhat operational, but still needs help working out all of the kinks. Our favorite moment in the video is when [Matthew] exclaims “It wants to live!”.

Hackaday Links: October 20, 2013

hackaday-links-chain

Winter is coming. We’ve see those gloves in stores made specifically to work with your smartphone. [hardsoftlucid] isn’t buying it. He made his own version using… well, you just have to see it.

Here’s an eBookmark for a real book. What? Well, you know how an eReader does a great job of keeping your place between reading sessions? This is an electronic bookmark for paper books which uses LEDs to show you where you last left off reading. [via Adafruit]

[Thomas Brittain] wrote in to share his BLE Module and Pulse sensor updates. Both were featured in a recent Fail of the Week column and the latest iteration takes them from fail to functioning!

You may be able to get a free XMOS xCORE starter kit. The company is giving away 2500 of them. [Thanks Tony]

After learning about custom labels for microcontroller pinouts from [John Meachum] we’re happy to get one more helpful tip: a breadboard trench is a great place to hide axial decoupling capacitors.

A bit of cutting, solder, and configuring lets you turn a simple gamepad into a 4-controller interface for MAME.

Many of the Hackaday Staff are into Minecraft (between Let’s Play videos, running servers, and building computers in-game it’s a wonder we get anything done around here). We restrained ourselves by not making this video of a Restone circuit Blender animation on your desktop into a full front page feature. [via Reddit]

 

Hacking Coin Collection

Coin Acceptor

Devices that collect coins for payment typically use standardized coin acceptors like the one shown here. These devices use a protocol called ccTalk to let the system know what coins were inserted. [Balda] has built tools for implementing the ccTalk protocol to let you play around with the devices. He also gave a talk at DEF CON (PDF) about the protocol.

[Balda] got started with ccTalk because he wanted to add a coin acceptor to a MAME cabinet, and had a coin acceptor. His latest project converts ccTalk to standard keyboard keystrokes using a Teensy. The MAME cabinet can then interpret these and add to the player’s credits.

There’s two interesting sides to this project. By providing tools to work with ccTalk, it’s much easier to take a used coin acceptor off eBay and integrate it into your own projects. On the other hand, these acceptors are used everywhere, and the tools could allow you to spoof coins, or even change settings on the acceptor.

How the mazes were generated for classic Berzerk game

berzerk-random-maze

This is a screenshot from the Atari 5200 version of the classic game Berserk. But the write-up we’re featuring actually looks at the original coin-op version. The maze for each level was established on the fly using a seed number fed into a rudimentary algorithm . Here’s a close look at how the maze building code actually worked.

Recently we saw a talk by Pitfall creator [David Crane] as part of our Retrotechtacular series. That is a real gem of programming history, and one of our favorite take-aways was that the levels were not hardcoded, but built using a random number generator algorithm with a hardcoded seed (so that the game was the same each time you played it). This uses a similar method but with a somewhat random seed.

The maze building was reverse engineered by observing the game in a MAME emulator, and by digging through disassembled code. Each time the code is “cold started” the seed starts out at zero, but from there the room number is used as the next seed. This is fed through a very simple algorithm. It generates directions for the walls, which use s few bit-wise operations to add the pillars inside the rooms.

It’s a great thing to study if you’re writing games for your embedded projects. By generating the room programmatically you don’t use up as much program memory. Of course these days even simple hobby controllers have way more storage to work with than [Alan McNeil] had when he designed Berserk.

[via Reddit]

[Image Source]

Extending old games with reverse engineering and MAME

HEX

For last year’s Toorcamp, the folks over at DorkbotPDX helped out with the Church of Robotron installation. A religion founded on the prophesy of a cybernetic uprising in the year 2084 is a little esoteric even for us, so the Dorkbot crew wanted a way to make playing Robotron: 2084 a little more visceral. Using MAME and a few debugging tools, they were able to read the memory of a machine playing Robotron to extend the game into the physical world. When the player dies, lights go off, alarms sound, and the prophet of the Church of Robotron is pleased.

The setup at the Church of Robotron included a machine running MAME with a Robotron ROM. When events happened in the game, such as lasers firing or a player death, physical events would be triggered. To do this, the Dorkbot team read the memory locations of a game of Robotron at different times and found memory locations tied to in-game events. On their blog they go over using the MAME debug tool to detect a player’s death which can then be translated into physical apparitions for the Church of Robotron.

It’s a very cool hack, and one we wish we had a video of. Having a plastic ghost hit a player while playing Pac-Man seems like an awesome idea, and with the Dorkbot tutorial, it looks fairly easy.

Follow

Get every new post delivered to your Inbox.

Join 97,790 other followers