[Kevin] just finished a project for someone who lives in his apartment complex. This resident loves the game Pop ‘n Music – a Guitar Hero sort of game for the original Playstation and PS2 that uses nine colored buttons instead of five buttons along a fingerboard. His original idea was to wire up a few arcade buttons to a Playstation controller but this plan fell through, forcing [Kevin] to figure out the PSX bus all by his lonesome.
The initial code began with simply bit-banging the PSX controller interface with an AVR. This had a few problems, namely speed, forcing [Kevin] to move onto assembly programming to squeeze every last bit of performance out of a microcontroller.
The assembly route failed as well, dropping some transactions Looking at the problem again, [Kevin] realized the PSX controller bus looked a little like an SPI bus. There were a few changes required – reversing the order of the bits, and using the MISO line to drive a transistor – but this method worked almost perfectly on the first try.
Now, [Kevin]’s building mate has a custom Playstation controller for his favorite game. Of course all the code is up on github for all your PSX controller emulation needs, but be sure to check out this completely unrelated Pop ‘N Music video from someone who desperately needs a piano.
[KDM] over at The Controller Project forums let us know about a cool project he’s been working on: a MIDI recorder for an 8-year-old girl born with two digits per hand.
The recorder – a simple woodwind instrument usually made of plastic – is a staple of grade school music classes the world over. It’s an excellent introduction to the performing arts, but for those with two fingers per hand, the fingering is a little difficult.
[KDM] contacted a manufacturer of these instruments and they were kind enough to send over a half-dozen for his experimentations. He drilled out these recorders on a lathe and started work on a simple circuit to turn this recorder into a MIDI instrument. A simple PIC micro and a few buttons were used, with a DIN 5 port on the horn of the instrument.
The build works, but we’re thinking with a small electronic wind sensor, this instrument could easily become a full-fledged MIDI wind controller that could be easily and cheaply reproduced for other budding musicians with special needs.
Oh, one more thing. We’d like to give a big shout out to the giant dork who started The Controller Project. A lot of Hackaday readers know how to work a microcontroller and a soldering iron, so how about heading over to their forums and doing some good with your skills?
Even if he hadn’t done any firmware hacking on this hard drive [Sprite_TM’s] digital exploration of the controller is fascinating. He gave a talk at this year’s Observe, Hack, Make (OHM2013) — a non-commercial community run event in the Netherlands and we can’t wait for the video. But all the information on how he hacked into the three-core controller chip is included in his write up.
[Sprite_TM] mentions that you’re not going to find datasheets for the controllers on these drives. He got his foot in the door after finding a JTAG pinout mentioned on a forum post. The image above shows his JTAG hardware which he’s controlling with OpenOCD. This led him to discover that there are three cores inside the controller, each used for a different purpose. The difference between [Sprite_TM’s] work and that of mere mortals is that he has a knack for drawing surprisingly accurate conclusions from meager clues. To see what we mean check out the memory map for the second core which he posted on page 3 or his article.
Using JTAG he was able to inject a jump into the code (along with a filler word to keep the checksum valid) and run his own code. To begin the firmware hacking portion of the project he pulled the flash ROM off of the board and installed it on that little board sticking out on the left. This made it easy for him to backup and reflash the chip. Eventually this let him pull off the same proof of concept as a firmware-only hack (no JTAG necessary). He goes onto detail how an attacker who has root access could flash hacked firmware which compromises data without any indication to they system admin or user. But we also like his suggestion that you should try this out on your broken hard drives to see if you can reuse the controllers for embedded projects. That idea is a ton a fun!
When we were poking around the OHM2013 website (linked above) we noticed that the tickets are sold out; good for them! But if you were still able to buy them they take Bitcoin as one payment option. Are there any other conferences that allow Bitcoin for registration?
If you’re reading this blog then chances are you have a dead hard drive hanging out somewhere in your house. Here’s a weekend project that will put it back into use. [Andreas] took on the popular project which combines a hard drive and optical mouse to build a scratch controller.
The gist of the build is that you use an optical mouse sensor to track the movement of the platter. But [Andreas] made things harder on himself by not using the USB capability of the mouse and mapping it in software for his needs. Instead he plucked the sensor from the mouse, reading it using an Arduino. After much trial and error with the best way to coat the underside of the platter to play nicely with the sensor he managed to get it up and running. The controller issues commands using the MIDI protocol, forming a strong foundation for future upgrades which could lead to a full-blown DJ console hack.
Continue reading “Building a hard drive scratch controller”
It’s small, it’s blurry, but it’s working. Here’s a proof of concept for playing emulators on a Chromecast which uses the original Game Boy as an example.
This puts stars in our eyes about emulator hacks. We’d love to see this boiled down to smartphone and Chromecast as the two pieces of hardware, with the touchscreen as the gaming input.
Continue reading “How to play a Game Boy emulator on Chromecast”
The four colored buttons seen above are a product made by Learning Resources. They flash and make noise when pressed and are meant for quiz-show style games in the classroom. The problem is that they don’t use a central controller, so it’s up to the person running the game to judge who rang in first. [Kenny] fixed that issue by building his own controller which is housed in that black project box.
He went with an Arduino Uno board. It fits in the project box and has no problem monitoring all of the buttons and triggering their sound and lights when necessary. There are two telephone jacks (RJ11 connectors) on either side of the controller. He also cracked open each button, cutting some traces on the PCB in order to patch the signals into connectors he added to the housing.
The video after the break shows the system in action, In addition to illuminating the first button to ring in there are LEDs on the box that indicate who was 2nd, 3rd, and 4th in line.
If you don’t want to purchase buttons try making your own with some cheap plastic bowls.
Continue reading “Hacking quiz game buttons to add a central controller”
Here a straight-forward guide for tapping into the buttons on most gaming controllers. Why do something like this? Well there’s always the goal of conquering Mario through machine learning. But we hope this will further motivate hackers to donate their time and expertise developing specialized controllers for the disabled.
In this example a generic NES knock-off controller gets a breakout header for all of the controls. Upon close inspection of the PCB inside it’s clear that the buttons simply short out a trace to ground. By soldering a jumper between the active trace for each button and a female header the controller can still be used as normal, or can have button presses injected by a microcontroller.
The Arduino seen above simulates button presses by driving a pin low. From here you can develop larger buttons, foot pedals, or maybe even some software commands based on head movement or another adaptive technology.
Continue reading “No nonsense guide for patching into a gaming controller”