Alchemy
Loading...
Searching...
No Matches

irq.h

Go to the documentation of this file.
1#ifndef ALCHEMY_IRQ_H
2#define ALCHEMY_IRQ_H
3
4/// @file
5/// The hardware's interrupt sources and the interrupt handler table.
6
7#include "edition.h"
8#include "types.h"
9
10/// The hardware's interrupt sources: each one's bit number in IE and IF, and
11/// its slot in gIrqHandlers.
12enum {
28};
29
30#define INTR_FLAG_VBLANK (1 << IRQ_VBLANK)
31#define INTR_FLAG_TIMER3 (1 << IRQ_TIMER3)
32#define INTR_FLAG_SERIAL (1 << IRQ_SERIAL)
33#define INTR_FLAG_KEYPAD (1 << IRQ_KEYPAD)
34#define INTR_FLAG_GAMEPAK (1 << IRQ_GAMEPAK)
35
36typedef void (*InterruptHandler)(void);
37
38/// The handler the IWRAM dispatcher calls for each interrupt source.
40
41/// The handlers installed at power-on, copied into gIrqHandlers.
43
44extern u8 IwramIrqMain[];
45extern const u32 IwramIrqModeWord;
46extern const u8 IwramRuntime_Rom[];
47extern void *gIrqVector;
48
49#endif
The edition's language, for C to compare (LANGUAGE == LANGUAGE_GERMAN).
InterruptHandler gIrqHandlers[IRQ_COUNT]
The handler the IWRAM dispatcher calls for each interrupt source.
u8 IwramIrqMain[]
const u8 IwramRuntime_Rom[]
@ IRQ_TIMER2
Definition irq.h:18
@ IRQ_KEYPAD
Definition irq.h:25
@ IRQ_TIMER0
Definition irq.h:16
@ IRQ_VBLANK
Definition irq.h:13
@ IRQ_SERIAL
Definition irq.h:20
@ IRQ_COUNT
Definition irq.h:27
@ IRQ_HBLANK
Definition irq.h:14
@ IRQ_DMA0
Definition irq.h:21
@ IRQ_TIMER1
Definition irq.h:17
@ IRQ_GAMEPAK
Definition irq.h:26
@ IRQ_TIMER3
Definition irq.h:19
@ IRQ_DMA3
Definition irq.h:24
@ IRQ_VCOUNT
Definition irq.h:15
@ IRQ_DMA2
Definition irq.h:23
@ IRQ_DMA1
Definition irq.h:22
const u32 gRuntime_IrqHandlers[IRQ_COUNT]
The handlers installed at power-on, copied into gIrqHandlers.
const u32 IwramIrqModeWord
void * gIrqVector
void(*) InterruptHandler(void)
Definition irq.h:36
The integer types, TRUE, UNUSED and the fixed-address macros.
unsigned int u32
Definition types.h:15
unsigned char u8
Definition types.h:11