Mercurial > repos > blastem
diff vdp.h @ 1335:26e72126f9d1
Fixes to sprite phase 2 so that sprite X reads use the exact same slot as on hardware in the case that there are fewer than the max number of sprites on each line. Re-read sprite Y from SAT cache during phase 2 and properly mask the calculated row. Fixes remaining issues with spinning cube scene in Overdrive 2.
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 27 Apr 2017 23:08:49 -0700 |
parents | 69c25e1188e5 |
children | 35e6a93b4586 |
line wrap: on
line diff
--- a/vdp.h Thu Apr 27 09:32:21 2017 -0700 +++ b/vdp.h Thu Apr 27 23:08:49 2017 -0700 @@ -179,11 +179,6 @@ uint16_t hscroll_b; uint16_t h40_lines; uint16_t output_lines; - uint8_t hslot; //hcounter/2 - uint8_t sprite_index; - uint8_t sprite_draws; - int8_t slot_counter; - int8_t cur_slot; sprite_draw sprite_draw_list[MAX_DRAWS]; sprite_info sprite_info_list[MAX_SPRITES_LINE]; uint8_t sat_cache[SAT_CACHE_SIZE]; @@ -192,6 +187,13 @@ uint16_t hv_latch; uint16_t prefetch; uint16_t test_port; + uint8_t hslot; //hcounter/2 + uint8_t sprite_index; + uint8_t sprite_draws; + int8_t slot_counter; + int8_t cur_slot; + uint8_t max_sprites_frame; + uint8_t max_sprites_line; uint8_t fetch_tmp[2]; uint8_t v_offset; uint8_t dma_cd;