It’s often said that “getting there is half the fun”, and we think that can be just as true when building hardware as it is during the roadtrip to your favorite hacker con. Many of us enjoy the process of planning, designing, and building a new gadget as much as playing with it when it’s done. We get the impression [Radomir Dopieralski] feels the same way, as he’s currently working on yet another iteration of his PewPew project.
For the uninitiated, [Radomir] has already created a number of devices in the PewPew line, which are designed to make programming games on “bare metal” easier and more approachable for newcomers by using CircuitPython.
The original version was a shield for the Adafruit Feather, which eventually evolved into a standalone device. The latest version, called the M4, includes many niceties such as a large TFT screen and an acrylic enclosure. It’s also switched over to the iconic Game Boy layout, to really drive home that classic gaming feel.
As [Radomir] explains, previous versions of the PewPew were designed to be as cheap and easy to manufacture as possible, since they were to be used in game programming workshops. But outside of that environment, they left a little something to be desired. With the M4, he’s created something that’s much closer to a traditional game system. In that respect it’s a bit like the Arduboy: you can still use it to learn game development, but it’s also appealing enough that you might just play other people’s games on it instead.
What’s more fun than porting an old game released for an old system such as the Apple IIgs to its 10-year-older predecessor, the Apple II from 1977? Cue [Deater]’s port of the classic video game ‘Another World‘ to the original Apple II. As was fairly obvious from the onset, the main challenges were with the amount of RAM, as well as with the offered graphics resolutions.
Whereas the Apple II could address up to 48 kB of RAM, the 16-bit Apple IIgs with 65C816 processor could be upgraded to a maximum of 8 MB. The graphics modes offered by the latter also allowed ‘Another World’ to run at a highly playable 320×200, whereas the ported version is currently limited to the ‘low resolution’ mode at 40×48 pixels.
The game itself still needs a lot of work to add missing parts and fix bugs, but considering that it has been implemented in 6502 assembler from scratch, using just the gameplay of the IIgs version as reference, it’s most definitely an achievement which would have earned [Deater] a lot of respect back in the late ’80s as well.
Feel free to check out the Github page for this project, grab a floppy disk image from the project page and get playing. Don’t forget to check out the gameplay video linked after the break as well.
The project started when [Shyri] found that you could take the internals from a modern third party Bluetooth N64 controller made by 8BitDo and put them into the original controller’s case. This would give you the original buttons back, and overall a more authentic weight and feel. Unfortunately, this usually means dumping the original N64 joystick for the 8BitDo’s.
What [Shyri] wanted to do was install the 8BitDo PCB into an original N64 controller, but adapt Nintendo’s joystick to communicate with it. Unfortunately, since the original joystick used optical encoders and the 8BitDo version uses potentiometers, there’s something of a language gap.
To bridge the divide, both the X and Y dimensions of the joystick get their own PIC12F675 microcontroller and X9C103S digital potentiometer. The microcontrollers read the X and Y values from the original joystick’s encoders, and use the digital potentiometers to provide the 8BitDo with the expected analog input. Right now the electronics are held on two scraps of perfboard tucked into the side “wings” of the controller, but hopefully we’ll see a custom PCB in the future.
Console owners inhabit their own individual tribes depending upon their manufacturer of choice, and so often never the twain shall meet. But sometimes there are those what-if moments, could Mario have saved the princess more quickly through PlayStation buttons, or how would Sonic the Hedgehog have been with a Nintendo controller? [Danjovic] is finding the answer to one of those questions, with an interface between Nintendo 64 controllers and MSX hardware including the earlier Sega consoles.
In hardware terms, it’s a pretty simple device in the manner of many such projects, an Arduino Nano, a resistor, and a couple of sockets. The clever part lies not in its choice of microcontroller, but in the way it uses the Nano-s timing to ensure the minimum delay between button press and game action. The detail is in the write-up, but in short it makes use of the MSX’s need to attend to video lines to buy extra time for any conversion steps.
The hack relies on the fact that the original game used a four-bit resistor ladder DAC to draw vectors in different intensity levels. Through some ingeniously simple hardware, this DAC is repurposed to denote different colours instead. It’s laced together with a 74LS08 AND gate chip, along with a handful of resistors and diodes. Three bits are used for red, green, and blue, respectively, with the fourth used as a “white boost” signal to allow the differentiation of colours like red and pink, or dark and light blue. It’s then all wired into an RGB vector monitor for final display. After that, it’s just a matter of a simple ROM hack to set the colors of various on screen objects.
Vector monitors are notoriously hard to film well, but it’s clear that in person the output is rather impressive. Making color versions of old retro games is actually a hobby of [Arcade Jason]’s – we’ve featured his color Vectrex before. Video after the break.
It may be nearly 40 years old, but the Atari 5200 still inspires legions of fans to relive the 8-bit glory days of their youth. There was much to love about the game console, but the joystick-and-keypad controllers were not among its many charms. The joystick didn’t auto-center, the buttons were mushy, and the ergonomics were nonexistent.
Retro-aficionados need not suffer in silence, though, thanks to this replacement controller for the Atari 5200. [Scott Baker] didn’t want to settle for one of the commercial replacements or, horrors, an adapter for the old PC-style joystick, so he rolled his own. Working from the original Atari schematics, [Scott] devised a plan for using a readily available thumbstick controller as the basis for his build. The essential problem was how to adapt the 10k pots on the new joystick to work in an environment expecting 500k pots, which he solved using an analog to digital and back to analog approach. The ADCs on an ATtiny85 convert each joystick pot’s voltage to a digital value between 0 and 255, which is sent to a 100K digital potentiometer. A little fiddling with RC constants brings it back in line with what the console expects. The thumbstick and buttons live on a custom PCB – kudos to [Scott] for designing an ambidextrous board. The video below shows the design and the finished product in action.
[Scott] is on a bit of a 5200 kick these days; he just finished up a Raspberry Pi multi-cartridge for the venerable console. His controller should make retro-gameplay on the console a little easier on the hands.
[Seth] is quick to say he didn’t do all this alone. This mod came to be thanks to help from [Cooper Harasyn] who discovered a save file corruption glitch, [MrCheese] who optimized the hex editor, and [p4plus2] who wrote some awesome mods.
While no soldering and programming of parts are required, installing this mod still requires quite a bit of hardware. Beyond the SNES and cartridge, you’ll need two multitaps, three controllers, and clamps to hold down buttons on the controllers. Even then the procedure will take about an hour of delicate on-screen gymnastics. Once the jailbreak is installed though, it is kept in savegame C, so you only have to do it once.
What does a hex editor allow you to do? Anything you want. Mario’s powerup state can be edited, one memory location can be modified to complete a level anytime you would like. It’s not just modifying memory locations though – you can write code that runs, such as [p4plus2’s] sweet telekinesis mod that allows Mario to grab and move around any enemy on the screen.