PiVCS - RetroPie in an Atari VCS/2600 console
-
Several months ago I put together a RetroOSMC setup but got tired of cords everywhere, so I decided it was time to build a case for it. I found a non-working 4-switch Atari VCS on eBay and disassembled it. I decided I would use as many switches and connectors as I could then add panel mount USB, RJ45 and HDMI connectors. As I researched how to use the VCS Power, Reset and Select switches, the project started to grow in concept (as they often do) so it does more now than I originally planned. So here it is:
Features
- Raspberry Pi 3 with OSMC and RetroPie via retrosmc
- Wireless mini-keyboard (for OSMC navigation and emulators that need it)
- Panel mount connector access: HDMI, RJ45, 4xUSB, 2xDB-9 (atari controllers)
- SD card access
- 1 TB hard disk space
- Functional Power Switch with Green LED via the ControlBlock
- Select, Reset and Difficulty switches all work for Stella emulator, Reset works on all Retroarch emulators and any others that allow keyboard remapping, also via ControlBlock
- Two 2600-daptor connectors that allow the use of Atari 2600 controllers, including (and especially) four paddle controllers
So it provides a very realistic Atari 2600 experience while maintaining the ability to play any other games on RetroPie as well. EmulationStation launches from within OSMC. The 1 TB disk is primarily for movies and music, but I'm also writing save file/state backup scripts (I'd rather not save directly to the disk just in case it dies).
I ended up using a dremel to cut about a 1 inch strip of motherboard that I used to mount the four switches and the cartridge slot. I had originally de-soldered them but then couldn't figure out how to mount them, so I cut that piece of motherboard and soldered them back on. I had to have that cartridge slot otherwise I had a gaping hole in the top, plus it keeps the original look and I can even put a cartridge in there for decorative purposes. I also had to dremel out a big strip of plastic so there would be room for the front panel connectors. Hardware is mounted from the bottom using smalls crews, washers and spacers.
The Power, Select, Reset and Difficulty switches work by wiring them to the ControlBlock. Power is obvious, as the ControlBlock is built for that. But the rest I had to wire to the screw-down terminal block on the ControlBlock. I set up the ControlBlock service to run in MAME mode so these switches basically just emulate keypresses. Then I changed the stellarc keymap to respond to the keypresses that correspond to the ones I wired up on the ControlBlock. The only switch that doesn't work, although it could, is the Color/Black and White switch. I could have set it up to do exactly the same thing in Stella, but I have a feeling something more interesting is going to come along so I'm leaving that switch null for the time being.
I ended up using all 4 USB ports on the Pi and all 7 on the hub. It breaks down as follows:
RPi connectors: 1 for the USB hub, 1 for wireless keyboard dongle, 2 for 2600-daptors
Hub connectors: 4 for external USB connectors, two for SATA adapter, one to power the RPiI don't have a photo of it, but I made a small square hole for the USB hub power connector, which powers the whole thing. It's a nice powered USB hub I got on adafruit.com.
I also built a new joystick for it. The broken VCS came with paddle controllers (score!) and my mother-in-law just happened to have another set as well as two joysticks. After cleaning that set of paddles they worked fine, but one of the two joysticks was absolute crap. Rather than try to repair it, I decided it would be more fun to just build one with the extra joystick and button I had from an arcade controller project from a few years ago.
Materials
- Raspberry Pi 3
- 16 GB SD card
- ControlBlock
- Green LED and holder
- Panel mount RJ-45 cable/connector
- Panel mount HDMI cable/connector
- 2 x panel mount USB cables/connectors
- USB to SATA adapter
- 7 port powered USB hub
- 2 x 2600-daptors
- 1 TB 2.5" SATA hard disk
- Atari VCS case and motherboard pieces to retain switches
- Connection wires, screws, etc.
A big thanks to the RetroPie developers and community for such an awesome system, as well as the good folks behind OSMC, libretro, EmulationStation, Raspbian, etc, the petrockblog folks who developed the ControlBlock and Tom Hafner for the 2600-daptors
-
I wanted to do an update on this as I had some words of advice for anyone making a similar mod. It's about joysticks/gamepads.
Things have worked out pretty nicely as far as joysticks go and some of it entirely unintentional but very handy.
The two 2600-daptors show up as js0 and js1, which makes them the default controllers for some emulators, and it just so happens to be a few for which it makes sense: Atari 2600, Atari 800, Intellivision and Colecovision. The only caveat with the Intellivision and Colecovision is that I also have to rely on the mini-keyboard for the number pad input, which isn't quite as convenient for games like Space Battle on intv, but I have a real Intellivision if I really need to play that. I did enjoy a few fun games of Star Raiders on Atari 800 by combining the use of the joystick and keyboard.
But this also means I had to reassign my retroarch player1 controller index. Just in case anyone hasn't had to do this, I had to edit /opt/retropie/configs/all/retroarch.cfg and modify the following lines:
input_player1_joypad_index = 2
input_player2_joypad_index = 3Each of these correspond to USB pads that I have plugged in in addition to the 2600-daptors.
But man, those 2600-daptors combined with Stella (non retroarch version) and paddle controllers really makes the Atari VCS experience pretty realistic. I forgot how many variations of Pong there are on Video Olympics.
-
You did a great job with this! I love how versatile this Atari has become now while offering an authentic experience at the same time. Also maintaining the ability to pop-in a cartridge just for esthetic purposes, yeah, love that!
Mad props!
-
I'm doing something similar, although, I'm doing several consoles dedicated to their system (C64, NES, and SNES are done, Genesis and gameboy are almost done, I have almost all the parts for the PSX and N64, but RPi3 doesn't emulate those well, so not sure how far I'll get with those). The 2600 is next. I want both stick and the paddles, so it's looking like I'll do the 2600-daptors like you did. That forum search is what got me to this thread! ;) I assume both sticks and paddles work as expected with nothing more than unplug and replug, yes? Also did you get the version I or II of the adapter? It looks like the v. II really just adds benefit for 7800 controllers, which I won't use... So I'd rather not spend the money if I don't have to.
-
@jsawhite i made a psx and the games i have played run great for me. As far as the 2600-daptors go you have to unplug the usb or reboot the system to change controllers. It auto detects on boot. The other advantages to the 2600-daptor ii is all the 2600 accessories work on it. Not just the paddles and joystick.
-
I've been able to hot swap the Joystick and Paddle controllers without a reboot and it has worked just fine. Seems to me the Pi detects the adapters themselves as the controllers without needing an actual controller plugged into the DB9.
-
@jdoolin thats good to know. I only use mine for the paddles because i use the "ultimate pc interface" for a tons of controllers (made by the same guy) but you have to kill power to the usb to detect another controller. With how its stated on his site i assumed it was the same for the 2600-daptor. But to switch modes im pretty sure you will have to reboot the usb.
-
@jsawhite said in PiVCS - RetroPie in an Atari VCS/2600 console:
The 2600 is next. I want both stick and the paddles, so it's looking like I'll do the 2600-daptors like you did. That forum search is what got me to this thread! ;) I assume both sticks and paddles work as expected with nothing more than unplug and replug, yes? Also did you get the version I or II of the adapter? It looks like the v. II really just adds benefit for 7800 controllers, which I won't use... So I'd rather not spend the money if I don't have to.
I went with Version I because I didn't have any intention of using the 7800 controllers. I mean, I have have a couple, I just didn't think the extra money would have been worth a very small library of games that I would rarely play anyway.
-
Sorry to revive such an old thread! I wanted to offer kudos to the OP, this setup is absolutely amazing!
I did have a couple technical questions, if you're still around, as I'd like to recreate some of what you've done here in an old console of my own.
1-7-port USB hub, is that powered externally? If so, it provides enough power for the RPi?
2-Where is the SD Card access? I may have overlooked it in your photos.
3-Do you have access to the hard drive to transfer files back and forth? I'd like to do something similar, but would like the ability to easily upload new ROMs/video at will down the road.
I think that's all of my questions.
Again, amazing build!
-
Great job,
I have a question.How do you choose a rom from the list of the Atari roms ?
Since the Atari joystick has only one button and usualy it maps to "B" action , How to do activate the an "a" functionality for choosing a rom in the Retropie ?Eran
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.