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:
- No Controller
- 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.
- The player pauses the game.
- The player presses the Reset switch.
- 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.
- osMotorInit();
- 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
- Open the Rumble Pak.
- 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.)
- Insert a momentary switch, which is normally closed, between the card
edge pin 2 and U1 pin 4.
- Remove the surface mount resistor chip R7.
Operation of Rumble Pak Tester
- With the Rumble Pak motor running press and release the momentary switch,
while osMotorStop(); is called.
- Verify that the Rumble Pak stops rumbling after the momentary switch is
released.
© 1999 Nintendo of America Inc.