Hackaday Links: April 13, 2014

hackaday-links-chain

Check out this Pokemon Yellow cartridge for Super Nintendo. Wait, what? That is a Game Boy game! Well there is a Super Gameboy cartridge that lets you play them on SNES. This mashes the guts of the two into a custom-decorated SNES cart. Now if you’re more interested in the guts of that Super Game Boy cartridge you’ll want to check out this classic hack which dumped the ROM from it. [Thanks Nick]

Here are a couple of interesting things from our friends over at Adafruit. First off, they have a high-res gallery of the Raspberry Pi compute module and carrier boards which we heard about earlier in the week. Also, the latest Collin’s Lab has a great video on soldering. We especially appreciated the discussion of soldering iron tips and their effect on heat transfer.

[Marius] got tired of the static shock from the office coat rack. You know, like the scene straight out of Office Space? But he didn’t disassemble the infrastructure to solve the issue. Instead he connected it directly to ground. Just make sure you stick the wire in the correct hole!

It’s as if Hackaday is on a quest for the most perfect DIY cyclonic separator. Here’s the latest offering which you can cut out from sheet stock by hand. It’s the alternative for those of us without access to a 3D printer.

If you think it’s too difficult to build what we refer to as a Daft Punk table you need to check out what [Dan] pulled off. He proves that your LED matrix coffee table project doesn’t have to take up a ton of time or cost an exorbitant amount of cash.

We should have mentioned this to you before the weekend so you’d have something to watch: you can now download BBS: The Documentary from the Internet Archive. We’ve watched the entire thing and it’s fantastic. If you know what a dial-up modem handshake sounds like, you’re going to be awash in nostalgia. If you don’t know the delight of those sounds you need to watch this and see how things used to be back in the day when connecting your computer to a network definitely wasn’t what the cool kids were doing. [Thanks Larry]

Twitch Plays Pokémon: Better than Prime Time TV

Twitch_plays_pokemon_animated

What do you get when you put together a classic Game Boy game, some glue code, a streaming video website and 1 internet? Twitch Plays Pokémon (TPP), a social experiment where thousands of people “cooperatively” play a game of Pokémon Red/Blue. TPP was created by an anonymous Australian programmer who enjoyed the SaltyBet interactive channel on twitch.tv. Rather than use SaltyBet’s method of having users interact via an external website, [TPP's creator] decided to use twitch’s own IRC based chat servers. Starting with VisualBoyAdvance, a popular C/C++ based Game Boy emulator, [TPP's creator] began building the system. [TPP's creator] went with python to create the web-to-emulator interface. A JavaScript app displays the live moves on the right side of the screen.

Gameplay is simple – users type their command (Up, Down, A, B) into their IRC or web client. In the original configuration, commands were processed in the order they arrived at the game. The system worked until the whole thing went viral. With thousands of people entering commands at any given time, poor “RED” would often be found spinning in place, or doing other odd things. The effect is so compelling that even [Randal Munroe] has written an XKCD entry about it. To help the players get through some of the tricky parts of the game, [TPP's creator] added a game mode selection. Users can play in “Democracy” where the system takes votes for several seconds, then issues the highest voted command. The original anything goes game mode was renamed “Anarchy”. Switching from one mode to the other is determined by the users themselves in real-time.

[Devon], one of our readers, has been busy as well. He’s written up a tutorial on turning a Raspberry Pi into a dedicated TPP viewer. We’d love to see a TPP battlestation - a Game Boy modified to display TPP, as well as send commands to the IRC servers when buttons are pressed. Who will be the first reader to knock that hack out?

Spoofing Pokemon Trades

Hacker

[Adan] had an old Game Boy sitting around, and without anything better to do decided to investigate the link cable protocol with a microcontroller. He had a Stellaris Launchpad for the task, but initially had no project in mind. What he came up for this adventure in serial protocols is a first gen Pokemon trade spoofer that allows him to obtain pokemon without having two Game Boys, or for the weird ones out there, “friends.”

The Game Boy link protocol is extremely well documented, so getting data from the Game Boy to the Launchpad was as simple as a soldering up an old link cable connector to a piece of perf board. After figuring out the electronics, [Adan] looked at what happened when two Pokemon games tried to trade pokemon. When two Game Boys are linked, there are two in-game options: trade or battle. Looking at the data coming after the ‘trade’ option, [Adan] found something that could possibly be the data structure of the Pokemon being sent. He reverse-engineered this all by himself before discovering this is also  well documented.

Bringing everything together, [Adan] figured out how to trade non-existent Pokemon with a small dev board. Right now he’s only transmitting Pokemon that are hard-coded on the Launchpad, but it’s very possible to transmit the Pokemon values in real-time over USB.

Thanks [Dan] for sending this in, and no, we don’t know what’s up with the influx of Pokemon posts over the last week. Video of the spoof below.

[Read more...]

Gotta Catch ‘Em All, With An Arduino

PKMN

For every pokemon you encounter on your adventure to become the world’s greatest trainer, you have about a 1 in 8000 chance of that pokemon being ‘shiny’, or a different color than normal. Put an uncommon event in any video game, and of course a few people will take that feature to the limits of practicality: [dekuNukem] created the Poke-O-Matic, a microcontroller-powered device that breeds and captures shiny pokemon.

We’ve seen [dekuNukem]‘s setup for automatically catching shiny pokemon before, but the previous version was extremely limited. It only worked with a fishing rod, so unless you want a ton of shiny Magikarp the earlier setup wasn’t extremely useful.

This version uses two microcontrollers – an Arduino Micro and a Teensy 3.0 – to greatly expand upon the previous build. Now, instead of just fishing, [dekuNukem]‘s project can automatically hatch eggs, search patches of grass for shiny pokemon, and also automatically naming these new shiny pokemon and depositing them in the in-game pokemon storage system.

The new and improved version works a lot like the older fishing-only automated pokemon finder; a few wires soldered on to the button contacts control the game. The Teensy 3.0 handles the data logging of all the captured pokemon with an SD card and RTC.

What did [dekuNukem] end up with for all his effort? A lot of shiny pokemon. More than enough to build a great team made entirely out of shinies.

Video below, with all the code available through a link in the description.

[Read more...]

Pokemon Blue Becomes An IDE

pkmn

With WiFi, Wonder Trade, and new Pokemon that are freakin’ keys, you’d think the latest generation of everyone’s reason to own a Nintendo portable is where all the action is, right? Apparently not, because Pokemon Blue just became a development tool for the Game Boy.

Despite all notions of sanity, this isn’t the first time we’ve seen someone program a Game Boy from inside a first generation Pokemon game. Around this time last year, [bortreb] posted a tool assisted run that deposited and threw away in-game items to write to the Game Boy’s RAM. Using this method, [bortreb] was able to craft a chiptune version of the My Little Pony theme inside Pokemon Yellow.

A year later, [TheZZAZZGlitch] has gone above and beyond what [bortreb] did. Instead of a tool assisted run, [ZZAZZ]‘s hack can be done manually on a real Game Boy. This trick works by using an underflow glitch to obtain item ’8F’ in the player’s inventory. Here’s a great tutorial for doing that. With this 8F item, a few items can be tossed and a ‘programming’ mode is activated where code can be written to RAM by walking to an X Y position on the map, using the 8F item, and writing a program byte by byte.

The maximum amount of code that can be written to the Game Boy RAM is 254 bytes, just large enough for [TheZZAZZGlitch] to write a very, very simple version of Akranoid, Breakout, or one-player Pong. Not much, but very, very impressive.

Video of [ZZAZZ] ‘jailbreaking’ his copy of Pokemon Blue available below.

[Read more...]

Finding Shiny Pokemon Automatically

pkmn

In case you’re not up to speed with the world of Pokemon, nearly every species of this game’s titular creatures have a ‘shiny’ variety – a differently colored sprite for each pokemon. As far as gameplay goes, they’re exactly the same as their non-shiny brethren, but the shiny varieties are so impossibly rare not many players have seen them. [dekuNukem] over on Youtube has come up with a great way to find these shiny Pokemon automatically with the Hackaday reader’s favorite tools – an Arduino and a few parts from Sparkfun.

The build hinges on the fact that all shiny pokemon have a short animation whenever the player encounters them in the wild. This setup uses a fishing rod, so an Arduino Micro first presses the Y button to cast the rod, while the ‘duinos ADC listens to the audio signal until a bite is indicated.

A light sensor taped to the bottom screen of the 3DS then measures the amount of time the screen is blacked out. The extra animation for every shiny pokemon means this blackout period is about half a second longer. If the Arduino doesn’t see a shiny, it ‘runs away’, but if a shiny is detected a buzzer sounds to tell the extremely lazy pokemon trainer they have a shiny on their line.

From the video, it took about 36 minutes to find a single shiny pokemon, and about 8 shinies in the three hours of testing this rig has under its belt.

[Read more...]

Programming a Game Boy while playing Pokemon

We hope our readers are familiar with the vast number of ROM hacks for the original 1st-gen Pokemon games. With certain sequences of button presses, it’s possible to duplicate items in the player’s inventory, get infinite money, or even catch a glimpse of the elusive MissingNo. [bortreb] is familiar with all these hacks, but his efforts to program a Game Boy from inside Pokemon is by far the greatest Pokemon glitch ever created.

This ‘total control’ ROM hack was inspired by [p4wn3r]‘s extremely impressive 1 minute and 36 second long speed run for Pokemon Yellow. The technique used in [p4wn3r]‘s run relies on the fact the warp points in Pokemon Yellow are right after the item list in the Game Boy’s memory. By corrupting the item list, [p4wn3r] figured out how to make the front door of his house warp directly to the end of the game resulting in the fastest Pokemon speed run ever.

Realizing this ROM hack is able to control the CPU with only the player’s inventory, [bortreb] wanted to see how far he could push this hack. He ended up writing a bootstrapping program by depositing and discarding items from the in-game PC, and was then able to reprogram the Game Boy with a number of button presses on the D-pad, select, start, A and B buttons.

The resulting hack means [bortreb] can actually make Pong, Pacman, a MIDI player, or even a copy of Pokemon Blue. In the video after the break, you can see all of [bortreb]‘s speed run along with the finale of playing a MIDI file of the My Little Pony theme song. [bortreb] has a really amazing hack on his hands here that really pushes the definition of what can be done by tinkering around with a Pokemon ROM.

[Read more...]