interrupt: first-pass implementation of interrupts

Only manual and V-blank interrupts work, for now. This implements
enough to make the EI and DI parts of Blargg's Interrupt test pass.
This commit is contained in:
2018-09-20 20:55:51 -07:00
parent 593d9d3600
commit 1076d02638
10 changed files with 240 additions and 23 deletions

View File

@@ -95,9 +95,10 @@ struct gb_video {
int debug_logging;
struct gb_memory *memory;
struct gb_interrupt *interrupt;
};
void gb_video_init(struct gb_video *video, struct gb_memory *memory);
void gb_video_init(struct gb_video *video, struct gb_memory *memory, struct gb_interrupt *interrupt);
void gb_video_cycle(struct gb_video *video, int cycles);
uint8_t gb_video_mem_read(struct gb_video *video, uint16_t addr);
void gb_video_mem_write(struct gb_video *video, uint16_t addr, uint8_t val);