Emulators are a great way to reminisce about games and software from yesteryear. [Jorj Bauer] found himself doing just that back in 2002, when they decided to boot up Three Mile Island for the Apple II. It played well enough, but for some reason, crashed instantly if you happened to press the ‘7’ key. This was a problem — the game takes hours to play, and ‘7’ is the key for saving and restoring your progress. In 2002, [Jorj] was content to put up with this. But finally, enough was enough – [Jorj] set out to fix the bug in Three Mile Island once and for all.
The project is written up in three parts — the history of how [Jorj] came to play Three Mile Island and learn about Apple IIs in the first place, the problem with the game, and finally the approach to finding a solution. After first discovering the problem, [Jorj] searched online to see if it was just a bad disk image causing the problem. But every copy they found was the same. There was nothing left for it to be but problem in the binary.
Continue reading “Fixing Bugs In A 37 Year Old Apple II Game”
How much game can you get out of a chip with only 1 kB of flash memory and (five or) six free GPIOs? Well, you can get it to play the classic memory game, Simon. [Vojtak] is submitting this project for the 1 kB Challenge, but it looks like it’s already been used to teach simple microcontrollering to teenagers as well, so the code is actually straightforward to read, but full of nice features.
Neat tricks include sharing button-press sensing and LED driving on the same pin, which was necessary to make everything work on such a small chip. A simple linear-congruential pseudorandom sequence provides the variation, and it’s seeded by slow-clock/fast-clock timing jitter, so you’re probably not going to see the same sequence twice. (It’s not the best random number generator ever, but it’ll do.) If that weren’t enough, high scores (and the random seed for the game) are saved to EEPROM so that you can brag to your friends or re-live your previous moments of glory.
The board is easily solderable together as well. This is a fantastic beginner project, with details in the code that everyone can learn from. It’s a great game, and a great demonstration of what you can do with a dollar’s worth of parts and 1 kB of code.
Continue reading “Tiny Game of Simon on an ATtiny13”
[Marcelo Maximiano’s] son had a school project. He and a team of students built “The Pyramid’s Secret“–an electronic board game using the Arduino Nano. [Marcelo] helped with the electronics, but the result is impressive and a great example of packaging an Arduino project. You can see a video of the game, below.
In addition to the processor, the game uses a WT5001M02 MP3 player (along with an audio amplifier) to produce music and voices. There’s also a rotary encoder, an LCD, a EEPROM (to hold the quiz questions and answers), and an LED driver. There’s also a bunch of LEDs, switches, and a wire maze that requires the player to navigate without bumping into the wire (think 2D Operation).
Continue reading “Code Like an Egyptian”
[Tony] has designed and 3D printed a full-sized pinball machine and it’s absolutely incredible. And by 3D-printed, we mean 3D-printed! Even the spring for the plunger printed plastic.
The bumper design is particularly interesting. The magic happens with two rings of conductive filament. the bottom one is stationary while the top one is a multi material print with a flexible filament. When the ball runs into the bumper the top filament flexes and the lower rings contact. Awesome. Who wants to copy this over to a joystick or bump sensor for a robot first? Send us a tip!
The whole document can be read as a primer on pinball design. [Tony] starts by describing the history of pinball from the French courts to the modern day. He then works up from the play styles, rules, and common elements to the rationale for his design. It’s fascinating.
Then his guide gets to the technical details. The whole machine was designed in OpenSCAD. It took over 8.5 km of eighty different filaments fed through 1200+ hours of 3D printing time (not including failed prints) to complete. The electronics were hand laid out in a notebook, based around custom boards, parts, and two Arduinos that handle all the solenoids, scoring, and actuators. The theme is based around a favorite bowling alley and other landmarks.
It’s a labor of love for sure, and an inspiring build. You can catch a video of it in operation after the break.
Most video game manufacturers aren’t too keen on homebrew games, or people trying to get more utility out of a video game system than it was designed to have. While some effort is made to keep people from slapping a modchip on an Xbox or from running an emulator for a Playstation, it’s almost completely impossible to stop some of the hardware hacking that is common on older cartridge-based games. The only limit is usually the cost of an EPROM programmer, but [Robson] has that covered now with his Arduino-based SNES EPROM programmer.
Normally this type of hack involves finding any cartridge for the SNES at the lowest possible value, burning an EPROM with the game that you really want, and then swapping the new programmed memory with the one in the worthless cartridge. Even though most programmers are pricey, it’s actually not that difficult to write bits to this type of memory. [Robson] runs us through all of the steps to get an Arduino set up to program these types of memory, and then puts it all together into a Super Nintendo where it looks exactly like the real thing.
If you don’t have an SNES lying around, it’s possible to perform a similar end-around on a Sega Genesis as well. And, if you’re more youthful than those of us that grew up in the 16-bit era, there’s a pretty decent homebrew community that has sprung up around the Nintendo DS and 3DS, too.
Thanks to [Rafael] for the tip!
The “Navigation Thing“ was designed and built by [Jan Mrázek] as part of a night game activity for high school students during week-long seminar. A night-time path through a forest had stations with simple tasks, and the Navigation Thing used GPS, digital compass, a beeper, and a ring of RGB LEDs to provide a bit of “Wow factor” while guiding a group of students from one station to the next. The devices had a clear design direction:
“I wanted to build a device which a participant would find, insert batteries, and follow the beeping to find the next stop. Imagine the strong feeling of straying in the middle of the night in an unknown terrain far away from civilization trusting only a beeping thing you found. That was the feeling I wanted to achieve.”
The Navigation Things (there are six in total) guide users to fixed waypoints with GPS, a digital compass, and a ring of WS2812 LEDs — but the primary means of feedback to the user is a beeping that gets faster as you approach the destination. [Jan] had only four days to make all six units, which was doable. But as most of us know, delivering on a tight deadline is often less about doing the work you know about, and more about effectively handling the unexpected obstacles that inevitably pop up in the process.
Continue reading “Navigation Thing: Four Days, Three Problems, and Fake Piezos”
[Mathieu] wrote in with his laser target practice game. It’s not the most amazing hack in the history of hackery, but it’s an excellent example of the type of simple and fun things you can do with just a little bit of microcontrollering.
First off, the gun is a broken toy gun that used to shoot something other than red collimated light beams. The Arduino knockoff inside reacts to a trigger pull and fires the laser for around 200 milliseconds. The gun also has a “gas gauge” that fills up with repeated shots and cools down over time. And therein lies the game — a simple race to ten, where each player only has a fixed number of shots over time.
The targets are simply a light sensor, scorekeeping LED display, and a buzzer that builds tension by beeping at you as the countdown timer ticks down. The bodies are made out of 3D-printed corners that connect some of [Mathieu]’s excess wooden goat-cheese lids.
All the code is up on GitHub so you can make your own with stuff that you’ve got lying around the house. The “gun” can be anything that you can embed a laser in that makes it aimable. Good clean fun!