view src/timer.h @ 43:6e7bfe83d2b0

Changed the design to vastly simplify the video hardware and support a 23-bit address space on the CPU
author Michael Pavone <pavone@retrodev.com>
date Sat, 27 Aug 2016 22:38:31 -0700
parents fb14515266f4
children
line wrap: on
line source

#ifndef TIMER_H_
#define TIMER_H_

typedef struct {
	uint32_t cycles;
	uint32_t clock_inc;
	
	uint16_t load;
	uint16_t current;
	uint8_t  pending;
} timer;

void timer_init(timer *context, uint32_t clock_div);
void timer_run(timer *context, uint32_t target);
uint32_t timer_next_interrupt(timer *context);
void timer_write(timer *context, uint16_t value);

#endif