Mercurial > repos > blastem
comparison vdp.h @ 998:bf63cbf1d7bb
Implement SAT cache. Causes some graphical corruption in Overdrive due to an unrelated bug.
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 30 Apr 2016 15:31:48 -0700 |
parents | 928442068afe |
children | e34334e6c682 |
comparison
equal
deleted
inserted
replaced
997:560da2e455c2 | 998:bf63cbf1d7bb |
---|---|
19 #define MAX_DRAWS_H32 32 | 19 #define MAX_DRAWS_H32 32 |
20 #define MAX_SPRITES_LINE 20 | 20 #define MAX_SPRITES_LINE 20 |
21 #define MAX_SPRITES_LINE_H32 16 | 21 #define MAX_SPRITES_LINE_H32 16 |
22 #define MAX_SPRITES_FRAME 80 | 22 #define MAX_SPRITES_FRAME 80 |
23 #define MAX_SPRITES_FRAME_H32 64 | 23 #define MAX_SPRITES_FRAME_H32 64 |
24 #define SAT_CACHE_SIZE (MAX_SPRITES_FRAME * 4) | |
24 | 25 |
25 #define FBUF_SHADOW 0x0001 | 26 #define FBUF_SHADOW 0x0001 |
26 #define FBUF_HILIGHT 0x0010 | 27 #define FBUF_HILIGHT 0x0010 |
27 #define DBG_SHADOW 0x10 | 28 #define DBG_SHADOW 0x10 |
28 #define DBG_HILIGHT 0x20 | 29 #define DBG_HILIGHT 0x20 |
156 uint8_t sprite_draws; | 157 uint8_t sprite_draws; |
157 int8_t slot_counter; | 158 int8_t slot_counter; |
158 int8_t cur_slot; | 159 int8_t cur_slot; |
159 sprite_draw sprite_draw_list[MAX_DRAWS]; | 160 sprite_draw sprite_draw_list[MAX_DRAWS]; |
160 sprite_info sprite_info_list[MAX_SPRITES_LINE]; | 161 sprite_info sprite_info_list[MAX_SPRITES_LINE]; |
162 uint8_t sat_cache[SAT_CACHE_SIZE]; | |
161 uint16_t col_1; | 163 uint16_t col_1; |
162 uint16_t col_2; | 164 uint16_t col_2; |
163 uint16_t hv_latch; | 165 uint16_t hv_latch; |
164 uint16_t prefetch; | 166 uint16_t prefetch; |
165 uint8_t v_offset; | 167 uint8_t v_offset; |