Six button controllers

This forum is for discussion pertaining to homebrew and indie software for the Dreamcast, such as homebrew games, emulators/interpreters, and other homebrew software/applications. Porting requests and developmental ideas are not to be made here; you can make those here. If you need any help burning discs for homebrew software, this is the place to ask as well.
Post Reply
BlackAura
DC Developer
DC Developer
Posts: 9951
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Six button controllers

Post by BlackAura »

Just a couple of questions about six-button controllers.

First, how are these things rigged up? I can think of a couple of possibilities.

First, you could have the standard A, B, X, and Y buttons in approximately the standard configuration, with an L and R button tacked on the end (where a Z and C would be on, say a Mega Drive pad).

Second, you could have a layout that exactly mimics a Mega Drive pad - A, B, C on the bottom row, X, Y, Z on the top. Although the standard pad doesn't have them, there is provision in the controllers for a C and a Z button. And a second analog stick, and a second D-Pad...

Basically, I just need someone with a six button controller of some kind (a pad, an arcade stick, whatever) to tell me what the thing looks like, how they're laid out, how they appear to games, if they have some sort of mode switch, and so on. Maybe run a couple of tests, to see if I can / need to work out a way of automatically detecting the things.
The Kron
DCEmu Respected
DCEmu Respected
Posts: 2858
Joined: Sat Mar 09, 2002 3:53 pm
Location: Bristol,UK
Has thanked: 0
Been thanked: 0
Contact:

Post by The Kron »

Image
User avatar
Cid Highwind
Psychotic DCEmu
Psychotic DCEmu
Posts: 674
Joined: Sun Apr 10, 2005 5:11 am
Location: The Netherlands
Has thanked: 0
Been thanked: 0

Post by Cid Highwind »

Image

Image

Those are some pictures of the Quantum Fighterpad. I own 2 of them and I'm pretty happy with them.

As you can see on the front picture it has the XYZ and ABC form, and in the middle there's a 'program' and an 'auto' button. The auto button is used for giving individual buttons the 'auto fire / turbofire' function. Very handy for controller raping games such as the Arm Wrestling sequences in shenmue :roll:
The program function can be used for the Z and C buttons to program them. It seems I can even assign series of buttons the them, but I never actually tried more than one button at a time. I only use these controllers for Quake and they are quite perfect for them. Since I assign the Z and C to the Left and Right of the D-pad to switch weapons. Note that it is not possible to assign the L and R triggers and the start button to those buttons. A real bummer :(

Also the triggers suck... I put rubber on em to prevent my fingers from slipping off, so now they're pretty decent, but they lack the accuracy of the Sega DC pad's triggers. But who cares when all you do with them is shooting rockets :P

Ps. the main reason I bought these controllers is because they are bigger and they provide me a good grip which the Sega controllers don't have...

If you want to know more: just ask :)
You feel at ease as you flock with the masses,
What do you see with your heads in their asses?
Keep on railing at what I believe,
Call me insane and I am proud to be.

--Edguy - King of Fools--

My blog
GPF
DC Developer
DC Developer
Posts: 529
Joined: Wed Oct 17, 2001 7:44 pm
Location: Texas
Has thanked: 0
Been thanked: 0
Contact:

Post by GPF »

i have a madcatz controller of somekind that has the XYZ ABC configuration, but it doesnt have any kind of auto/programming buttons

Iv never tried to use the extra buttons though

I know in the SDL code there is provisions for using the buttons, so im guessing they map to some underlying code in KOS.

Troy
User avatar
Quzar
Dream Coder
Dream Coder
Posts: 7497
Joined: Wed Jul 31, 2002 12:14 am
Location: Miami, FL
Has thanked: 4 times
Been thanked: 9 times
Contact:

Re: Six button controllers

Post by Quzar »

BlackAura wrote:Just a couple of questions about six-button controllers.

First, how are these things rigged up? I can think of a couple of possibilities.

First, you could have the standard A, B, X, and Y buttons in approximately the standard configuration, with an L and R button tacked on the end (where a Z and C would be on, say a Mega Drive pad).

Second, you could have a layout that exactly mimics a Mega Drive pad - A, B, C on the bottom row, X, Y, Z on the top. Although the standard pad doesn't have them, there is provision in the controllers for a C and a Z button. And a second analog stick, and a second D-Pad...

Basically, I just need someone with a six button controller of some kind (a pad, an arcade stick, whatever) to tell me what the thing looks like, how they're laid out, how they appear to games, if they have some sort of mode switch, and so on. Maybe run a couple of tests, to see if I can / need to work out a way of automatically detecting the things.
i've been wondering about this too. do you happen to know if there is a distinct way to detect this? (so that you have one config for a 6 button and a different one for 4 button)
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
User avatar
Pyrite
Mental DCEmu
Mental DCEmu
Posts: 412
Joined: Fri Apr 02, 2004 1:46 am
Location: Portugal Dreamcast: PAL
Has thanked: 0
Been thanked: 0

Post by Pyrite »

Image

This is what I have its always connected to the DC its a Saturn gamepad, all buttons work but most of the software just triggers (for lack of a better word) the C and Z to R and L for example in games like MvsC pressing either C or R will do the same action so far the only game that supported all buttons was GGX you can configure independent actions for all the buttons even for the triggers buttons C and R can do different actions.
THAN/THEN get it right peoples!
Image
Sweater Fish
Psychotic DCEmu
Psychotic DCEmu
Posts: 679
Joined: Wed Oct 17, 2001 7:44 pm
Has thanked: 0
Been thanked: 0

Post by Sweater Fish »

Image

That's the one from MadCatz that I have (I think it's by far the best six button controller for the DC that has analog, too, though the grey model shown here is not as good as the later translucent colored revisions).

As you can see, it has ABXY buttons in more or less the same configuration as a four button controller (just a little closer together) with the C and Z buttons tacked on above.

This pic must be of a prototype or something because the released versions have a little crescent shaped button diagonally below the A button that allows you to program the controller (any button except Start and the anolog stick can be mapped to any of the digital buttons except Start) and also allows you to switch the Z and C buttons from being Z and C (as on the arcade stick) to just digital versions of L and R. Actually, I think the default mode has Z and C mapped as L and R and you have to hold down the program button to make them into real Z and C buttons.

There's actually quite a few six button controlelrs where the so-called Z and C buttons are really digital versions of L and R. This can be tested in those arcade classics collections that let you remap the buttons, Midway Arcade Classics or Atari Anniversary or something. Also, if the extra buttons are really Z and C, they won't do anything in a lot of games (the Z button makes your character look up over his or her shoulder at you in Sonic Adventure which is kinda funny).

By the way, the second analog stick you mentioned is used for the vertical and horizontal motions on the fishing controller and the second d-pad is of course used on the twinsticks and also the maracas, I think. There's also provision for a D button which is used on the twinsticks (the Special button) and maracas. The protoype bleempods use pretty much all of those buttons and analog sticks (Select is mapped as D, and L3 and R3 are mapped as left and right on the second d-pad, I think the only things it doesn't use are the up and down from that second d-pad).


...word is bondage...
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

I think there's no way to tell if the controller has the extra buttons, other than asking the user to press them...

By the way, I have a Quantum Fighterpad, and it sucks. Oh, and its C and Z buttons aren't the real thing, they're in there just for convenience (so you can program them while leaving the ABXY buttons unmodified). Luckly I have 3 original DC controllers so I only need to use it when playing with other 3 people.

Electroinalium: Now I'm curious to know if this adapter fully supports the Saturn's analog controller also.

Sweater Fish: Can you post a scan of its manual? By the way, what is a "twinstick"?
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
ETR
Dumb
Posts: 1998
Joined: Mon Dec 08, 2003 8:36 pm
Location: Because My Heart is in O-H-I-OOOO
Has thanked: 0
Been thanked: 0
Contact:

Post by ETR »

Fragger wrote:I think there's no way to tell if the controller has the extra buttons, other than asking the user to press them...

By the way, I have a Quantum Fighterpad, and it sucks. Oh, and its C and Z buttons aren't the real thing, they're in there just for convenience (so you can program them while leaving the ABXY buttons unmodified). Luckly I have 3 original DC controllers so I only need to use it when playing with other 3 people.

Electroinalium: Now I'm curious to know if this adapter fully supports the Saturn's analog controller also.

Sweater Fish: Can you post a scan of its manual? By the way, what is a "twinstick"?
The twin stick was a dual stick controller for VIRTUAL-ON: ORATORIO TANGRAM.
Image
Smiley wrote:I was bored and like to hear myself talk, that's all....
User avatar
Pyrite
Mental DCEmu
Mental DCEmu
Posts: 412
Joined: Fri Apr 02, 2004 1:46 am
Location: Portugal Dreamcast: PAL
Has thanked: 0
Been thanked: 0

Post by Pyrite »

Nope unfortunately only digital.

On the six button part why not put an option if you wish to use it
then you'll had the exact button layout as the MegaDrive pad.


DC Twin Sticks theres also Saturn twin sticks which are supposed to be better.
Image
THAN/THEN get it right peoples!
Image
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

I think there's no way to tell if the controller has the extra buttons, other than asking the user to press them...
The BIOS can do it, apparently. The IP.BIN has a bit about required peripherals. If a game states that it requires a Z button, but none of the controllers have one, the BIOS will refuse to boot it.

Ah, useful info...

http://mc.pp.se/dc/maplebus.html
http://mc.pp.se/dc/controller.html

Specifically, the function_data field of the maple deviceinfo structure contains information about a specific device function. In the case of the controllers, it can tell you which buttons / D-Pads / stick / triggers are present.

So, I think I can detect six-button controllers that have C and Z mapped to C and Z. As for controllers that have them mapped to L and R... I think you're going to have to explicitly configure those. The layout isn't going to be compatible with the mappings for a standard controller.

At least I can detect the arcade sticks. Assuming those controllers that have a real C and Z button that's also remappable to L and R report their capabilities correctly, I should be able to detect those as well.

The only way to detect pads that use digital versions of L and R is probably going to be by comparing the controller's identifiers against a list of pads that are known to do that. Hmm... I think I need to write a test program.

Sweater Fish - Useful info. Thanks.

Electroinalium - Mmm... Saturn pads.
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

BlackAura wrote:The BIOS can do it, apparently. The IP.BIN has a bit about required peripherals. If a game states that it requires a Z button, but none of the controllers have one, the BIOS will refuse to boot it.
It never happened to me. For example, if I put a disc containing an IP.BIN with mouse support, the DC will boot it no matter if there's a mouse connected in it or not.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

For example, if I put a disc containing an IP.BIN with mouse support, the DC will boot it no matter if there's a mouse connected in it or not.
But those game's don't require a mouse.

That said, it's never happened to me either. I had just assumed that's what it was there for. Considering that the BIOS checks other peripherals (most notably the VGA box) to see what's compatable with / required by the game...

Edit: I knew I'd seen it somewhere...

http://mc.pp.se/dc/ip0000.bin.html#periph
Sweater Fish
Psychotic DCEmu
Psychotic DCEmu
Posts: 679
Joined: Wed Oct 17, 2001 7:44 pm
Has thanked: 0
Been thanked: 0

Post by Sweater Fish »

I don't know about the converter in Electroinalium's pic, but with the one I have made by Skillz, if you flip the converter to wheel mode, you can use the horizontal axis of the Saturn analog pad (since it was just the same as the Saturn steering wheel), which is useful in racing games at least. The Saturn analog pad still has the nicest analog stick I've ever used.

About Twinsticks, I certainly wouldn't say the Saturn ones are better...they're just a hell of a lot cheaper. In fact, though, they lack the Special button that the Dreamcast Twinsticks have. You can still do the specials without a button for them, but it's just not as easy. The Total Control 3 adapter (which is the one that only takes Saturn controllers) has a big button on it that acts as the Special button, but I don't know how you're supposed to use that button when you're holding the Twinsticks in your hands...maybe with your toe or something.

I'll see what I can do about scanning the manual, Fragger. I kept the manual because I'm anal, but I don't have a scanner. As I recall the DreamPad manual is actually a whole book unlike most third party peripheral manuals, is there any info you're particularly interested in?


...word is bondage...
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

I'd like to see what it says about the crescent-shaped button and the C and Z buttons, and I'd also like to know which model number/code it has.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Sweater Fish
Psychotic DCEmu
Psychotic DCEmu
Posts: 679
Joined: Wed Oct 17, 2001 7:44 pm
Has thanked: 0
Been thanked: 0

Post by Sweater Fish »

Actually, the only reason the manual is a book is because it's in a dozen different languages, the each language only takes up two pages.

Here's the relevant stuff:

PROGRAMMING THE DREAM PAD
The Dream Pad has been designed to be fully programmable. Reprogramming the button layout allows the user to completely customize the controller to fit their preferences. Any action button can be remapped.

TO RE-MAP AN ACTION BUTTON
1. Press the Program button
NOTE: While in program mode, the controller will not function in a game.
2. After the Program button has been pressed, the Program button will light orange. You may begin programming.
3. Press the button you would like to re-map (The Program button begins flashing) and then press the button that has the desired function (The Progrum button shuts off). For example, to make the 'A' button function as the 'B' button, the following steps would be followed.
a.Press the Program button. The Program button will light orange
b.Press the 'A' button. The Program button will flash.
c.Press the 'B' button.
d.The Program button light will go out. The button has be reprogrammed. To clear the configuration and reset it back to the default settings, press the Program button, then press the 'A' button twice to reset. All proramming must be done one session at a time. If you wish to change multiple buttons, repeat the steps above for each button you wish to change.

NOTE: Hold down the Program button for more than one second and it will light green. This is six button mode (6 action buttons plus two shoulder buttons). You can program individual buttons within this mode (see above).

The rest of the manual is just some trouble-shooting (i.e. "Make sure the controller is properly plugged in, you idiot") and warranty info.

To interpret the stuff above: the Program button just acts as a 1-to-1 remapper, it doesn't map whole sequences of button presses to a single button like some programmable controllers do. Any digital button's function can be mapped onto any other digital button. This includes the d-pad, but not the Start button, and since the default setting has Z and C mapped as digital L and R you can even map L and R to other buttons. There's no way to have digital L and R and Z and C buttons at the same time, though.

The product number listed in the manual is 7126 11/99 (the last bit being the revision date, I assume). However I think this is the manual to the original grey version that I bought and later sold because it wasn't as good as the later revisions. The programming function worked exactly the same, though (the original just had a slightly rotated d-pad that was impossible for me to adjust to, plus a bit too much rubber gripping I thought). The DreamPad I have now which is the nicer revision says 0701CPE on the back, which may or may not be the product number.


...word is bondage...
Post Reply