Discussion
The standard N64 Controller has a function which calibrates the neutral position of the Control Stick by pressing the L Button, R Button and Start Button at the same time. An accidental re-calibration of the Control Stick must be avoided during normal operation of the game. In addition, if a user chooses to re-calibrate the Control Stick after game play has begun, ensure that the game works as intended when game play is resumed. For more information, refer to Developer News 1.3, Section 2: Control Stick RESET Function.
Discussion
After years of normal usage, there is a possibility that Up and Down or Left and Right Control Pad data may be input at the same time.
Examples of methods which may be used to prevent "Up and Down" or "Left and Right" input are:
Discussion
A button which is not intended to be used in game play may be pushed by the user. In addition, an accessory may be connected to the Control Deck. The accessory may cause unexpected data input. Neither of these situations should impact game play.
If the developer uses a button for a debugging mode which is not used during normal game play, ensure that it has no effect if pressed during normal game play.
Discussion
There is a small amount of mechanical play in the Control Stick of every Controller. The amount of mechanical play will vary from one Control Stick to another. An allowance should be made to ensure that a slight movement by the Control Stick, when it has not been touched by the user, will not be considered as a valid Control Stick input.
For more information, refer to Developer News 1.3, Section 1: N64 Controller Control Stick Resolution Specifications.
Discussion
The maximum range of the Control Stick value will vary somewhat from one Controller to another. In addition, the resolution of a specified Controller may deteriorate after it has been used for a period of time. To accomplish the above requirement, we recommend the following values be used for Control Stick range.
Horizontal direction of X axis 61 Vertical direction of Y axis 63 Diagonal direction of X axis 45 Diagonal direction of Y axis 47
The center stop width of the Control Stick is relatively unimportant for a game that treats the Control Stick data as an absolute location (such as a table tennis game), and the values for XBM, XCM, YBM, and YCM (in the illustration on the following page) can be used for the program's actual range. However, when better resolution is required, each game must be calibrated individually, with the Controller which is being used. In other words, the program's center stop width may require adjustment in the application. The amount of adjustment may also vary according to the amount of usage the Controller has seen.
For example: A new Controller will present the following values.
XA |   | MAX: 7 Counts |
XBM | minimum guaranteed value of XB, XB' | MIN: 70 Counts |
XCM | minimum guaranteed value of XC, XC', XC'', XC''' | MIN: 54 Counts |
YA |   | MAX: 7 Counts |
YBM | minimum guaranteed value of YB, YB' | MIN: 74 Counts |
YCM | minimum guaranteed value of YC, YC', YC'', YC''' | MIN: 56 Counts |
While a Controller which has been used for approximately 5 million direction changes will present these values.
XA |   | MAX: 7 Counts |
XBM | minimum guaranteed value of XB, XB' | MIN: 68 Counts |
XCM | minimum guaranteed value of XC, XC', XC'', XC''' | MIN: 52 Counts |
YA |   | MAX: 7 Counts |
YBM | minimum guaranteed value of YB, YB' | MIN: 70 Counts |
YCM | minimum guaranteed value of YC, YC', YC'', YC''' | MIN: 54 Counts |
Given the above values, the program's actual range can be calculated, as follows.
Horizontal direction of X axis (one side) MIN = XBM - XA = 68 - 7 = 61 Counts Vertical direction of Y axis (one side) MIN = YBM - YA = 70 - 7 = 63 Counts Diagonal direction of X axis (one side) MIN (45°) = XCM - XA = 52 - 7 = 45 Counts Diagonal direction of Y axis (one side) MIN (45°) = YCM - YA = 54 - 7 = 47 Counts
Symbol Explanation:
XA : Maximum horizontal center stop width XB : Minimum horizontal counts left XB' : Minimum horizontal counts right XC : Minimum horizontal counts with Control Stick in the up/right direction XC' : Minimum horizontal counts with Control Stick in the up/left direction XC'' : Minimum horizontal counts with Control Stick in the down/left direction XC''': Minimum horizontal counts with Control Stick in the down/right direction YA : Maximum vertical center stop width YB : Minimum vertical counts up YB' : Minimum vertical counts down YC : Minimum vertical counts with Control Stick in the up/right direction YC' : Minimum vertical counts with Control Stick in the up/left direction YC'' : Minimum vertical counts with Control Stick in the down/left direction YC''': Minimum vertical counts with Control Stick in the down/right direction
Discussion
For example, assume that the normal horizontal range of a specific Controller is from +68 to -68. If the Control Stick is physically shifted to the left when it is calibrated, the horizontal range of the Control Stick may shift to +75 to -50. Since these values are still between +127 and -127, they should be considered normal values, and the game should continue.