There is a revolution under way in controllers, and this year will see more advances than we've seen in a long time. Thrustmaster is working on a digital stick, and if we're lucky it will even be a USB device.
In the meantime, we are still running both analog and digital devices on the ancient PC gameport, which is simply not capable of doing the work we need it to do. Lets take a minute to reflect on that connection and its place in the PC Universe.
The PC joystick generates position information in a continuously variable analog format. The standard PC gameport, designed more than fifteen years ago, converts these varying analog signals into timed pulses for the computer to measure. The duration of each pulse presented to the host PC is proportionate to the joystick position for the axis that that pulse represents. When the system CPU needs to determine the position of the joystick, it triggers the timing sequence and then proceeds to meter the lapsed time of each axis until the last one times out.
In order to avoid errors, this crude method of converting analog data into digital form forces the system CPU to abandon all other pending system tasks by freezing system interrupts throughout each entire gameport polling interval. This procedure is extremely inefficient, which is why only a single full-featured joystick is supported by the standard PC Gameport.
Here's a message I found posted on the Imagic Warbirds message board by John MacQueen:
-----Original Message----- From: John MacQueen
Newsgroups: warbirds.general
Date: Wednesday, March 11, 1998 8:13 PM
Subject: Re: Digital to Analog Game Cards....
[email protected] wrote:Guys,
Has anyone tried this new gamecard? It claims to have found a work around to the Poll Interupts problems, as well as spiking etc with the Analog gear we use now.... http://www.pdpi.net/index.shtml
I checked out the site today and it looks like a find. Then I found out HT has been using one of these cards for almost a year, he loves it.
This card IMO is potentially the best thing for online gaming since the modem for this reason.On PC's it should eliminate the contention between serial interrupts and joystick reads completely. This means you get a smooth stick and it doesn't cost you lost packets. I'm trying to get them to send a few more out so we can look at them closer. The PC has needed to get a better joystick interface since day 1. Hopefully something like this will become standard on motherboards soon.
It replaces windows joystick driver, so installation could possibly get tricky, as win95 often doesn't pay attention when you disable game ports, but it shouldn't be any tougher than installing a TM or CH card.
If you're not seeing problems with interrupts enabled you probably don't need it, but if you get spikes with interupts enable you probably do. I would also think that with one of these the low connect speed for a better connect recommendation would no longer apply.
It looks like PDPI is providing a long needed solution to multiplayer problems for gamers!
Just how slow and inefficient is a standard PC Gameport? PDPI has done some research and the scenario below should help to get things in perspective:
Using the Thrustmaster T2 steering wheel, in a full right turn, at 72 joystick polls per second, more than half the total available CPU time is spent reading the standard gameport. Note that this leaves less than half of the computer's time to run the game.
Now before your jaw becomes permanently disabled, put it back into place and listen up. PDPI is not unique in noticing this problem. I recall a hardware feature done by a technical whiz some years ago who had already measured CPU utilization with a standard joystick at around 15% on average. PDPI notes that using game controllers other than the T2, timing will vary as much as 400%. The T2 was used in the above example to dramatize the point. The amount of time required to read the game controller device depends solely on the potentiometric values designed into the device itself. But notice this: a faster computer will do nothing for you when you're up against this phenomena. If you boost horsepower by 25% you will lose the proportional amount to the controller.
� Enter PDPI with their L4. A digital gameport provides pre-converted joystick position information to the host PC in the digital format it understands. There are numerous ways that the analog-to-digital conversion could be implemented but PDPI are actually aiming at setting an optimal standard for the new architecture.
As a result, the proprietary digital gameport engine developed by PDPI for the Lightning 4 ISA Gameport Card is the foundation on which all future PDPI gameport product developments will be based. Here are the features as listed by PDPI:
High Speed.
Obviously, A digital gameport worth it's salt must be fast. The Lightning 4 delivers at less than 25 microseconds per game controller. Polling the L4 at the rate of 72 times per second costs a barely perceptible 0.18% of the CPU's available time. Note that this beats the standard gameport running the T2 steering wheel by roughly 320 times.
Up to Eight Simultaneously Active Game Controllers
Each L4 card will support as many as four simultaneously active full-featured game input devices. A second L4 card may be added to double the capacity. Note that up to sixteen 2-axis, 2-button joysticks are supported with the addition of Y cables for each pair.
Ultra Smooth Coordinate Data
The inherent jitter associated with the conventional analog joystick is completely eliminated by a proprietary filtering scheme in the PDPI gameport engine. Additionally, hysteresis is employed at each single-bit digital boundary to eliminate indecisive hunting and to provide zero-flutter, snap-action coordinate repeatability.
Backward Compatible Mode
The L4 provides full backward compatibility to the standard gameport for hard-coded DOS applications. It is automatically invoked each time a legacy application is executed.
Prescaled Coordinates
The PDPI architecture is designed to provide prescaled axis information which may be directly delivered to the application with no further processing. Time-consuming scaling algorithms may be eliminated with no cost in accuracy to the application.
On-Line Stability
The L4's host interface design does not require disabling interrupts as does the traditional gameport. Win95/modem applications, such as online joystick games, are subject to frequent crashes due to loss of modem data if the joystick is polled with interrupts disabled. Extreme loss of position accuracy is the tradeoff when the traditional gameport is polled with interrupts enabled.