704 |
|
memset(the_buffer, 0, the_buffer_size); |
705 |
|
} |
706 |
|
#elif ENABLE_VOSF |
707 |
< |
// The UAE memory handlers will already color conversion, if needed. |
707 |
> |
// The UAE memory handlers will already handle color conversion, if needed. |
708 |
|
use_vosf = false; |
709 |
|
#endif |
710 |
|
|
1589 |
|
// Hidden parts exposed, force complete refresh of window |
1590 |
|
case Expose: |
1591 |
|
if (display_type == DISPLAY_WINDOW) { |
1592 |
+ |
if (frame_skip == 0) { // Dynamic refresh |
1593 |
+ |
int x1, y1; |
1594 |
+ |
for (y1=0; y1<16; y1++) |
1595 |
+ |
for (x1=0; x1<16; x1++) |
1596 |
+ |
updt_box[x1][y1] = true; |
1597 |
+ |
nr_boxes = 16 * 16; |
1598 |
+ |
} else { |
1599 |
|
#ifdef ENABLE_VOSF |
1593 |
– |
const XExposeEvent & xev = event.xexpose; |
1594 |
– |
const uint32 start = xev.y * VideoMonitor.bytes_per_row + xev.x; |
1595 |
– |
const uint32 end = (xev.y + xev.height - 1) * VideoMonitor.bytes_per_row + (xev.x + xev.width); |
1596 |
– |
int page = start >> mainBuffer.pageBits; |
1597 |
– |
uint32 addr = start; |
1598 |
– |
while (addr < end) { |
1599 |
– |
memset(the_buffer_copy + addr, 0, mainBuffer.pageSize); |
1600 |
– |
addr += mainBuffer.pageSize; |
1600 |
|
#ifdef HAVE_PTHREADS |
1601 |
|
pthread_mutex_lock(&Screen_draw_lock); |
1602 |
|
#endif |
1603 |
< |
PFLAG_SET(page); |
1603 |
> |
PFLAG_SET_ALL; |
1604 |
|
#ifdef HAVE_PTHREADS |
1605 |
|
pthread_mutex_unlock(&Screen_draw_lock); |
1606 |
|
#endif |
1607 |
< |
++page; |
1609 |
< |
} |
1610 |
< |
#else |
1611 |
< |
if (frame_skip == 0) { // Dynamic refresh |
1612 |
< |
int x1, y1; |
1613 |
< |
for (y1=0; y1<16; y1++) |
1614 |
< |
for (x1=0; x1<16; x1++) |
1615 |
< |
updt_box[x1][y1] = true; |
1616 |
< |
nr_boxes = 16 * 16; |
1617 |
< |
} else |
1607 |
> |
#endif |
1608 |
|
memset(the_buffer_copy, 0, VideoMonitor.bytes_per_row * VideoMonitor.y); |
1609 |
< |
#endif /* ENABLE_VOSF */ |
1609 |
> |
} |
1610 |
|
} |
1611 |
|
break; |
1612 |
|
} |