comparison vdp.h @ 622:b76d2a628ab9

Partially working switch to having a vcounter and hslot counter in the context rather than trying to derive them from the cycle count. This should allow for more accurate handling of mid screen mode switches. Interrupt timing is broken currently though
author Michael Pavone <pavone@retrodev.com>
date Tue, 17 Jun 2014 19:01:01 -0700
parents 8ac0eb05642c
children 66cc60215e5c
comparison
equal deleted inserted replaced
621:5196333b37a6 622:b76d2a628ab9
140 void *evenbuf; 140 void *evenbuf;
141 uint16_t cram[CRAM_SIZE]; 141 uint16_t cram[CRAM_SIZE];
142 uint32_t colors[CRAM_SIZE*3]; 142 uint32_t colors[CRAM_SIZE*3];
143 uint32_t debugcolors[1 << (3 + 1 + 1 + 1)];//3 bits for source, 1 bit for priority, 1 bit for shadow, 1 bit for hilight 143 uint32_t debugcolors[1 << (3 + 1 + 1 + 1)];//3 bits for source, 1 bit for priority, 1 bit for shadow, 1 bit for hilight
144 uint16_t vsram[VSRAM_SIZE]; 144 uint16_t vsram[VSRAM_SIZE];
145 uint8_t latched_mode; 145 uint16_t vcounter;
146 uint16_t hslot; //hcounter/2
146 uint16_t hscroll_a; 147 uint16_t hscroll_a;
147 uint16_t hscroll_b; 148 uint16_t hscroll_b;
149 uint8_t latched_mode;
148 uint8_t sprite_index; 150 uint8_t sprite_index;
149 uint8_t sprite_draws; 151 uint8_t sprite_draws;
150 int8_t slot_counter; 152 int8_t slot_counter;
151 int8_t cur_slot; 153 int8_t cur_slot;
152 sprite_draw sprite_draw_list[MAX_DRAWS]; 154 sprite_draw sprite_draw_list[MAX_DRAWS];