I've been away a while. I'll spare the details, but between family and work issues finding the time to work on anything like I did during the years of the pandemic isn't feasible for the foreseeable future. I wouldn't even be surprised if someone else built something along the lines of what I was trying to do in the meantime.
IDK, if anyone is still interested in the VCS modern controller adapter for classic systems, let me know. I might have time to get to it ov
It's been a while since I've been here.
I don't have any good excuses as to why I haven't tried to finish the USB adapter.
Kicking off our Native Dancer project at work. I was at work late tonight getting a basic informational page for the project up.
I've been dealing with red tape at work trying to purchase software we will need for the project. We just completed the order for Marvelous Designer, which we
I kinda feel like I owe an explanation why haven't worked on the USB adapter lately. The explanation is "my day job".
About two years ago, I was given about 1500 sqft of space in my university's library to create a Virtual Reality lab. This was a really exciting opportunity for me as I ran a visualization lab up until 2006 at my old job... I feel like VR was what I was meant to do, but my job back then was on soft money... and when the soft money ran out, I had to find a new job.
...which is still not working.
Just for documentation purposes, I'm attaching an image of the 5200 USB Adapter Schematic (not a proper technical drawing), and the code that controls the adapter.
If anyone has any feedback as to how the AD5242 should be wired please contact me. I've tried a thousand different wiring/code permutations and I can't figure out why this doesn't work. These aren't all the files needed to compile. I'll probably get a github site for this sometime
So below is a demo of the USB adapter for the 5200 where the Start/Pause/Reset/Keypad buttons are now working. However, I'm still having problems Getting the Joysticks to work properly. This is especially frustrating considering that someone else made a custom 5200 controller using the same DAC chip I'm using, and theirs seems to work just fine.
I've been aware of that project for awhile, but I didn't realize they used the same AD5242 DAC chip that I'm using until tonight while I was
So when you spend a holiday by yourself you get more work done. No sympathy needed. The family was here for Xmas, but I'm spending New Years by myself. For my New Years celebration I played Fortnite at midnight local time so I could watch the Fortnite fireworks and dance beneath the giant disco ball. I came in 2nd in the match though... so fail.
...but that's not why you're reading this...
USB for 5200
After beating my head against the wall this past week, trying to
Just a minor update. I decided to move from the Rpi Pico to the Adafruit Feather RP2040.
It's a bit more expensive, but it offers some dev features, like built in storage, that I like.
I seem to have a somewhat solid implementation of a 2600/7800 JS controller, but I seem to be having problems with Paddle Controls.
I can continue using the same code as before, but hopefully the QWIIC connectors will
After some additional hacking on the USB today, I have created a definition for the Atari VCS Modern Controller. So now both the Classic and the Modern controllers work with the 2600/7800.
Here's a link of me playing Baby Pac-man on the 7800 using the Modern controller. I apologize for the video. It's just to demo the fact that it works. It was hard to film one-handed, so I apologize for the controller covering the TV half the time.
USB Packet Payloads
It's nice that Atari made its VCS Classic and Modern game controllers backwards compatible all the way back to the 2600 and 7800 systems.
Got it working! There were a number of various problems:
bad 9 pin cable
power issues (not fully resolved)
realized that my analysis of USB data packets was wrong.
my poorly written C code for the Rpi Pico
Here is the USB adapter in action:
So my biggest problem was that I had done th
My Atari VCS controllers arrived today. I spent most of the day trying to decipher the classic controller's communication.
I was able to get the Pico to identify both the Classic and the Modern controller using the Pico C++ SDK along with TinyUSB.
Atari VID: 3250 3252 - 0x0cb2 - EDITTED since my first post (3250 is the HEX value)
Classic - PID: 1001 - 0x03e9 - EDITTED since my first post (1001 is the HEX value)
Modern - PID: 1002 - 0X03ea - EDITTED since my first post
Now with all the hardware details worked out, and because I understand the basics of Pico SDK programming. I think it'll be a bit easier this time around.
Differences from last time:
Using Pico instead of Pi Zero - so boot time is instant
No support for 5200 or Intellivision.
I'm not going to worry about cost, but I'm going to try to keep a board to less than $50.
Limited support for controllers.
Those that report as Xbox 360 controllers like t
My goal for my Pico based game controller is to make a USB interface so that I can use an 8BitDo SN30 Pro USB controller with the Atari.
The Pico C++ SDK supports TinyUSB, which should make it possible. In an earlier release, it did not have a USB game controller example, and with me not really understanding how USB works, I was at a loss on how to implement the Pico as a USB host.
However, sometime in the last few months, someone created code to for the Pico to serve as
Posting my Pico controller code (see the bottom of this post for text file attachments) for SNES-to-2600 controller if anyone wants to look at it. When I have time, I'll add comments to it... sorry, I know how much everyone loves code with no comments.
I should really make a GitHub project for this. This was previously written for a single controller version (pic below), which I tested with multiple games an my local Retro game café - Replay Games.
The latest 4-cont
Well, David and I made some mistakes. And the boards we ordered didn't work as expected.
A - Probably somewhat too ambitious
B - And there was some miscommunication (we do live in two different cities).
Sent David a copy of the board and he tried a couple things to figure out why it didn't see to be working... and no luck.
At least all the pads and board holes lined up with the hyperkin joystick case. And the directional stick worked.
But we w
The replacement boards for my hyperkin joystick have arrived. And they fit. I was really worried that they wouldn't fit.
Still waiting on the extra button PCBs to arrive. I also still need to do some 3D printing and some minor case modification.
See attached video.
I had to do some hardware adjustments, and there is still more code development to be done, but I was able to compete two new controller modes. Actually, I have a fifth mode completed, but because I need to write Atari assembly code to test it, it'll be a bit before I know that it is really working. Code refinement is next, and then I might have a PCB made so I don't have to worry about my prototype falling a part while I write Atari code for it.
That said, attached are 4 video for f
Attached is a video of my experimentation using the Rpi Pico to convert SNES controller input into 2600/7800 joystick inputs. I apologize for the video not being better. But you can see how I can use the SNES shoulder buttons to control the flippers on 7800 Baby Pac-Man. I also tested it with 7800 Xenophobe, but I didn't record video for the xeno test. Though it worked great. Better than the actual 7800 controllers I have for it. It was also like playing the arcade version.
Not sure what I accomplished with this...
An example of getting the Pico to control the Atari 7800... and trying to get my Bluetooth for free.
Basically, I'm just trying to learn how to use the Pico to control the Atari while I wait for David to update the schematic for the joystick PCB.
This will also work with a standard SNES controller. Not counting the controller, or the wires, this is about $6 in parts including the Pico.
And, unlike the Pi Ze
Tonight we printed out the PCB pattern to scale, and tested how it fit in the case. Surprisingly accurate alignment considering that I can't focus on close up items any longer. However, we did realize that we forgot about the front post. So we will likely have to move some components to the underside of the PCB.
Here is the paper version taped onto the original board with the holes aligned and the directional js buttons laying on top of design. The components at the top center will n
I have been working on all-in-one Rpi Pico joystick design. However, in the meantime, David and I have also designed a new PCB that provides enhanced joystick features without needing a Pico. We gave up on the previous iteration of a Rpi Zero because of cost... and I got overburdened at work... and because the Pico was released. Yadda yadda yadda.
Anyway, here is a PCB design that does not require any kind of microcontroller or driver to use. I have built this on a breadboard and it
Spent tonight re-familiarizing myself with the re-design of the Mr. Boehm and going over the data sheets of the new chips with David.
Parts are significantly cheaper than the previous version. Though re-writing all the controller code will be a bit daunting. Hopefully, sometime soon, I'll have a new demo ready.
Finally caught up at work. Returning to the redesign of the bluetooth/usb adapter. Luckily, David has been working on the redesign this whole time. Ordering the parts today for the breadboard prototype.
According to David, the chips in this design are significantly cheaper. I just need to rewrite the python code handling the gamepad/keyboard input to make it work with these new chips.
Just to show people we're still working on a cheaper redesign of the BT/USB adpater, I'm posting a render of a board that David has been developing while I'm dealing with my day-job duties.
You can see the old design on the left side of this board, and the newer design on the right.
Instead of the 1 x AD5242 digital pot chip and 4 x ADG715 digital switch chips of the previous design, the new design will use 1 x GPIO extender chip and 2 x Digital to Analog chips. With fewe
After deciding on a new configuration for the USB/Bluetooth Adapter, I've been sidetracked by work. Specifically, I'm over a week behind on a paper I need to write, I'm way past the due date.
But I have severe writers block, and mostly I just stare at the computer screen for hours on end trying to type something, anything... and not having much success.
As such, I've had no free time to put into the redesign. Although, David and I talked about the new design a couple of w
For a guy who hasn't even manufactured his PCBs yet, I have too many ideas.
Something like this will probably never come to fruition, but looking at my consoles, and my newly arrived INTV 2 I thought to myself, "Wouldn't it be cool if I could replace the broken controllers with a MrBoehm BT/USB adapter that also included a wireless controller charger? Something that has a case that is 3D printed to fit into the INTV controller bays?
Of course, you'd still need a power sup