Light Guns Aren’t Just For CRTs Anymore

For how much of a cultural phenomenon light gun games like Duck Hunt were, they didn’t survive the transition from CRT televisions to LCDs particularly well because of all of the technological quirks the light guns exploited in older technology that simply disappeared with modern TVs. But it’s not impossible to get a similar gameplay from modern technology as evidenced by the success of the Wii and its revolutionary Wiimote, and there are plenty of modern games that use similar devices. There are a few paths to getting older light guns working again, though.

The first system to note, called SAMCO, uses a system of LEDs and a camera to synchronize the game’s flashes to the new technology and translate the input back into the game. Gun4ir uses a similar technique, and boasts extremely high accuracy and low latency largely due to being programmed in assembly. Both systems can use either an infrared tracking sensor or a Wiimote sensor as the LEDs and while the SAMCO system can run on a Raspberry Pi Pico, Gun4ir exclusively uses ATmega32U4 boards with the optimized assembly programming.

Both SAMCO and Gun4ir offer PCBs for anyone looking to try them out without designing their own circuit boards, and once the electronics are assembled they can either be put in an original NES-era light gun, put in a custom printed enclosure, or even stuffed into a Nerf gun. For others looking for a more turnkey solution, there are also offerings from companies like Sinden which make complete system. You can always build your own system to restore the functionality of original light guns from scratch if that’s more your style.

Thanks to [LookAtDaShinyShiny] for tipping us off to the latest happenings in the light gun community!

Photo courtesy of Wikimedia Commons

Latency Meter For Accurate Gaming

The gaming world experienced a bit of a resurgence in 2020 that is still seen in the present day. Even putting aside the effects from the pandemic, the affordability and accessibility has arguably never been better. Building a gaming PC can have its downsides, though, and a challenging issue to troubleshoot is input lag or input latency. This is something that’s best measured with standalone hardware, and if this is an issue on your setup you may want to take a look at this latency meter.

Unlike other measurement devices that use the time between a mouse button input and the monitor’s display of a bullet or shooting event, this one looks at mouse movement and the change in the scene instead. This makes it much more versatile than other methods since it’s independent of specific actions, and can be used in any game without any specific events needed to perform the measurement. A camera phototransistor is placed on the monitor’s top edge and the Arduino-based device sends mouse commands to the computer while measuring the time between those commands and the shift in the image on the monitor.

The project is open source, so with the right hardware it’s possible to build one to troubleshoot latency issues or just to learn more about a particular hardware configuration’s behavior. Arduinos and other microcontrollers have been doing all kinds of things by pretending to be human interface devices like this for a while now. One of our favorites of late was this effects pedal that replicates musical effects on mice and keyboards.

Restoring A 45 Year Old Video Game

When we say vintage video game, some of you may think of the likes of Lemmings, Mario or maybe even Donkey Kong but the game that [Vintage Apparatus] restored is slightly older and much more minimalist, using an LED matrix and some 7-segment displays rather than this newfangled color CRT thing.

The front and back covers, buttons and screws of the game on the workbench.
The game is disassembled before cleaning.

[Vintage Apparatus] starts by removing the battery and cover from the 1977 Mattel electronics (American) football game, which uses rather uncommon 2mm triangular screws. To his and our surprise, the circuit board and its beautiful array of LEDs seem to be in excellent condition, so he moves on to cleaning the case itself.

The case, on the other hand, is a bit dirty on the outside, so [Vintage Apparatus] takes out the buttons and starts cleaning with the back cover a Q-tip. After a bit of scrubbing and some extra care to avoid removing any stickers, he moves on to the considerably dirtier and somewhat scratched front case. After some wrestling with the creases and speaker grill of the front cover, the outside of the front case looks nice and clean. Finally, he puts back the buttons and circuit board in the front cover before adding closing it all up with the back cover and screwing it back together.

The game, which immediately comes to life and was actually made by the Mattel calculator division, is a sort of evasion game where the player is a bright dot that can move forward, up or down. The player avoids the dimmer dots, the “tacklers”, in order to run as far as possible as fast as possible. When one of the tacklers tackles the player, the amount of downs is increased and the fifth down means game over. After either scoring or getting downed one too many times, the field is flipped and it’s now player 2’s turn.

Video after the break.
Continue reading “Restoring A 45 Year Old Video Game”

Automation For The NES

Old hardware might not be anywhere close to as powerful as modern technology, but it does have a few perks. Aesthetics can of course drive the popularity of things like retro gaming systems, but the ease of understanding the underpinnings of their inner workings is also critical. The Nintendo Entertainment System, now nearly four decades old, is a relatively simple machine by modern standards and this lends the system to plenty of modifications, like this controller that allows the system to be somewhat automated.

The original NES controller used a fairly simple shift register to send button presses to the system. The system outputted a latch signal to the controller, the shift register would take as input the current state of the buttons, and then would send them one-by-one to the system at a rate of around 1000 times per second. These signals can be sent without a controller easily enough, too. This build uses a CD4021 shift register, which is the same as the original controller, but instead of reading button states it accepts its inputs from a separate computer via a latching circuit. In this case, the separate computer is a custom design that came about through adapting cassette storage for a 6502-based computer, but it could come from anything else just as easily.

With this system in place, it’s possible to automate gameplay to some extent. Since the system can’t get feedback about the game in its current state, it requires some precise timing to get it to play the game well, and a lot of tuning needs to go into it. This isn’t just a one-off, either. Similar methods are how we get tool-assisted speedruns of games and although these are often done in emulators instead of on real hardware, they can result in some interesting exploits.

Continue reading “Automation For The NES”

Cook Up A Yoke In Five Minutes

When it comes to flight simulators, we’ve seen people go all-out with their immersive setups, with all kinds of hyper-realistic control systems and monitors as far as the eye can see. But for those gaming on a budget this can seem a little overwhelming and daunting. We all have to start somewhere, though, so if you’re looking for your first semi-realistic flight simulator control mechanism take a look at this yoke which can be cobbled together for almost no money or time.

The yoke can be built around any optical mouse that happens to be lying around. A custom housing for it is constructed from cardboard, which lets it sit above a cardboard tube which functions as the control interface. This mechanism rests in a cardboard box it uses as a frame, with a yoke-styled control interface built out of packing foam at the front. One optional modification to the device allows it to have more realistic control throw, and another replaces the cardboard tube with a wooden dowel to give the device a little more strength.

While relatively quick and easy to build, it works as a fully-functional yoke in flight simulator programs like FlightGear almost effortlessly, mostly thanks to the fact that it is based on a nearly unmodified mouse. Assuming you have a mouse in your parts drawer and have access to some sort of cardboard, it’s estimated to take not much longer than five minutes to put together. But if you’re looking for something DIY that’s a little more substantial, it’s not too much of a step up to another DIY yoke we’ve featured before which is centered around an Arduino and a few 3D-printed parts.

Thanks to [Stephen] for the tip!

Modular Keyboard And Custom Game Controller

Most video games, whether on console or PC, have standardized around either a keyboard and mouse or an analog controller of some sort, with very little differences between various offerings from the likes of Sony, Microsoft, Nintendo, or even Valve. This will get most of us through almost all video games, but for those looking to take their gameplay up a notch or who are playing much more complex games, certain specialized controllers are available, but they might not meet everyone’s specific needs. Thanks to this custom, modular keyboard anyone should be able to make exactly the controller they need.

The device features a grid of 15 interfaces where modules like buttons, potentiometers, encoders, and joysticks can be placed. Each module can be customized to a significant extent on their own, and they can be placed anywhere on the grid. The modules themselves can be assigned to trigger keyboard presses or gamepad motions depending on the needs of the user. A Raspberry Pi handles the inputs and translates them to the computer, so in that regard it functions no differently than a standard keyboard or gamepad would. Programming is done by sending commands via a USB serial port, with the ability to save various configurations as well.

The modular controller is open-source in terms of hardware and software, with easy assembly using through-hole components and a customizable 3D printed cover for anyone looking to make their own. The project’s creator [Daniel] had flight simulators in mind when designing the device, which often benefit from having more specialized controllers, but any game with lots of specific inputs from Starcraft to League of Legends could benefit from a custom controller or keyboard like this. Flight simulators are more often the targets of specialized and unique controls, though, like this custom yoke or this physical control panel.

Well Documented Code Helps Revive Decades-Old Commodore Project

In the 1980s, [Mike] was working on his own RPG for the Commodore 64, inspired by dungeon crawlers of the era like Ultima IV and Telengard, both some of his favorites. The mechanics and gameplay were fairly revolutionary for the time, and [Mike] wanted to develop some of these ideas, especially the idea of line-of-sight, even further with his own game. But an illness, a stint in the military, and the rest of life since the 80s got in the way of finishing this project. This always nagged at him, so he finally dug out his decades-old project, dusted out his old Commodore and other antique equipment, and is hoping to finish it by 2024.

Luckily [Mike’s] younger self went to some extremes documenting the project, starting with a map he created which was inspired by Dungeons and Dragons. There are printed notes from a Commodore 64 printer, including all of the assembly instructions, augmented with his handwritten notes to explain how everything worked. He also has handwritten notes, including character set plans, disk sector use plans, menus, player commands, character stats, and equipment, all saved on paper. The early code was written using a machine language monitor since [Mike] didn’t know about the existence of assemblers at the time. Eventually, he discovered them and attempted to rebuild the code on a Commodore 128 and then an Amiga, but never got everything working together. There is some working code still on a floppy disk, but a lot of it doesn’t work together either.

While not quite finished yet, [Mike] has a well-thought-out plan for completing the build, involving aggregating all of the commented source code and doing quarterly sprints from here on out to attempt to get the project finished. We’re all excited to see how this project fares in the future. Beyond the huge scope of this pet project, we’d also suggest that this is an excellent example of thoroughly commenting one’s code to avoid having to solve mysteries or reinvent wheels when revisiting projects months (or decades) later. After all, self-documenting code doesn’t exist.

Continue reading “Well Documented Code Helps Revive Decades-Old Commodore Project”