51#define WS_TIMER_HBLANK_HZ_TO_TICKS(hz) ((uint16_t) WS_HZ_TO_DIVIDER((hz), 12000))
60#define WS_TIMER_VBLANK_HZ_TO_TICKS(hz) ((uint16_t) WS_HZ_TO_DIVIDER((hz), 12000 / (WS_DISPLAY_VTOTAL))))
static void outportw(uint8_t port, uint16_t value)
Write a word to the given port.
static void outportb(uint8_t port, uint8_t value)
Write a byte to the given port.
static uint8_t inportb(uint8_t port)
Read a byte from the given port.
static uint16_t inportw(uint8_t port)
Read a word from the given port.
#define WS_TIMER_CTRL_PORT
#define WS_TIMER_VBL_RELOAD_PORT
#define WS_TIMER_CTRL_HBL_REPEAT
#define WS_TIMER_CTRL_HBL_MASK
#define WS_TIMER_CTRL_VBL_REPEAT
#define WS_TIMER_HBL_RELOAD_PORT
#define WS_TIMER_VBL_COUNTER_PORT
#define WS_TIMER_CTRL_VBL_ONESHOT
#define WS_TIMER_CTRL_VBL_MASK
#define WS_TIMER_HBL_COUNTER_PORT
#define WS_TIMER_CTRL_HBL_ONESHOT
static void ws_timer_vblank_start_once(uint16_t ticks)
Request a one-shot vertical blank timer.
static uint16_t ws_timer_vblank_get_counter(void)
static void ws_timer_hblank_start_repeat(uint16_t ticks)
Request a repeating horizontal blank timer.
static void ws_timer_hblank_disable(void)
static uint16_t ws_timer_hblank_get_counter(void)
static void ws_timer_hblank_start_once(uint16_t ticks)
Request a one-shot horizontal blank timer.
static void ws_timer_vblank_disable(void)
static void ws_timer_vblank_start_repeat(uint16_t ticks)
Request a repeating vertical blank timer.