From 92a53df1509ced9a68e92295054b2eb67b5bdefa Mon Sep 17 00:00:00 2001 From: TomW Date: Wed, 18 Nov 2015 21:19:46 +0000 Subject: [PATCH] Clip Mach64 drawing coordinates to 12-bit - fixes issues with some Win9x drivers. --- src/vid_ati_mach64.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vid_ati_mach64.c b/src/vid_ati_mach64.c index 7011ad8..3155ed6 100644 --- a/src/vid_ati_mach64.c +++ b/src/vid_ati_mach64.c @@ -691,8 +691,8 @@ void mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) uint32_t src_dat, dest_dat; uint32_t host_dat; int mix; - int dst_x = mach64->accel.dst_x + mach64->accel.dst_x_start; - int dst_y = mach64->accel.dst_y + mach64->accel.dst_y_start; + int dst_x = (mach64->accel.dst_x + mach64->accel.dst_x_start) & 0xfff; + int dst_y = (mach64->accel.dst_y + mach64->accel.dst_y_start) & 0xfff; if (mach64->accel.source_host) { @@ -741,8 +741,8 @@ void mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) if (dst_x >= mach64->accel.sc_left && dst_x <= mach64->accel.sc_right && dst_y >= mach64->accel.sc_top && dst_y <= mach64->accel.sc_bottom) { - int src_x = mach64->accel.src_x + mach64->accel.src_x_start; - int src_y = mach64->accel.src_y + mach64->accel.src_y_start; + int src_x = (mach64->accel.src_x + mach64->accel.src_x_start) & 0xfff; + int src_y = (mach64->accel.src_y + mach64->accel.src_y_start) & 0xfff; switch (mix ? mach64->accel.source_fg : mach64->accel.source_bg) {