Index: b/src/mame/machine/vectrex.c
===================================================================
--- a/src/mame/machine/vectrex.c	2012-04-28 16:02:35.000000000 -0400
+++ b/src/mame/machine/vectrex.c	2012-04-28 16:03:00.000000000 -0400
@@ -88,6 +88,10 @@
 		return IMAGE_INIT_FAIL;
 	}
 
+	if (memcmp(mem + 0x06,"SRAM",4)) {
+		image.device().machine().device("maincpu")->memory().space(AS_PROGRAM)->unmap_write(0x0000, 0x7fff);
+	}
+
 	/* If VIA T2 starts, reset refresh timer.
        This is the best strategy for most games. */
 	state->m_reset_refresh = 1;
Index: b/src/mame/drivers/vectrex.c
===================================================================
--- a/src/mame/drivers/vectrex.c	2012-04-28 16:02:35.000000000 -0400
+++ b/src/mame/drivers/vectrex.c	2012-04-28 16:03:00.000000000 -0400
@@ -20,7 +20,7 @@
 
 
 static ADDRESS_MAP_START(vectrex_map, AS_PROGRAM, 8, vectrex_state )
-	AM_RANGE(0x0000, 0x7fff) AM_ROMBANK("bank1") AM_REGION("maincpu", 0)
+	AM_RANGE(0x0000, 0x7fff) AM_RAMBANK("bank1") AM_REGION("maincpu", 0)
 	AM_RANGE(0xc800, 0xcbff) AM_RAM AM_MIRROR(0x0400) AM_SHARE("gce_vectorram")
 	AM_RANGE(0xd000, 0xd7ff) AM_READWRITE(vectrex_via_r, vectrex_via_w)
 	AM_RANGE(0xe000, 0xffff) AM_ROM
