Index: Makefile
===================================================================
RCS file: /cvs/ports/emulators/generator/Makefile,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile
--- Makefile	15 Nov 2010 23:22:08 -0000	1.10
+++ Makefile	4 Dec 2011 04:47:10 -0000
@@ -25,6 +25,7 @@ LIB_DEPENDS+=	archivers/bzip2 \
 CONFIGURE_STYLE=gnu
 CONFIGURE_ARGS+=--with-sdl --with-sdl-audio --without-gcc
 CONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include" \
+		CFLAGS="-g" \
 		LDFLAGS="-L${LOCALBASE}/lib"
 
 .if ${MACHINE_ARCH} == "i386"
Index: patches/patch-main_ui-sdl_c
===================================================================
RCS file: patches/patch-main_ui-sdl_c
diff -N patches/patch-main_ui-sdl_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-main_ui-sdl_c	4 Dec 2011 05:43:21 -0000
@@ -0,0 +1,76 @@
+$OpenBSD$
+--- main/ui-sdl.c.orig	Fri Aug 29 14:49:51 2008
++++ main/ui-sdl.c	Sat Dec  3 21:43:04 2011
+@@ -98,7 +98,7 @@ static uint32 overlay_format;	        /* SDL overlay f
+ static char ui_region_lock = 0;          /* lock region at startup -Trilkk */
+ 
+ static const char *ui_initload = NULL;  /* filename to load on init */
+-static int ui_arcade_mode = 0;          /* play ROM at start */
++static int ui_arcade_mode = 1;          /* play ROM at start */
+ static char *ui_configfile = NULL;      /* configuration file */
+ static uint8 ui_plotfield = 0;  /* flag indicating plotting this field */
+ static uint8 ui_vdpsimple = 0;  /* 0=raster, 1=cell based plotter */
+@@ -136,7 +136,7 @@ typedef enum {
+   SCREEN_FULL
+ } ui_screenmode_t;
+ 
+-static ui_screenmode_t ui_screenmode = SCREEN_100;
++static ui_screenmode_t ui_screenmode = SCREEN_200;
+ 
+ /* If non-zero, ui_sdl_sizechange refuses to change the mode. */
+ static int screenmode_lock = 0;
+@@ -184,11 +184,12 @@ int ui_init(int argc, const char *argv[])
+   fprintf(stderr, "Generator is (c) James Ponder 1997-2003, all rights "
+           "reserved. v" VERSION "\n\n");
+ 
++  ui_screenmode = SCREEN_200;
+   while (-1 != (ch = getopt(argc, deconstify_void_ptr(argv), "?adc:r:w:"))) {
+     switch (ch) {
+     case 'a':                  /* arcade mode; play ROM at once */
+       ui_arcade_mode = 1;
+-      ui_screenmode = SCREEN_FULL;
++      ui_screenmode = SCREEN_200;
+       break;
+     case 'd':                  /* turn on debug mode */
+       gen_debugmode = 1;
+@@ -346,7 +347,7 @@ int ui_loop(void)
+     if (error) {
+       fprintf(stderr, "%s\n", error);
+       ui_sdl_quit();
+-    } else if (ui_arcade_mode) {
++    } else if (1) {
+       ui_sdl_play();
+     }
+   } else {
+@@ -1224,7 +1225,7 @@ modeswitch:
+       newmode = SCREEN_100;
+       goto modeswitch;
+     }
+-    ui_screenmode = SCREEN_FULL;
++    ui_screenmode = SCREEN_200;
+     gtkopts_setvalue("view", "fullscreen");
+     break;
+   default:
+@@ -1284,11 +1285,11 @@ static void ui_sdl_newoptions(void)
+   unsigned int old_ui_statusbar = ui_statusbar;
+ 
+   if (ui_arcade_mode) {
+-    screenmode = SCREEN_FULL;
++    screenmode = SCREEN_200;
+   } else {
+     v = gtkopts_getvalue("view");
+     if (!strcasecmp(v, "fullscreen")) {
+-      screenmode = SCREEN_FULL;
++      screenmode = SCREEN_200;
+     } else {
+       i = atoi(v);
+       screenmode = i == 200 ? SCREEN_200 : SCREEN_100;
+@@ -1541,7 +1542,7 @@ static void ui_sdl_events(void)
+         case SDLK_f:
+           if (KPRESS(event) && event.key.keysym.mod & KMOD_CTRL) {
+             ui_sdl_sizechange(ui_screenmode != SCREEN_FULL
+-                ? SCREEN_FULL : SCREEN_100);
++                ? SCREEN_200 : SCREEN_100);
+           }
+           break;
+         case SDLK_1:
