Hi all,
I'm intending to build a number of control panels and I want to be able to use all of them to play games on either my PC or Dreamcast.
My plan is to build two convertor boxes. One will contain two hacked Dreamcast controllers and the other an Ipac. The converter boxes will connect to the panels using 36 pin centronics cables.
I'm trying to come up with a plan that is as general purpose as possible and that is also reasonably future proof.
My provisional pin arrangement is as follows.
1 +5 Volts
2 0 Volts
3 Button Ground
4 Player 1 Joystick Up
5 Player 1 Joystick Down
6 Player 1 Joystick Left
7 Player 1 Joystick Right
8 Player 1 Button 1
9 Player 1 Button 2
10 Player 1 Button 3
11 Player 1 Button 4
12 Player 1 Button 5
13 Player 1 Button 6
14 Player 1 Button 7
15 Player 1 Button 8
16 Player 2 Joystick Up
17 Player 2 Joystick Down
18 Player 2 Joystick Left
19 Player 2 Joystick Right
20 Player 2 Button 1
21 Player 2 Button 2
22 Player 2 Button 3
23 Player 2 Button 4
24 Player 2 Button 5
25 Player 2 Button 6
26 Player 2 Button 7
27 Player 2 Button 8
28 Admin Button 1 (Player 1 start)
29 Admin Button 2 (Player 2 start)
30 Admin Button 3 (Player 1 Coin)
31 Admin Button 4 (Player 2 Coin)
32 Admin Button 5 (Haven't decided what this does yet)
33 Admin Button 6 (Haven't decided what this does yet)
34 Num Lock LED
35 Caps Lock LED
36 Scroll Lock LED
The order of the inputs is not really important and will probably change. I'll probably try to keep the +5V, 0V, and button grounds as far apart from one another as possible to avoid shorts.
Ideally, I'd like to have two ports on the side of the box, one for player 1 and one for player 2. The pins for player 1's port would be as above. The pins for player 2's port would be the same except that pins 4-15 would be swapped with pins 16-27.
The idea is that the converter box could be used with either a single 2 player panel, or two separate 1 player panels. A 2 player panel would simply plug into port 1. A 1 player panel would plug into either port 1 or port 2 but would always be wired up as player 1. When you attached a single player panel to the second port it would become player 2 because of the swapped round pins.
I've kept the admin buttons separate. The idea is that the admin buttons will always do the same thing regardless of which port the panel is plugged into. So for example the player 1 start button would always start player one even if the panel was plugged into port 2. This would ensure that the buttons were always labelled correctly.
The only problem with my pin arrangement is that it assumes all the buttons can share the same ground. It has recently been established in another thread that this assumption is valid for the Dreamcast but what about other consoles?
If it turns out that separate grounds are needed then I've got a problem as I've run out of pins. Running separate player 1 and 2 grounds would actually require the use of 4 ground pins, one for player 1 controls, one for player 2 controls, one for player 1 admin, and one for player 2 admin. This is because when the player buttons are swapped the corresponding grounds have to be swapped as well, however the admin grounds have to remain static.
One solution would be to have separate cables for the player 1 and player 2 controls. This would free up loads of pins. However, it would mean that I'd have to use two thick cables to connect a two player panel, a bit clumsy but not the end of the world I suppose.
Another possibility would be to free up some of the pins I've reserved. For example, I think it's unlikely that I'll ever need 8 buttons per player. I went for 8 buttons because that is the number of buttons on a Playstation controller but I doubt that many, if any, Playstation games need all 8 (can anyone verify this?). I don't currently own a Playstation and nor do I intend purchasing one in the near future but I'm trying to be as future proof as possible.
I could also free up a pin by not using the Scroll Lock LED (do any MAME games use that LED?).
I could also possibly make do with just 4 admin buttons and use some sort of shift key arrangement to get all the functions that I need. Alternatively, perhaps I could put some of the admin bottuns on the converter box itself.
Decisions, decisions, decisions...
Any thoughts or comments would be appreciated.