1.9

Nintendo 64 Developers Newsletters will be published periodically, as needed. These feature software and hardware system anomalies, which have been discovered, and their solutions and/or work-arounds. Development tips will also be included.

## Recurring Problems with N64 Software Submissions

The purpose of this newsletter is to describe frequently recurring problems with N64 Software Submissions which delay their approval through the Nintendo software submissions approval process (Lot Check). Please ensure that a copy of this document is circulated among your N64 software development team. Taking these items into consideration during your software development process will greatly improve the probability that your N64 software will be rapidly approved by Nintendo.

### Submissions Compatible with Controller Pak/Rumble Pak

Most (70%) of the problems which delay Nintendo approval of N64 Software Submissions are related to Controller Pak or Rumble Pak messages. Please ensure that your development team is thoroughly familiar with all Controller Pak and Rumble Pak programming cautions. These cautions are documented in the Programming Cautions Manual.

### Controller Not Connected Messages

When a Controller is not connected to the N64 Control Deck at game initialization a message must be displayed to notify the user of this condition. There are only 2 messages which are acceptable. These messages are:

1. No Controller
2. Turn OFF Control Deck. Connect Controller to Controller Socket #1. Turn ON Control Deck.

In many cases, software being submitted will use an error message in the above situation which tells the user to "insert Controller and press Reset". This message is unacceptable, because it is in conflict with the N64 Control Deck user's manual, which states that power to the Control Deck must be turned OFF before removing or connecting a Controller.

### Rumble Pak Does Not Stop Rumbling

Nintendo requires that a Rumble Pak stop rumbling under the following specific conditions.

1. The player pauses the game.
2. The player presses the Reset switch.
3. Main game play stops, whether it be for the end of a level, race or game, or in any other appropriate place within the game (such as after a play has been run in a football game).

In order to ensure that the Rumble Pak has stopped in any of the above conditions, you must perform the following sequence of calls.

1. osMotorInit();
2. osMotorStop();

The above call osMotorStop(), does not provide a correct return value under certain conditions. The motor may continue to run, even though the return value is "0x00". So, checking the return value of "0x00" or "!(PFS_ERR_CONTRFAIL)" from osMotorStop(); is NOT an accurate way to determine the state of the Rumble Pak. In addition, repeated calls to osMotorStop(); will not have any effect until osMotorInit(); is called. A single call to osMotorInit(); should be sufficient to re-sync the Rumble Pak when this condition occurs.

An inexpensive Rumble Pak Tester can be produced using any retail Rumble Pak by following the steps listed below. This Rumble Pak Tester simulates a brief communication failure between the Rumble Pak and the Controller. It will verify that your software program will properly control the Rumble Pak under the conditions described above. This is part of the testing process performed by Nintendo on all Rumble Pak compatible software.

### Create Rumble Pak Tester

1. Open the Rumble Pak.
2. Cut trace between card edge connector pin 2 and U1 pin 4. (Pin 2 is on the back of the PCB. Look for the silk-screened numbers 1 and 16. Pin 4 is below the second "n" in "Nintendo" on the "VDC-CNT" chip.)
3. Insert a momentary switch, which is normally closed, between the card edge pin 2 and U1 pin 4.
4. Remove the surface mount resistor chip R7.

### Operation of Rumble Pak Tester

1. With the Rumble Pak motor running press and release the momentary switch, while osMotorStop(); is called.
2. Verify that the Rumble Pak stops rumbling after the momentary switch is released.

© 1999 Nintendo of America Inc.