Created: 2023-03-20 - 2023-04-13
An implementation of the retroCART system. Inspired by the cartridges used by 80s computers and game consoles, it brings that concept to modern systems with USB. I've made cartridge slots for 5 1/4" and 3 1/2" drive bays, an external adapter, and custom cartridges.
The 5 1/4" bay was relatively simple: just a 3D printed front plate with mounting tabs and some extra plastic in back for strength. The standard retroCart mechanism screws into it, and it screws into the tower like a disc drive. A USB 3.0 header to USB A cable from a broken card reader was used to connect it to the computer.
The 3/12" bay was more complicated due to the way the tool-less mounting of the HP works. There is also very little space around the cartridge slot. I ended up using the shell of a broken card-reader to hold the 3D printed front plate in place. I ended up using a couple of different adapters from Amazon to plug it in with the tight space inside the case.
The external cartridge adapter is based on this design but I redesigned the front panel due to some tolerance issues. I think I also changed the USB cable clamp from the main retroCART files to fit the extension cable I used. The two-tone color scheme is supposed to resemble an Apple Disk II drive.
I started out with the provided mini usb-drive cartridge, but it was quite short. There wouldn't be room to see the label, and it was much shorter than the customizer would generate. I had the same Samsung usb drive that it was made for, but I switched to PNY drives that needed some adjustments. So I made matching new designs for both based on the customizer file. I made labels inspired by 3 1/2" floppy disks using inkjet sticker paper.
Inspired by interface cartridges used on old computers like the Commodore 64 and ZX Spectrum, I started a series of carts that adapt retro game controllers. I used Adafruit ItsyBitsy 5v ATMega32U4 boards in both, along with some short USB micro-B to A adapters.
The Atari/SEGA one uses an adapter I had wired up previously. It only supports one controller due to the complexity and number of wires used. I rewrote the firmware to add support for 6-button controllers and to improve compatibility with Steam. It switches between Atari/Master System, Genesis 3-button, and Genesis 6-button modes on the fly depending on what is plugged in.
The NES circuit was made for this project. The simple serial interface made it easy to support two controllers. The ports were too bulky to fit fully inside the shell, so I mounted them in cutouts. They just about fit into the silhouette of the cartridge. There are tabs on the ports that lock into the top and bottom of the shell. It took some tinkering to get the two gamepads to show up as two devices in Linux. I believe I had to add a file containing "options usbhid quirks=0x239a:0x800e:0x40" to /etc/modprobe.d, run `sudo update-initramfs -u`, then reboot, to get it working. I've heard that devices like this should work fine on Windows and Mac by default.
© 2023 Kyle Delaney | Site Map