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”
Pokemon is a great game by itself, but when you realize that not all of the ‘mon are available in one game, trading is required for completion, and some pokemon aren’t available without either hacking or going to a Toys ‘R Us in 1997, you start to see how insidious this game can be. Figuring he could finally complete the game with an Arduino, [Pepijn] decided to build a pokemon storage system.
This build was inspired by an earlier post that also spoofed trades. Instead of building this project around a high-power micro, [Pepijn] decided to use an Arduino. The protocol Game Boys use to communicate with each other is extremely well documented, although that’s only half the battle. Each game using the link cable used specialized data structures for transfer, and after grepping through a disassembled Pokemon ROM, [Pepijn] figured out how everything worked.
The completed hardware keeps one Pokemon in the EEPROM of an Arduino. It’s not very fast if you want to catch all 151 Pokemon in the Gen 1 games, but any way you look at it, you’re going to be catching a lot of Magikarp anyway.
About a decade ago, Nintendo released a Game Boy Advance carrying case in the shape of a Game Boy Advance. It was the obvious answer to the original brick Game Boy carrying case every eight year old had in 1990. This jumbo-sized Game Boy Advance case also makes a really good platform for a console mod, which is exactly what [frostefires] got when he put an N64 in one.
This isn’t the first time we’ve seen this bit of old Nintendo paraphernalia used to house an N64. A few years ago, [Hailrazer] used the same GBA carrying case as the body of an N64 build. There were a few shortcomings in that build, most importantly the removal of the D pad. [frostedfires]’ build fixes this oversight.
Inside the GBA enclosure is a 4.3 inch screen, a replacement Gamecube joystick, an SNES D pad, and of course the entire N64 circuit board with a few modifications.
[frostedfires] entered this into a ‘Shark Tank’-ish competition at school, and this build was so impressive he won first place. Link to the full build thread here.
What do you get when you take an extremely small Raspberry Pi clone and stuff it inside a Game Boy Advance SP? We don’t know what to call it, but it’s probably one of the best portable gaming machines ever made, able to run emulators ranging from the Apple II to playing Quake III natively on a tiny flip-top display.
This isn’t the first time we’ve seen [frostedfires]’ work on a tiny system stuffed into a Game Boy. The initial post on this build over on the bacman forums just covered the basics – getting an Odroid W up and running, and putting Quake III on the tiny display. Now that the build is complete, we can get a look at what it takes to turn a Raspberry Pi clone into one of the smallest portable projects we’ve ever seen.
Using a Raspi clone as the only component in a tiny portable emulation station isn’t possible, so [frostefires] added a few other bits of electronics to make everything work. There’s a joystick from a PSP in there to work as the mouse, a few extra buttons in addition to the stock Game Boy ones, A USB hub, WiFi adapter, speaker and amplifier, a battery and the related charging electronics, and a Teensy 3.1 to handle all the input.
It’s a very impressive build that can run emulators ranging from the Apple II to later generation Nintendo consoles and handhelds (including the Game Boy Advance), but since the HDMI connector is availble on the outside of the case, [frostedfires] can also use this as a tiny, portable media center. Check out the video below to see this Game Boy in action, playing Mario Kart and 1080p video.
Continue reading “The Smallest Portable Pi”
[Alan] procured a few Game Boys from a Yahoo auction with the intent of using them for some other projects, but one of the Game Boys was shipped with a very corroded battery which had eaten up one of the terminals. When [Alan] had repaired it, he was left with a Game Boy with no battery terminal at all, so he decided to splice in some lithium-ion batteries.
Not only does the Game Boy now have a new battery pack, but [Alan] was able to source a USB charger to handle the batteries’ charging needs. However, he realized that his battery pack was 3.7 volts, while the Game Boy only needed 3 volts. To lower the voltage of the battery pack to the required voltage, [Alan] grabbed a 1N4148 diode and put it in series with the battery pack, which also helps prevent any accidental reverse polarity.
This isn’t the most technically advanced Game Boy hack we’ve ever seen but it’s great to see new life breathed into these classic video game systems. Not to mention that [Alan] saved some lithium batteries from the landfill!
Game Boys may be old tech, but they still provide challenges to modern hackers. [Dhole] has come up with a cartridge emulator which uses an STMicroelectronics STM32F4 discovery board to do all the work. Until now, most flash cartridges used programmable logic devices, either CPLDs or FPGAs to handle the high-speed logic requirements. [Alex] proved that a microcontroller could emulate a cartridge by using an Arduino to display the “Nintendo” Game Boy boot logo. The Arduino wasn’t fast enough to actually handle high-speed accesses required for game play.
[Dhole] kicked the speed up by moving to the ARM Cortex-M4 based 168 MHz STM32F4. The F4’s 70 GPIO pins can run via internal peripherals at up to 100MHz, which is plenty to handle the 1MHz clock speed of the Game Boy’s bus. Logic levels are an issue, as the STM32 uses 3.3V logic while the Game Boy is a 5V device. Thankfully the STM32’s inputs are 5V tolerant, so things worked just fine.
Simple Game Boy cartridges like Tetris were able to directly map a ROM device into the Game Boys memory space. More complex titles used Memory Block Controller (MBC) chips to map sections of ROM and perform other duties. There were several MBC chips used for various titles, but [Dhole] can emulate MBC1, which is compatible with the largest code base.
One of the coolest tricks [Dhole] implemented was displaying a custom boot logo. The Game Boy used the “Nintendo” logo as a method of copyright protection. If a cartridge didn’t have the logo, the Game Boy wouldn’t run. The logo is actually read twice – once to check the copyright info, and once to display it on the screen. By telling the emulator to change the data available at those addresses after the first read, any graphic can be displayed.
If you’re wondering what a cartridge emulator would be useful for (other than pirating games), you should check out [Jeff Frohwein’s] Gameboy Dev page! [Jeff] has been involved in Game Boy development since the early days. There are literally decades of demos and homebrew games out there for the Game Boy and various derivatives. .
Continue reading “Game Boy Cartridge Emulator Uses STM32”
[Christopher Mitchell] has given Texas Instruments calculators the ability to capture images through a Game Boy Camera with ArTICam. First introduced in 1998, The Game Boy Camera was one of the first low-cost digital cameras available to consumers. Since then it has found its way into quite a few projects, including this early Atmel AT90 based hack, and this Morse code transceiver.
TI calculators don’t include a Game Boy cartridge slot, so [Christopher] used an Arduino Uno to interface the two. He built upon the Arduino-TI Calculator Linking (ArTICL) Library to create ArTICam. Getting the Arduino to talk with the Game Boy Camera’s M64282FP image sensor turned out to be easy, as there already are code examples available. The interface between the camera sensor and the Arduino is simple enough. 6 digital lines for an oddball serial interface, one analog sense line, power and ground. [Christopher] used a shield to solder everything up, but says you can easily get away with wiring directly the Arduino Uno’s I/O pins. The system is compatible with the TI-83 Plus and TI-84 Plus family of calculators. Grabbing an image is as simple as calling GetCalc(Pic1) from your calculator program.
So, If you have an old calculator lying around, give it a try to enjoy some 128×123-pixel grayscale goodness!