USB Proxy Rats Out Your Devices’ Secrets

If you need to reverse-engineer a USB protocol on a computer running Linux, your work is easy because you control everything on the target system — you can just look at the raw USB data. If you’d like to reverse-engineer a USB device that plugs into a game console, on the other hand, your work is a lot harder. Until now.

serialusb is a side-project by [Mathieu Laurendeau], alias [Matlo]. His main project, GIMX is aimed at gaming and lets you modify your gaming controller’s performance by passing it first through your PC and tweaking the USB data before forwarding it on to the target console. Want rapid fire? You got it. Alter the steering-wheel sensitivity curves? Sure.

GIMX is essentially a USB man-in-the-middle between your controller and your console, with the added ability to modify the data along the way. For hardware that’s not yet supported by GIMX, though, either [Matlo] would need to borrow your controller, or teach you to man-in-the-middle your own USB traffic. And that’s what serialusb does.

The hardware required is very modest: a USB-to-serial adapter and an ATmega32u4-based Arduino clone. Many of you could whip this together with parts on hand, and it’s the same hardware you’d need to run GIMX anyway. Data goes through your computer, is usbmon’ed and wireshark’ed, and then passed over serial to the ATmega which then converts it back into USB, plugged into the console. A very tidy little setup.

In case this seems familiar, we’ve covered a similar trick by [Matlo] before that used a BeagleBoard as the computer in the middle. That’s a sweet setup for sure, but if you don’t have a spare single-board computer lying around, now you can get it done for only around $5 in parts. Happy USB reversing!

Turning a Car into a Playstation Controller

For a rather obscure brand advertisement, Nissan decided to turn one of their cars into a giant Playstation 4 controller to play a game of football (soccer).

The first question to pop into our heads was why? And that’s because Nissan is a major sponsor of UEFA Champions League. From there, it became why not? We love the companies that get their hands dirty on a hacking level, and actually do something instead of just funneling money into your standard billboard advertising — it’s just more fun this way.

The second question you should be asking yourself is how do you play soccer using a car? Well, it’s pretty simple. Steering is your left and right controls, the indicator switch is forward and backward, the windshield wipers kick the ball, a steering wheel button lets you run faster, the brake pedal passes the ball, and the gas pedal shoots. Simple right? As one of the prototype testers describes:

It’s kinda like tapping your head and rubbing your stomach at the same time, it really messes your head up — but it’s really enjoyable when you get it right.

Continue reading “Turning a Car into a Playstation Controller”

PS3 Eye Lives Again Thanks To Low Prices

[Henry Tonoyan] has started getting into OpenCV and digital control system projects. He needed a decent webcam that could do higher than standard frame rates. As it turns out, the PS3 Eye is actually a pretty capable little camera. Now that it’s kind of obsolete, you can have it for as little as $7 from places like Amazon!

The PS3 Eye has a standard USB interface, and after messing around with it a bit in Linux, [Henry] was able to adjust the frame rate settings for his application. He’s using a library called video for Linux with an application called qv4L2. It’s capable of 60fps at VGA, which we admit isn’t amazing, but at $7, we can’t complain — if you drop down to QVGA (320×240) you can go up to 120fps.

From there you can play around in OpenCV to your heart’s content.

Seeing as the Eye has been out for over 7 years now, it has been used in quite a few hacks since then. From an actual eyeball tracker (seriously), to an interactive projection globe with touch tracking to even a physical tower defense game.

Add Extra Storage to Your PS4 With Retro Flair

[Frank] came up with a clever way to extend the storage of his PS4. He’s managed to store his digital PS4 games inside of storage devices in the shape of classic NES cartridges. It’s a relatively simple hack on the technical side of things, but the result is a fun and interesting way to store your digital games.

He started out by designing his own 3D model of the NES cartridge. He then printed the cartridge on his Ultimaker 3D printer. The final print is a very good quality replica of the old style cartridge. The trick of this build is that each cartridge actually contains a 2.5″ hard drive. [Frank] can store each game on a separate drive, placing each one in a separate cartridge. He then prints his own 80’s style labels for these current generation games. You would have a hard time noticing that these games are not classic NES games at first glance.

Storing the game in cartridge form is one thing, but reading them into the PS4 is another. The trick is to use a SATA connector attached to the PS4’s motherboard. [Frank’s] project page makes it sound like he was able to plug the SATA cable in without opening the PS4, by attaching the connector to a Popsicle stick and then using that to reach in and plug the connector in place. The other end of the SATA cable goes into a custom 3D printed housing that fits the fake NES cartridges. This housing is attached to the side of the PS4 using machine screws.

Now [Frank] can just slide the cartridge of his choice into the slot and the PS4 instantly reads it. In an age where we try to cram more and more bits into smaller and smaller places, this may not be the most practical build. But sometimes hacking isn’t about being practical. Sometimes it’s simply about having fun. This project is a perfect example. Continue reading “Add Extra Storage to Your PS4 With Retro Flair”

College Researcher Makes Supercomputer from 420 PS3s

Noting that funding for science has run dry for many researchers, [Gaurav] has built a supercomputer from 200 Playstation 3 consoles housed and chilled inside an old refrigerated shipping trailer. His mission at UMass Dartmouth from the National Science Foundation is simulating black hole collisions with an eye on learning something about gravitational waves.

Dr. [Gaurav Khanna] is no stranger to using PS3 supercomputers to do meaningful science. Seven years ago he proposed a 16-PS3 supercomputer running Linux and managed to convince Sony to donate four consoles. The university kicked in funding for another 8 and [Gaurav] ponied up for the last four out of his own pocket. He dubbed it the “PS3 Gravity Grid” and received international attention for the cluster. For equivalent performance, it cost him only 10% the price of a real supercomputer. This led to published papers on both hacked supercomputers and gravity waves. But that rig is looking a little old today. Enter the Air Force.

Dr. [Khanna] was not the only one using PS3s to crunch data – back in 2010 the US Air Force built the “Condor Cluster” of 1,760 PS3s to perform radar imaging of entire cities and do neuromorphic AI research. With their hardware now expired, the Air Force donated 200 of the PS3s to [Gaurav] for his new build. Now that he has wired them up, the Air Force is donating another 220 for a not-snicker-proofed total of 420.

For those sceptical that the now 8-year-old hardware is still cost-effective, even with free consoles it is marginal. RAM is an issue and modern graphics cards are each equivalent to 20 PS3s. Ever the popular target these days, Sony has the PS4 OS locked down from the get go – thanks Sony. The next cluster planned will be with PCs and graphics cards. For now, [Gaurav] has plenty of calculations that need crunching and a queue of colleagues have formed behind him.

Counting Transistors In The Playstation

Over in Russia there are a few people doing extremely in-depth technical teardowns, and the latest is one of the most ambitious ever seen. The PSXDEV team is tearing into the heart of the original PlayStation (Google translatrix), looking at 300,000 transistors, and re-implementing the entire console in a logic level simulator.

While the CPU in the PSX is unique to that specific piece of hardware, a lot of this custom silicon can be found in other places. The core – a RISC LSI LR33300 – is documented in a few rare tomes that are somehow available for free on the Internet. Other parts of this chip are a little stranger. There is a bizarre register that isn’t documented anywhere, a Bus Unit that handles the access between various devices and peripherals, and a motion picture decompressor.

The reverse engineering process begins by de-encapsulating the CPU, GPU, sound processing unit, and CD-ROM controller, taking very high magnification photos of the dies, and slowly mapping out the semiconductors and metals to figure out what cells do what function, how they’re connected, and what the big picture is. It’s a painstaking process that requires combing through gigabytes of die shots and apparently highlight gates, wires, and busses with MS Paint.

The end result of all this squinting at a monitor is turning tracings of chips into logic elements with Logisim. From there, the function of the CPU can be understood, studied, and yes, eventually emulated down to the gate level. It’s an astonishing undertaking, really.

If this sort of thing sounds familiar, you’re right: the same team behind PSXDEV is also responsible for a similar effort focused on the Nintendo Entertainment System. There, the CPU inside the NES – the Ricoh 2A03 – was torn down, revealing the 6502 core, APU, DMA, and all the extra bits that made this a custom chip.

Thanks [Rasz] for the tip.

Console Controllers for JAMMA Boards

Back in the day, and by that we mean the late 80s and early 90s, arcade machines started using the JAMMA standard, a means for a single arcade board to be wired in to the controllers, video output, and other ephemera found in arcade cabinets. Since then, quite a few people have amassed a collection of these vintage arcade boards. Putting them to use requires a means of providing power, video output and controller connections. The usual way of wiring in a joystick and buttons is with a wiring harness, but [Mike] and [Jasen] are connecting Xbox 360 and PS3 controllers to their machines with the help of a Raspberry Pi Hat.

[Mike] and [Jasen] created Project Kajitsu to replace the expensive ‘Supergun’ controllers arcade game collectors usually use to play Street Fighter, X-Men, and Battletoads. They’re using the USB ports on a Raspberry Pi B+ to listen to two XBox or PS3 controllers and translate button mashing into something these old games can understand.

The guys are using a custom Linux Kernel that boots in just a few seconds, providing the bare minimum of an OS to support the controllers. The board itself is extremely simple; just a few bus transceivers, caps, resistors, and headers. They have an iPhone-quality vertical video proof of concept video (below), and although they’re still figuring out the best way to simplify the Bluetooth pairing process, they’re well on their way to supporting wireless controllers.

This board only provides controller input. If you have one of these old boards, you will need video output. That’s another project entirely, but very simple if you have an SCART monitor.

Continue reading “Console Controllers for JAMMA Boards”