summaryrefslogtreecommitdiff
path: root/vdp.h
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2018-11-04 22:51:50 -0800
committerMichael Pavone <pavone@retrodev.com>2018-11-04 22:51:50 -0800
commit85dbe449fe94f8cb4d4b88eaa4acbbba2d52b153 (patch)
tree2c9fbfad84c55198c8aa50b9d1ea0d3d26ea7e45 /vdp.h
parent09884a02e3877fe74c0d2845acdca115d316f3be (diff)
WIP new VDP plane debug view and support for detached VDP debug views generally
Diffstat (limited to 'vdp.h')
-rw-r--r--vdp.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/vdp.h b/vdp.h
index fa3cdc3..ed5230f 100644
--- a/vdp.h
+++ b/vdp.h
@@ -147,6 +147,14 @@ typedef struct {
uint8_t partial;
} fifo_entry;
+enum {
+ VDP_DEBUG_PLANE,
+ VDP_DEBUG_VRAM,
+ VDP_DEBUG_CRAM,
+ VDP_DEBUG_COMPOSITE,
+ VDP_NUM_DEBUG_TYPES
+};
+
typedef struct {
fifo_entry fifo[FIFO_SIZE];
int32_t fifo_write;
@@ -212,8 +220,13 @@ typedef struct {
uint8_t cur_buffer;
uint8_t *tmp_buf_a;
uint8_t *tmp_buf_b;
+ uint8_t enabled_debuggers;
+ uint8_t debug_fb_indices[VDP_NUM_DEBUG_TYPES];
+ uint8_t debug_modes[VDP_NUM_DEBUG_TYPES];
} vdp_context;
+
+
void init_vdp_context(vdp_context * context, uint8_t region_pal);
void vdp_free(vdp_context *context);
void vdp_run_context_full(vdp_context * context, uint32_t target_cycles);
@@ -253,5 +266,7 @@ void vdp_reacquire_framebuffer(vdp_context *context);
void vdp_serialize(vdp_context *context, serialize_buffer *buf);
void vdp_deserialize(deserialize_buffer *buf, void *vcontext);
void vdp_force_update_framebuffer(vdp_context *context);
+void vdp_toggle_debug_view(vdp_context *context, uint8_t debug_type);
+void vdp_inc_debug_mode(vdp_context *context);
#endif //VDP_H_