Merge branch 'master' of github.com:86Box/86Box into tc1995

This commit is contained in:
TC1995
2020-11-18 21:56:03 +01:00
2 changed files with 12 additions and 4 deletions

View File

@@ -656,7 +656,7 @@ static void banshee_ext_outl(uint16_t addr, uint32_t val, void *p)
break; break;
case Video_hwCurLoc: case Video_hwCurLoc:
banshee->hwCurLoc = val; banshee->hwCurLoc = val;
svga->hwcursor.x = (val & 0x7ff) - 32; svga->hwcursor.x = (val & 0x7ff) - 64;
svga->hwcursor.y = ((val >> 16) & 0x7ff) - 64; svga->hwcursor.y = ((val >> 16) & 0x7ff) - 64;
if (svga->hwcursor.y < 0) if (svga->hwcursor.y < 0)
{ {
@@ -1604,7 +1604,7 @@ void banshee_hwcursor_draw(svga_t *svga, int displine)
/*X11 mode*/ /*X11 mode*/
for (x = 0; x < 64; x += 8) for (x = 0; x < 64; x += 8)
{ {
if (x_off > (32-8)) if (x_off > -8)
{ {
for (xx = 0; xx < 8; xx++) for (xx = 0; xx < 8; xx++)
{ {
@@ -1624,7 +1624,7 @@ void banshee_hwcursor_draw(svga_t *svga, int displine)
/*Windows mode*/ /*Windows mode*/
for (x = 0; x < 64; x += 8) for (x = 0; x < 64; x += 8)
{ {
if (x_off > (32-8)) if (x_off > -8)
{ {
for (xx = 0; xx < 8; xx++) for (xx = 0; xx < 8; xx++)
{ {

View File

@@ -525,7 +525,7 @@ void voodoo_callback(void *p)
if (draw_voodoo->dirty_line[draw_line]) if (draw_voodoo->dirty_line[draw_line])
{ {
uint32_t *p = &((uint32_t *)buffer32->line[voodoo->line])[32]; uint32_t *p = &buffer32->line[voodoo->line + 8][8];
uint16_t *src = (uint16_t *)&draw_voodoo->fb_mem[draw_voodoo->front_offset + draw_line*draw_voodoo->row_width]; uint16_t *src = (uint16_t *)&draw_voodoo->fb_mem[draw_voodoo->front_offset + draw_line*draw_voodoo->row_width];
int x; int x;
@@ -539,6 +539,10 @@ void voodoo_callback(void *p)
if (voodoo->line > voodoo->dirty_line_high) if (voodoo->line > voodoo->dirty_line_high)
voodoo->dirty_line_high = voodoo->line; voodoo->dirty_line_high = voodoo->line;
/* Draw left overscan. */
for (x = 0; x < 8; x++)
buffer32->line[voodoo->line + 8][x] = 0x00000000;
if (voodoo->scrfilter && voodoo->scrfilterEnabled) if (voodoo->scrfilter && voodoo->scrfilterEnabled)
{ {
uint8_t fil[(voodoo->h_disp) * 3]; /* interleaved 24-bit RGB */ uint8_t fil[(voodoo->h_disp) * 3]; /* interleaved 24-bit RGB */
@@ -560,6 +564,10 @@ void voodoo_callback(void *p)
p[x] = draw_voodoo->video_16to32[src[x]]; p[x] = draw_voodoo->video_16to32[src[x]];
} }
} }
/* Draw right overscan. */
for (x = 0; x < 8; x++)
buffer32->line[voodoo->line + 8][voodoo->h_disp + x + 8] = 0x00000000;
} }
} }
} }