Jump to content
Draugr

Using 2 or more buttons on joysticks for the XL/XE systems?

Recommended Posts

Hi.

 

I searched the forums but didn't see anything mentioned regarding my question.

 

What I'd like to ask is this. Is there a way to use 2 button joysticks on the 600/800XL and/or the 130XE/XEGS?

 

I know there are some games that require multiple fire buttons like Commando uses the joystick button for firing the gun and the second button to toss grenades. On the computers the space bar is used as the second fire button which always drove me nuts.

 

I recently dug out my XEGS and I'm looking to get the Ultimate 1MB upgrade as well as a S-Video upgrade so I can use the XEGS as a console system (aka no keyboard). Due to not using the keyboard, I won't have a space bar to hit in order to toss grenades in Commando for example. So, does anyone know if there was a mod made that allowed you to use two-button joysticks on the XL/XE systems? For instance if I were to use the 7800 joysticks, buttons A & B would operate properly on the XEGS. I'm sure there is a way to do it, I just haven't found any info on whether it has been done or not. Another way it could be done (I'm guessing here) via a mod is to be able to program the module to say when this signal is sent (pushing button 2) map it to the space bar signal. Similar to re-mapping our controllers or keyboards on modern computers or consoles. If I can get a 2 button joystick to work on my modified XEGS that will be awesome. Move over XboX 360, here comes the XEGS! :)

 

Any info is appreciated.

 

Thanks,

John

Share this post


Link to post
Share on other sites
Is there a way to use 2 button joysticks on the 600/800XL and/or the 130XE/XEGS?

 

Of course there is:

 

http://mixinc.net/atari/pinouts/powerpad3.htm

 

But the software needs to support it.

 

It's possible to build a custom joystick port supporting more signals, like space bar, return key, etc, but you're on your own with this as there is no standard config/layout for this.

Share this post


Link to post
Share on other sites

atari directly supports 3 buttons

one is fire, two others are pots controls working in digital mode (there is a register in pokey to switch between analog and digital mode just for this purpose)

i know 7800 doesn't have pokey by default, but i wonder how they made these additional buttons, maybe there is something similiar with their design that would allow to use them (the pads) directly?

i do have 7800, but without pads, so i'm just daydreaming here

Share this post


Link to post
Share on other sites

atari directly supports 3 buttons

one is fire, two others are pots controls working in digital mode (there is a register in pokey to switch between analog and digital mode just for this purpose)

i know 7800 doesn't have pokey by default, but i wonder how they made these additional buttons, maybe there is something similiar with their design that would allow to use them (the pads) directly?

 

Here how the 7800 joystick is connected:

Joystick Pinouts

2600/7800 pinouts:

_________________
\ o5 o4 o3 o2 o1/
\ o9 o8 o7 o6 /
 \___________/

pin #  2600 control     7800 control
 1    WHT- Up          WHT- Up
 2    BLU- Down        BLU- Down
 3    GRN- Left        GRN- Left
 4    BRN- Right       BRN- Right
 5    unused           RED- Button (R)ight (-)
 6    ORG- Button      ORG- Both buttons (+)
 7    unused           unused
 8    BLK- Ground(-)   BLK- Ground(-)
 9    unused           YLW- Button (L)eft  (-)

2600 control (button)

pin 6 ORG(+) --------------()------------BLK(-) pin 8
                     Button

7800 control (buttons)

                                      /----------YLW(-) pin 9
                           Button L  /
                     /---------()---| YLW splits
                    /                \----/\/\/-----\
pin 6 ORG(+) -------| ORG splits           520 ohm    |---BLK(-) pin 8
                    \                /----/\/\/-----/
                     \---------()---|     520 ohm
                          Button R   \ RED splits
                                      \----------RED(-) pin 5


 

 

Pin 5 & 9 are normally the paddle inputs. In the 2600/7800 they are handled by the TIA AFAIK. So according to these schematics determining which of the two buttons was pressed is indeed done by reading the paddle POT inputs.

 

Robert

Share this post


Link to post
Share on other sites

so they are perfectly usable in any a8

Care to explain how to code it? If we are talking about these game-pads with the two buttons I have one here and would like to fiddle with it. Or did I got it wrong and a HW mod has to be done?

Share this post


Link to post
Share on other sites

0 would mean that button is not pressed, paddle max (224?) will represent button pressed

Share this post


Link to post
Share on other sites

10 ? PADDLE(0), PADDLE(1)

20 ? PADDLE(2), PADDLE(3):G.10

That's the first four paddles, not buttons on the paddles. You can have up to 8 paddles on a 800, numbered 0 to 7. PTRIG does the button on the paddle. Each joyport can do two paddles.

There can only be one button on the paddle or joystick, PTRIG or STRIG. STRIG can only be 0 to 3. Maybe there's a way to have multiple triggers, but it isn't simple STRIG and PTRIG.

Share this post


Link to post
Share on other sites

10 ? PADDLE(0), PADDLE(1)

20 ? PADDLE(2), PADDLE(3):G.10

That's the first four paddles, not buttons on the paddles. You can have up to 8 paddles on a 800, numbered 0 to 7. PTRIG does the button on the paddle. Each joyport can do two paddles.

There can only be one button on the paddle or joystick, PTRIG or STRIG. STRIG can only be 0 to 3. Maybe there's a way to have multiple triggers, but it isn't simple STRIG and PTRIG.

The 2nd stick button is wired into the POT lines though.

Share this post


Link to post
Share on other sites

I'm fairly sure button detection via Pot inputs doesn't work on the A8 with a 7800 controller.

 

Probably a similar problem to detecting right button on an ST or Amiga mouse.

 

There's a fix that keeps it compatible by changing a resistor value, maybe something similar would work with the 7800 stick.

Share this post


Link to post
Share on other sites

The trigger button on a paddle is connected to one of the 4 joystickpins (1 - 4, not sure which one). So PTRIG won't work on the 7200 joysticks.

 

Mathy

Edited by Mathy

Share this post


Link to post
Share on other sites
That's the first four paddles, not buttons on the paddles.

 

I know, but we're not talking paddle buttons but joystick buttons connected to the input where usually a paddle connects to on A8. so need to be read as a paddle input PADDLE(x), not PTRIG(x) (which in fact is just a duplicate of a joystick position).

Share this post


Link to post
Share on other sites
That's the first four paddles, not buttons on the paddles.

 

I know, but we're not talking paddle buttons but joystick buttons connected to the input where usually a paddle connects to on A8. so need to be read as a paddle input PADDLE(x), not PTRIG(x) (which in fact is just a duplicate of a joystick position).

So a joystick with two fire buttons in joyport 1 (or 0 the first port on the left of a 800 or forward on a XL/XE) would read the buttons with STRIG(0) and PADDLE(0)...? Lemme see:

1 2 3 4 5

6 7 8 9

 

pin 8 is gnd. pins 1, 2, 3, 4 are directions of the stick. 7 is +5 volts, 5 and 9 are PADDLE(0), (1) inputs. So, you're saying a two button joystick would use pin 5 or 9 for input...?

Opps, I forgot pin 6, the joystick trigger input. I guess that's possible, but no program, I believe, has ever been written with that input. And pins 5 and 9 go to POKEY,

which is designed to have values of 0 - 255 for those lines, not 0 or 1. pin 1 of PORTA is bit 1, pin 2 bit 0, pin 4 bit 2, pin 3 bit 3, I don't know the pins for bits 4 to 7 of PORTA.

I do know that a 0 (low I presume) on pin 6 means STRIG(0) has been pressed. PTRIG for PADDLE(0) is bit 2 of PORTA. Too much information. I had a MPP modem

that worked out of the joyport (2 ?). So joyports can be input or output.

Edited by russg

Share this post


Link to post
Share on other sites

Well, this is probably worthless or obvious (or both) information but .. .

 

The XEGS keyboard port is the same pinout as a 5200 Controller (or neo geo for that matter). The keyboard itself has some chips in it, so using a 5200 keypad would probably result in nothing. But anyway - maybe an easier way to use a 5200 controller with its extra buttons? Prolly not though.

Share this post


Link to post
Share on other sites

Use a Sega Genesis controller. B & C buttons are programmable, B button is read from PADDLE(0) and C from STRIG(0). Bill Kendrick's Gem Drop game does this, as does my own Tetricize game.

Share this post


Link to post
Share on other sites

Use a Sega Genesis controller. B & C buttons are programmable, B button is read from PADDLE(0) and C from STRIG(0). Bill Kendrick's Gem Drop game does this, as does my own Tetricize game.

I stand corrected, there have been a couple, at least, programs with two button use. The Original Poster asked if it was possible to have/use two buttons, so I guess it is. The OP also seemed interested in a second

button being 'mapped' to simulate a spacebar hit for 'Commander', which I never heard of. And a Sega Genesis controller works, OK.

Share this post


Link to post
Share on other sites
So a joystick with two fire buttons in joyport 1 (or 0 the first port on the left of a 800 or forward on a XL/XE) would read the buttons with STRIG(0) and PADDLE(0)...?

 

No, not "a joystick". Only those wired as in above schematic.

 

So, you're saying a two button joystick would use pin 5 or 9 for input...?

 

No. This particular example does.

 

So joyports can be input or output.

 

Of course It can. That's also the way some keypads (like numeric, of "kids" controller) are working. Just program some pins to be an output to be able to scan a raster of keys.

Share this post


Link to post
Share on other sites
The XEGS keyboard port is the same pinout as a 5200 Controller

 

No, they only happen to use the same connectors but are totally incompatible. Also the same connector as used on PC game ports and MIDI adapters.

 

But anyway - maybe an easier way to use a 5200 controller with its extra buttons? Prolly not though.

 

Not as a regular joystick, indeed. The 5200 uses an analog joystick where "our" A8's have digital ones. That doesn't mean a 5200 can't be modified to let it work on A8. It can be used as an analog joystick (by reading 2 paddle registers) with just some connector rewiring. The keyboard can be made to work by scanning it the same way as pokey does with the regular main keyboard by programming joystick pins as an output but it may be this requires some mods to the 5200 joystick internals.

 

Not that it will be interesting because the 5200 stick is a bitch :-)

Share this post


Link to post
Share on other sites
So a joystick with two fire buttons in joyport 1 (or 0 the first port on the left of a 800 or forward on a XL/XE) would read the buttons with STRIG(0) and PADDLE(0)...?

 

No, not "a joystick". Only those wired as in above schematic.

 

So, you're saying a two button joystick would use pin 5 or 9 for input...?

 

No. This particular example does.

 

So joyports can be input or output.

 

Of course It can. That's also the way some keypads (like numeric, of "kids" controller) are working. Just program some pins to be an output to be able to scan a raster of keys.

 

I missed the schematic. You mean the schematic in robert rdemming post? That schematic is using pins 5 and 9 for left and right buttons. What pins does a Sega Genesis controller use?

Share this post


Link to post
Share on other sites

http://atarionline.pl/v01/index.php?subaction=showfull&id=1239058277&archive=&start_from=0&ucat=6&suba___=2&ct=wynalazki - search for atarionline forum, was big disscusion about how many buttons are really available to do. It's about 16, if I remember (to work with all ataris).

Probably Atari Numerric Keyboard was programmed with analogic way (CX85): http://atariki.krap.pl/index.php/CX85

Share this post


Link to post
Share on other sites

http://pinouts.ru/Ga...er_pinout.shtml

 

Pinout for a Sega Genesis controller. Hope this helps.

Looks to me like the Sega Genesis controller would have buttons B and C, but no button A working, because pin 7, the SELECT pin, would always be high, pin 5 would do nothing.

Share this post


Link to post
Share on other sites

Found this too:

 

http://www.atariage....sis-controller/

 

With directions on how to modify the controller so all 4 buttons will work. This was on an Atari 2600 but apparently works on all Atari systems or other platforms (C=64 for example) which use the connector.

 

Correct, A and Start will not work, only B and C. According to the link above, a resistor added to one of the lines will enable the other two buttons to be read. Something about connecting the ground to the other paddle pot and letting it charge up.

Edited by Synthpopalooza

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.

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...