--- 8086tiny.c.orig	2014-02-03 12:45:14.000000000 +0800
+++ 8086tiny.c	2014-02-04 14:33:56.718500000 +0800
@@ -560,10 +560,11 @@
 					i_d || (regs16[REG_SP] += i_data0)
 			NEXT_OPCODE // MOV r/m, immed
 				R_M_OP(op_from_addr[mem], =, i_data2)
 			NEXT_OPCODE // IN AL/AX, DX/imm8
 				io_ports[0x3DA] ^= 9,
+				io_ports[0x340] = io_ports[0x341] = io_ports[0x3E0] = io_ports[0x3E1] = io_ports[0x24F] = io_ports[0x924F] = io_ports[0x927F] = io_ports[0x27F] = 0xFF, // quickfix for misdetecting ACER Pattern Card
 				scratch_uint = extra ? regs16[REG_DX] : (unsigned char)i_data0,
 				scratch_uint == 0x3D5 && io_ports[0x3D4] == 15 && (io_ports[0x3D5] = (mem[0x49E]*80 + mem[0x49D]) & 0xFF), // CRT cursor position (low byte)
 				scratch_uint == 0x3D5 && io_ports[0x3D4] == 14 && (io_ports[0x3D5] = ((mem[0x49E]*80 + mem[0x49D]) & 0xFF00) >> 8),  // " (high byte)
 				R_M_OP(regs8[REG_AL], =, io_ports[scratch_uint])
 			NEXT_OPCODE // OUT DX/imm8, AL/AX
@@ -700,11 +701,14 @@
 			if (io_ports[0x3B8] & 2)
 			{
 				// Hercules card is in graphics mode. If we don't already have an SDL window open, set it up
 				SDL_PumpEvents();
 				if (!sdl_screen)
+				{
 					sdl_screen = SDL_SetVideoMode(GRAPHICS_X, GRAPHICS_Y, 32, 0);
+					SDL_WM_SetCaption("8086tiny graphics output","8086tiny");
+				}
 
 				// Update the display from video RAM
 				video_mem_update();
 			}
 			else if (sdl_screen) // Application has gone back to text mode, so close the SDL window
