Mercurial > repos > simple16
diff src/vdp.h @ 26:083347ccd508
Implemented vblank interrupts and fixed a bug in exception vector address calculation
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 01 Apr 2016 21:34:38 -0700 |
parents | a085f17b79e9 |
children | 6e7bfe83d2b0 |
line wrap: on
line diff
--- a/src/vdp.h Thu Mar 31 23:25:52 2016 -0700 +++ b/src/vdp.h Fri Apr 01 21:34:38 2016 -0700 @@ -51,16 +51,20 @@ FIFO_DEST_CRAM }; -#define VDP_STATUS_FIFO 1 -#define VDP_STATUS_VRAM 2 -#define VDP_STATUS_SRAM 4 -#define VDP_STATUS_ENABLED 8 -#define VDP_STATUS_SPRITE_SCAN 16 +#define VDP_STATUS_FIFO 1 +#define VDP_STATUS_VRAM 2 +#define VDP_STATUS_SRAM 4 +#define VDP_STATUS_ENABLED 8 +#define VDP_STATUS_SPRITE_SCAN 16 +#define VDP_STATUS_PENDING_VINT 32 void vdp_init(vdp *context, uint32_t clock_div); void vdp_run(vdp *context, uint32_t target); void vdp_write_address(vdp *context, uint16_t value); void vdp_write_data(vdp *context, uint16_t value); void vdp_write_hscroll(vdp *context, uint16_t value); +uint32_t vdp_next_interrupt(vdp *context); +void vdp_ack_interrupt(vdp *context); +uint8_t vdp_interrupt_pending(vdp *context); #endif //VDP_H_