For those of you who don't know, dead zones are a (usually) intentional effect with most controllers' analog sticks, where if the amount that it's being moved is too small, the controller doesn't register the movement at all. This is so that if you were to let go of the thumbs tick while playing (for example) SM64, the thumbstick would be at its resting pose, but not exactly, since nothing is 100% exact. So, to keep Mario from moving ever so slightly, very minor thumbstick inputs are ignored. My question is wethe or not the N64 was the first console to pull this off.
It may be worth looking at exactly how Nintendo 64 controllers work in the first place, before addressing this question.
The N64 controller's analog stick works in a very similar way to a mechanical (non-optical) computer mouse. Moving the stick in the X and Y directions rotates one of two optical encoding wheels, which are placed between an infrared LED and detector. Compare this picture of an N64 encoding wheel (from nfgworld):
with the inside of a mechanical mouse (from Wikimedia Commons):
In the mouse the wheel is mounted directly to the axle, whereas in the N64 controller the axle (pushed by the analog stick) is connected to the encoding wheel via a gear. (See nfgworld for more pictures of how the pieces connect.) They operate in the same way however: the spokes of the turning wheel block the infrared light from reaching the detector. By counting the number of interruptions (and noting the direction of movement) a computer mouse can indicate the distance and direction the mouse has been moved, and the N64 controller can indicate how far (and which way) the stick has been moved.
The N64 controller also has a spring to push the stick back to the center position when you release it. (You may be aware that old sticks become "loose". This isn't due to the spring losing tension, but the plastic components wearing away over time.) The N64 controller doesn't have any special hardware to detect the center position, instead it assumes that the stick is in the center position when the controller is plugged in (or when the console is turned on). You can prove this by doing this little experiment:
- Load a level in a 3D game such as Super Mario 64 or Goldeneye
- Unplug the controller
- Hold the analog stick down (back) and plug the controller back in
- Release the analog stick
Your character will now start running forward on their own! This happens because the controller's spring is holding the analog stick further up/forward than where it was when you inserted it (the "center" point).
(This center point can also be reset to the analog stick's current position without removing the controller: press Start and the L and R shoulder buttons all at the same time.)
You should now understand that the N64 reads the position of the analog stick by counting "spokes" of rotation on the encoder wheels, and keeps track of how many spokes up/down and left/right of the center point it is.
I don't know exactly how many spokes up/down (or left/right) correspond to the maximum movement of the analog stick, but let's assume that it's 100 each way. The video game programmer would then be free to decide how to relate the scale of -100 to +100 to their character's movements. They might decide that anything beyond 90 (or -90) is sprinting, 60-89 is running, 30-59 is jogging, and 5-29 is walking. (They might choose different values if the character is in, for example, stealth mode, or carrying a heavy weight.)
Note that this imaginary programmer hasn't used the values 1-4. For practical reasons (friction, spring tension, loose-fitting components) the analog stick won't return to exactly the same position every time when released. So the designer has to consider a range of small values as being equal to zero, forming a dead-zone. If they didn't do this, players would complain that they could never get Mario to stand still!
Note also that the existence (and size) of the dead zone is due to the programmer's choices, rather than the hardware of the console itself. The same could be done with any analog input device.
Was the N64 the first console to pull this off? The N64 controller is unique in using a rotary optical encoder; most analog controllers and joysticks used potentiometers (variable resistors) instead. And before the N64 most games consoles had used d-pads or digital joysticks, which wouldn't need a dead zone. But there had been other consoles that used analog inputs.
The earliest video game consoles used analog paddles for games like Pong: these didn't spring back to a center position but stayed where you left them. If the paddle was used to control the position on the screen then a dead-zone wouldn't be relevant, but for racing games involving steering, a programmer might choose to introduce a dead-zone to make it easier to go straight. For example, in a system that returned a value between 0 and 255 for the paddle position, instead of only considering 128 to represent straight ahead, you could use a range such has 124-132 instead.
Outside of video game consoles, analog joysticks were more common, including the IBM PC and home microcomputers such as the BBC Micro, Dragon 32, and TRS-80 Color Computer. Dead zones would certainly have been used on these (e.g. in platformers and flight simulator games) before the N64.
Back in games consoles, Sega released an analog joystick or "flight stick" for the Saturn, called the Mission Stick in 1995, several months before the N64. There was also a third-party analog gamepad called the XE-1 AP released for the Sega Mega Drive back in 1989, long before the days of the Nintendo 64. These would have required the use of dead-zones in the flight simulation and racing software that they supported.
So in summary, the N64 was not the first use of a dead-zone on an analog input, nor even of an analog input on a games console. The technology Nintendo used for their analog stick was based upon that used in computer mice. But the Nintendo 64 was the first widespread use of an analog input on a hand-held gamepad, and they managed to obtain a patent for this feature, despite the prior existence of the XE-1 AP.