comparison vdp.h @ 1631:c4ba3177b72d

WIP new VDP plane debug view and support for detached VDP debug views generally
author Michael Pavone <pavone@retrodev.com>
date Sun, 04 Nov 2018 22:51:50 -0800
parents 079e5b9d59ce
children f27142c48567
comparison
equal deleted inserted replaced
1630:5aa0c3c43b97 1631:c4ba3177b72d
144 uint32_t address; 144 uint32_t address;
145 uint16_t value; 145 uint16_t value;
146 uint8_t cd; 146 uint8_t cd;
147 uint8_t partial; 147 uint8_t partial;
148 } fifo_entry; 148 } fifo_entry;
149
150 enum {
151 VDP_DEBUG_PLANE,
152 VDP_DEBUG_VRAM,
153 VDP_DEBUG_CRAM,
154 VDP_DEBUG_COMPOSITE,
155 VDP_NUM_DEBUG_TYPES
156 };
149 157
150 typedef struct { 158 typedef struct {
151 fifo_entry fifo[FIFO_SIZE]; 159 fifo_entry fifo[FIFO_SIZE];
152 int32_t fifo_write; 160 int32_t fifo_write;
153 int32_t fifo_read; 161 int32_t fifo_read;
210 uint8_t pending_byte; 218 uint8_t pending_byte;
211 uint8_t state; 219 uint8_t state;
212 uint8_t cur_buffer; 220 uint8_t cur_buffer;
213 uint8_t *tmp_buf_a; 221 uint8_t *tmp_buf_a;
214 uint8_t *tmp_buf_b; 222 uint8_t *tmp_buf_b;
223 uint8_t enabled_debuggers;
224 uint8_t debug_fb_indices[VDP_NUM_DEBUG_TYPES];
225 uint8_t debug_modes[VDP_NUM_DEBUG_TYPES];
215 } vdp_context; 226 } vdp_context;
227
228
216 229
217 void init_vdp_context(vdp_context * context, uint8_t region_pal); 230 void init_vdp_context(vdp_context * context, uint8_t region_pal);
218 void vdp_free(vdp_context *context); 231 void vdp_free(vdp_context *context);
219 void vdp_run_context_full(vdp_context * context, uint32_t target_cycles); 232 void vdp_run_context_full(vdp_context * context, uint32_t target_cycles);
220 void vdp_run_context(vdp_context * context, uint32_t target_cycles); 233 void vdp_run_context(vdp_context * context, uint32_t target_cycles);
251 void vdp_release_framebuffer(vdp_context *context); 264 void vdp_release_framebuffer(vdp_context *context);
252 void vdp_reacquire_framebuffer(vdp_context *context); 265 void vdp_reacquire_framebuffer(vdp_context *context);
253 void vdp_serialize(vdp_context *context, serialize_buffer *buf); 266 void vdp_serialize(vdp_context *context, serialize_buffer *buf);
254 void vdp_deserialize(deserialize_buffer *buf, void *vcontext); 267 void vdp_deserialize(deserialize_buffer *buf, void *vcontext);
255 void vdp_force_update_framebuffer(vdp_context *context); 268 void vdp_force_update_framebuffer(vdp_context *context);
269 void vdp_toggle_debug_view(vdp_context *context, uint8_t debug_type);
270 void vdp_inc_debug_mode(vdp_context *context);
256 271
257 #endif //VDP_H_ 272 #endif //VDP_H_