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_