Nintendo 1504166 Programming Manual - Page 17

Memory Configuration and Access Width, 2.4 Little-Endian, Mask ROM, Flash Memory

Page 17 highlights

AGB Programming Manual System Configuration 2.3 Memory Configuration and Access Width Memory Type OAM Palette RAM VRAM CPU Internal Working RAM CPU External Working RAM Internal registers Game Pak ROM (Mask ROM, Flash Memory) Game Pak RAM (SRAM, Flash Memory) Bus Width 32 16 16 32 16 32 16 8 DMA Read Write Width Width 16/32 16/32 16/32 16/32 16/32 16/32 16/32 16/32 16/32 16/32 16/32 16/32 16/32 16/32 -- -- CPU Read Write Width Width 16/32 16/32 16/32 16/32 16/32 16/32 8/16/32 8/16/32 8/16/32 8/16/32 8/16/32 8/16/32 8/16/32 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 in 8-bit increments, and littleendian format is used in implementing the 8-, 16-, and 32-bit access widths. 0003h 0002h 0001h 0000h Memory D C B A Register d31 d24 d23 d16 d15 d08 d07 d00 D C B A ©1999 - 2001 Nintendo of America Inc. 17 D.C.N. AGB-06-0001-002B4

  • 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

AGB Programming Manual
System Configuration
©1999 - 2001 Nintendo of America Inc.
17
D.C.N. AGB-06-0001-002B4
2.3 Memory Configuration and Access Width
DMA
CPU
Memory Type
Bus
Width
Read
Width
Write
Width
Read
Width
Write
Width
OAM
32
16/32
16/32
16/32
16/32
Palette RAM
16
16/32
16/32
16/32
16/32
VRAM
16
16/32
16/32
16/32
16/32
CPU Internal Working RAM
32
16/32
16/32
8/16/32
8/16/32
CPU External Working RAM
16
16/32
16/32
8/16/32
8/16/32
Internal registers
32
16/32
16/32
8/16/32
8/16/32
Game Pak ROM
(Mask ROM, Flash Memory)
16
16/32
16/32
8/16/32
16/32
Game Pak RAM
(SRAM, Flash Memory)
8
--
--
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 in 8-bit increments, and little-
endian format is used in implementing the 8-, 16-, and 32-bit access widths.
A
B
C
D
0000h
0001h
0002h
0003h
Memory
Register
A
B
C
D
d31
d24
d23
d16
d15
d08
d07
d00