Jump to content
peteym5

Driving Controller (2600 Indy 500): Should we make games that support it?

Recommended Posts

Hello, as you know, I am into development of these Atari 8-bit games. I know many of you do enjoy them and I enjoy chatting with you guys about ideals and feed back about them. Now several times, when a game is almost complete or about to be released on Cartridge, I get people jumping in asking if the game will support the Indy 500 Driving Controller, or other devices like Trackball, or even can play it from the keyboard. Should my games support these other devices? Maybe other developers can see this and maybe they can support to their games. The default device remains to be the joystick. How many people really have devices other than the joystick? Will actually play the game with something other than the joystick? Indy 500 was a cartridge game on the 2600 that had its own custom controller. The Driving Controllers look like paddles, but have no stop, the input is read differently with something known as gray code.

 

I usually avoid announcing my games too far in advance due to the history of certain members getting nasty developers on here. I wait until the game is done with programming and beta testing to say anything about the game. That is so I can make screen shots and YouTube videos that show the game play without any problems. I recently started experimenting with Work in Progress (WIP) YouTube videos to document the development of the game, show others, and get feedback on what they think.

 

Now Tempest Elite will support the Driving Controller, along with Paddle, and Trackball. Megaoids supports the Driving Controller and Keyboard. I had incorrect information about reading the trackball with Gray Code at the time, but if the trackball has joystick mode, it still can be played. The games default back to the joystick at powerup, which most people enjoy playing the games with.

 

I do have this 2600 Surround / Tron game in development. Maybe you seen it posted in other threads. This is several Surround like games in one cartridge. One of the surround type games I seen on another system was this four player game. I thought that was cool. How could I bring that to the 8-bit with the XL/XE with 2 joystick ports? What I did on the option screen, you can choose the 4 joysticks on the 400/800 if you have one, or another option is use the "MultiJoy8" interface. Working on support for driving controller. I have this as a flag/switch inside the program that the user can change when the title splash screen is up, each interface reads PORTA and PORTB differently.

Edited by peteym5
  • Like 3

Share this post


Link to post
Share on other sites

I always liked the driving controller and always thought it was a shame Atari never produced another VCS game for it besides Indy. I'm all for new or modded games that would support driving controllers on the 8bit. Too bad they only have one button though, as it would have been great to have an extra (i.e. Super Zapper).

  • Like 2

Share this post


Link to post
Share on other sites

I have paddles, driving controller, trackball, mouse and touch tablet and I would love more games that support them. Especially the driving controller for racing games like a real steering wheel and games like Tempest, etc. and have been disappointed for 30+ years that they were not taken advantage of more in game releases. Games like Pole Position should have used them for the 2600 and 8-bits from the beginning! I am aware that some issues would crop up, like shifting gears in Pole Position, but it could always have been an automatic shift and brakes when the button was released, etc. Even the new port of E-Type which is awesome, could have been so much better with a driving controller! I'm very excited about the upcoming Tempest Elite using the driving controller!

  • Like 1

Share this post


Link to post
Share on other sites

I always liked the driving controller and always thought it was a shame Atari never produced another VCS game for it besides Indy. I'm all for new or modded games that would support driving controllers on the 8bit. Too bad they only have one button though, as it would have been great to have an extra (i.e. Super Zapper).

Super Zapper on space bar.

Share this post


Link to post
Share on other sites

Spacebar is being used for superzapper in Tempest when using an alternate controller. ESCape is the alternate pause button.

 

A few years ago, KJMANN talked about swapping out the POT in the paddle controller with ones that have no stop in them, that can keep going in circles. I am not sure that would still work.

Edited by peteym5

Share this post


Link to post
Share on other sites

Spacebar is being used for superzapper in Tempest when using an alternate controller. ESCape is the alternate pause button.

 

A few years ago, KJMANN talked about swapping out the POT in the paddle controller with ones that have no stop in them, that can keep going in circles. I am not sure that would still work.

 

You can not have a 360 degree pot. By the very nature of their construction, there must be a point where resistance jumps from lowest to highest (or the other way). It is physically impossible.

 

Only a Driving controller does 360 degrees.

  • Like 1

Share this post


Link to post
Share on other sites

Driving controller IMO is very much worth supporting when the game can benefit from using it. Similarly with mouse, and since the programming requirements are very similar there's little effort in supporting Amiga, ST mouse as well as driving controller.

Although the driving controller is nowhere near as sensitive as the mouse so there would be requirement to allow calibration, similarly since there's adaptors to allow using modern PC mouse on Atari joystick ports calibration of the much higher DPI modern mouse should be catered for.

 

But I don't see a lot of sense in developing games that only work well with such controllers. The single button 4-bit joystick has it's faults but is the lowest common denominator and the sole controller owned by plenty of people.

  • Like 1

Share this post


Link to post
Share on other sites

 

You can not have a 360 degree pot. By the very nature of their construction, there must be a point where resistance jumps from lowest to highest (or the other way). It is physically impossible.

 

Only a Driving controller does 360 degrees.

Slightly off topic, but 360 degree continuous rotation potentiometers do appear to exist, for example: http://www.piher.net/pdf/ST-15.pdf

Edited by BigO

Share this post


Link to post
Share on other sites

I thought the driving controller WAS a 360 degree rotary potentiometer?!? If not, what IS it?!?

It's a rotary encoder functionally the same as a single axis in a mouse. Or in other words, it is a quadrature 2-bit encoder that outputs gray code.

 

- Michael

  • Like 3

Share this post


Link to post
Share on other sites

It's a rotary encoder functionally the same as a single axis in a mouse. Or in other words, it is a quadrature 2-bit encoder that outputs gray code.

 

- Michael

Or like a single axis on a trackball too. I got you. I've worked on both the Atari trackball and ST and other mice. I haven't ever looked inside an Atari driving controller, only paddles. But I'm guessing the driving controller's rotary encoder is mechanical instead of optical?

Share this post


Link to post
Share on other sites

Earlier Atari trackball does not use Gray Code, that created an issue which is now causing a delay on the release of Tempest Elite because I had to drop in a different piece of code to read the trackball. There might be some after market trackball controllers or ones used on different systems that use Gray Code. I originally went with that notion only to find out later there are two different trackball formats. Since games can optionally use Trackball or Driving controller, you should be able to use driving control option to read a Gray Code trackball or mouse.

Share this post


Link to post
Share on other sites

Slightly off topic, but 360 degree continuous rotation potentiometers do appear to exist, for example: http://www.piher.net/pdf/ST-15.pdf

That's just a pot without a stop. If you read that pdf, it says electrically active through 340 degrees. There is always a point where resistance jumps from one extreme to the other.

  • Like 1

Share this post


Link to post
Share on other sites

Atari reads the pot values from 0 to 227 from the registers on the Pokey chip. Works great for placing one of the 4 players on screen as a paddle sprite in Breakout I am not sure what values will come back from continuous rotation potentiometers. The fire buttons on those things come through as bits in PORTA (+PORTB on the 800). Not sure why Atari did not use the joystick trigger for paddle 1. They could had made 2 or 3 fire button paddles.

Share this post


Link to post
Share on other sites

. . . Not sure why Atari did not use the joystick trigger for paddle 1. They could had made 2 or 3 fire button paddles.

 

That's because paddles come in pairs, and there is only one joystick trigger per port.

Share this post


Link to post
Share on other sites

Earlier Atari trackball does not use Gray Code, that created an issue which is now causing a delay on the release of Tempest Elite because I had to drop in a different piece of code to read the trackball. There might be some after market trackball controllers or ones used on different systems that use Gray Code. I originally went with that notion only to find out later there are two different trackball formats. Since games can optionally use Trackball or Driving controller, you should be able to use driving control option to read a Gray Code trackball or mouse.

It is not gray code but something similar. Unfortunately there is no advice on which kind of track ball controller you have in your hands, but you could support both kinds at the same time, just label the later (gray) as "ST mouse" in the setup. Then your game will support more controllers (I did it in Toy'Swap). Anyway, without doing any research yet, I'd bet that indy controllers uses the same pattern than earlier track balls.

Share this post


Link to post
Share on other sites

Paddle triggers are equivalent to joystick left/right. Atari could have easily made a second button on the paddles to use joystick up/down.

*Eeeeh, those pins are used by the pots. Keep in mind that multi-trigger controllers did not even *exist* back in '77 (there was no need to make 'em...no shortage of single trigger game concepts that had yet to be programmed). And it would have upped the cost of producing the hardware anyway. At least the controllers were not hardwired to the system...so there was a little bit of variation for the consumer.

 

Later on down the line, it becomes the chicken and egg thing...nobody wants to shell out money for a controller that only works for a specific game, and nobody wants to produce additional games that requires a controller that is not already owned by all the customers.

 

It would take Nintendo and Sega-sized hype to start bragging about useless addons.

  • Like 1

Share this post


Link to post
Share on other sites

If I am making a game that has left/right or rotation movement, I will be doing both. Megaoids option screen has it labeled as "Driving/Trackball." so it would work the ST trackball/mouse, but not the older DB9 trackball devices. As stated many times earlier, 90% of the people have joystick and those driving controllers are rare and had not been manufactured since the late 1970s. Games like HeliCommander, Laserblast, Secretum Labyrinth, Venture, certainly needs a 4 directional joystick.

 

With the paddle, 2 pins in PORTA are for pots, and 2 are used for the paddle fire buttons. I know some of those DB9 joysticks from the Sega Master System, Atari 7800, and 3 or more firebuttons from the Sega Megadrive/Genesis have the button inputs coming through the same pin as the pot. You can probably read them, if the pot is below like 32, button is up, greater, button pressed. If I remember correctly, they don't go back to 0 or to 228 immediately when pressed. Rapid fire options causes those things to jump all over the place.

Edited by peteym5

Share this post


Link to post
Share on other sites

It is not gray code but something similar. Unfortunately there is no advice on which kind of track ball controller you have in your hands, but you could support both kinds at the same time, just label the later (gray) as "ST mouse" in the setup. Then your game will support more controllers (I did it in Toy'Swap). Anyway, without doing any research yet, I'd bet that indy controllers uses the same pattern than earlier track balls.

The driving controller outputs a 2 bit Gray code.

 

The CX22 Trak Ball has a different protocol: 2 bits per axis, one bit is a pulse that indicates movement, the other bit indicates the move direction on that axis. I've read about industrial applications for that protocol that refer to it as "Up/Down Clock". I usually refer to it as Direction+Clock when referencing trackballs.

Edited by BigO

Share this post


Link to post
Share on other sites

The driving controller outputs a 2 bit Gray code.

 

The CX22 Trak Ball has a different protocol: 2 bits per axis, one bit is a pulse that indicates movement, the other bit indicates the move direction on that axis. I've read about industrial applications for that protocol that refer to it as "Up/Down Clock". I usually refer to it as Direction+Clock when referencing trackballs.

 

You are right, driving controllers do use gray code.

 

I just reviewed the code I wrote in Toy'Swap to manage both types of CX22 track balls: old (direction+movement) and new (gray as in ST mouse). I prepared a set of data tables for each type of controller, a single DLI code that uses the selected set of tables to detect movement in both axis, and a single routine to calculate the current horizontal and vertical position of the cursor. It was a bit tricky the way I stored the data on those tables to simplify the movement detection during the DLI. As I said, both types of controllers and "protocols" can be managed in the same way by a single routine... just the tabulated values are different, and you must select the proper set of tables in the controller selection menu of the game to avoid "hyperspace warps".

Share this post


Link to post
Share on other sites

I am submitting the Surround type game to Video61 this morning for some beta testers to look at. It will support XL/XE two joystick, 800 four joystick, Multijoy8 four joystick, and Two Indy 500 Driving Controller mode. The game will most likely not be on the market until this fall so we have some time to fix any bugs. I looked at the game and figured it probably be too hard to play with the trackball or paddle controller.

 

I know there are other Surround type games floating around including 2 for the Multijoy8 interface. However those games only work for Multijoy8 interface and no option to play 2 players for XL/XE or 4 players for 800. If you want to market anything, it is better to have an option to use different interfaces and controllers. Two Joystick XL/XE is what most people will use and I have that as the default option and many games now.

 

Video61 and I decided to hold back on modifying cartridge games that I already had release just to support additional controllers. Doing an updated retail product, might stir up trouble from some members on here about cartridges being read only and can't be updated, calling it be released on other media, or the problems we are keeping beta testing in house and we don't catch all the bugs. That is why I now ask about supporting different hardware long before the game is released. If I was going to update an existing game it will either be a sequel, deluxe, or special addition. I would be adding more than just controller support.

Edited by peteym5

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