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