Nintendo 1504166 Programming Manual

Nintendo 1504166 - Game Boy Advance SP Edition Console Manual

Nintendo 1504166 manual content summary:

  • Nintendo 1504166 | Programming Manual - Page 1
    April 2, 2001 AGB Programming Manual Version 1.1 © 1999 - 2001 Nintendo of America Inc.
  • Nintendo 1504166 | Programming Manual - Page 2
    AGB Programming Manual "Confidential" This document contains confidential and proprietary information of Nintendo and is also protected under the copyright laws of the United States and other countries.
  • Nintendo 1504166 | Programming Manual - Page 3
    Manual Introduction Introduction 2.9" WIDE TFT COLOR CHARACTER/BITMAP BG PCM STEREO SOUND MULTIPLAY COMMUNICATION COLOR GRAPHIC EFFECTS 32768 COLORS COMPATIBLE FOR CGB 32BIT RISC CPU 16MHz Game of Game Boy Color, it consumes little power, allowing approximately 15 hours of continuous play.
  • Nintendo 1504166 | Programming Manual - Page 4
    AGB Programming Manual Revision History Version 0.3.6.2 0.3.6.3 0.4.0 0.4.1 0.4.1.1 0.4.1.2 Date 12/21/1999 01/05/2000 01/25/2000 02/09/2000 02/22/2000 02/24/2000 02/25/2000
  • Nintendo 1504166 | Programming Manual - Page 5
    AGB Programming Manual Revision Function" to "Halt Function." -Corrected the diagram of "AGB Game Link cable." -Corrected the attributes of timer setting values register from register. -Revised the connection diagram of 16 bit multi-play communication. -Added a description to all sound operation
  • Nintendo 1504166 | Programming Manual - Page 6
    Manual Revision History Version 1.0 1.01 1.02 1.04 Date 12/01/2000 2/01/2001 2/13/2001 3/1/2001 Description -Deleted the checksum of ROM registration data and revised the diagram. -Revised the diagram for "AGB Game Game Link cable in the multi play communication of the DMA problem and how to
  • Nintendo 1504166 | Programming Manual - Page 7
    Added additional description of communication error flag of multi-play communication control register. - Modified the host side example in the description of JOY bus communication from NUS to DOL. Added DOL to the abbreviation in "Using This Manual". - Modified the SIO timing chart for normal serial
  • Nintendo 1504166 | Programming Manual - Page 8
    AGB Programming Manual Revision History 074h SG31 à SOUND3CNT_X 078h SG40 à SOUND4CNT_L 07Ch SG41 à SOUND4CNT_H 090h~ SGWR UART communication) SIOMLT_SEND (Multi-play communication) 120h SCD0 à SIODATA32_L (Normal serial communication) SIOMULTI0 (Multi-play communication) 122h SCD1 à SIODATA32_H
  • Nintendo 1504166 | Programming Manual - Page 9
    AGB Programming Manual Table of Contents Table of Contents 1 AGB SYSTEM 13 1.1 SYSTEM OVERVIEW 3.2 MEMORY CONFIGURATION 19 3.2.1 AGB Internal Memory 19 3.2.2 Game Pak Memory ...20 3.3 GAME PAK MEMORY WAIT CONTROL 21 3.3.1 Access Timing...23 3.3.2 Game Pak Bus ...24 4 LCD ...25 4.1 LCD STATUS
  • Nintendo 1504166 | Programming Manual - Page 10
    AGB Programming Manual Table of Contents 6.2 BITMAP MODE BGS (BG MODES 3-5 53 6.2.1 BG Control ...53 6.2.2 BG Rotation/Scaling 54 6.2.3 Pixel Data ...54 6.2.4 Pixel Data Address Mapping for the
  • Nintendo 1504166 | Programming Manual - Page 11
    AGB Programming Manual Table of Contents 12 DMA TRANSFER 108 12.1 DMA 0 ...109 12.2 DMA 1 AND 2 ... COMMUNICATION FUNCTIONS 142 13.4 GENERAL PURPOSE COMMUNICATION 148 13.5 JOY BUS COMMUNICATION 150 13.6 AGB GAME LINK CABLE 154 14 KEY INPUT 155 14.1 KEY STATUS ...155 14.2 KEY INTERRUPT CONTROL
  • Nintendo 1504166 | Programming Manual - Page 12
    , not to the general consumer. Bit lengths in this manual are expressed as follows. Bit Length 8 bits 16 bits set to either 0 or 1. 3. Abbreviations Nintendo's game hardware is abbreviated as follows: Ø DMG (Game Boy) Ø CGB (Game Boy Color) Ø AGB (Game Boy Advance) Ø DOL (Nintendo GameCube) Write-
  • Nintendo 1504166 | Programming Manual - Page 13
    AGB Programming Manual AGB System 1 AGB System 1.1 System Overview AGB is a portable game device that maintains downward compatibility with Game Boy Color (CGB) and provides higher performance. AGB's 2.9-inch-wide reflective TFT color LCD and 32-bit RISC CPU enable production of games that match
  • Nintendo 1504166 | Programming Manual - Page 14
    AGB Programming Manual AGB System Game Pak Like DMG and CGB, AGB is equipped with a 32-pin connector for Game Pak connection. When a Game Pak is inserted, AGB automatically detects its type and switches to either CGB or AGB mode. The following Game Paks operate on the AGB system. 1. DMG Game Paks,
  • Nintendo 1504166 | Programming Manual - Page 15
    AGB Programming Manual 2 System Configuration 2.1 CPU Block Diagram Game Pak 16 ARM7TDMI CPU (16.78MHz) Game Pak I/F (Prefetch Buffer) 32 System Configuration CPU VRAM_A (64KByte) 16 INT Control ROM (16KByte) 32 R:8/16/32 W:8/16/32 32 R:8/16/32 16 R:16/32 W:
  • Nintendo 1504166 | Programming Manual - Page 16
    AGB Programming Manual System Configuration 2.2 Complete Block Diagram AGB Unit LCD Module .78MHz) 3.3V(AGB) 5V(DMG/CGB) Headphone Jack Speaker Game Pak Shape Detection Switch Switch Between AD Bus/ General Purpose Bus Gane Pak Game Pak Power 3.3V(AGB)/5V(DMG/CGB) General Purpose Bus
  • Nintendo 1504166 | Programming Manual - Page 17
    16/32 8 8 Good execution efficiency is obtained when programs that operate from the Game Pak use 16-bit instructions (16-bit compiler), and those that operate from CPU Internal Working RAM use 32-bit instructions (32-bit compiler). 2.4 Little-Endian In the AGB CPU, memory addresses are allocated
  • Nintendo 1504166 | Programming Manual - Page 18
    Manual 3 AGB Memory 3.1 Overall Memory Map The following is the overall memory map of the AGB system. 0FFFFFFFh 0E00FFFFh 0E000000h 0DFFFFFFh 0C000000h 0BFFFFFFh 0A000000h 09FFFFFFh Game Pak Memory AGB Internal Memory 08000000h 070003FFh 07000000h 06017FFFh 06000000h 050003FFh 05000000h Game
  • Nintendo 1504166 | Programming Manual - Page 19
    AGB Programming Manual AGB Memory 3.2 Memory Configuration In broad terms, the area 00000000h-07FFFFFFh is allocated as AGB internal memory, and 08000000-0EFFFFFFh is allocated as Game Pak memory. 3.2.1 AGB Internal Memory 1) System ROM The 16 KBytes from 000000000h is the system ROM. Various
  • Nintendo 1504166 | Programming Manual - Page 20
    AGB Programming Manual AGB Memory 3.2.2 Game Pak Memory 1) Game Pak ROM Three 32 MB Game Pak ROM spaces are allocated Wait State 1, and Wait State 2. This specification enables memory of varying access speeds in Game Pak ROM to be accessed optimally. The base addresses of the 3 spaces are 08000000h
  • Nintendo 1504166 | Programming Manual - Page 21
    AGB Programming Manual AGB Memory 3.3 Game Pak Memory Wait Control Although the 32 MB Game Pak memory space is mapped to control of the Game Pak Bus during the time when the CPU is not using it, and reads Game Pak ROM data repeatedly. When the CPU tries to read instructions from the Game Pak and if
  • Nintendo 1504166 | Programming Manual - Page 22
    AGB Programming Manual AGB Memory If the Prefetch Buffer Flag is disabled, the fetch is done from the Game Pak ROM. There is a wait based on the wait state associated with the fetch instruction to the Game Pak ROM in respect to the CPU. WAITCNT [d12 - 11] PHI Terminal Output Control Controls the
  • Nintendo 1504166 | Programming Manual - Page 23
    AGB Programming Manual AGB Memory 3.3.1 Access Timing The following timing charts illustrate Game Pak ROM access with 3 wait cycles on the first access and 1 wait cycle on the second. 1) Sequential Access System Clock 16.78 MHz Wait Cycles
  • Nintendo 1504166 | Programming Manual - Page 24
    AGB Programming Manual AGB Memory 3.3.2 Game Pak Bus The Game Pak bus has a total of 32 terminals, which are described in the following table. No. Game Pak ROM Access Terminal Use Game Pak RAM Access Terminal Use 1 VDD(3.3V) VDD(3.3V) 2 PHI PHI 3 /WR Write Flag /WR Write Flag 4
  • Nintendo 1504166 | Programming Manual - Page 25
    AGB Programming Manual LCD 4 LCD AGB uses a 2.9-inch-wide reflective TFT color LCD screen. The vertical blanking interval of AGB is longer than that of DMG and CGB,
  • Nintendo 1504166 | Programming Manual - Page 26
    AGB Programming Manual LCD 4.1 LCD Status 4.1.1 V Counter The VCOUNT register can be used to read which of the total of 228 LCD lines (see previous figure) is currently
  • Nintendo 1504166 | Programming Manual - Page 27
    AGB Programming Manual LCD 4.1.2 General LCD Status General LCD status information can be read from bits 0-5 of the DISPSTAT register. In addition, 3 types of interrupt requests can be
  • Nintendo 1504166 | Programming Manual - Page 28
    AGB Programming Manual LCD DISPSTAT [d02] V Counter Evaluation Flag indicating whether the V count setting and the V count register value match. It is set while they match and automatically
  • Nintendo 1504166 | Programming Manual - Page 29
    AGB Programming Manual Image System 5 Image System AGB can use different image systems depending on the purpose of the software. These display-related items are changed mainly using
  • Nintendo 1504166 | Programming Manual - Page 30
    AGB Programming Manual Image System DISPCNT [d07] Forced Blank Setting this bit causes the CPU to forcibly halt operation of the image processing circuit, allowing access to VRAM,
  • Nintendo 1504166 | Programming Manual - Page 31
    AGB Programming Manual Image System 5.1 BG Modes 5.1.1 Details of BG Modes In AGB, changing the BG mode allows character format and bitmap format to be used selectively, as appropriate. In modes 0, 1, and 2, rendering to the LCD screen is performed in a character format suitable for the game. In
  • Nintendo 1504166 | Programming Manual - Page 32
    AGB Programming Manual Image System 5.1.2 VRAM Memory Map The VRAM (96 Kbyte) memory maps in the BG modes are as shown in the following figure. BG Modes 0, 1, and 2
  • Nintendo 1504166 | Programming Manual - Page 33
    AGB Programming Manual Rendering Functions 6 Rendering Functions The AGB CPU has BG2CNT, and BG3CNT). Registers BG0CNT and BG1CNT are exclusively for text BG control, while BG2CNT and BG3CNT also support BG rotation and scaling control. The registers used by the BG modes are as follows. BG Mode 0
  • Nintendo 1504166 | Programming Manual - Page 34
    AGB Programming Manual Rendering Functions The contents of the BG control registers are shown below. 1) Text BG Screen Control (BG0, BG1) Address 008h 00Ah Register BG0CNT BG1CNT 15
  • Nintendo 1504166 | Programming Manual - Page 35
    AGB Programming Manual Rendering Functions 2) Text BG and Rotation/Scaling BG Screen Control (BG2 and BG3) Whether the screen is a text screen or a scaling/rotation screen varies with
  • Nintendo 1504166 | Programming Manual - Page 36
    AGB Programming Manual Rendering Functions 1) Overview of Screen Sizes for Text BG Screens [d15,d14]=[0,0] Virtual screen size:256 x 256 [d15,d14]=[0,1] Virtual Screen size: 512 x 256 SC0 (
  • Nintendo 1504166 | Programming Manual - Page 37
    AGB Programming Manual Rendering Functions 2) Illustration of Screen Sizes for Rotation/Scaling BG Screens [d15,d14]=[0,0] Virtual screen size: 128 x 128 SC0 (128 x 128) Display Screen (240 x 160)
  • Nintendo 1504166 | Programming Manual - Page 38
    AGB Programming Manual Rendering Functions BG2CNT,BG3CNT [d13] Area Overflow Processing When the display screen overflows the boundaries of the virtual screen due to a rotation/scaling operation, this
  • Nintendo 1504166 | Programming Manual - Page 39
    AGB Programming Manual Rendering Functions 6.1.2 Mosaic Size Mosaic size is set in the MOSAIC register. Turning mosaic on/off for each BG is accomplished by the mosaic flag
  • Nintendo 1504166 | Programming Manual - Page 40
    AGB Programming Manual Rendering Functions 6.1.3 VRAM Address Mapping of BG Data BG data (BG character and screen data) are stored in the 64-Kbyte BG area of VRAM. 1)
  • Nintendo 1504166 | Programming Manual - Page 41
    AGB Programming Manual Illustration of VRAM Base Blocks for BG Data BG Character Data Base Block BG Screen Data Base Block Rendering Functions OBJ Character Data 32 Kbytes
  • Nintendo 1504166 | Programming Manual - Page 42
    AGB Programming Manual Rendering Functions 6.1.4 Character Data Format There are two formats for character dot data, 16 color x 16 palettes and 256 colors x 1 palette. The same format is
  • Nintendo 1504166 | Programming Manual - Page 43
    AGB Programming Manual Rendering Functions 6.1.5 BG Screen Data Format A BG screen is considered to be the 8 x 8 dot unit that represents the size of the basic character, and the
  • Nintendo 1504166 | Programming Manual - Page 44
    AGB Programming Manual Rendering Functions [d09-00] Character Name Specify the number of the character that has character base block starting address specified in the BG control register
  • Nintendo 1504166 | Programming Manual - Page 45
    AGB Programming Manual Rendering Functions 6.1.6 BG Screen Data Address Mapping for the LCD Screen 1) Text BG 1-1) Virtual Screen Size of 256 x 256 Dots 256 dots (32 blocks) 240
  • Nintendo 1504166 | Programming Manual - Page 46
    AGB Programming Manual 1-3) Virtual Screen Size of 256 x 512 Dots 256 dots (32 blocks) 000H 002H 004H 03AH 03CH 03EH 040H 042H 044H 07AH 07CH 07EH 256 dots (
  • Nintendo 1504166 | Programming Manual - Page 47
    AGB Programming Manual 2) Rotation/scaling BG 2-1) Virtual Screen Size of 128 x 128 Dots 240 dots (30 blocks) 128 dots (16 blocks) 000H 001H 002H 003H 004H 010H 011H
  • Nintendo 1504166 | Programming Manual - Page 48
    AGB Programming Manual 2-3) Virtual Screen Size of 512 x 512 Dots 512 dots (64 blocks) 240 dots (30 blocks) 000H 001H 002H 003H 004H 040H 041H 042H 043H 044H
  • Nintendo 1504166 | Programming Manual - Page 49
    AGB Programming Manual Rendering Functions 6.1.7 BG Rotation and Scaling Features Rotation and scaling of the BG as a whole can be performed in a rotation/scaling BG screen. With rotation,
  • Nintendo 1504166 | Programming Manual - Page 50
    AGB Programming Manual Rendering Functions Parameters used in rotation and scaling operations are specified for BG2 and BG3 in the following registers. Registers for Starting Point of BG
  • Nintendo 1504166 | Programming Manual - Page 51
    AGB Programming Manual Rendering Functions Operations Used in BG Rotation/Scaling Processing 1. Using software, the user determines the results of the rotation/scaling operation for the left-upper
  • Nintendo 1504166 | Programming Manual - Page 52
    AGB Programming Manual Rendering Functions 6.1.8 BG Scrolling For each text BG screen, the offset on the display screen can be specified in 1-dot increments. Offset register is only
  • Nintendo 1504166 | Programming Manual - Page 53
    AGB Programming Manual Rendering Functions 6.2 Bitmap Mode BGs (BG Modes 3-5) In the bitmap modes, the components of the BG screen are handled in pixel units, and the contents
  • Nintendo 1504166 | Programming Manual - Page 54
    AGB Programming Manual Rendering Functions 6.2.2 BG Rotation/Scaling The parameters for Bitmap BG Rotation/Scaling use BG2 related registers(BG2X_L, BG2X_H, BG2Y_L, BG2Y_H, BG2PA, BG2PB, BG2PC, and BG2PD).
  • Nintendo 1504166 | Programming Manual - Page 55
    AGB Programming Manual Rendering Functions 6.2.4 Pixel Data Address Mapping for the LCD Screen The different address mappings for the different BG modes are shown below. The frame buffer (
  • Nintendo 1504166 | Programming Manual - Page 56
    AGB Programming Manual Rendering Functions 6.2.4.2 BG Mode 4 (256 colors, 240X160 dots, 2 frame buffers) Two frame buffers are allocated in VRAM, making this mode suitable for full-motion video.
  • Nintendo 1504166 | Programming Manual - Page 57
    AGB Programming Manual Rendering Functions 6.2.4.3 BG Mode 5 (32,768 colors, 160X128 dots, 2 frame buffers) Although there are 2 frame buffers, the display area is limited in this mode to
  • Nintendo 1504166 | Programming Manual - Page 58
    AGB Programming Manual Rendering Functions 6.3 OBJ (Object) 6.3.1 OBJ Function Overview Objects are in character format regardless of the BG mode. However, the number of basic characters that can
  • Nintendo 1504166 | Programming Manual - Page 59
    AGB Programming Manual Rendering Functions The "Number of Rendering Cycles" and the corresponding number of OBJ displayable for a single OBJ's size is, the less efficient the rendering will be. Please be aware of this problem. ©1999 - 2001 Nintendo of America Inc. 59 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 60
    AGB Programming Manual Rendering Functions 6.3.2 Character Data Mapping With OBJ character data, the basic character is 8 x 8 dots, and characters between 8 x 8 and 64 x 64 dots can be handled (total
  • Nintendo 1504166 | Programming Manual - Page 61
    AGB Programming Manual Rendering Functions [Cautions for Character Name] When a character of 256 colors x 1 palette is displayed during 2 dimensional mapping mode, specifying a character name is limited to even
  • Nintendo 1504166 | Programming Manual - Page 62
    AGB Programming Manual Rendering Functions 6.3.3 OAM OBJs are displayed by placing data in OAM. OBJ data for 128 OBJs can be written to internal CPU OAM (addresses 07000000h-
  • Nintendo 1504166 | Programming Manual - Page 63
    AGB Programming Manual Rendering Functions OBJ Attribute 0 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 y-coordinate Rotation/Scaling Flag 0: OFF 1:
  • Nintendo 1504166 | Programming Manual - Page 64
    AGB Programming Manual Rendering Functions [d11-10] OBJ Mode Specifies whether an OBJ is a 8x8 - 64x64 dots), and the character data may surpass the boundaries of this field when rotated. This problem can be avoided by implementing a pseudo double-size for the OBJ field, by setting the double-size
  • Nintendo 1504166 | Programming Manual - Page 65
    AGB Programming Manual Rendering Functions Example: 64x64 dot OBJ field → 128x128 dot field displayed with rotation processing. Note, however, that the OBJ display position is shifted. With the
  • Nintendo 1504166 | Programming Manual - Page 66
    AGB Programming Manual Rendering Functions Individual Control of OBJ display It is possible to control the ON and OFF functions of the OBJ display individually by setting in
  • Nintendo 1504166 | Programming Manual - Page 67
    AGB Programming Manual Rendering Functions [d15-14] OBJ Size Linked to the specification of the OBJ size for Attribute 0, the size for the OBJ Character is also specified.
  • Nintendo 1504166 | Programming Manual - Page 68
    AGB Programming Manual Rendering Functions [d08-00] X-Coordinate Specifies the x-coordinate of the OBJ on the display screen in the range of 0~511. OBJ Attribute 2 15 14 13
  • Nintendo 1504166 | Programming Manual - Page 69
    AGB Programming Manual Rendering Functions BG Mode is 3~5 (Bitmap Mode) OBJ character data RAM is halved to 16 KB, so character name numbers 0-511 are disabled and numbers 512 and greater are used. ©1999 - 2001 Nintendo of America Inc. 69 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 70
    AGB Programming Manual Rendering Functions 6.3.4 OBJ Rotation/Scaling Feature The rotation and scaling feature for OBJ is essentially the same as that for BG. OBJ Character Data Referenced
  • Nintendo 1504166 | Programming Manual - Page 71
    AGB Programming Manual Rendering Functions Operations Used in OBJ Rotation/Scaling Processing 1. Specify the rotation/scaling parameter number to be applied in OBJ Attribute 1 of the OAM. 2. The
  • Nintendo 1504166 | Programming Manual - Page 72
    AGB Programming Manual Rendering Functions 6.4 Display Priority of OBJ and BG 1) Priority Among BGs Priority among BGs can be set to any of 4 levels. When BGs have the
  • Nintendo 1504166 | Programming Manual - Page 73
    AGB Programming Manual Color Palettes 7 Color Palettes 7.1 Color Palette Overview The LCD unit of AGB can display 32 levels of red, 32 levels of green, and 32 levels
  • Nintendo 1504166 | Programming Manual - Page 74
    AGB Programming Manual Color Palettes 7.2 Color Palette RAM OBJs and BGs use separate palettes. The size of palette RAM is large enough (512 bytes) to hold data (16-
  • Nintendo 1504166 | Programming Manual - Page 75
    AGB Programming Manual Color Palettes Either of 2 modes (16 colors x 16 palette and 256 colors x 1 palette) can be selected for OBJ and BG. Palette RAM for these modes
  • Nintendo 1504166 | Programming Manual - Page 76
    AGB Programming Manual 7.3 Color Data Format Allows 1 of 32,768 colors to be specified. 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 B4 B3 B2 B1 B0 G4 G3 G2 G1 G0 R4 R3 R2 R1 R0 Blue Green Red Color Palettes ©1999 - 2001 Nintendo of America Inc. 76 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 77
    AGB Programming Manual Window Feature 8 Window Feature The AGB system can display 2 windows simultaneously. Display of the areas inside and outside the windows can be separately turned on
  • Nintendo 1504166 | Programming Manual - Page 78
    AGB Programming Manual Window Feature 8.2 Window Control The window control registers control operations such as turning window display on and off. However, the master window display flag of
  • Nintendo 1504166 | Programming Manual - Page 79
    AGB Programming Manual Window Feature 2) Control of Outside of Window and Inside of OBJ Window The WINOUT register controls display of the area outside the window. It controls
  • Nintendo 1504166 | Programming Manual - Page 80
    AGB Programming Manual Color Special Effects 9 Color Special Effects The AGB provides the following color special effects. The area where these effects are applied can be limited using a
  • Nintendo 1504166 | Programming Manual - Page 81
    AGB Programming Manual Color Special Effects In addition, semi-transparent OBJs are individually specified in OAM, and color special effects for the OBJ as a whole, are specified in
  • Nintendo 1504166 | Programming Manual - Page 82
    AGB Programming Manual Color Special Effects 9.2 Color Special Effects Processing Coefficients for Color Special Effects Address 052h Register BLD ALPHA 15 14 13 12 11 10 09 08
  • Nintendo 1504166 | Programming Manual - Page 83
    AGB Programming Manual Color Special Effects The color special effects arithmetic expressions that use the coefficients are shown below. 1. α Blending (16 levels of semi-transparency) Operations Display color (R) =
  • Nintendo 1504166 | Programming Manual - Page 84
    AGB Programming Manual Sound 10 Sound In addition to 4 channels of CGB-compatible sound, AGB has 2 channels of direct sound. 1. Direct Sounds A and B Provides playback of linear 8-bit
  • Nintendo 1504166 | Programming Manual - Page 85
    AGB Programming Manual Sound 10.2 Direct Sounds A and B Direct sounds have 2 channels, A and B. Linear 8-bit audio data can be played back. The audio data are set to a bias level of 00h and are 8-bit data (+127 to -128), obtained by 2's complement. Audio data are transferred
  • Nintendo 1504166 | Programming Manual - Page 86
    AGB Programming Manual Sound With the preceding preparations, direct sound is executed as follows. Direct Sound Execution 1. When the specified timer overflows due to a count up, the audio
  • Nintendo 1504166 | Programming Manual - Page 87
    AGB Programming Manual Sound 10.3 Sound 1 Sound 1 is a circuit that generates rectangular waveforms with sweep (frequency change) and envelope (volume change) functions. The contents of NR10, NR11, NR12,
  • Nintendo 1504166 | Programming Manual - Page 88
    AGB Programming Manual Sound SOUND1CNT_L [d02 - 00] Number of Sweep Shifts Specifies the number of sweeps. The frequency data with a single shift are determined according to the following
  • Nintendo 1504166 | Programming Manual - Page 89
    AGB Programming Manual Sound SOUND1CNT_H [d10 - 08] Number of Envelope Steps Sets the length of each step of envelope amplification or attenuation. With n the specified value, the length
  • Nintendo 1504166 | Programming Manual - Page 90
    AGB Programming Manual Sound Address 064h Register SOUND1 CNT_X 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Attributes NR14 NR13 R/W
  • Nintendo 1504166 | Programming Manual - Page 91
    AGB Programming Manual Sound 10.4 Sound 2 Sound 2 is a circuit that generates rectangular waveforms with envelope functions. The contents of NR21, NR22, NR23, NR24 for Sound 2, conform with those
  • Nintendo 1504166 | Programming Manual - Page 92
    AGB Programming Manual Sound SOUND2CNT_L [d05 - 00] Sound Length With st signifying the sound length data, the length of the output sound is determined by the following formula.
  • Nintendo 1504166 | Programming Manual - Page 93
    AGB Programming Manual Sound 10.5 Sound 3 The Sound 3 circuit outputs arbitrary waveforms and can a setting of 1, the data in the bank specified by NR30 [d06] (waveform RAM bank specification) is played, followed immediately by the data in the back bank. The front bank 32 steps and the back bank 32
  • Nintendo 1504166 | Programming Manual - Page 94
    AGB Programming Manual Sound Address Register 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Attributes Initial Value 072h SOUND3 CNT_H
  • Nintendo 1504166 | Programming Manual - Page 95
    AGB Programming Manual Sound SOUND3CNT_X [d14] Sound Length Flag When 0, sound is RAM may be corrupted. With sounds 1, 2 , and 4, the initialization flag can be set without problems. 2. For sound 3, if you change the frequency when selecting a consecutive operation mode (Reset the sound
  • Nintendo 1504166 | Programming Manual - Page 96
    AGB Programming Manual Sound Waveform RAM Waveform RAM consists of a 4-bit x 32-step waveform pattern. It has 2 banks, with [d06] of SOUND3CNT_L used for bank specification. The Sound 3 circuit plays the waveform data specified by the bank setting, while the waveform RAM not specified is the
  • Nintendo 1504166 | Programming Manual - Page 97
    AGB Programming Manual Sound 10.6 Sound 4 Sound 4 is a circuit that generates white noise with the envelope function. The contents of NR41, NR42, NR43, and NR44 for Sound 4 conform
  • Nintendo 1504166 | Programming Manual - Page 98
    AGB Programming Manual Sound Address 07Ch Register SOUND4 CNT_H 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Attributes NR44 NR43 R/W
  • Nintendo 1504166 | Programming Manual - Page 99
    AGB Programming Manual Sound SOUND4CNT_H [d02 - 00] Dividing Ratio Frequency Selection Selects a 14-step prescalar input clock to produce the shift clock for the polynomial counter. With f=4.194304
  • Nintendo 1504166 | Programming Manual - Page 100
    AGB Programming Manual Sound 10.7 Sound Control The output ratio for direct sound and sound can be set using the SOUNDCNT_H register. Final sound control can be achieved
  • Nintendo 1504166 | Programming Manual - Page 101
    AGB Programming Manual Sound Address 084h Register SOUND CNT_X 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Attributes Initial Value
  • Nintendo 1504166 | Programming Manual - Page 102
    AGB Programming Manual Sound Address 082h Register SOUND CNT_H 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Attributes Initial Value R/W
  • Nintendo 1504166 | Programming Manual - Page 103
    AGB Programming Manual Sound SOUNDCNT_H [d15],[d11] FIFO Clear and Sequencer Reset for Each Direct Sound With direct sound the sequencer counts the number of times data is
  • Nintendo 1504166 | Programming Manual - Page 104
    AGB Programming Manual Sound 10.8 Sound PWM Control Bit modulation format PWM is used in the AGB sound circuit. When no sound is produced, the duty waveform is
  • Nintendo 1504166 | Programming Manual - Page 105
    AGB Programming Manual Sound SOUNDBIAS[d09-00] Bias Level This is used by system ROM. Please do not change this value, as it may cause errors. ©1999 - 2001 Nintendo of America Inc. 105 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 106
    AGB Programming Manual Timer 11 Timer AGB is equipped with 4 channels of 16 bit timers. Of these, timers 0 and 1 can be used to set the interval for the
  • Nintendo 1504166 | Programming Manual - Page 107
    AGB Programming Manual Timer TM*CNT_H [d02] Count-Up Timing With a setting of 0, count-up is performed in accordance with the prescalar specification in [d01-00]. With a setting
  • Nintendo 1504166 | Programming Manual - Page 108
    AGB Programming Manual DMA Transfer 12 DMA Transfer AGB has 4 DMA transfer channels. The highest priority of these channels is DMA0, followed in order by DMA1, DMA2, and
  • Nintendo 1504166 | Programming Manual - Page 109
    AGB Programming Manual DMA Transfer 12.1 DMA 0 DMA 0 allows different areas of internal memory in the main unit to access one another. It has the highest priority of
  • Nintendo 1504166 | Programming Manual - Page 110
    AGB Programming Manual DMA Transfer 4) DMA Control Address 0BAh Register DMA0 CNT_H 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
  • Nintendo 1504166 | Programming Manual - Page 111
    AGB Programming Manual DMA Transfer DMA0CNT_H [d14] Interrupt Request Enable Flag Enables an interrupt request to be generated when DMA transfer of the specified word count has been
  • Nintendo 1504166 | Programming Manual - Page 112
    AGB Programming Manual DMA Transfer DMA0CNT_H [d08] Source Address Control Flag Control of the source address is specified after each DMA transfer. A setting of 00 causes an increment. A
  • Nintendo 1504166 | Programming Manual - Page 113
    AGB Programming Manual DMA Transfer 12.2 DMA 1 and 2 DMA channels 1 and 2 provide access between the Game Pak bus/internal memory of the main unit and internal memory of the main unit, or between the Game Pak bus/internal memory of the main unit and the direct sound FIFO. Transfers to directsound
  • Nintendo 1504166 | Programming Manual - Page 114
    AGB Programming Manual DMA Transfer 4) DMA Control Address Register 0C6h DMA1CNT_H 0D2h DMA2CNT_H 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01
  • Nintendo 1504166 | Programming Manual - Page 115
    AGB Programming Manual DMA Transfer DMA(1,2)CNT_H [d14] Interrupt Request Enable Flag Enables an interrupt request to be generated when DMA transfer of the specified word count has
  • Nintendo 1504166 | Programming Manual - Page 116
    AGB Programming Manual DMA Transfer DMA(1,2)CNT_H [d09] DMA Repeat With the DMA causes a decrement. A setting of 10 causes it to be fixed. 11 is a prohibited code. When the Game Pak Bus has been set to the source address, make sure you select increment. DMA(1,2)CNT_H [d07] Destination Address
  • Nintendo 1504166 | Programming Manual - Page 117
    AGB Programming Manual DMA Transfer 12.3 DMA 3 DMA 3 provides memory access between the Game Pak bus and internal memory of address using 28 bits. The area 00000000h-0FFFFFFFh (internal memory area of main unit and Game Pak memory area) can be specified. Address Register 15 14 13 12 11 10 09
  • Nintendo 1504166 | Programming Manual - Page 118
    AGB Programming Manual DMA Transfer 4) DMA Control Address Register 15 14 13 12 11: Prohibited Code DMA Repeat 0: OFF 1: ON DMA Transfer Type 0: 16-bit Transfer 1: 32-bit Transfer Game Pak Data Request Transfer Flag 0: Disable(Normal) 1: Enable DMA Start Timing 00: Start Immediately 01: Start in
  • Nintendo 1504166 | Programming Manual - Page 119
    AGB Programming Manual DMA Transfer DMA3CNT_H [d14] Interrupt Request Enable Flag to a data request from the Game Pak. [Note] A Game Pak that supports this transfer mode is required in order to use it. In addition, it cannot be used at the same time as a Game Pak interrupt. DMA3CNT_H [d10] DMA
  • Nintendo 1504166 | Programming Manual - Page 120
    AGB Programming Manual DMA Transfer DMA3CNT_H [d09] DMA Repeat With the DMA repeat the amount of data specified by the value in the word-count register has been transferred. However, in Game Pak data request mode do not use the repeat function. DMA3CNT_H [d08] Source Address Control Flag Control
  • Nintendo 1504166 | Programming Manual - Page 121
    AGB Programming Manual DMA Transfer Display Synchronization DMA This function is used to DMA enable flag is reset to 0 automatically and the DMA stops. If the DMA enable flag is cleared manually, there is a possibility of a malfunction. Always wait until the DMA enable flag is reset to 0. Although
  • Nintendo 1504166 | Programming Manual - Page 122
    Manual DMA Transfer 12.4 DMA Problems: How to avoid them. With DMA transfer it is possible to synchronize with H-blank, V-blank, Direct sound (DMA1,2), and Display (DMA3) (DMA repeat). However, there are some problems ) -Data request transfer flag of the Game Pak side: 0 (Disabled) (DMA3 only
  • Nintendo 1504166 | Programming Manual - Page 123
    AGB Programming Manual DMA Transfer 3.Write the following settings in 16-bit blocks to the DMA control register and stop the DMA. -DMA enabled flag : -DMA start timing : -Data request transfer flag of the Game Pak side : -DMA repeat : -Other control bits : 0 (Disabled) 00 0 (DMA3 only) 0 No
  • Nintendo 1504166 | Programming Manual - Page 124
    AGB Programming Manual DMA Transfer 3. Write the following settings in the 16-bit width to the DMA control register and stop the DMA - DMA enabled flag : 0 (Disabled) - DMA
  • Nintendo 1504166 | Programming Manual - Page 125
    Manual Communication Functions 13 Communication Functions AGB provides the following five functions. 1. 8-bit/32-bit normal communication function The use of Game be a one-way communication due to cable connection of multi-play communication. Due to differences in voltage, communication with DMG/
  • Nintendo 1504166 | Programming Manual - Page 126
    AGB Programming Manual Communication Functions Selecting Communication Function All the communication functions use an external expansion 6-pin connector. Communication functions are switched by the communication function set flag
  • Nintendo 1504166 | Programming Manual - Page 127
    Manual Communication 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
  • Nintendo 1504166 | Programming Manual - Page 128
    AGB Programming Manual Communication Functions 13.1 8-Bit/32-Bit Normal Serial Communication Serial transfer sends/receives simultaneously. If data is set in the data register and the serial
  • Nintendo 1504166 | Programming Manual - Page 129
    AGB Programming Manual Communication Functions 8 bit Normal Serial Communication Data Register 8-bit transfer mode uses SIODATA8 as a data register. The upper 8-bits will become disabled. (This data register is used for 16 bit multi-play communication as well.) Address Register 12Ah SIODATA8
  • Nintendo 1504166 | Programming Manual - Page 130
    AGB Programming Manual Communication Functions Control Register When Register RCNT (d15) = (0), the mode will be 8-bit normal serial communication mode by setting to Register SIOCNT (d13, d12) = (0,0), and
  • Nintendo 1504166 | Programming Manual - Page 131
    AGB Programming Manual Communication Functions SIOCNT [d03] Transfer Enable Flag Send A setting of terminal varies. Therefore, communication between AGB and DMG/CGB is not possible. Using a Game Link cable for DMG/MGB is prohibited in normal serial communication mode. It is possible to
  • Nintendo 1504166 | Programming Manual - Page 132
    AGB Programming Manual Communication Functions Always set a communication speed at 256KHz when performing normal communication with the AGB Game Link cable. Communication cannot be done properly at 2MHz. Also, please note it will be a one-way communication due to cable connection of multiplay
  • Nintendo 1504166 | Programming Manual - Page 133
    AGB Programming Manual Normal Serial Communication Flow(Example) Set (0) in (d15) of Register RCNT Set (0,0) or (0,1) in (d05,d04) of Control Register SIOCNT Communication Functions Set transfer data
  • Nintendo 1504166 | Programming Manual - Page 134
    AGB Programming Manual Communication Functions 13.2 16-Bit Multi-player Communication AGB enables multi-player communication mode. The SI terminal is in pull-up input, but due to the multi player AGB Game Link cable it becomes pull-down. Thus, once all of the terminals are in multi-player mode,
  • Nintendo 1504166 | Programming Manual - Page 135
    AGB Programming Manual Communication Functions At this point, the data output from the first slave is stored in the master and each slave's SIOMULTI1 Register. In this way,
  • Nintendo 1504166 | Programming Manual - Page 136
    AGB Programming Manual Communication Functions Multi-player Communication Timing Chart Set 01- F Interrupt Request HI View of Terminal Status LO Input Output Multi Player AGB Game Link cable Connecting Diagram Small Connector Large Connector Input ©1999 - 2001 Nintendo of America
  • Nintendo 1504166 | Programming Manual - Page 137
    AGB Programming Manual Communication Functions Data Registers Address 12Ah The data send is stored in the Register SIOMLT_SEND. Register SIOMLT_ SEND 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Attributes R/W Initial Value 0000h After multi-play communication is finished, a send data of
  • Nintendo 1504166 | Programming Manual - Page 138
    AGB Programming Manual Communication Functions Control Register If you set Register SIOCNT (d13,d12) = (1,0) when Register RCNT (d15) = (0), you will go to 16-bit multi-player communication mode.
  • Nintendo 1504166 | Programming Manual - Page 139
    AGB Programming Manual Communication Functions 2)Slave(d00 is 0) Set during input of transmit order that each particular machine was connected. Confirm ID code when communicating so there are no problems created in case of an incorrect cable connection. SIOCNT [d03] SD Terminal The status of
  • Nintendo 1504166 | Programming Manual - Page 140
    AGB Programming Manual SIOCNT [d01 - d00] Baud Rate Sets the communication baud rate. Setting 00 01 10 11 Baud Rate 9600 bps 38400 bps 57600 bps 115200 bps Communication Functions ©1999 - 2001 Nintendo of America Inc. 140 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 141
    Programming Manual Multi-player Communication Flow (Example) Set (0) in (d15) of Register RCNT Set (1,0) in (d12,d13) of Control Register SIOCNT Communication Functions Set transfer data Is (d03) of Register SIOCNT, (1)? Yes No No Either there is an improper connection due to the Multi- play
  • Nintendo 1504166 | Programming Manual - Page 142
    AGB Programming Manual Communication Functions 13.3 UART Communication Functions UART communications can be illustrated using the following drawing. SI SI SO SO SD SD SC SC In UART
  • Nintendo 1504166 | Programming Manual - Page 143
    AGB Programming Manual Communication Functions When FIFO is Used If written to a data register SIODATA8, data is written to a send FIFO. If all the contents of the send
  • Nintendo 1504166 | Programming Manual - Page 144
    AGB Programming Manual Communication Functions Control Register If Register SIOCNT (d13,d12) = (1,1) is set when Register RCNT (d15) = (0), you will go to UART communication mode. Address 128h Register
  • Nintendo 1504166 | Programming Manual - Page 145
    AGB Programming Manual Communication Functions SIOCNT [d14] Interrupt Request Enable Flag When set to 0, an interrupt request is not generated. When set to 1 and FIFO is invalid, an
  • Nintendo 1504166 | Programming Manual - Page 146
    AGB Programming Manual Communication Functions SIOCNT [d06] Error Flag By referring to this error flag, the status of communication errors can be determined. When it is 0, no errors
  • Nintendo 1504166 | Programming Manual - Page 147
    AGB Programming Manual SIOCNT [d01 - d00] Baud Rate Sets communication baud rate. Setting 00 01 10 11 Baud Rate 9600 bps 38400 bps 57600 bps 115200 bps Communication Functions ©1999 - 2001 Nintendo of America Inc. 147 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 148
    AGB Programming Manual Communication Functions 13.4 General Purpose Communication By setting (d15, d14 )= (1, 0) for RCNT SI terminal to an input. If it is set to an output, a problem may occur with some connecting equipment. ©1999 - 2001 Nintendo of America Inc. 148 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 149
    AGB Programming Manual Communication Functions RCNT [d03 - d00] Data Bit When the corresponding terminal is set for input, the status(HI/LO) of the terminal can be confirmed.
  • Nintendo 1504166 | Programming Manual - Page 150
    AGB Programming Manual Communication Functions 13.5 JOY Bus Communication By setting the communication function set flag to 11 for Register RCNT, JOY Bus communication mode is selected. In
  • Nintendo 1504166 | Programming Manual - Page 151
    AGB Programming Manual Communication Functions JOYCNT [d00] Device Reset Signal Receive Flag Set when a device reset command is received. When this is set, if you write a 1, a reset can
  • Nintendo 1504166 | Programming Manual - Page 152
    AGB Programming Manual Communication Functions JOYSTAT [d03] Send Status Flag When an AGB write data signal is received, this is set. If a word read is done with the
  • Nintendo 1504166 | Programming Manual - Page 153
    AGB Programming Manual Communication Functions § [AGB Data Write] Command(15h) Received Receives the 4 bytes of data sent following this command, and stores them in Register JOY_RECV. Once the
  • Nintendo 1504166 | Programming Manual - Page 154
    AGB Programming Manual Communication Functions 13.6 AGB Game Link Cable When communicating between AGB units, the AGB Game Link cable to be used will vary depending upon the type of Game Pak used. ©1999 - 2001 Nintendo of America Inc. 154 D.C.N. AGB-06-0001-002B4
  • Nintendo 1504166 | Programming Manual - Page 155
    AGB Programming Manual Key Input 14 Key Input 14.1 Key Status AGB allows input with the L and R buttons, as well as with START and SELECT, Control Pad, and A
  • Nintendo 1504166 | Programming Manual - Page 156
    AGB Programming Manual Key Input 14.2.1 Interrupt Conditions Specifies interrupt generation conditions when the interrupt enable request flag is true. The conditions for buttons selected with the key
  • Nintendo 1504166 | Programming Manual - Page 157
    AGB Programming Manual Interrupt Control 15 Interrupt Control AGB can use 14 types of DMA DMA DMA 32 1 0 Timer Timer Timer Timer 3 21 0 H V R/W 0000h DMA Key Game Pak(DREQ/IREQ) Rendering Blank V Counter Match Timer Serial Communication/General Purpose Communication/JOY Bus Communication/ UART
  • Nintendo 1504166 | Programming Manual - Page 158
    AGB Programming Manual Interrupt Control 3) Interrupt Request Register When an Blank V Counter Matching Timer DMA Serial Communication/General Purpose Communication/JOY Bus Communication/UART Communication Key Game Pak(DREQ/IREQ) If a 1 is written to the bit which the interrupt request flag
  • Nintendo 1504166 | Programming Manual - Page 159
    AGB Programming Manual Interrupt Control 15.1 System-Allocated Area in Work RAM Controlling interrupts the user interrupt. To return control from the interrupt routine to the user program, the instruction "BX LR" is used. 32 bit 03007FFC Interrupt Address 03007FF8 Allocated Area * Interrupt
  • Nintendo 1504166 | Programming Manual - Page 160
    AGB Programming Manual Interrupt Control 15.2 Interrupt Operation The user can arbitrarily interrupt processing. Therefore, there is a possibility of stack overflow in some cases. To solve this problem, you can either allocate a larger interrupt stack by moving SP_usr in advance or use user stack
  • Nintendo 1504166 | Programming Manual - Page 161
    AGB Programming Manual Interrupt Control 15.2.2 Multiple Interrupts 1) If an interrupt occurs, 03007FA0 SP_usr 03007F00 IRQ Stack 6 WORDS SPSR_irq SP_irq 03007FE0 03007FA0 SVC Stack SP_svc à The Stack problem is solved* (CPU mode is changed to user mode with system mode = privilege here.)
  • Nintendo 1504166 | Programming Manual - Page 162
    AGB Programming Manual Interrupt Control à When an interrupt occurs, Monitor ROM does the processing (1) again, and loads each register to the interrupt stack. 03007F00 USR Stack LR_usr User
  • Nintendo 1504166 | Programming Manual - Page 163
    AGB Programming Manual Power Down Functions 16 Power-Down Functions 16.1 Stop Function 1) Implementation of Stop Mode AGB is placed in stop mode by executing the system call [SWI ] instruction (Stop( )) 2) Canceling Stop Mode If the corresponding flag of the interrupt enable register IE is set
  • Nintendo 1504166 | Programming Manual - Page 164
    AGB Programming Manual Power Down Functions 16.2 Halt Function Halt Function Summary During 1. Transition to Halt Mode AGB is placed in halt mode by executing the system call [SWI instruction (Halt( )). AGB enters Halt status. 2. Cancel Halt Mode Halt is canceled when the interrupt enable
  • Nintendo 1504166 | Programming Manual - Page 165
    AGB System Calls 17 AGB System Calls Please refer to the AGB System Call Reference Manual for AGB system calls. 17.1 System Call Operation 17.1.1 Normal Calls 1) When an argument is required for the system call used, after writing to registers
  • Nintendo 1504166 | Programming Manual - Page 166
    AGB Programming Manual AGB System Calls 6) Return value to registers R0, R1, and R3, in cases where a system call provides a return value, and then return to the user
  • Nintendo 1504166 | Programming Manual - Page 167
    AGB Programming Manual AGB System Calls 17.1.2 Multiple Calls 1) When an argument is required for CPU mode is changed to System Mode (User Mode with privilege) in order to solve the problem with stacks (to reference interrupt processing). 03007F00 USR Stack LR_usr R2 Save with each System Call
  • Nintendo 1504166 | Programming Manual - Page 168
    AGB Programming Manual AGB System Calls 7) Monitor ROM does the system call operation (1), and loads to the system call stack. 03007F00 USR Stack LR_usr R2 Save with each
  • Nintendo 1504166 | Programming Manual - Page 169
    AGB Programming Manual AGB System Calls 12) Complete the user interrupt processing and return to the previous system call. 03007F00 USR Stack LR_usr R2 Save with each System
  • Nintendo 1504166 | Programming Manual - Page 170
    AGB Programming Manual ROM Registration Data 18 ROM Registration Data As with software for CGB, it is necessary to register information about the game in the program area for AGB software. 8000000h 8000010h 8000020h 0 1 2 3 4 5 6 7 8 9 ABCDE F Start Address Nintendo Logo Character Data (8000004h
  • Nintendo 1504166 | Programming Manual - Page 171
    AGB Programming Manual ROM Registration Data Device Type Store the type of device that is installed in the Game Pak. If there is a 1 Mbit flash DACS (Debugging And Communication System) (=custom 1Mbit flash Memory with security and patch functions) in a Game Pak, set the most significant bit to 1.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171

April 2, 2001
AGB Programming Manual
Version 1.1
1999 - 2001 Nintendo of America Inc.