comparison vdp.c @ 2567:8872c8e3e0fc

Fix minor regression in Overdrive 2
author Michael Pavone <pavone@retrodev.com>
date Tue, 28 Jan 2025 23:33:43 -0800
parents e5de445e2cf0
children 882ceef923e0
comparison
equal deleted inserted replaced
2566:e5de445e2cf0 2567:8872c8e3e0fc
115 //Undo forced INACTIVE state due to neither Mode 4 nor Mode 5 being active 115 //Undo forced INACTIVE state due to neither Mode 4 nor Mode 5 being active
116 if (context->vcounter < context->inactive_start) { 116 if (context->vcounter < context->inactive_start) {
117 context->state = ACTIVE; 117 context->state = ACTIVE;
118 } else if (context->vcounter == 0x1FF) { 118 } else if (context->vcounter == 0x1FF) {
119 context->state = PREPARING; 119 context->state = PREPARING;
120 memset(context->compositebuf, 0, sizeof(context->compositebuf)); 120 if (!context->done_composite) {
121 memset(context->compositebuf, 0, sizeof(context->compositebuf));
122 }
121 } 123 }
122 } 124 }
123 } else { 125 } else {
124 context->inactive_start = MODE4_INACTIVE_START; 126 context->inactive_start = MODE4_INACTIVE_START;
125 if (context->flags2 & FLAG2_REGION_PAL) { 127 if (context->flags2 & FLAG2_REGION_PAL) {
136 if (context->vcounter < context->inactive_start) { 138 if (context->vcounter < context->inactive_start) {
137 context->state = ACTIVE; 139 context->state = ACTIVE;
138 } 140 }
139 else if (context->vcounter == 0x1FF) { 141 else if (context->vcounter == 0x1FF) {
140 context->state = PREPARING; 142 context->state = PREPARING;
141 memset(context->compositebuf, 0, sizeof(context->compositebuf)); 143 if (!context->done_composite) {
144 memset(context->compositebuf, 0, sizeof(context->compositebuf));
145 }
142 } 146 }
143 } 147 }
144 } 148 }
145 context->border_top = calc_crop(top_crop, border_top); 149 context->border_top = calc_crop(top_crop, border_top);
146 context->top_offset = border_top - context->border_top; 150 context->top_offset = border_top - context->border_top;
4620 } 4624 }
4621 if (context->hslot == line_change) { 4625 if (context->hslot == line_change) {
4622 vdp_advance_line(context); 4626 vdp_advance_line(context);
4623 if (context->vcounter == active_line) { 4627 if (context->vcounter == active_line) {
4624 context->state = PREPARING; 4628 context->state = PREPARING;
4625 memset(context->compositebuf, 0, sizeof(context->compositebuf)); 4629 if (!context->done_composite) {
4630 memset(context->compositebuf, 0, sizeof(context->compositebuf));
4631 }
4626 return; 4632 return;
4627 } 4633 }
4628 } 4634 }
4629 } 4635 }
4630 } 4636 }