A schematic explaining the workings of the Commodore 64's joystick port

Bluetooth Interface Adds Rumble Feedback To Commodore 64 Games

Nothing says “1980s gaming” like a black joystick with a single red fire button. But if you prefer better ergonomics, you can connect modern gamepads to your retrocomputers thanks to a variety of modern-to-classic interface adapters. These typically support just the directional pad and one or two action buttons, leaving out modern features like motion control and haptic feedback.

That’s a bit of a shame, because we think it would be pretty cool to feel that shock in our hands whenever Pitfall Harry drowns in quicksand or Frogger gets hit by traffic. We’re therefore happy to report that [Ricardo Quesada] has decided to add rumble functionality to the Bluetooth-to-Joystick-port interface that he’s been working on. He demonstrates the feature on his Commodore 64 in the video embedded after the break.

Naturally, any software needs to be adapted to support haptic feedback, but a trickier problem turned out to be the hardware: joystick ports are input-only devices and therefore cannot send “enable rumble” signals to any connected gamepads. [Ricardo] found a clever way around this, using the analog inputs on the joystick port that were typically used for paddle-type controllers.

The analog-to-digital converter inside the computer works by applying a pulse signal to the analog port and measuring the time it takes to discharge a capacitor. The modern gamepad interface simply detects whether these pulses are present; they can be enabled or disabled through software by toggling the analog readout on the joystick port. This way, the joystick port can be used to send a single bit of information to any device connected to it.

[Ricardo] developed patches for Rambo: First Blood part II and Leman to enable rumble functionality. He describes the process in detail in his blog post, which should enable anyone who knows their way around 6502 machine code to add rumble support to their favorite games.

The adapter works with a variety of retro systems that use the Atari-style joystick interface, but if you’re an Apple II user, you might want to look at this Raspberry Pi-based project that interfaces with its nonstandard joystick interface. If you’re into wireless gaming in general, be sure to also check out our history of wireless game controllers.

Continue reading “Bluetooth Interface Adds Rumble Feedback To Commodore 64 Games”

Building A Modular Joystick For Star Citizen

Joysticks are great for gaming, but sometimes it’s hard to find one that suits your personal playstyle. [Nixie] developed the TinkerJoy to suit their own needs, while giving it a modular design to make it easy to customize as well.

It’s built around a metal core, with 3D printed panels attached to the user’s liking. In addition to the body panels, parts like the trigger assembly and button panels can be moved around and adjusted to suit different games or different players.

A test unit has been built in a right-handed configuration, featuring four buttons and two switch sliders. In addition to the main X and Y axes, it also has a Z axis activated by twisting the joystick, as well as an analog brake. There’s a trigger, too, as every good joystick must have. For now, the electronics is not integrated. Instead, a STM32 BluePill board sits on top of the stick to read all the controls and talk to a PC. The test setup looks to work well, with [Nixie] putting the gear through its paces in Star Citizen.

The benefit of building your own hardware is that you can often do ergonomics better yourself. After all, companies often have to build for the 5th-95th percentile for reasons of economics and scale.

Continue reading “Building A Modular Joystick For Star Citizen

Odd Inputs And Peculiar Peripherals: A Joystick Like They Used To Make

With the rise of the gamepad courtesy of several generations of game consoles, the joystick has become an almost forgotten peripheral, sidelined into the world of flight simulators with its design tending towards copying that of aircraft joysticks. Classic joysticks from the 8- and 16-bit eras were far more workaday devices, more suitable for Space Invaders than Microsoft Flight Simulator, and it’s one of these that [Rob Smith] has recreated in 3D printed form.

The design he’s come up with bears a strong resemblance to the Zipstik, a classic stick that he already owned. It’s a fairly simple device that uses microswitches for all contacts, and is thus very tough. He’s produced a 3D-printed shaft but didn’t trust its strength, so copied the original by using a metal shaft with a pair of circlips. We remember our Zipstik as having a steel shaft; he replaces that with aluminium. A handy jig and a hacksaw allows him to create grooves for circlips, resulting in a sturdy ZipStik clone that should satisfy any retro gamer.

The stick is wired for an Amiga and includes a 555-based rapid-fire circuit, but that’s not the end of the electronics as he’s also created a USB interface for Amiga joysticks to go with it. Not everyone has a classic machine, so now everyone can enjoy the retro peripheral experience! Both builds can be seen in the videos below the break.

This isn’t the first Amiga joystick we’ve brought you, but it’s more sophisticated than some previous designs.

Continue reading “Odd Inputs And Peculiar Peripherals: A Joystick Like They Used To Make”

A pair of purple PCB-based game controllers on a solderless breadboard

Odd Inputs And Peculiar Peripherals: The GameBug Turns Your Breadboard Into A Game Console

What’s more fun than playing video games? Designing your own video game hardware, of course! If you’ve followed these pages long enough you’ll have seen dozens of great examples of homebrew hardware, and perhaps been inspired to try such a project yourself. This often starts with assembling the basic bits onto a solderless breadboard, which is fine for programming but not so great for testing: squeezing pushbuttons into your breadboard works for basic debugging, but is not very user-friendly or reliable. A better solution can be found in [Dimitar]’s GameBug: a set of breadboard-compatible joypad-like controllers.

The GameBug’s design excels in its simplicity: a miniature analog joystick, four buttons arranged in a diamond pattern, a shoulder button and two sliding switches are sitting on a neat purple PCB. On the bottom are two rows of pin headers to ensure a snug fit on your solderless breadboard. There’s even a little vibrating motor for haptic feedback.

Interfacing with the GameBug is simplified by the integrated readout electronics. A Schmitt trigger-based debounce circuit ensures clean signals from all the pushbuttons, while a motor driver chip provides stable current to the haptic feedback system. An RGB LED can be used as yet another user feedback device, or simply for decorative lighting.

All design files are available on [Dimitar]’s GitHub page, along with an Arduino sketch to help you try out the GameBug’s functionality. Having a proper gamepad might come in handy with breadboard-based game systems like Tiny Duck Hunt or this impressive mess of wires that makes up a Colecovision.

A pair of purple PCB-based game controllers

An input device combining a joystick with several knnobs and buttons

Modular Multi-Input Macro Keypad Integrates Mouse And Joystick

While most computer users make do with just a keyboard and mouse, power users often have multiple additional input devices. Gamers use joysticks or dedicated mice, CAD engineers have specialized gadgets for manipulating 3D objects, while graphic designers might want programmable macro buttons to automate various tasks. [Sascha Nitsch] didn’t fancy cluttering his desk with a whole bunch of input devices and therefore decided to combine as many functions as possible into the CIMDIT: a Completely Insane Multi Device Input Thingy.

The main components making up the CIMDIT are a 3-axis joystick module, which can double as a 3D CAD mouse, and a set of buttons, knobs and sliders to enable various functions. One rotary encoder is used to choose an operating mode, while four others can be used as programmable inputs. A small OLED display shows which mode is currently selected, but can also be used to display notifications from various programs.

An Arduino Pro Micro provides a USB interface to a PC and reads out the various input units. The entire design is modular, so it can be customized to any desired combination of analog and digital inputs. [Sascha] made a neat 3D printed enclosure to hold the 3-axis module along with 26 buttons, five rotary encoders and one analog slider. KiCAD files for the PCBs and the FreeCAD source for the enclosure are available under an open-source license on [Sascha]’s Git repo.

The same thing applies to the software driving the CIMDIT, though adding functionality to it might turn out to be tricky: [Sascha] had to perform some serious code optimization to fit everything into the Arduino’s 32 kB of program flash. The Git repo also includes a convenient tool to create key mappings to be programmed into the controller, saving you from having to compose a binary file by hand.

Love macro keypads? Check out these cool examples with gesture detection, an e-ink display or simply beautiful wooden keys.

A Gameport Joystick To USB-MIDI Converter

These days, live music performance often involves electronic synthesizers and computers rather than traditional instruments played by hand. To aid in his own performances, [alekappa] built a special interface to take signals from a joystick and convert them to MIDI messages carried over USB.

The build is simple and straightforward, using a Teensy LC to interface with a simple gameport joystick. With a smattering of simple components, it’s easy to read the outputs of the joystick with only a little debounce code needed to ensure the joystick’s buttons are read accurately. Similarly, analog axes are read using the analog-to-digital converters onboard the microcontroller.

This data is then converted into control changes, note triggers and velocity levels and sent out over the Teensy LC’s USB interface. A mode switch enables changes to the system’s behaviour to be quickly made. The device is wrapped up in a convenient housing nabbed from an old Gameport-to-USB converter from many years ago.

It’s a neat project and we’re sure the joystick allows [alekappa] to add a new dimension to his performances on stage. We’ve seen other great MIDI controllers, too, from the knitted keyboard to the impressive Harmonicade. If you’ve got your own mad musical build under construction, don’t hesitate to drop us a line!

Retro Gaming With Retro Joysticks

One of the biggest reasons for playing older video games on original hardware is that emulators and modern controllers can’t replicate the exact feel of how those games would have been originally experienced. This is true of old PC games as well, so if you want to use your original Sidewinder steering wheel or antique Logitech joystick, you’ll need something like [Necroware]’s GamePort adapter to get them to communicate with modern hardware.

In a time before USB was the standard, the way to connect controllers to PCs was through the GamePort, typically found on the sound card. This has long since disappeared from modern controllers, so the USB interface [Necroware] built relies on an Arduino to do the translating. Specifically, the adapter is designed as a generic adapter for several different analog joysticks, and a series of DIP switches on the adapter select the appropriate mode. Check it out in the video after the break. The adapter is also capable of automatically calibrating the joysticks, which is necessary as the passive components in the controllers often don’t behave the same way now as they did when they were new.

Plenty of us have joysticks and steering wheels from this era stored away somewhere, so if you want to experience Flight Simulator 5.0 like it would have been experienced in 1993, all it takes is an Arduino. And, if you want to run these programs on bare metal rather than in an emulator, it is actually possible to build a new Intel 486 gaming PC, which operates almost exactly like a PC from the 90s would have.

Continue reading “Retro Gaming With Retro Joysticks”