Zonie #1 Posted September 20, 2007 I posted this in general gaming in a current thread, but thought this is a better forum: I designed a controller about a year or two ago that added five more buttons to a 2600 by using port two. I got the idea when I was playing raiders, as it uses the second stick for item selection, etc. If we as a group decide on a standard, then publish said standard in the Faq, the homebrewers could then have added flexibility to create new games for the 2600 using the community approved standard. Then all of us hacks out there would simply make our own controllers. I think I even remember a three button missile command hack out there? (I haven't built the thing yet as there would be no games to support it.) I would suggest that the inputs be used as follows: Left Controller Jack Use as is Right controller Jack Fire - button 2 Up - Button 3 Down - Button 4 Right and left reserve for driving controller encoder (or button 5 and 6) Leave the Pots as-is. This layout would allow driving games with gas, brake, shift, fire button, oil slick, etc. Endless possibilities. If we go one farther and define button colors, the game manuals could simply call out button colors in the instructions. Arcade buttons come in many colors.... Button 1 (left Fire): Red Button 2 (right fire): Yellow Button 3 (right up): Green Button 4 (Right Down): Blue Some enterprising individual could also produce such a controller for those who do not want to build their own. Whaddaya all think? Quote Share this post Link to post Share on other sites
MausBoy #2 Posted September 20, 2007 (edited) It's a chicken and egg situation. I wouldn't want to produce a game for a controller that a lot of gamers don't already have, and they aren't likely to already have it without games being produced for it. If it happens though I would definately consider adding support for it to future games. I don't like having to use combinations. For example; if up + fire puts down a bomb, it's easy to accidently trigger up while pushing left/right + fire, wasting a bomb. With multiple buttons, that problem is gone. I've been working on a SF-esque fighting game for a while now, and it would be extremely useful for that too. Edited September 20, 2007 by MausBoy Quote Share this post Link to post Share on other sites
Jess Ragan #3 Posted September 20, 2007 (edited) Well hey, if you're going to go all out, you might as well make a Dual Shock-style controller with a D-pad, two analog sticks, four face buttons, and two shoulder buttons. That's as much as the Atari 2600's two joystick ports could handle. Heck, you could probably even get away with a single port, five button digital joystick if you had the potentiometers pick up the slack. I learned about a way to convert analog signals to digital using integrated circuits... that's handy for the Atari 5200 but I imagine it could be done with the 26K as well (especially since the Ohm values for the 2600 paddle and the 5200 stick are exactly the same). The only problem is that some buttons couldn't be pressed simultaneously, since it would be like turning a paddle left and right at the same time! The only question is this... why would you want to make such a stick? The Atari 2600 is an old game system, specifically designed for streamlined, straightforward games. That's part of its charm! Besides, if you were to design, say, a Street Fighter clone for the 2600, there's a good chance you'd run out of space on the cartridge before you could assign functions to each of the six buttons. It's just not practical! Edited September 20, 2007 by Jess Ragan Quote Share this post Link to post Share on other sites
Rybags #4 Posted September 20, 2007 Does the 2600 allow data out on the joystick pins? The "ideal" situation would be to have a semi-intelligent controller, like many modern consoles. The program could talk to the controller, telling it which switch-bank to select. Then, subsequent reads would get the value from those switches. Theoretically allowing 20 switches, which would cater for just about all gaming needs. Quote Share this post Link to post Share on other sites
Robert M #5 Posted September 20, 2007 Whaddaya all think? Since you are aiming for a driving controller, why not just use the existing footpedal controller in the right joystick port, and a driving controller, paddle or joystick in the left port. The pedal controller gives you 3 buttons programmable to any of the 4 joystick directions. I believe that the 2600 can be programmed to read the additional button on a 7800 controller, so that would be an option for games needing 2 buttons. In general, I think the more controls a game has the less attractive the game becomes. I find that the game designer can usually eliminate the need for extra buttons in many cases by applying contextual control. The button becomes an all purpose "action" button, and the action taken depends on the situation the player is in at that moment. Prince of Persia is a good example of such a design. It uses only a single button joystick, but the player can run climb and jump, open doors, pick up items, and sword fight. Cheers! Quote Share this post Link to post Share on other sites
Zonie #6 Posted September 20, 2007 Not aiming for a driving controller. just leaving the option there. As for the dual shock idea, that's too many controls. I was aiming at something simple, that takes zero electronics that even the novice could build. Sure a serial I/O type controller would be great, but we get back to the complexity issue. On Prince of Persia, you combine joystick actions with the action button to get the desired result. I've landed on the spikes many a time due to that!!!! Jess, there are already games for the 2600 that could benefit, such as raiders, stargate, etc. There are some hacks too, and I think this may drive more hacks. Also games could be written with options for standard controller or this one? Not much room for that, I know, but it would be nice nonetheless. Let's fertilize the egg and see what happens? Quote Share this post Link to post Share on other sites
vdub_bobby #7 Posted September 20, 2007 (edited) I believe that the 2600 can be programmed to read the additional button on a 7800 controller, so that would be an option for games needing 2 buttons. This false. Also...if you want extra buttons, the easiest way is to support the Sega Genesis gamepad, the 2600 can read two of the buttons without any hardware modification. And possibly with a simple hardware mod could read all the buttons. EDIT: Just realized - a cool hack would be of Stargate (and other two-joystick games) to support the extra button on the genny pad and the booster grip. Edited September 20, 2007 by vdub_bobby Quote Share this post Link to post Share on other sites
mos6507 #8 Posted September 20, 2007 You can hook up footpedals inline with a driving controller and get two foot buttons to work. This requires a simple mod and a y-cable. That's what I was intending to do with Death Derby. I am cool with new controllers but you need a "killer app" to popularize it and sell the thing as a bundle. The 2600 is 30 years old so novel controllers are one way to teach the old dog new tricks. Of course, emulators really should be able to handle this better. They are still too "literal" in thinking of 2600 joysticks and paddles rather than being able to just map the PC controls to button by button, mouse and pc joystick axis to individual low-level 2600 switches and pot lines. Quote Share this post Link to post Share on other sites
Zonie #9 Posted September 20, 2007 I believe that the 2600 can be programmed to read the additional button on a 7800 controller, so that would be an option for games needing 2 buttons. This false. Also...if you want extra buttons, the easiest way is to support the Sega Genesis gamepad, the 2600 can read two of the buttons without any hardware modification. And possibly with a simple hardware mod could read all the buttons. EDIT: Just realized - a cool hack would be of Stargate (and other two-joystick games) to support the extra button on the genny pad and the booster grip. The genny gamepad is also a good idea. The point is to define a standard, so that if a programmer wants more options, they are there. Even if we went the genny gamepad route, I'd still build a controller that matched it's wiring. I am too old to use a gamepad!!! Quote Share this post Link to post Share on other sites
BigO #10 Posted September 20, 2007 I believe that the 2600 can be programmed to read the additional button on a 7800 controller, so that would be an option for games needing 2 buttons. This false. Also...if you want extra buttons, the easiest way is to support the Sega Genesis gamepad, the 2600 can read two of the buttons without any hardware modification. And possibly with a simple hardware mod could read all the buttons. EDIT: Just realized - a cool hack would be of Stargate (and other two-joystick games) to support the extra button on the genny pad and the booster grip. I'm aware of the "B" button compatibility with the Genesis controller on the 2600, but which other button is supported without hardware modification and does it work in any existing games? Thx. Quote Share this post Link to post Share on other sites
Jess Ragan #11 Posted September 20, 2007 The second button on the ColecoVision controller is supposed to work with Omega Race and the Wings prototype. (Tonight, on Wings! Aw, who cares?) Quote Share this post Link to post Share on other sites
vdub_bobby #12 Posted September 21, 2007 I'm aware of the "B" button compatibility with the Genesis controller on the 2600, but which other button is supported without hardware modification and does it work in any existing games? Thx. The other button is either A or C, can't remember which, and it drives a paddle line, opposite to how the booster grip works so, no, I don't believe it works in any existing games. And I believe Manuel has some kind of plans to support the genny pad in Colony 7 (if he ever completes it ). Quote Share this post Link to post Share on other sites
Cybergoth #13 Posted September 21, 2007 And I believe Manuel has some kind of plans to support the genny pad in Colony 7 (if he ever completes it ). It already supports it Quote Share this post Link to post Share on other sites
BigO #14 Posted September 22, 2007 (edited) I'm aware of the "B" button compatibility with the Genesis controller on the 2600, but which other button is supported without hardware modification and does it work in any existing games? Thx. The other button is either A or C, can't remember which, and it drives a paddle line, opposite to how the booster grip works so, no, I don't believe it works in any existing games. And I believe Manuel has some kind of plans to support the genny pad in Colony 7 (if he ever completes it ). Not sure in what joystick based game it would be useful to drive a paddle line (low, I assume). I've not found any games where A or C do anything noticeable. I'll have to play with it on some paddle games or something. If you don't mind having no control over thrust or firing, the Genesis controller works great for Omega Race. Edited September 22, 2007 by BigO Quote Share this post Link to post Share on other sites
Longhorn Engineer #15 Posted September 22, 2007 If you use both paddle controllers you can effectively make a single Analog Stick. One paddle for X-axis and one for Y-axis. Just throwing it our there . Quote Share this post Link to post Share on other sites
supercat #16 Posted September 22, 2007 If you use both paddle controllers you can effectively make a single Analog Stick. One paddle for X-axis and one for Y-axis. Just throwing it our there . If a paddle input as a small-value resistor to VDD attached to a pushbutton, it may be read with little or no extra overhead compared to reading a fire button. Reading one of a small number of widely-different resistors could also be done with minimal overhead. Reading a continuous range of values, however, would take much more CPU time, though there are some tricks to mitigate that if you don't have to read all the paddles. Quote Share this post Link to post Share on other sites
Zonie #17 Posted September 22, 2007 If you use both paddle controllers you can effectively make a single Analog Stick. One paddle for X-axis and one for Y-axis. Just throwing it our there . We've been down that road with the 5200 and PC joysticks. They're nice...when they work right. Calibration is a problem. I think sticking with tried and true digital joysticks and adding some buttons using port two are the way to go. Quote Share this post Link to post Share on other sites
+SpiceWare #18 Posted September 23, 2007 Sounds interesting - but then you're limited to 1 player games. Using the paddle pots, like the CBS Booster Grip, would let you have 2 player games where each player has 3 fire buttons. Quote Share this post Link to post Share on other sites
Zonie #19 Posted September 23, 2007 Sounds interesting - but then you're limited to 1 player games. Using the paddle pots, like the CBS Booster Grip, would let you have 2 player games where each player has 3 fire buttons. True, But as game complexity increases, the ability of having two player games decreases if I understand what I've read here. I would also support using both pot inputs as well and use resistor values to determine which button is pressed. We should look at all possibilities. After all, some of the best games on the VCS are two player. Quote Share this post Link to post Share on other sites
LocalH #20 Posted October 2, 2007 Assuming that the Amiga's handling of the joystick port is the same as the 2600's capability, B is button 1 and C is button 2. Dunno whether that maps to the 7800 at all. Quote Share this post Link to post Share on other sites
+SpiceWare #21 Posted October 2, 2007 Sounds interesting - but then you're limited to 1 player games. Using the paddle pots, like the CBS Booster Grip, would let you have 2 player games where each player has 3 fire buttons. True, But as game complexity increases, the ability of having two player games decreases if I understand what I've read here. I would also support using both pot inputs as well and use resistor values to determine which button is pressed. We should look at all possibilities. After all, some of the best games on the VCS are two player. Additional ROM with RAM(3E format supports up to 512K Rom and 32K Ram) and the Chimera Cartridge would make it possible. Quote Share this post Link to post Share on other sites
gdement #22 Posted October 20, 2007 Assuming that the Amiga's handling of the joystick port is the same as the 2600's capability, B is button 1 and C is button 2. Dunno whether that maps to the 7800 at all. 'B' sends the 2600 button signal, so it's detectable on the 7800. Unfortunately 'C' doesn't show up though. The 7800's additional buttons are unique in that they're active-high rather than active-low like other systems. Also I think they work on different pins. ========== It's interesting to see this idea for a better controller has been discussed here - I was thinking recently about this in regards to the 7800. It would be nice if the same improved controller could be used for both systems, but I don't see how that would work without implementing 2 different circuits and a mode switch. But if that does the job then so be it. For 7800 mode, supporting 3 buttons would be pretty easy. There are in fact 3 button signals on the 7800: Left, Right, and the legacy 2600 button which I'll call Center. The Prolines map these 3 signals into 2 physical buttons. One of them sends Left+Center, and the other sends Right+Center. Just decouple those and have 3 physical buttons, each sending it's own signal, and you'd have a 3-button 7800 controller. Quote Share this post Link to post Share on other sites
BigO #23 Posted January 24, 2008 (edited) Also...if you want extra buttons, the easiest way is to support the Sega Genesis gamepad, the 2600 can read two of the buttons without any hardware modification. And possibly with a simple hardware mod could read all the buttons. It could be possible to open up the full function of an unmodified 3 button Genesis controller to homebrews and hacks with a simple adapter. It seems like this idea would have come up before, but I didn't see it anywhere I looked. Apologies if it's old news. The Proposed Adapter Remap the following connectins: 1) Atari pin 5 (paddle input) to GC pin 7 (select line) 2) Atari pin 7 (+5v out) to GC pin 5 (+5v in) All other lines would retain their original mappings. Attach pullup resistors to GC pin 7 and GC pin 9. Theory The Atari paddle input can be pulled low as part of its normal paddle reading function. With such a pin connected to the GC Select line and pulled low, the state of the second bank of switches would be output on GC pins 6 and 9. (Button A and Start instead of the default Button B and Button C). A pullup resistor in the adapter would return the GC Select line back to the default High state when the cap in the 2600 charged sufficiently. I've read that the Select line is pulled up internal to the controller, but I don't know how fast this arrangement could charge the cap to a logic 1 level. Pin 6 would be read as a normal active low digital input like the standard Atari fire button. It would be interpreted as the B button or the A button depending on the state of the Select line that is driven by software through Atari pin 5. Atari pin 9 is a paddle input. A pullup resistor in the adapter would charge the cap to a logic 1 level. Pressing the Start button or the C button would pull the line active low. The state of the Select line would tell whether to interpret the input on pin 9 as Start or C. (Reading a paddle input as a digital button is done this way in the standard Atari keyboard controller) Viability A rare or costly controller seems unlikely to be widely adopted for such an application as a single homebrew game for a 30 year old console. This adapter approach might escape that fate. Genesis controllers are quite plentiful, so no rare and/or valuable pieces would come into play. I rarely go into a thrift store without seeing a Genesis controller. The adapter would be far from a hard-to-acquire proprietary part. Nearly anybody who has a soldering iron would be able to make one at a very low cost. Done Rambling Now Basically, the adapter would let the 2600 read the controller just as the Genesis system does. I have no practical experience with the Genesis controller. This is an untested idea. I'll just wait 30 seconds or so for you guys tell me where my brilliant scheme falls apart. Edited January 25, 2008 by BigO Quote Share this post Link to post Share on other sites
SRGilbert #24 Posted January 24, 2008 This topic does make me curious. Are there any homebrews that take advantage of the keypad or the driving controllers? Quote Share this post Link to post Share on other sites
mos6507 #25 Posted January 24, 2008 This topic does make me curious. Are there any homebrews that take advantage of the keypad or the driving controllers? Synthcart uses keypads. Thrust+ has a driving controller option. My unfinished game uses driving controllers, actually a hack that accesses the unused joystick lines to switch gears. Quote Share this post Link to post Share on other sites