SVGA hskew

This commit is contained in:
Jasmine Iwanek
2023-08-06 20:29:39 -04:00
parent cb24ee27cb
commit 01ffb60df8
7 changed files with 306 additions and 32 deletions

View File

@@ -70,9 +70,20 @@ svga_render_blank(svga_t *svga)
break;
}
#if 0
pclog("svga->displine = %i, svga->y_add = %i, svga->x_add = %i\n", svga->displine, svga->y_add, svga->x_add);
#endif
uint32_t *line_ptr = &svga->monitor->target_buffer->line[svga->displine + svga->y_add][svga->x_add];
#if 0
pclog("svga->hdisp = %i, svga->scrollcache = %i, char_width = %i, sizeof(uint32_t) = %i\n", svga->hdisp, svga->scrollcache, char_width, sizeof(uint32_t));
#endif
uint32_t line_width = (uint32_t) (svga->hdisp + svga->scrollcache) * char_width * sizeof(uint32_t);
memset(line_ptr, 0, line_width);
#if 0
pclog("line_width = %i\n", line_width);
#endif
if ((svga->hdisp + svga->scrollcache) > 0)
memset(line_ptr, 0, line_width);
}
void
@@ -81,7 +92,7 @@ svga_render_overscan_left(svga_t *svga)
if ((svga->displine + svga->y_add) < 0)
return;
if (svga->scrblank || (svga->hdisp == 0))
if (svga->scrblank || (svga->hdisp <= 0))
return;
uint32_t *line_ptr = svga->monitor->target_buffer->line[svga->displine + svga->y_add];
@@ -97,7 +108,7 @@ svga_render_overscan_right(svga_t *svga)
if ((svga->displine + svga->y_add) < 0)
return;
if (svga->scrblank || (svga->hdisp == 0))
if (svga->scrblank || (svga->hdisp <= 0))
return;
uint32_t *line_ptr = &svga->monitor->target_buffer->line[svga->displine + svga->y_add][svga->x_add + svga->hdisp];