Q&A- Controller

QA1 What is the actual range width of a Control Stick?
QA2 L&R&START on the controller
QA3 Controller identification if fewer than 4 players play
QA4 Upper limit value of Control Stick (200003)

Q1 What is the actual maximum range width of the Control Stick?

A1 To account for variations in the Control Stick, program using the following values as the actual service ranges.

X axis left/right direction...  ± 61
Y axis up/down direction...  ± 63
X axis diagonal direction...  ± 45
Y axis diagonal direction...  ± 47

Please refer to the N64 Online Programming Manual, Chapter 26.2, "Standard Controller", for details.


Q2 L&R&START on the controller

A2 Simultaneously pressing these three buttons will reset the Control Stick to a standard point. This operation cannot be changed in the user program. This is because, if the command is given on the IC level that is built into the controller, an operation is performed to return to the origin point.

If you wish to change the origin on the user side, in OS2.OH and later, this is possible by calling the osContReset function. In past libraries, the origin was made neutral with the osContInit function, but please note that this function has been deleted.


Q3 If fewer than 4 people are playing a game, the controllers must be connected to the control deck without any gaps in the sequence from 1. For instance, if two people are playing, the controllers must be connected to sockets 1 and 2 on the control deck. If anything else is the case, the menu will not appear. Have there been any problems with the above specification, or are there any standards regarding this at Nintendo?

A3 Your question deals with the menu sequence, and theoretically there is no standard. Consequently, the rules can be independently determined, but you should take note to make that standard clear in the menu (how the controllers should be inserted, etc.), and note that removal and insertion of controllers after the game has started is not allowed.


Q4 I have a question regarding "26.2.5 Programming Cautions" in the Programming Manual. It says XA: center static width of X axis (MAX)-- 7 count; however, XA straddles the center in the diagram and it is ambiguous. If the width of XA is 7 count, the count value should be ±3.5 count. Am I wrong? If not, the upper limit value may change as well.

A4 Both the diagram and the table are correct. Let's suppose there is a true center. Variation from the true center will be ±3.5. When the neutral position of the Control Stick at the time of reset (the position when the counter value = 0) is shifted to the right +3.5 from the true center, the lowest value of XB will be 68. Conversely, when the neutral position of the Control Stick at the time of reset is shifted to the left -3.5 from the true center , the lowest value of XB will be 68.

Also, there is a possibility that the neutral position of the Control Stick at the time of reset (the position when the counter value = 0) is shifted to the right +3.5 from the true center when the controller is activated, and the neutral position of the Control Stick is shifted to the left -3.5 from the true center during game play when the controller is stopped. In such a case, the counter value will be -7. Since it is unknown whether the position when th counter value is zero (neutral position at the time of reset) is left direction or right direction, it is necessary to regard all the ranges in which a counter value is within ±7 as zero in order to ensure the value becomes zero when the Control Stick is released. Therefore, absolute values for left/right count values are reduced by 7 respectively, and the valid range becomes only 68-7=61.

@