Jump to content
IGNORED

Send data to an Arduino through the joystick port


scitari

Recommended Posts

Nice project!

 

  You might want to consider buying the DB-9 connectors separately instead of cutting off the joystick cord, Mauser sell them for less than 40 eurocents each (over here), AliExpress is probably even cheaper.

  • Like 1
Link to comment
Share on other sites

I built my own Arduino joystick/joypad controller using the USB HAT, it's all I use on my 8 bits

allows me to use several different USB types of controllers.

 

I later upgraded the program to use a USB keyboard via Joystick port too, that's the nice thing about

the Arduino it's still 5V and doesn't need a voltage convertor.

  • Like 3
Link to comment
Share on other sites

  • 4 weeks later...
On 7/23/2023 at 4:26 PM, scitari said:

Here is a project to learn how to send binary data out through the Atari joystick port using the PIA chip. These bits can then be read by an Arduino microcontroller. Use an Arduino to Read Digital Output from an Atari 8-Bit Computer Joystick Port (1-2 hours) – Atari Projects

In your article you said "This project worked well on my Atari 800XL. However, I could not get it to work on two different Atari 800s. I am not sure why." 


While the joystick ports operate the same on the 800 & 800XL for game controllers, output is a little different. Also, on the 800 PORTA (joystick ports 1 & 2) operates a little differently than on PORTB(joystick ports 3 & 4).  You might try the program over again on the 800 using PORTB (with joystick port 3) and I think you will see that it works!  Instead of address 54018 use 54019 and instead of address 54016 use 54017.

 

See this thread for a better explanation of the differences between PORTA & PORTB:

You might also be interested in this old article that does some nifty tricks with the joystick ports:

https://www.atariarchives.org/creativeatari/Interfacing_Your_Atari.php

 

Cheers

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...
On 8/21/2023 at 12:10 PM, dukes909 said:

In your article you said "This project worked well on my Atari 800XL. However, I could not get it to work on two different Atari 800s. I am not sure why." 


While the joystick ports operate the same on the 800 & 800XL for game controllers, output is a little different. Also, on the 800 PORTA (joystick ports 1 & 2) operates a little differently than on PORTB(joystick ports 3 & 4).  You might try the program over again on the 800 using PORTB (with joystick port 3) and I think you will see that it works!  Instead of address 54018 use 54019 and instead of address 54016 use 54017.

 

See this thread for a better explanation of the differences between PORTA & PORTB:

You might also be interested in this old article that does some nifty tricks with the joystick ports:

https://www.atariarchives.org/creativeatari/Interfacing_Your_Atari.php

 

Cheers

 

Many thanks!

  • Like 1
Link to comment
Share on other sites

On 8/21/2023 at 8:10 PM, dukes909 said:

You might also be interested in this old article that does some nifty tricks with the joystick ports:

Just had a look at your site, you might want to add a diode across the relay coil in the diagram "Figure 4. 7407 Interface (1 gate)."

back EMF from the relay coil when it de-energises can easily kill the output transistor in the 7407.

 

Cathode to the +5V rail Anode to the gate output.

 

image.thumb.png.6517627b765f0a1aee574d4ec0845ee3.png

  • Like 3
  • Thanks 2
Link to comment
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...