23#ifndef LIBWS_SYSTEM_H_
24#define LIBWS_SYSTEM_H_
38#define WS_INT_UART_TX 0
42#define WS_INT_KEY_SCAN 1
46#define WS_INT_CARTRIDGE 2
50#define WS_INT_UART_RX 3
54#define WS_INT_LINE_MATCH 4
58#define WS_INT_VBL_TIMER 5
62#define WS_INT_VBLANK 6
66#define WS_INT_HBL_TIMER 7
244#define ws_int_pop_enabled ws_int_enable_set
#define WS_INT_ENABLE_PORT
#define WS_SYSTEM_CTRL_COLOR_PORT
#define WS_SYSTEM_CTRL_PORT
#define WS_SYSTEM_CTRL_MODEL_COLOR
static bool ws_system_is_color_active(void)
Check if this device is currently in Color mode.
void ws_int_enable(uint8_t mask)
Enable selected hardware interrupts.
static void ws_int_ack(uint8_t mask)
Acknowledge hardware interrupt.
ws_system_mode_t
WonderSwan system mode.
void ws_int_set_default_handler_line(void)
Register a default, acknowledge-only interrupt handler.
ws_system_model_t ws_system_get_model(void)
Get the device's model.
void ws_int_set_default_handler_vblank(void)
Register a default, acknowledge-only interrupt handler.
void ws_int_set_default_handler_key(void)
Register a default, acknowledge-only interrupt handler.
void ws_int_disable(uint8_t mask)
Disable selected hardware interrupts.
bool ws_system_set_mode(ws_system_mode_t mode)
Set the new system mode.
static void ws_int_disable_all(void)
Disable all hardware interrupts.
void ws_int_set_handler(uint8_t idx, ia16_int_handler_t handler)
Register a hardware interrupt handler.
void ws_int_set_default_handler_serial_rx(void)
Register a default interrupt handler for serial receiving. This handler will automatically disable an...
static ws_system_mode_t ws_system_get_mode(void)
Get the current system mode.
static bool ws_system_is_color_model(void)
Check if this device is capable of supporting Color mode (= is a WonderSwan Color or above).
void ws_int_set_default_handler_vblank_timer(void)
Register a default, acknowledge-only interrupt handler.
ws_system_model_t
WonderSwan device model.
void ws_int_set_default_handler_serial_tx(void)
Register a default interrupt handler for serial transmission. This handler will automatically disable...
static uint8_t ws_int_push_set_enabled(uint8_t mask)
static void ws_int_set_enabled(uint8_t mask)
Set selected hardware interrupts.
void ws_int_set_default_handler_hblank_timer(void)
Register a default, acknowledge-only interrupt handler.
@ WS_MODE_COLOR_4BPP
Color/4bpp mode.
@ WS_MODE_COLOR
Color mode.
@ WS_MODE_COLOR_4BPP_PACKED
Color/4bpp/Packed mode.
@ WS_MODEL_CRYSTAL
SwanCrystal.
@ WS_MODEL_PCV2
Pocket Challenge V2.
@ WS_MODEL_COLOR
WonderSwan Color.
@ WS_MODEL_MONO
WonderSwan (mono).