Jump to content
IGNORED

Idea for Multi-Button Controllers and the ST/TT/Falcon


Recommended Posts

Here's the idea: I start with a 3-button Genesis controller. I build an dongle that intercepts the controller signal and converts buttons B and C to the "impossible" directional pad combinations UP&DOWN and LEFT&RIGHT. I write some little code that PEEKS the port and see what value is presented when those buttons are hit. Then I patch games that have both jump and fire, and use up for jump (we hates iiiit!), to use the "impossible" value instead.



What say you?


  • Like 1
Link to comment
Share on other sites

That is quite possible. I ve done it with an Arduino and a Dual shock controller.

 

It is much easier than what you are thinking though for MD pads. You just need to map the C button pin to the pin 1 of the joystick port and unmap the pin that blocks the st keyboard. It is a simple electrical connection thing. I could look for more information if you'd like.

 

 

I still prefer joysticks though.

  • Like 1
Link to comment
Share on other sites

That is quite possible. I've done it with an Arduino and a Dual shock controller.

I was going to go with a Pi Zero. Connect everything to GPIO, write a tiny FIFO buffer, and wallah.

 

You just need to map the C button pin to the pin 1 of the joystick port...

I think this will work fine to map UP to a button. I've done this in emulation and it works "ok", but the solution I am hoping to implement would take it to the next level. It would actually make a button transmit simultaneous LEFT/RIGHT. Then, game patches would remap JUMP to that value. This would leave ladder climbs in place on UP, but put JUMP on its own button.

 

...and unmap the pin that blocks the st keyboard.

Not sure what this means. Could you elaborate?

 

I could look for more information if you'd like.

Uhhh, hell yes!

 

I still prefer joysticks though.

Really? What about them do you still prefer?

Link to comment
Share on other sites

This is indeed good idea. Lot of games which can be played better with more control ways.

 

But I must say that patching of games will be very hard - in most cases - and believe me, I know what I talking about.

 

This reminds me about my changes in game OIDS - where I wanted analog controls for it. Then it appeared that there are no Atari analog joysticks available for STE advanced joy. ports. Most likely Atari never made such. I even needed to mod Steem emulator to work with USB analog joypads. There is thread about it at AF . Searching ... Cool, g. shown my AF thread at top of hits (no, I did not pay them :) ) - that made my day :-D

Yes, I bought specially for it: 2 old fashion analog joysticks for Atari STE, USB joypad for PC . Eventually all it worked - and I did not put it on my site, only to AF ???

But here is something more topic here: http://atari.8bitchip.info/TestMe/OIDSJP.ZIP

Yeah, Atari Jagpad support in OIDS .

Will now start new thread with analog control versions ...

  • Like 2
Link to comment
Share on other sites

 

I was going to go with a Pi Zero. Connect everything to GPIO, write a tiny FIFO buffer, and wallah.

 

There is no need, an Arduino is cheaper and far more suitable for the job (you won't have a problem with boot times). Also the ST keyboard might not provide enough current for it to work. It's been done with a Pi zero but it's an overkill. An arduino nano is smaller as well. I still think you don't need it though.

 

 

I think this will work fine to map UP to a button. I've done this in emulation and it works "ok", but the solution I am hoping to implement would take it to the next level. It would actually make a button transmit simultaneous LEFT/RIGHT. Then, game patches would remap JUMP to that value. This would leave ladder climbs in place on UP, but put JUMP on its own button.

 

Same principle. You just need to connect it to pin 3 and 4 of the ST joystick port.

 

 

Not sure what this means. Could you elaborate?

 

The megadrive pad will hog the ST keyboard when connected directly. There are also reports of frying stuff (same with 7800 controllers). That is because the select pin no 7 (I think) is +5V on the MD and that can cause problems.

 

 

Uhhh, hell yes!

 

Take a look at this page:

 

https://picaxeforum.co.uk/threads/reading-the-sega-mega-drive-genesis-control-pads.27553/

 

Apparently a simple adapter for what you are trying to do would be:

 

MD ---------------------- Atari

1 ----------------------- 1

2 ----------------------- 2

3 ----------------------- 3

4 ----------------------- 4

5 ----------------------- 5

6 ----------------------- 6

8 ----------------------- 8

9 ----------------------- 3,4

 

This would allow for A,B as fire button and C as left+right. With an Arduino you could make it so that you could read the state of the Select key, so you could switch between the two possible options of setting C as either Up or Left+Right.

 

 

Really? What about them do you still prefer?

 

We mostly use arcade style sticks in Greece and not Atari style. So they sit on the desk and you get far more control than you would with a joypad. Moving the stick is much more satisfying and it gives me far better control especially with diagonals.

Link to comment
Share on other sites

There is no need, an Arduino is cheaper and far more suitable for the job.

Sold.

 

Same principle. You just need to connect it to pin 3 and 4 of the ST joystick port.

Cool.

 

The megadrive pad will hog the ST keyboard...because the select pin no 7 (I think) is +5V on the MD and that can cause problems.

So, unmap pin 7. Got it.

 

With an Arduino you could...read the state of the Select key, so you could switch between the two possible options

Ok. But if I do the LEFT+RIGHT thing on B and UP on C, the whole thing becomes a simple wiring solution, right? No Arduino needed.

 

We mostly use arcade style sticks in Greece and not Atari style. So they sit on the desk and you get far more control than you would with a joypad. Moving the stick is much more satisfying and it gives me far better control especially with diagonals.

Yeah. I can see how that would be satisfying.

Link to comment
Share on other sites

Ok. But if I do the LEFT+RIGHT thing on B and UP on C, the whole thing becomes a simple wiring solution, right? No Arduino needed.

 

 

No, apparently A and B are both mapped on pin 6 so if you are trying to map the A button you will need a microcontroller to do some translation. The way the MD pad works is a bit more complicated than the Atari joystick. Anyway as Pera said, it's highly unlikely that someone will patch games to use your control scheme. Also, I think B is the most natural mapping for main fire button.

 

Anyway, here's some links to get you started.

 

My Playstation 2 to Atari joystick converter on github:

https://github.com/ctzio/PSX2toAtariJoy

 

A Megadrive Controller library for Arduino

https://github.com/jonthysell/SegaController

 

An Atari joystick is the simplest control device you could possibly make.

Link to comment
Share on other sites

No, apparently A and B are both mapped on pin 6 so if you are trying to map the A button you will need a microcontroller to do some translation.

 

Got it.

 

Anyway as Pera said, it's highly unlikely that someone will patch games to use your control scheme.

 

I'll patch them myself, and learn a boatload in the process. I have a good rapport with PPera. If I ask intelligent questions, I'm sure I can wade through the abuse to get useful answers (just kidding buddy =)).

 

Anyway, here's some links to get you started.

 

Thanks!

 

Link to comment
Share on other sites

I'll patch them myself, and learn a boatload in the process. I have a good rapport with PPera. If I ask intelligent questions, I'm sure I can wade through the abuse to get useful answers (just kidding buddy =)).

 

Yeah, best of luck with that. If it doesn't work though start with the Atari compendium.

Link to comment
Share on other sites

Yeah, best of luck with that.

 

You sound doubtful. Do you believe it to be especially difficult? What do you think the primary challenge will be?

 

If it doesn't work though start with the Atari compendium.

 

How can the Atari compendium help me? Is it the best documentation source or have some code in this direction?

Link to comment
Share on other sites

NP, and when it comes to Eazyrider, you can easily find a v3 in german language, and there is a v4 that is in english, but from my own experience when recompiling with Devpac I got some compilation errors from programs disassembled with Eazyrider v4, while it went just fine with source code from v3. Maybe it was just some incorrect options set up. Also, once you disassemble an executable with Eazyrider don't forget to exit it, then launch the CONVERT.PRG to get something Devpac will recognize.

Link to comment
Share on other sites

  • 1 month later...

I just modded some Genesis Pads to work like that: "B" is firebutton and "C" is "Up".

 

Works like a charm.

 

Love to play pperas version of Giana Sisters on my Falcon with that. Thanks for the adaption!

 

My experience is that the Genesis Pads work fine on Port 1 but Not on 0 (Mouse/Joystick). You have to disconnect a Pin to solve this.

 

If anyone is interested in modded controllers. I can sell them for 9,99 $ + shipping. Have some here (China Genesis controllers) to mod.

 

Take care!

 

Chris

Edited by Atari_Falcon
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...