Building A Pinball Emulator

Building a MAME machine – an arcade cabinet that will play everything from Galaga to Street Fighter II – is surely on the ‘to build’ list of thousands of Hackaday readers around the world. It’s a relatively simple build, provided you can put a sheet of MDF in your car; it’s just an emulator, and if you can find a CRT and have an old computer sitting around, you’re already halfway there.

There is another class of arcade games that can be emulated. This is, of course, pinball machines. [Jan] built a virtual pinball cabinet over the last few months and his build log is incredible. If you’ve ever wanted to build a pinball emulator, this is the guide to reference.

The most important part of a pinball emulator is the displays. For this, [Jan] is using a 40-inch TV for the playfield, a 28-inch monitor to display the backglass art, and a traditional 128×32 DMD. Instead of manufacturing his own cabinet, he repurposed an old electromechanical machine, Bally’s Little Joe.

The software is the real star of the show with PinballX serving as the front end, with Future Pinball and Visual Pinball serving as the emulators. These emulators drive the displays, changing out back glasses, and simulating the physics of the ball. The computer running all of this has a few neat electromechanical bits including a shaker motor, an original Williams replay knocker, and some relays or solenoids give the digital table a tremendous amount of force feedback. This is the way to do it, and if you don’t have these electromechanical bits and bobs securely fastened to the machine, you really lose immersion.

You can check out a video of the table in action below.

Continue reading “Building A Pinball Emulator”

Even More Emulated Microcomputers: 8080 on a Stellaris Launchpad

[Steeeve] just sent us his work on emulating a handful of 8080-based microcomputers on a Stellaris Launchpad, including the bare-metal to run Space Invaders. We know what you’re thinking: Is that all you folks are doing these days?!?!? There must be something in the water.

[Steeeve]’s build is based on the Launchpad with an external 64kB of SPI RAM, a nice little TFT display, and a built-in SD card for all of your storage needs. Add in an 8080 emulator and a keyboard and you’ve got a tiny microcomputer. (Is that redundant?)

What’s really neat about [Steeeve]’s project is that he’s cloned not just one target computer, but a whole bunch of computers including (GitHub links follow) the 8080-based UK101/Superboard, the CPM/80, and the machine that ran Space Invaders, as well as the 6502-based Commodore PET and Apple-1.  And as a bonus, you can save the state onto the built-in SD card so that you can hibernate the microcomputer and pick up right back where you left off at a later date. Snazzy.

He’s also built a library which provides an emulation framework if you want to build on this work yourself. And did we mention he can play Space Invaders? Bravo [Steeeve]!

BeagleSNES for Game Boy, Game Boy Advance, NES, and – yes – SNES

By far the most common use for the Raspberry Pi is shoving a few dozen emulators on an SD card and calling it a day. Everybody’s got to start somewhere, right? There are other tiny, credit card-sized Linux boards out there, and [Andrew] is bringing the same functionality of the Raspi to the BeagleBone Black and BeagleBoard with BeagleSNES, an emulator for all the sane pre-N64 consoles.

BeagleSNES started as a class project in embedded system design, but the performance of simply porting SNES9X wasn’t very good by default. [Andrew] ended up hacking the bootloader and kernel, profiling the emulator, and slowly over the course of three years of development making this the best emulator possible.

After a few months of development, [Andrew] recently released a new version of BeagleSNES that includes OpenGL ES, native gamepad support through the BeagleBone’s PRU, and support for all the older Nintendo consoles and portables. Video demos below.

Continue reading “BeagleSNES for Game Boy, Game Boy Advance, NES, and – yes – SNES”

C64 Emulator For The Arduino Due

c64

Almost a year ago, [miker00lz] started a thread on the Arduino forums telling everyone about a 6502 emulator and BASIC interpreter he wrote for an Arduino Uno. The chip inside the Uno isn’t a powerhouse by any means, and with only 2KB of RAM it’s far less capable than just about any computer from the 70s. Arduino works on a lot of different chips, though, and after a few months, [Jan] turned an Arduino Due into a Commodore 64 emulator.

[Jan]’s code isn’t limited to the DUE, and can be used with any chip with enough memory. If you’re feeling fancy, you can connect a TFT display for all the vintage goodness of PETSCII graphics, all while running a faster BASIC than the very stripped down EHBASIC.

Because the emulator is using software to talk to the outside world, it should be possible to use this project to interface with the cooler chips found in Commodore machines – SIDs for one, but also the cartridge port for some vintage Ethernet goodness. It’s not even limited to Commodore machines, either: the POKEY chips found in Atari 8-bit micros are seriously underutilized in the chiptune and demoscene, and having modern hardware to play with these chips couldn’t hurt in the slightest.

Continue reading “C64 Emulator For The Arduino Due”

Hackaday Links: April 20, 2014

hackaday-links-chain

[Josh] hit the same issue we’ve faced before: cable modems don’t match a form factor and usually don’t make themselves easy to mount on something. We could complain about routers as well, but at least most of those have keyhole slots so you can hang them on some screws. Inspiration struck and he fabricated his own rack-mount adapter for it. Velcro holds it in place, with a cutout bezel to see the status lights and an added fan to keep things cool.

Here’s a pair of strange but possibly interesting ones that were sent in separately. The first is an analysis of how much energy short-run CNC prototyping consumes versus traditional manufacturing. The other is an article that [Liz] wrote about getting started with CNC mill bits. She says she compiled all that she learned as she was getting started in the field and wants to save others the effort.

This one goes back several years, but who doesn’t love to hear about a voice-controlled wheelchair?

So you can solder QFN parts but you can’t hammer a nail straight into a piece of wood? The answer, friend, is a laser guided hammer. Someone hire this [Andybot] person, because the solution to the problem shows the ability to out-think an interesting dilemma: how do you put a laser in a hammer head and still use it to hit things?

We’ve seen a lot of these long-range WiFi hacks over the years. This one is worth looking at because of the work done to create an outdoor mount that will stand the test of time.

And finally, we’re still really fond of this 2-bit paper processor that helps you wrap your brain around what’s going on with those silicon wafers that rule our everyday lives. [glomCo] liked it as well, and actually coded an emulator so that you can play with it without printing anything out on paper. We think it takes away some of the fun, but what an excellent programming exercise!

An Emulated Commodore 64 Operating System for the Raspberry Pi

Commodore-PI

 

It’s no secret that Commodore users love their old machines with the Commodore C64 being chief among them with 27 Million units sold worldwide. Speaking as a former Commodore Business Machines (CBM) engineer the real surprise for us is the ongoing interest and devotion to an era typified by lumbering 8 bit machines and a color palette consisting of 16 colors. Come to think about it, that’s the description of Minecraft!

Jump forward to today and it’s a generation later. We find that the number of working units is diminishing as age and the laws of entropy and physics take their toll.

Enter the Commodore Pi, an emulated Commodore 64 operating system for the Raspberry Pi. The goals of the project include an HDMI and composite compatible video output, SID based sound, Sprites and other notable Commodore features. They also plan to have hooks for more modern technology to include Ethernet, GPIO and expansion RAM.

A video demo of the emulator can be found below. If you’re just warming up to the Commodore world, you’ll definitely want to know the real story behind the C128.

Continue reading “An Emulated Commodore 64 Operating System for the Raspberry Pi”

Fail of the Week: CPLDs That Release Blue Smoke

fotw-floppy-emulator-burned-cpld

The card you see above is a floppy drive emulator for Macintosh. [Steve Chamberlain] has been hand assembling these and selling them in small runs, but is troubled by about a 4% burn-out rate for the CPLD which has the red ‘X’ on it. He settled into figure out what exactly is leading to this and it’s a real head-scratcher.

He does a very good job of trouble-shooting, starting with a list of all the possible things he thinks could be causing this: defective part, bad PCB, bad uC firmware, damage during assembly, solder short, tolerance issues, over-voltage on the DB connector, or bad VHDL design. He methodically eliminates these, first by swapping out the part and observing the exact same failure (pretty much eliminates assembly, solder short, etc.), then by measuring and scoping around the card.

The fascinating read doesn’t stop with the article. Make sure you work your way through the comments thread. [Steve] thinks he’s eliminated the idea of bad microcontroller code causing damage. He considers putting in-line resistors on the DB connector but we wonder if clamping diodes wouldn’t be a better choice (at least for testing purposes)? This begs the question, why is he observing a higher voltage on those I/O lines during power-up? As always, we want to hear your constructive comments below.


2013-09-05-Hackaday-Fail-tips-tileFail of the Week is a Hackaday column which runs every Wednesday. Help keep the fun rolling by writing about your past failures and sending us a link to the story — or sending in links to fail write ups you find in your Internet travels.