Jump to content
Eran Feit

simulating Atari Joystick through the Atari 2600 console joystick port

Recommended Posts

Hi,

I am looking for a solution to connect and transfer signals from a Windows or Linux to Atari 2600 console

I mean , I would like to send joystick signals like (up, down, left , right , button click) from the PC Windows to the console joystick port  (without using a joystick)

 

Any ideas how to produce this functionality ? 

I understand that the Atari Joystick does not works on 5V of On/Off signals , but closing each time a different circuit.

How can I simulate this behavior with other device ? maybe Arduino or other device ?

 

Any suggestions ?

 

Eran  

Share this post


Link to post
Share on other sites

Although the actual joysticks are comprised of switches that pull an input down to ground the digital output of an AVR or PIC microcontroller can be used to do the same thing...

A logic High (1, +5V) output will reinforce the pullup voltage and a logic Low (1, 0V) output will pull down to ground. However, if you wanted to recreate the actual physical switching then you could use the Microcontroller outputs to control 5V SIL relays. 

 

The easiest solution is probably to send the data to your adaptor as a 8 bit serial byte, then you can simply copy the received byte to any port on the Microcontroller that has all 8 bits set to be digital outputs. As you have determined which bits in the byte relate to which direction and Fire you then just wire the relevant pins of Microcontroller (and GND) to the corresponding input pins of the 2600 Joystick port.

 

Loath as I am to say it because they are awful, an Arduino is an easier solution (particularly for the inexperienced) than using a Microcontroller chip on it own (although you will learn more) which you would have to configure as a RS232 or USB slave. I am sure there are plenty of examples on the internet for configuring a Microcontroller IC as either but an Arduino is already configured to present itself to the PC as a serial device. Additionally, with old style 9 pin serial ports becoming redundant thanks to USB, having a USB interface is more future proof than using an old style 9 pin serial port (RS232) interface.

You should also be able to find examples on line of how to set up the the serial port within your PC software to talk to the Arduino.

 

Unless you are catering for someone who would have difficulty using a physical Joystick, I would think using a PC as a Joystick is more trouble than it is worth compared to just wiring up 5 buttons mounted on a box.

Share this post


Link to post
Share on other sites
10 minutes ago, Stephen Moss said:

I would think using a PC as a Joystick is more trouble than it is worth

 

That depends on the application, if he plans to use it, to have computer AI play a 2600 game, then that is a perfect solution.  Of course you could go full on boner waving, with motors controlling a 2600 stick, but even that wouldn't really simulate the chaos a human body introduces, so you may as well attempt to do that in software.

 

EDIT: Your concept is fine for digital logic, but it would not work on paddles without a DAC.

Share this post


Link to post
Share on other sites
6 minutes ago, CPUWIZ said:

EDIT: Your concept is fine for digital logic, but it would not work on paddles without a DAC.

You are correct, but then as the enquiry made no mention of Paddle support there seemed no need to cater for that.

Additionally, as the enquiry stated " from the PC Windows to the console joystick port  (without using a joystick)" and no mention of any other type of controller was made it seemed logical to conclude that either the Mouse or Keyboard were intended as the input method. Of the two the keyboard is the better approximation to a joystick and easier solution than a mouse as with a mouse it can be difficult to move it in a way that only triggers one direction and so there would likely be no signal source for any DAC to act upon.

 

I am not sure a DAC alone would work at that injects a voltage. Whereas I believe the reading on the VCS rely on the time it takes for a capacitor to charge to a voltage through the Paddle resistance that then triggers a read of a timer value.

However, if it performs an ADC of the input voltage after a fixed time instead then a DAC would work (although the signal source is still unclear), otherwise you would need a motor or servo of some kind to turn a pot configured as a variable resistor to the equivalent position. A digital pot probably would not work correctly as they generally operate as potential dividers not variable resistors.

Share this post


Link to post
Share on other sites

Sorry, I tend to skim over walls of text, especially when they look like yours. :P

 

Not gonna get into the paddles right now. 

  • Haha 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...