AGB Programming Manual
Communication Functions
©1999 - 2001 Nintendo of America Inc.
127
D.C.N. AGB-06-0001-002B4
When changing communication modes, change only the communication mode flag first. Do not
start a communication at the same time the mode is changed. This may cause a malfunction.
Even if you think you have set different bits of same register separately using the C language,
sometimes they are optimized by a compiler and changed to codes that are set simultaneously.
When this happens, attach the type qualifier, volatile, in order to prevent optimization.
Example:
*(volatile unsigned short int*)REG_AGB =0x8000; /*REG_AGB:register name*/
*(volatile unsigned short int*)REG_AGB = 0x0040;
If communication is not finished (SIO interrupt does not occur) after a certain period of time, or if
there is a communication error after retries, enter another communication mode once and then
re-enter the communication mode once again. By doing this, the communication circuit will be
reset.
[Cautions for Communication Function]
For communication, take into consideration a case in which unexpected data is received.
Be careful so that a lock up, destruction of saved data, or malfunction do not occur.
(Example: To permit cancellation of communication by pressing a key.)
The following situations are examples of communication problems.
-When a peripheral device that is not supported is connected
-When different software is connected to other device
-When the communication mode is different from the other device
-When the AGB Game Link cable is connected incorrectly