Though many of us will never have experimented with it, most readers should be familiar with DTMF as the tones used by the telephone system for dialling. If your youth was not misspent mashing 4-4-2-6-4-6-2, 4-4-2-6-4-1 into a keypad, then you haven’t lived!
As you might expect there are a variety of chipsets to handle DTMF, and one of them has been used by [ackerman] in a slightly unusual way. Many desktop computers do not have a convenient array of GPIOs upon which to hang a piece of hardware, but a constant among them is to support some form of gaming controller. Hence he’s taken a commodity joypad and interfaced a MT8870 DTMF decoder to its switch lines with a simple transistor buffer, and is able to pull the resulting information out in the host operating system. So far there are versions for Windows, DOS, Amstrad CPC, Arduino, and even PSX ( the original PlayStation console ).
One might ask why on earth you might want a DTMF input for your desktop PC, but to do so is to miss the point. We are surrounded by computing devices from our mobile phones upwards that do not have any form of interface that can easily be used by our electronic projects, and this serves as an example of how with a bit of ingenuity that can be overcome. It’s a subject we’ve touched upon before, when we asked why people aren’t hacking their cellphones.
[Bitluni]’s motto seems to be, “When you’re busy, get busier.” At least that would explain adding even more work to his plate in the run-up to the Hanover Maker Faire and coming up with a ten-player game console from scratch.
As for this being extra work, recall that [bitluni] had already committed to building a giant ping pong ball LED wall for the gathering. That consisted of prototyping a quarter-scale panel, building custom tooling to get him past the literal pain point of punching 1200 holes, and wiring, programming and testing the whole display. Building a game console that supports ten players at once seems almost tame by comparison. The console is built around an ESP32 module, either WROOM or WROVER thanks to a clever multifunctional pad layout on the slick-looking white PCBs. [bitluni] went with a composite video output using the fast R-2R ladder network DAC that he used for his ESP32 VGA project. The console supports ten Nintendo gamepads for a simple but engaging game something like the Tron light cycles. Unsurprisingly, players found it more fun to just crash into each other on purpose.
Sure, it could have been biting off more than he could chew, but [bitluni] delivered and we appreciate the results. There’s something to be said for adding a little pressure to the creative process.
Continue reading “10-Way Game Console Lets Everyone Play”
The Nintendo Classic Mini took the world by storm this year — finally, an NES in a cute, tiny package that isn’t 3D printed and running off a Raspberry Pi! It’s resoundingly popular and the nostalgic set are loving it. But what do you do when you’re two hours deep into a hardcore Metroid session and you realize you need to reboot and reload. Get off the couch? Never!
[gyromatical] had already bought an Emio Edge gamepad for his NES Mini. A little poking around inside revealed some unused pads on the PCB. Further investigation revealed that one pad can be used to wire up a reset button, and two others can be used to create a home switch. Combine this with the turbo features already present on the Emio Edge, and you’ve got a pretty solid upgrade over the stock NES Mini pad. Oftentimes, there’s extra functionality lurking inside products that manufacturers have left inactive for the sake of saving a few dollars on switches & connectors. It’s always worth taking a look inside.
Now, back in 2006, the coolest hack was running Linux on everything — and somebody’s already trying to get Linux on the NES Mini.
Continue reading “NES Classic Edition – Controller Mod”
[Quinn Dunki]’s awesome 6502-based computer is coming right along, and she decided it’s time to add one of the most important features found in the 80s microcomputers she’s inspired by – gamepads.
There were two ways of implementing gamepads back in the 80s. The Apple II analog joysticks used a potentiometer for each joystick axis along with a 556 timer chip to convert the resistance of a pot into a digital value. Analog controls are awesome, but a lot of hardware is required. The other option is the Atari/Commodore joystick that uses buttons for each direction. Surprisingly, these joysticks are inordinately expensive on the vintage market but a similar hardware setup – NES gamepads – are common, dirt cheap, and extremely well documented.
[Quinn] wrote a few bits of 6502 assembly to read these Nintendo controllers with Veronica’s 6522 VIA with the help of an ATMega168, and then everything went to crap.
In testing her setup, she found that sometimes the data line from the controller would be out of sync with the clock line. For four months, [Quinn] struggled with this problem and came up with one of two possible problems: either her circuit was bad, or the 6522 chip in Veronica was bad. You can guess which option is correct, but you’ll probably be wrong.
The problem turned out to be the 6522. It turns out this chip has a bug when it’s used with an external clock. In 40 years of production this hasn’t been fixed, but luckily 6502 wizard [Garth Wilson] has a solution for this problem: just add a flip-flop and everything’s kosher. If only this bug were mentioned in the current datasheets…
Now Veronica has two NES controller inputs and the requisite circuitry to make everything work. Video evidence below.
Continue reading “Veronica Gets A Pair Of Gamepads And A Bugged Chip”
[Chad] has been messing around with emulators on his phone, but as anyone with a smart phone knows, even the most advanced touchscreen controls are terrible. Wanting something that pays tribute to the classic systems he was emulating, he decided to turn a classic old school brick Game Boy into an Android gamepad.
After gutting an old DMG-01, [Chad] set to work turning the D-pad and buttons in the Game Boy into something his Galaxy Nexus could understand. He chose a Bluetooth connection to provide input for his emulators, with the hardware generously donated from a Nintendo Wiimote.
The Game Boy PCB was cut up and a few leads attached to the Wiimote PCB. After modifying the case to include space for the Wiimote and a cell phone mount, [Chad] had a functional game pad, perfect for his adventures in emulation.
You can see [Chad]’s demo of his game pad after the break,
Continue reading “Turning A Game Boy Into An Android Gamepad”
[Andrzej] loves his Nokia N900, noting that it makes a great portable gaming device. Since it supports a wide array of emulators, it’s perfect for indulging his gaming nostalgia on the go. He says that the one downside to the N900 is that its keyboard doesn’t make gaming easy, nor comfortable.
To make gaming a big more fun, he built himself an add-on gamepad that fits perfectly over the phone’s keyboard. Connected via the phone’s USB port, it features 8 push buttons along with a PSP joystick. He used an ATmega8A as the brains of the controller, communicating with the phone as a USB keyboard. He says that this sort of configuration makes it extremely easy to do all sorts of custom button mapping on a per-game basis.
As you can see in the picture above the controller is currently lacking a case, but we think that with a bit of clever packaging, it could look as nice as a retail add-on.
Check out the short video below to see his gamepad in action.
Continue reading “Nokia N900 Control Pad Is Perfect For Gaming On The Go”
[Kekszumquadrat] wanted to use a classic controller to play emulator games on his Android tablet so he set out to convert an SNES gamepad to connect via USB. He found an old USB keyboard at a yard sale for about 3 Euros. He knew that the emulator he prefers has the option of remapping all the inputs to keyboard keys which means a USB keyboard has all of the electronics he would need to pull this off.
Once he had separated the keyboard circuitry from the case [Kekszumquadrat] plugged it into his Linux box and used Xev to establish how the keyboard matrix is set up. Xev is a common package that opens up an active window on the X desktop. When run from command line, any events that happen to the window will be echoed along with verbose data about that event. When it comes to keypresses, you’ll get the keycode you need. He simply shorted columns and rows until he found the desired mapping, then it was on to soldering.
The SNES controllers are very simple devices. As we’ve seen with previous projects, they use a serial-to-parallel shift register to gather button data and send it to the console. [Kekszumquadrat] simply soldered between button traces and keyboard matrix contacts. Once he finished, the keyboard parts were tucked inside of the controller case and he’s left with a USB controller that appears to be unaltered.