Mercurial > repos > blastem
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_ |