Learn Some Plastic Techniques With This SNES WiiMote Mod

Not all hacks have to be deeply technical. Sometimes a good show of skill is just as impressive. [lyberty5] takes two completely different hunks of plastic and somehow epoxies them into a convincing and, most impressively, reliable chimera.

While the WiiMote’s motion controls certainly caused a lot of wordy debate on the Internet when it was debuted. While everyone and their grandmother who owned a game company rushed out to copy and out-innovate it once they saw Nintendo’s hoard of dragon gold. Most game designers had other thoughts about the concept, mostly that it wouldn’t do for a platformer. So the gamer caught in the middle of it all had to rotate their grip-optimized rectangle 90 degrees and blister their thumbs on tiny buttons to play. Continue reading “Learn Some Plastic Techniques With This SNES WiiMote Mod”

Linux On Your NES Classic Edition

Nintendo look as though they may have something of a hit on their hands with their latest console offering. It’s not the next in the line of high-end consoles with immersive VR or silicon that wouldn’t have looked out of place in last year’s supercomputer, instead it’s an homage to one of their past greats. The NES Classic Edition is a reboot of the 1980s console with the familiar styling albeit a bit smaller, and 30 of the best NES games included.

You do not, however, get an original NES with a 6502 derived processor, and a stack of game cartridges. In the Classic Edition is a modern emulator, running on very modern hardware. We’re told it contains an Allwinner R16 quad-core Cortex A7 SoC, 256Mb of RAM, and 512Mb of Flash. That’s a capable system, and unsurprisingly any hacking potential it may have has attracted some interest. Reddit user [freenesclassic] for example has been investigating its potential as a Linux machine, and has put up a post showing the progress so far. It is known that there is already some form of Linux underpinning the console because Nintendo have released a set of sources as part of their compliance with the terms of the relevant open-source licences. That and the availability of a serial port via pads on the PCB gives hope that a more open distro can be installed on it.

We’re taken through the process of starting the machine up with the serial port connected to a PC, and getting it into the Allwinner FEL mode for low-level flashing work. Then we’re shown the process of loading a custom U-Boot, from which in theory a kernel of your choice can be loaded.

Of course, it’s not quite that simple. There is still some way to go before the device’s Flash can be accessed so for now, all that is possible is to use the RAM, and the current state of play has a kernel panic as it is unable to mount a filesystem. However this is a new piece of hardware in its first few days after launch, so this is very much a work in progress. We are sure that this device will in time be opened up as a fully hackable piece of hardware, and we look forward to covering the interesting things people do with it when that has happened.

If you are interested in the NES Classic, take a look at it on Nintendo’s web site. Meanwhile, here at Hackaday as a quick look at our past stories tagged “nes” shows, we’ve covered a huge number of projects involving the platform in the past.

Thanks [Doc Oct] for the tip.

Original NES console header image: Evan-Amos [Public domain], via Wikimedia Commons.

Crack Mike Tyson’s Punch Out Bang Bang Passwords

[Bisqwit] has feelings about games that use exclamation points in his idiosyncratic walkthrough of all the nuances of the passwords in the famous Punch Out Bang Bang.

As he states in his deeply weird (though in no way wrong) channel intro, when he’s not driving a bus or teaching Israeli dance, he works hard to understand the things around him. Naturally, a mysterious phone number shaped set of digits in a favorite game was a secret worth extracting.

The digits can represent every possible state in the game.  It uses a pretty simple decoding and encoding scheme, which he walks through. As he says, it all becomes clear when you can see the source code.

After working through all the quirks he is able to arbitrarily generate any state in the game and handle the exceptions (such as Nintendo USA’s phone number). You can see all his code here and try it out for yourself. Video after the break.

We’ve grown to respect [Bisqwit] as the explainer of all things console games. You will like his explanation of how to write a code emulator for an NES CPU.

Continue reading “Crack Mike Tyson’s Punch Out Bang Bang Passwords”

One Home Made NES To Rule Them All

The Nintendo Entertainment System, or Famicom depending on where in the world you live, is a console that occupies a special place in the hearts of people of a certain age. If you lived in a country that Nintendo didn’t ship its consoles to in the late ’80s and early ’90s though, you might think that it would be an experience that would have passed you by. Eastern Europeans for instance didn’t officially meet Mario for years.

A Pegasus NES clone. Ktoso the Ryba [Public domain], via Wikimedia Commons.
A Pegasus NES clone. Ktoso the Ryba [Public domain], via Wikimedia Commons.
Fortunately for them there was an industry of Chinese and Taiwanese clone makers whose products were readily available in those markets. For the countries without official Nintendo products it is these consoles and their brand names that have achieved cult gaming status rather than the real thing.

In Poland, [phanick] wanted to recreate his youth by building his own clone console (Polish Language, English translation via Google Translate). His chosen target was the Pegasus, the Taiwanese NES clone that was the must-have console for early ’90s Poles.

But he wasn’t just satisfied with building a Pegasus clone. Along the way the project expanded to include support for 72-pin NES cartridges as well as the 60-pin Pegasus ones, and the ability to play both PAL and NTSC games. For this dual-system support he had to include both sets of processor and graphics chip variants, along with logic to switch between them. He goes into some detail on the tribulations of achieving this switch.

The result is a very impressive and well-executed piece of work. The PAL games have a letterbox effect with black bars at top and bottom of the screen, while the NTSC games have slightly washed-out colours. But if you were a gamer of the day you’ll see these as simply part of the genuine experience.

He’s posted a descriptive video which we’ve embedded below the break, but with non-English commentary. It is however still worth watching even without understanding the audio, for its view of the completed board and gameplay.

Continue reading “One Home Made NES To Rule Them All”

SNES EPROM Programmer With Arduino

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!

Porting NES To The ESP32

There’s an elephant in the room when it comes to the Raspberry Pi Zero. The Pi Zero is an immensely popular single board computer, but out of stock issues for the first year may be due to one simple fact: you can run a Nintendo emulator on it. Instead of cool projects like clusters, CNC controllers, and Linux-based throwies, all the potential for the Pi Zero was initially wasted on rescuing the princess.

Espressif has a new chip coming out, the ESP32, and it’s a miraculous Internet of Things thing. It’s cheap, exceptionally powerful, and although we expect the stock issues to be fixed faster than the Pi Zero, there’s still a danger: if the ESP32 can emulate an NES, it may be too popular. This was the hypothetical supply issue I posited in this week’s Hackaday Links post just twenty-four hours ago.

Hackaday fellow, Hackaday Supercon speaker, Espressif employee, and generally awesome dude [Sprite_tm] just ported an NES emulator to the ESP32. It seems Espressif really knows how to sell chips: just give one of your engineers a YouTube channel.

This build began when [Sprite] walked into his office yesterday and found a new board waiting for him to test. This board features the ESP-WROOM-32 module and breaks out a few of the pins to a microSD card, an FT2232 USB/UART module, JTAG support, a bunch of GPIOs, and a 320×240 LCD on the back. [Sprite]’s job for the day was to test this board, but he reads Hackaday with a cup of coffee every morning (like any civilized hacker) and took the links post as a challenge. The result is porting an NES emulator to the ESP32.

The ESP-32-NESEMU is built on the Nofrendo emulator, and when it comes to emulation, the ESP32 is more than capable of keeping the frame rate up. According to [Sprite], the display is the bottleneck; the SPI-powered display doesn’t quite update fast enough. [Sprite] didn’t have enough time to work on the sound, either, but the source for the project is available, even if this dev board isn’t.

Right now, you can order an ESP32; mine are stuck on a container ship a few miles from the port of Long Beach. Supply is still an issue, and now [Sprite] has ensured the ESP32 will be the most popular embedded development platform in recent memory. All of this happened in the space of 24 hours. This is awesome.

Continue reading “Porting NES To The ESP32”

Hackaday Prize Entry: Making A Book Reader That Can Survive Kindergarten

[atomicthomas] is a dedicated teacher. One only has to look at the work he’s been putting into book readers for for the past sixteen years. With hardware like the Pi Zero threatening cheap computers just over the supply chain horizon, he’s begun to set his sights higher.

It all started with headphones and audio tapes. For all of us who got to use tapes and school headphones, we know the flaws with this plan. Nothing lasted the sticky and violent hands of children for long. When video recordings of book became available, DVD players suffered similar fates.

So, he began to rip his tapes and DVDs to his computer. However, the mouse has a warning about small parts on it for a reason, and didn’t last long either. So, he built a computer with arcade buttons and a Raspberry Pi. This one ran a heavily simplified version of a media manager and worked well. Even the special needs children had no problem navigating. A second exploration with an iMac and a Nintendo controller worked even better. Apparently all five year olds instinctively understand how to use a Nintendo controller.

Using the user test data, in his most recent iteration he’s working on a sub-twenty-dollar reading computer in a Nintendo controller. It’s not the most technically in depth hack we’ve ever covered, but it certainly ranks up there for harsh environments.