Nintendo 1504166 Programming Manual - Page 158

Interrupt Request Register, Cautions regarding clearing IME and IE], When multiple interrupts are used

Page 158 highlights

AGB Programming Manual Interrupt Control 3) Interrupt Request Register When an interrupt request signal is generated from each hardware device, the corresponding interrupt request flag is set in the IF Register. Address 202h Register 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Attributes Initial Value IF DMA DMA DMA DMA 3 2 10 Timer Timer Timer Timer 32 1 0 H V R 0000h Rendering 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 is set in, that interrupt request flag can be reset [Cautions regarding clearing IME and IE] A corresponding interrupt could occur even while a command to clear IME or each flag of the IE register is being executed. When clearing a flag of IE, you need to clear IME in advance so that mismatching of interrupt checks will not occur. When multiple interrupts are used When the timing of clearing of IME and the timing of an interrupt agree, multiple interrupts will not occur during that interrupt. Therefore, set (enable) IME after saving IME during the interrupt routine. ©1999 - 2001 Nintendo of America Inc. 158 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
Interrupt Control
©1999 - 2001 Nintendo of America Inc.
158
D.C.N. AGB-06-0001-002B4
3) Interrupt Request Register
When an interrupt request signal is generated from each hardware device, the
corresponding interrupt request flag is set in the IF Register.
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
IF
202h
0000h
R
Address
Register
AttributesInitial Value
V Counter Matching
V
H
Rendering Blank
DMA
Key
Timer
0
Timer
1
Timer
2
Timer
3
DMA
0
DMA
1
DMA
2
DMA
3
Timer
Serial Communication/General Purpose
Communication/JOY Bus
Communication/UART Communication
Game Pak(DREQ/IREQ)
If a 1 is written to the bit which the interrupt request flag is set in, that interrupt request
flag can be reset
[Cautions regarding clearing IME and IE]
A corresponding interrupt could occur even while a command to clear IME or each flag
of the IE register is being executed.
When clearing a flag of IE, you need to clear IME in advance so that mismatching of
interrupt checks will not occur.
When multiple interrupts are used
When the timing of clearing of IME and the timing of an interrupt agree, multiple
interrupts will not occur during that interrupt.
Therefore, set (enable) IME after saving
IME during the interrupt routine.