summaryrefslogtreecommitdiff
path: root/jag_video.h
blob: 05557126c2ab5a751fe6564a6f0f2fc5b5ec74e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef JAG_VIDEO_H_
#define JAG_VIDEO_H_

#define JAG_VIDEO_REGS 0x2E
#define LINEBUFFER_WORDS 720

typedef struct {
	uint16_t regs[JAG_VIDEO_REGS];
	
	uint16_t     clut[256];
	uint16_t     line_buffer_a[LINEBUFFER_WORDS];
	uint16_t     line_buffer_b[LINEBUFFER_WORDS];
	uint16_t     *write_line_buffer;
	uint16_t     *read_line_buffer;
	
	uint32_t cycles;
} jag_video;

jag_video *jag_video_init(void);
void jag_video_run(jag_video *context, uint32_t target_cycle);

#endif //JAG_VIDEO_H_