HOME

News

Old News

FAQ

Files

E-Mail

Links
PC

Reviews
PC


 

 

 


White paper: PC GamePort – Products and Protocols.

Written by: Courtenay Heater of Alphadactytl-

 

August 1, 1998

Overview

You are now a mile high. Five minutes ago you penetrated the core of a monster thermal and you are still climbing heavenward at nearly a thousand feet per minute. Deft guidance and nature’s bounty combine to propel your agile craft up to the domain of eagles. Your hands and feet are conducting a symphony of flight yet they barley move.

 

Steeply banked and circling the low, your eyes sense everything around – above, left, right, and below. You feel every bump and boost as the altimeter spins clockwise. You are soaring! The sound you hear is not the sound of an airplane because you don’t have an engine. All you have is a joystick and a piece of technology you checked out back at the gliderport. Are you flying a sailplane or a simulator? Is this a program or is this real? You may have to stick your head out the window to find out.

 

For those who have tasted the rarefied air of guided flight know that you can’t fly with a mouse. Likewise, keyboards and cockpits are strangers. You need to have a joystick, plain and simple. Rudder pedals are de-regeur. Got an engine? Get a throttle. Your machine may only go 4.77 MHz, or it may go 400 – but to fly you will likely use the Gameport, Joystick and all.

The Birth of a Standard

The story of the PC’s rise to dominance is based as much on games as on the spreadsheet. Having more than one facet coupled with unprecedented expandability gave the nascent IBM PC the best of the open, "Homebrew" philosophy as well as the respectability of IBM’s corporate image. This allowed the development community to count on an open platform that would persist well into the future. As a result, all sorts of applications combined in a groundswell of support that launched the modern personal computing age.

Historically speaking, the Gameport was the one of the very first add-on cards to the original IBM PC, and was the birth of an interface standard that has since outlived the basic design if the PC itself. The essence of simplicity, the PC Gameport was defined to support two players using simple positioning devices with minimum additional cost. As a competitor to the popular video games of the day though, the PC was clumsy, expensive, and barely suitable for the game playing public. This dichotomy between consoles and the PC persists to this day in spite of the narrowing price gap. Nonetheless, this processing power was put to use in the popular flight simulator that along with DOS defined the earliest PC computing standard.

Early Gameport Controllers

A solution in search of a problem, the original Gameport provided developers with a two edged sword. The hardware premise was extremely straightforward – minimize the hardware! Consisting of four digital inputs (buttons) and four comparators, the Gameport relied on the CPU to read the inputs and measure the time it took a capacitor to charge via potentiometers located out in the joystick. While cost efficient, the method monopolized the CPU and required that the game run without the benefits of interrupts. This also hampered game developers since the control inputs varied in proportion to the CPU speed – a problem which only got worse as processor performance steadily improved. Getting the control information was costly and making a good game out of it was challenging.

In light of its limitations, the PC games industry was slow to develop into the widespread success it enjoys today. Despite the handicap, the Gameport did provide enough of an input infrastructure to support several players concurrently. This led to the proliferation of two button/two axis controllers and a "y-cable" to split the four buttons and axes into two sets of two buttons and axes. Head to head competition was thus implemented. Although few games took advantage of this multi-user capability at first, the extra resources allowed game controllers to expand beyond the basic X-Y configuration into more and more features. This became the pivotal advantage of the PC – it featured more input options than any other platform -- keyboard and mice included.

Throttles, rudder pedals and sound cards

As real-time gameplay became more and more prevalent, demand for specialized controllers increased. Rudder pedals became the natural companion to the joystick in flight simulators. Grand Prix racing simulations were enhanced with steering wheels and throttles. Games were getting a boost from the realism provided by manufacturers who understood that the basic joystick format could be modified and optimized to a specific game. A stream of patents ensued as game controllers evolved beyond the basic joystick. With four analog axes and four digital inputs, the Gameport proved fertile ground for imaginative hardware designers and game programmers.

Along with the evolution of input devices, the games industry couldn’t tolerate the PC’s nonexistent sound capability. Realism was not delivered by a two inch speaker deep in the bowels of the PC’s cabinet. The response was both obvious and ingenious. The creative solution to this dilemma combined the traditional analog/digital gameport with a synthesizer and audio digitizer. MIDI was incorporated into the Gameport on these soundcards which resulted in a new application for PC’s – that of musical instrument controller. Another impact of this capability was to provide a bi-directional communications channel between the PC and an attached controller. The intention was to provide an interface to existing MIDI devices, but the net result was to create the opportunity for game controllers to receive commands from the Host PC. This led to capabilities like "force feedback".

Console Gamepads

Consumer video game consoles rely on a simple input controller methodology – contact closures instead of variable resistors. The hardware is less expensive even if it means a sacrifice in the perception of "smoothness" and resolution. A first person shooter or karate fighter may not notice that lack of nuance, but no pilot worth their wings would fly a plane that had a stick with only two settings. Nonetheless, gamepads have found their niche in the ever-expanding PC games industry. Low end controllers using only membrane switches now fill the shelves of computer retailers providing ample evidence that cost is an object when it comes to consumer purchases. A side effect of the fixed resistor implementation has been to allow an increase in the amount of discrete actuators beyond the original four. This comes from using the remaining analog axes as a group of fixed value resistors to signal multiple states on a single line. It is akin to multi-level logic that transcends the one/zero limitation of binary logic. Once loosened from the restriction of one for one mapping between data channels and actuators, the basic premise of controller design began to evolve in significant new ways.

Digital gamepads took advantage of the Gameport resources with more sophistication. In addition to the four analog channels, the four digital button lines were adapted to represent sixteen binary states. This increase in usability was parlayed into controller sets for more than two players. Although this combinatorial approach was logical, it was the synchronous solution that changed the fundamental limitation of the PC Gameport.

Advanced Digital Controllers

PC games were originally designed to operate in a DOS environment. As Windows became pervasive, so too did the realization that the operating system was going to get between the application and the user. When operating system technology entered the 90’s, a whole new set of structured programming interfaces dictated the I/O methodology used by games. This led to a bifurcation in the PC world since the game software was no longer in charge of the user interface. DOS based games communicated with the gameport directly and would not run with the restrictions imposed by the new operating system. In view of this legacy, older games require the system to shut down and reboot in DOS.

Giving up control over the Gameport hardware provided the solution to the original problem of CPU speed variability. With a standardized data acquisition regime, variable CPU speeds and capabilities were factored out. Controllers needed a dedicated driver to be supplied by the manufacturer forcing them to get into the software business. Embracing this opportunity, controller designers integrated unprecedented levels of programmability into their products and found a growing demand for this sophistication. The Gameport controller industry continued to prosper. New processor based game controllers had a unique advantage – the analog to digital conversion could be performed locally and conveyed synchronously at high data rates to the host. The Gameport was thus transformed into a speedy network interface with true multiplayer capability.

Gameport Accessories

Games and controllers are two sides of the same coin. For every game, there is a spectrum of benefits and limitations which affect controller choice. Gamers have a sensibility regarding favorites. Each to his own. As games grow more complex, more is expected of the controller. Thus game evolution spurs controller evolution. The logical response to the accumulation of controllers is to create a control center that eliminates the inconvenient task of unplugging and re-attaching one’s variety of controllers. The early joysticks needed little more than a mechanical switchbox to alleviate the interconnect burden. Such low cost devices depended on mechanically actuated switches to select among the auxiliary gameports. Some devices allowed the user to conveniently select the controller by pushing the fire button on the Joystick of Choice. This gave the single player setup more options for any given game scenario. This methodology worked fine for low bandwidth analog controllers, but ran into trouble with active digital controllers. The constant datastream emanating from the modern style digital gamepads and joysticks saturated the sense logic in the demand-switched control centers rendering the other controllers locked out. This problem has been solved in the Gameport Hub, a product available over the Internet at www.alphadactyl.com. This devices senses the first active auxiliary gameport and selects it. Other controllers can be selected with a manual push-button located adjacent to the auxiliary connector. MIDI returning to the PC is switched according to the controller selection. MIDI Data from the host is broadcast to all ports, no matter which controller is in use.

Universal Serial Bus

Some things change, others stay the same. While computer technology has evolved from the eight bit microprocessor of the 1970’s, it still has to communicate with the outside world. The human interfaces of choice remain the keyboard, mouse and joystick. Implementations have changed, but the basic QWERTY keyboard shipped with the original PC’s will still works on an AT style motherboard. With so many different I/O devices and signaling formats, one has to wonder if there is a simpler way to standardize the computer I/O infrastructure.

Integrating the needs of disparate computer companions such as telephones, printers, keyboards and positioning devices require an integrated approach to data communications. This is technologically feasible but it must confront the inertia of a market re-education. Most folks are content with the way things are as long as it works as advertised. Meaningful change is market driven and it is the desire for performance which has stimulated the evolution of the PC. To meet the demands of a new standard, manufacturers have embarked on a development cycle that carries risk. If the effort fails to deliver the expected productivity reward, the market won’t form. Engineers are supposed to deliver solutions, not dilemmas. Even if the new technology proves useful – will it displace the "old fashioned" ways of doing things? The answer lies in the complexities of the decision making process. If time, money, or momentum is to be conserved, that’s a winner. If it is merely a foolish consistency -- pay it little mind. Most people are optimistic about the benefits of USB, but it is a multi-faceted challenge to produce hardware and software that is truly platform independent.

Endgame

Who dares, wins! These immortal words have pushed mankind beyond limitation. Jumping out of an airplane is not a basic instinct. Neither is breathing underwater. But put the two together and you’re traveling through space! Today it’s routine technology which gives us the wings that nature denied.

Tools have made us mentally and physically powerful and have given us knowledge. Nonetheless we still seek the satisfaction and pleasure of conquest, sometimes without regard for the consequences. Will our ability to identify and solve problems carry us through the crises of survival, or will we abandon the roots of wisdom and rush headlong into dark, unthinkable automatism?

Information is a dimension apart from Newton’s physics. Too little and we are moribund in our naiveté. Too much and we lose sight of our individuality and the underpinnings of equanimity. With it, we create an expanding horizon and the ability to feel at home in the universe.

Every living, thinking person is a creation of unspeakable magnificence. Human existence is a bizarre and wonderful experience but should succeed beyond mere survival. Thoughtful individuals are the reservoirs of decency which feed the multitudes in good times and bad. In praise of mankind, technology has given us new hope – the hope that someday we may understand ourselves. As the ancient adepts once demonstrated, we strive to find our spirits and define our lives in unique ways. Let us not fall to an adversary of our own making. Let us recreate ourselves.

The greatest and hardest thing for people to do is to get together. Recent history shows that technology can separate people or bring them together depending on how it is applied. In the main, video games have created a sense of isolation due to the prevalence of first person motifs. Two player games exist, but aren’t widely utilized.

Now that game software is expected to have network capability, the multiplayer option is real and growing. Internet based gameplay is the ultimate cyber-stadium for multitudes of digerati. Modems are no match for 100 mbit LAN based installations however. LAN parties are now in full swing as regular get-togethers that pit friends in aerial duels or historical ground battles. Each player must still pony up for a full fledged PC to play, so there is still considerable cost and expertise required at this level.

Technology in education is as underdeveloped as it is undersold. The electronics industry seems to feel that classrooms must function as businesses do in order to make them a viable market. Schools aren’t going re-buy equipment like businesses do, so there is a reluctance to focus on educational needs. Institutions’ bureaucratic procurement policies deter all but the most dedicated entrepreneurs. Ironically, there is a very big market for industrial education on the PC level. A single PC could host an educational application for four or more students. Many-user interactive learning experiences or game style group interactions can easily reside on a PC with inputs from USB or a Gameport Hub.

PC Gameport Technical Details

Pinouts – (15 pin female at PC)

Pin Signal Description

1 +5V System VCC

2 Button 1 Digital data bit, "A button"

3 Axis 1 Analog data bit, X axis

4 Ground Chassis ground

5 Ground Chassis ground

6 Axis 2 Analog data bit, Y axis

7 Button 1 Digital data bit "B button"

8 +5V System VCC

9 +5V System VCC (used as signal in some controllers)

10 Button 3 Digital data bit, "C button"

11 Axis 3 Analog data bit, 2nd X axis

12 MIDI TX (Formerly Ground, now MIDI Transmit

13 Button 4 Digital data bit, "D button"

14 Axis 4 Analog data bit, 2nd Y axis

15 MIDI RX (Formerly VCC, now MIDI Receive)

Note: Controllers which do not support MIDI will ground out pin 12. This short causes the MIDI line to become inactive and may affect the operation of other MIDI devices within the system. This is a side effect of using a soundcard instead of a dedicated gameport. Older style Joystick switchboxes are vulnerable to this sensitivity as well.

Advanced digital controllers use the button lines to transmit clock and data information to the Host gameport. The analog axis are use to synchronize the data transfer from the game controller, not to measure analog values as before. The controller initiates a burst of up to sixteen data clocks during which throttle, button and position data is returned. The digital values are shipped over the remaining button lines in a semi-serial fashion.

Each clock frames a bit parallel group of data so that data lines is used concurrently.

The repetition rate of host based signals causes the controller to enter various command states. Once identified and initialized, the controller translates users’ control movements into succinct digital values for transmission to the host. Local analog to digital conversion in the controller removes the potential for jitter which can be induced in an analog joystick reading due to the length of cable involved. Modern gamepads and joysticks digitize the information for ease of distribution and expandability to multiplayer scenarios. Likewise, USB demands that data be in the digital domain.

Now that the PC gameport is embedded in motherboard based sound chips, there is a huge installed base and it continues to grow. With millions of gamers and game systems, the future of the controller industry is assured only insofar as performance intensive games and applications stimulate creative and satisfying challenges for the average kid.

What about the game controller market today? It’s there and it’s hip. Force feedback is the answer; the question being – what makes the PC so much better than consoles? To be sure, there are a lot of reasons why the PC rocks: Advanced graphics and 3D rendering; ever faster processors; ever more memory; digital audio mastery, networked multiplayer applications; and all out availability. But on any given day, somebody has their hands on a gameport controller and they’re having the time of their lives.

Given the plethora of new product introductions, one can make several conclusions about the future of game controllers: all roads lead to the gameport. Even Microsoft’s USB devices are implemented as dual standard devices – the gameport connector is translated to the USB connector by a simple adapter – providing power, data, and mode signalling. The USB guts are inside the controller along with the gameport interface so that either installation is recognized properly. Thus, going forward, the gameport is not replaced by USB.

USB requires the addition of Human Interface Drivers to link game and joystick, so it does provide for multiple input devices – at least in theory. With a USB hub, several or many joysticks could be plugged in. The net result (pun intended) is the revolutionary concept of One Computer MultiPlayer – the new opportunity for the games industry to reverse the course of social deterioration and bring back the concept of people playing together. You know – like parlour games – cards – dominoes – board games – and so on. Networked multiplayer is the ultimate, but even consoles recognize the benefit of four player games. It’s high time to get together and pursue happiness.

For those who need it now, the Gameport Hub makes it possible to connect multiple joysticks to the PC gameport. It acts like a switchbox in single player mode – the user selects the active joystick with the push of a button. Most digital controllers, especially those with force-feedback, operate transparently (without influence by the Hub). To retain compatibility with existing analog controllers – the Gameport Hub supports the two player mode with the press of two buttons. This eliminates the need for a Y cable and facilitates head to head competition between groups of players. Three player mode is a further split so that three independent connections are made to the PC’s gameport. Four player mode sends one axis and one button from each attached joystick up to the PC.

Use of the Gameport Hub’s four player mode is possible with games that only require simple user controls like Pong or Jeopardy – single axis/button gameplay. Since this is not an appropriate interconnect configuration for digital type controllers, the four player software has to be created specifically for this alternative standard. In practice, the industry has chosen to create multiplayer digital controller arrays which "cascade" the controllers prior to attachment to the PC. These controllers are well suited for the Gameport Hub and function normally in single player mode, regardless of the length of the chain.

Is there room for more development? Perhaps so. Many gamers are anxious to use their resources in concert, not singly. Is it possible to use a digital joystick and an analog throttle at the same time? Depends. Innovative controller designs are on the market which convert and send analog along with digital data. The trick is to emulate a multiplayer data protocol such as the Sidewinder Gamepad to add the extra information into the packet. This suggests even more functionality could be built into what would then be called a Gameport Bridge.

Take it a step further – a Gameport Bridge may do more that protocol conversion – it could actually provide the additional resources to support USB. This capability suggests that the gamport controllers could work in unison regardless of digital vs. analog style. All this and more is what gamers want. And why not? The biggest problem is the man machine interface and the solution is networking – at the human input level. The gameport can do it, USB can do it, even Firewire (IEEE 1394) can do it. But to do it now means legacy compatibility and that is exactly what is happening. The more things change, the more they stay the same – people want to preserve their investment. Intel knows it. Microsoft knows it. Are they happy about it? Depends on who you ask.

The arrogant answer – change is good – is the drumbeat of technology. This is what evolution suggests as well. The implementation of change is where compassion can make a difference. Keeping in mind that survival requires not just adaptability, but the momentum of sustainability, the natural choice is to grow organically – not precipitously. This is evident in the success of the PC as a business platform as well as a games machine. The diversity of applications keeps the PC’s marketshare well out of reach of closed or strictly proprietary designs. The synergy of such diverse technology demands melds and molds the character of the PC.

Now that society and the Internet have converged, there is every reason to believe that reason will prevail. The motivation to conceive, form, and produce solutions will be purely market oriented. The loudness of instant earshot is ever-more abundant. State your aim and make your claim – it’s your prerogative. Listen, ask, receive feedback. Such is the nature of Nature; such is the way of product design. The niches are there to be discovered and exploited, to the benefit of all creatures – virtual and living!

Part Two of this exposition will explore the details of data protocols for the various digital controller interfaces. Since each manufacturer and model of digital controller has taken a different approach, the designs and protocols vary widely. The decomposition and documentation of these protocols is necessary for the accurate implementation of the Gameport Bridge as imagined by the author. Since each device must appear to be managed as if a PC host were attached, the Gameport Bridge will have to be versatile and reprogrammable just as the Host PC is today. The hardware that supports the controller will likely be a state machine that does the data acquisition, packetization and communication with the Bridge’s alternate Host Interface – such as USB. Most of all, it must be updateable over the net with little on no user intervention! Stay tuned…

End of Part I

 

 

 

Click Here!