Anti-Emulation Tricks On GBA-Ported NES Games

Emulation is a difficult thing to do, particularly when you’re trying to emulate a complex platform like a game console, with little to no public documentation available. Often, you’ll have to figure things out by brute force and dumb luck, and from time to time everything will come unstuck when a random piece of software throws up an edge case that brings everything screeching to a halt.

The Classic NES series was a handful of Nintendo Entertainment System games ported to the Game Boy Advance in the early 2000s. What makes them unique is a series of deliberately obtuse programming decisions that make them operate very differently from other titles. These tricks utilize advanced knowledge of the way the Game Boy Advance hardware operates and appear to have been used to make the games difficult to copy or emulate.

The games use a variety of techniques to confuse and bamboozle — from “mirrored memory” techniques that exploit addressing anomalies, to putting executable code in video RAM and writing to the audio buffers in unusual manners.

Even more confusingly, these techniques only appear to have been used in the Classic NES series of games, and not other Game Boy Advance titles. It’s not obvious why Nintendo went to special effort to protect these ports over other titles; perhaps the techniques used were for other reasons than just an attempt at copy protection. Speculate amongst yourselves in the comments.

This isn’t the first time we’ve discussed emulation of Nintendo systems — check out this effort to reverse engineer the Sony Pocketstation.

[Thanks to [[[Codifies]]] for sending this in!]

These are batteries. Don't put them in your mouth.

PSA: Don’t Let Kids Eat Lithium Batteries

We get a lot of press releases at Hackaday, but this one was horrific enough that we thought it was worth sharing. Apparently, some kids are accidentally eating lithium coin cell batteries. When this happens with bigger cells, usually greater than 20 millimeters (CR2032, CR2025, and CR2016) really bad things happen. Like burning esophaguses, and even death.

The National Capital Poison Center has done some research on this, and found that 14% of batteries swallowed over the past two years came from flameless candles like the ones above. We know some of our readers also deal with batteries in open trays, which are apparently pretty dangerous for children.

The National Capital Poison Center’s website has an entire page dedicated to battery safety, which is probably worth a read if you deal with batteries and small children on a regular basis. Should an incident occur, there’s even a hotline to call for assistance.

So, please, don’t swallow batteries, or let children put them in their mouths. After the break, a Canadian PSA song about not putting things in your mouth.

Continue reading “PSA: Don’t Let Kids Eat Lithium Batteries”

8008 Exposed

[Ken Shirriff] is no stranger to Hackaday. His latest blog post is just the kind of thing we expect from him: a tear down of the venerable 8008 CPU. We suspect [Ken’s] earlier post on early CPUs pointed out the lack of a good 8008 die photo. Of course, he wasn’t satisfied to just snap the picture. He also does an analysis of the different constructs on the die.

Ever wonder why the 8008 ALU is laid out in a triangle shape? In all fairness, you probably haven’t, but you might after you look at the photomicrograph of the die. [Ken] explains why.

Continue reading “8008 Exposed”

Hacked CCFL Inverter Becomes An Arc Lighter

[GreatScott!] needs to light off fireworks with an arc rather than a flame, because “fireworks and plasma” is cooler than fireworks and no plasma. To that end, he attempted to reverse engineer an arc lighter, but an epoxy potted high-voltage assembly thwarted him. Refusing to accept defeat, he modified a CCFL inverter into an arc lighter, and the process is pretty educational.

With his usual impeccable handwriting and schematic drawing skills, [GreatScott!] documents that his CCFL inverter is a resonant Royer oscillator producing a sine wave of about 37 kHz, which is then boosted to about 2400 volts. That’s pretty good, but nowhere near the 15 kilovolts needed for a self-sustaining arc across electrodes placed 5 mm apart. A little math told him that he could achieve this by rewinding the transformer’s primary with only 4 turns. After some testing, the rewound transformer was fitted back into the Royer circuit and with a few modifications the arc was struck.

It’s not a finished project yet, and we’re looking forward to seeing how [GreatScott!] puts this to use. For now, we’re grateful for the lesson is Royer oscillators and rewinding transformers. But if you’d rather hack an off-the-shelf arc lighter, there’s always this arc lighter pyrography pen, or this mini plasma cutter.

Continue reading “Hacked CCFL Inverter Becomes An Arc Lighter”

Tiny Game Of Simon On An ATtiny13

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.

3924691481641919444Neat 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”

Cheap Cat Feeder Enhances Sleep

We’ll admit it: we sometimes overcomplicate things. Look at [Peter Weissbrod’s] automated cat feeder, for example. It isn’t anything more than a bottle, a servo, some odds and ends, and an Arduino. However, it lets him sleep in without his cat waking him for service.

We looked at the code and thought, “This thing will just dispense food all the time! That’s not what you want!” Then we looked closer. [Peter] uses a common household timer to just turn the device on in the morning, let it run for a bit, and then turns it off. You can see a video of the mechanism, below.

Continue reading “Cheap Cat Feeder Enhances Sleep”

Smartphone Case For The Retro Gamer

A well-designed phone case will protect your phone from everyday bumps with only as much style flair as you’d like. While protection is usually the only real function of a case, some designs — like [Gabbelago]’s Emucase — add specific utility that you might not have known you needed.

Contrary to most cases, the Emucase fits over your phone’s screen, and the resulting facelift emulates the appearance of a Game Boy for easier — you guessed it — Game Boy emulation play on your smartphone.

Cannibalizing a USB SNES gamepad for its buttons and rubber contact pads, Gabbelago then threaded some wire through the contacts, securing it with copper tape and glue; this provides a measurable level of capacitance to register on the touchscreen. Using heat to bend the sides of the 3D printed case so it can attach to the phone is probably the trickiest part of this cool project. Check out his build instructions for any pointers you need.

Continue reading “Smartphone Case For The Retro Gamer”