OpenSNES
Modern Open-Source SNES Development SDK
Loading...
Searching...
No Matches
interrupt.h
Go to the documentation of this file.
1
10
11#ifndef OPENSNES_INTERRUPT_H
12#define OPENSNES_INTERRUPT_H
13
14#include <snes/types.h>
15
16/* Removed on 2026-10-05 (1.0 plan, lot C): nmiSetBank, irqSetBank.
17 * The replacements are in docs/UPGRADING.md; `make check-upgrade` names them. */
18
19/*============================================================================
20 * VBlank Callback
21 *============================================================================*/
22
33typedef void (*VBlankCallback)(void);
34
92void nmiSet(VBlankCallback callback);
93
99void nmiClear(void);
100
101/*============================================================================
102 * Hardware IRQ (H/V timer)
103 *============================================================================*/
104
106#define IRQ_HTIMER 0x10
108#define IRQ_VTIMER 0x20
109
136void irqSet(void *handler);
137
141void irqClear(void);
142
151
159
170void irqEnable(u8 flags);
171
178void irqDisable(void);
179
180#endif /* OPENSNES_INTERRUPT_H */
unsigned short u16
16-bit unsigned integer (0 to 65535)
Definition types.h:53
unsigned char u8
8-bit unsigned integer (0 to 255)
Definition types.h:47
void irqSetVTimer(u16 v)
Set the V-timer target (0-261 scanlines NTSC).
void nmiClear(void)
Clear the VBlank callback.
void nmiSet(VBlankCallback callback)
Register a VBlank callback function.
void irqSet(void *handler)
Install a raw hardware IRQ handler (H/V timer interrupts).
void irqDisable(void)
Disable H/V timer IRQs.
void irqSetHTimer(u16 h)
Set the H-timer target (0-339 dots).
void(* VBlankCallback)(void)
VBlank callback function pointer type.
Definition interrupt.h:33
void irqClear(void)
Restore the default IRQ handler (acknowledge + return).
void irqEnable(u8 flags)
Enable H/V timer IRQs and unmask interrupts (CLI).
OpenSNES Standard Types.