Index: emu/vid.c
===================================================================
--- emu/vid.c	(revision b48c8a568ee36d983214437e4942672e4b73cfb1)
+++ emu/vid.c	(revision a9861f36c86186b07a88f8f7e9bc65a55f90303a)
@@ -250,8 +250,4 @@
 	int32_t odtba = mem[REG_ODTBA] & 0xffc0;
 
-	if (SDL_LockMutex(cpu_mutex) < 0) {
-		fail("SDL_LockMutex() failed: %s", SDL_GetError());
-	}
-
 	n_bm_objs = 0;
 
@@ -320,8 +316,4 @@
 	}
 
-	if (SDL_UnlockMutex(cpu_mutex) < 0) {
-		fail("SDL_UnlockMutex() failed: %s", SDL_GetError());
-	}
-
 	SDL_AtomicAdd(&frame, 1);
 	return false;
@@ -338,22 +330,9 @@
 	}
 
-	uint32_t res;
-
-	if (SDL_LockMutex(cpu_mutex) < 0) {
-		fail("SDL_LockMutex() failed: %s", SDL_GetError());
-	}
-
 	if (off16 >= reg_off && off16 < reg_off + 16) {
-		res = mem[off16 - reg_off];
-	}
-	else {
-		res = mem[bank * WIN_SZ_W + off16];
-	}
-
-	if (SDL_UnlockMutex(cpu_mutex) < 0) {
-		fail("SDL_UnlockMutex() failed: %s", SDL_GetError());
-	}
-
-	return res;
+		return mem[off16 - reg_off];
+	}
+
+	return mem[bank * WIN_SZ_W + off16];
 }
 
@@ -366,8 +345,4 @@
 	if (sz != 2 || bank >= N_BANKS || off % 2 != 0 || (off16 >= WIN_SZ_W && off16 != PAL_OFF)) {
 		fail("invalid vid wr %d %u:%d", bank, off, sz * 8);
-	}
-
-	if (SDL_LockMutex(cpu_mutex) < 0) {
-		fail("SDL_LockMutex() failed: %s", SDL_GetError());
 	}
 
@@ -384,14 +359,12 @@
 
 		pal[i_pal] = (r << 24) | (g << 16) | (b << 8) | 0xff;
-	}
-	else if (off16 >= reg_off && off16 < reg_off + 16) {
+		return;
+	}
+
+	if (off16 >= reg_off && off16 < reg_off + 16) {
 		mem[off16 - reg_off] = (uint16_t)val;
-	}
-	else {
-		mem[bank * WIN_SZ_W + off16] = (uint16_t)val;
-	}
-
-	if (SDL_UnlockMutex(cpu_mutex) < 0) {
-		fail("SDL_UnlockMutex() failed: %s", SDL_GetError());
-	}
-}
+		return;
+	}
+
+	mem[bank * WIN_SZ_W + off16] = (uint16_t)val;
+}
