Having a restricted 4-way or 8-way digital joystick for an arcade game is fine if the joystick is built into a game cabinet that plays only one game — 4-way for Pacman and 8-way for Super Cobra. But [Tinker_On_Steroids] wanted a joystick that could be restricted as either 4-way or 8-way for a cabinet that could play a multitude of games, and it had to switch from one type of restriction to the other automatically based on the selected game.
His digital joystick already came with a plate that can be mounted for either 4-way or 8-way restriction, but it has to be manually screwed in place for one or the other. He removed it and designed two 3D-printable parts, one that is to be mounted firmly to the bottom of the joystick and the other that rotates within the first one. Rotated in one orientation gives 4-way restriction and in the other orientation gives 8-way. That left only attaching a servo to do the rotation. The first video below shows mounting this all to the joystick and demoing the servo using a Teensy. The STL files for the parts are on his Thingiverse project page.
He also shows a simple circuit board he made that has two buttons and two LEDs on it for connecting to the Teensy and controlling the servo. And as an added option he shows how to talk to the Teensy from his desktop computer through USB and control the servo that way. In the second video below he details all that and also does a walk-through of the code he wrote for the Teensy. On the Thingiverse page he provides only the hex file but it’s likely you’d write your own software for interfacing with a game anyway.
Continue reading “4-way Or 8-way Joystick Restrictor Mod”
The hype around the NES Classic in 2016 was huge, and as expected, units are already selling for excessively high prices on eBay. The console shipped with 30 games pre-installed, primarily first-party releases from Nintendo. But worry not — there’s now a way to add more games to your NES Classic!
Like many a good hack, this one spawned from a forum community. [madmonkey] posted on GBX.ru about their attempts to load extra games into the console. The first step is using the FEL subroutine of the Allwinner SOC’s boot ROM to dump the unit’s flash memory. From there, it’s a matter of using custom tools to inject extra game ROMs before reburning the modified image to the console. The original tool used, named hakchi, requires a Super Mario savegame placed into a particular slot to work properly, though new versions have already surfaced eliminating this requirement.
While this is only a software modification, it does come with several risks. In addition to bricking your console, virus scanners are reporting the tools as potentially dangerous. There is confusion in the community as to whether these are false positives or not. As with anything you find lurking on a forum, your mileage may vary. But if you just have to beat Battletoads for the umpteenth time, load up a VM for the install process and have at it. This Reddit thread (an expansion from the original pastebin instructions) acts as a good starting point for the brave.
Only months after release, the NES Classic is already a fertile breeding ground for hacks — last year we reported on this controller mod and how to install Linux. Video of this ROM injection hack after the break.
Continue reading “How To Add More Games to the NES Classic”
Emulation is a difficult thing to do, particularly when you’re trying to emulate a complex platform like a game console, with little to no public documentation available. Often, you’ll have to figure things out by brute force and dumb luck, and from time to time everything will come unstuck when a random piece of software throws up an edge case that brings everything screeching to a halt.
The Classic NES series was a handful of Nintendo Entertainment System games ported to the Game Boy Advance in the early 2000s. What makes them unique is a series of deliberately obtuse programming decisions that make them operate very differently from other titles. These tricks utilize advanced knowledge of the way the Game Boy Advance hardware operates and appear to have been used to make the games difficult to copy or emulate.
The games use a variety of techniques to confuse and bamboozle — from “mirrored memory” techniques that exploit addressing anomalies, to putting executable code in video RAM and writing to the audio buffers in unusual manners.
Even more confusingly, these techniques only appear to have been used in the Classic NES series of games, and not other Game Boy Advance titles. It’s not obvious why Nintendo went to special effort to protect these ports over other titles; perhaps the techniques used were for other reasons than just an attempt at copy protection. Speculate amongst yourselves in the comments.
This isn’t the first time we’ve discussed emulation of Nintendo systems — check out this effort to reverse engineer the Sony Pocketstation.
[Thanks to [[[Codifies]]] for sending this in!]
The best gaming platform is a cloud server with a $4,000 dollar graphics card you can rent when you need it.
[Larry] has done this sort of thing before with Amazon’s EC2, but recently Microsoft has been offering a beta access to some of NVIDIA’s Tesla M60 graphics cards. As long as you have a fairly beefy connection that can support 30 Mbps of streaming data, you can play just about any imaginable game at 60fps on the ultimate settings.
It takes a bit of configuration magic and quite a few different utilities to get it all going, but in the end [Larry] is able to play Overwatch on max settings at a nice 60fps for $1.56 an hour. Considering that just buying the graphics card alone will set you back 2500 hours of play time, for the casual gamer, this is a great deal.
It’s interesting to see computers start to become a rentable resource. People have been attempting streaming computers for a while now, but this one is seriously impressive. With such a powerful graphics card you could use this for anything intensive, need a super high-powered video editing station for a day or two? A CAD station to make anyone jealous? Just pay a few dollars of cloud time and get to it!
[Rudeism] loves playing Blizzard’s hit game Overwatch. He wanted to make his gaming experience a bit more realistic though. One of the characters is D.Va, who according to game lore is a member of the South Korean Mobile Exo-Force (MEKA). D.Va pilots her MEKA in game using two joysticks. Overwatch is a standard FPS with WASD and mouse controls, so the realism ends at the screen.
[Rudeism] didn’t let that stop him. He used two flight sticks to create the ultimate D.Va experience. [Twitch recording link – language warning] A commercial software package called Xpadder allowed him to map movements on the joystick to mouse and keystrokes. The left joystick maps to WASD, left shift, Q, and right click. The right stick corresponds to mouse movements, E, and left click.
This isn’t exactly the tank style steering we’re used to from classic mech games like Virtual-On, but it’s pretty good for a software solution. It makes us wonder what would be possible with a bit of hardware hacking – perhaps a Teensy handling the analog and button inputs.
People have been coming up with interesting ways to play video games for years. Check out this hack with the classic Microsoft Kinect, or these arcade hacks.
“Which came first, the chicken or the egg?” Don’t bother us with stupid questions, they both co-evolved into the forms that we now serve up in tasty sandwiches or omelets, respectively. “Which came first, the HC-05 serial-flash-hack, or the wireless Bluetooth Gamepad?” Our guess is that [mitxela] wanted to play around with the dirt-cheap Bluetooth modules, and that building the wireless controller was an afterthought. But for that, it’s a well-done afterthought! (Video below the break.)
It all starts with the HC-05 Bluetooth module, which is meant to transfer serial data, but which can be converted into a general-purpose device costing ten times as much with a simple Flash ROM replacement. The usual way around this requires bit-banging over a parallel port, but hackers have worked out a way to do the same thing in bit-bang mode using a normal USB/Serial adapter. The first part of [mitxela]’s post describes this odyssey.
Continue reading “Bluetooth HID Gamepad And HC-05 Serial Hack”
We all remember the video games of our youth fondly, and many of us want to relive those memories and play those games again. When we get this urge, we usually turn first to emulators and ROMs. But, old console and computer games relied heavily on the system’s hardware to control the actual gameplay. Most retro consoles, like the SNES for example, rely on the hardware clock speed to control gameplay speed. This is why you’ll often experience games played on emulators as if someone is holding down the fast forward button.
The solution, of course, is to play the games on their original systems when you want a 100% accurate experience. This is what led [Chris Osborn] back to gameplay on an Apple II. However, he quickly discovered that approach had challenges of its own – specifically when it came to the joystick.
The Apple II joystick used a somewhat odd analog potentiometer design – the idea being that when you pushed the joystick far enough, it’d register as a move (probably with an eye towards smooth position-sensitive gameplay in the future). This joystick was tricky, the potentiometers needed to be adjusted, and sometimes your gameplay would be ruined when you randomly turned and ran into a pit in Lode Runner.
The solution [Chris] came up with was to connect a modern USB gamepad to a Raspberry Pi, and then set it to output the necessary signals to the Apple II. This allowed him to tune the output until the Apple II was responding to gameplay inputs consistently. With erratic nature of the original joystick eliminated, he could play games all day without risk of sudden unrequested jumps into pits.
The Apple II joystick is a weird beast, and unlike anything else of the era. This means there’s no Apple II equivalent of plugging a Sega controller into an Atari, or vice versa. If you want to play games on an Apple II the right way, you either need to find an (expensive) original Apple joystick, or build your own from scratch. [Chris] is still working on finalizing his design, but you can follow the gits for the most recent version.