This is the missing part (mame32 0.79) /*This Goes in Snowbros.c after the semicom memory map*/ static ADDRESS_MAP_START( readmem3, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_READ (MRA16_ROM) AM_RANGE(0x100000, 0x103fff) AM_READ (MRA16_RAM) // AM_RANGE(0x300000, 0x300001) AM_READ (OKIM6295_status_0_msb_r) // ? AM_RANGE(0x500000, 0x500001) AM_READ (input_port_0_word_r) AM_RANGE(0x500002, 0x500003) AM_READ (input_port_1_word_r) AM_RANGE(0x500004, 0x500005) AM_READ (input_port_2_word_r) AM_RANGE(0x600000, 0x6003ff) AM_READ (MRA16_RAM) AM_RANGE(0x700000, 0x7021ff) AM_READ (MRA16_RAM) ADDRESS_MAP_END static ADDRESS_MAP_START( writemem3, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_WRITE (MWA16_ROM) AM_RANGE(0x100000, 0x103fff) AM_WRITE (MWA16_RAM) AM_RANGE(0x200000, 0x200001) AM_WRITE (watchdog_reset16_w) // AM_RANGE(0x300000, 0x300001) AM_WRITE (OKIM6295_data_0_msb_w) // ? AM_RANGE(0x400000, 0x400001) AM_WRITE (snowbros_flipscreen_w) AM_RANGE(0x600000, 0x6003ff) AM_WRITE (paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16) AM_RANGE(0x700000, 0x7021ff) AM_WRITE (MWA16_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) AM_RANGE(0x800000, 0x800001) AM_WRITE (MWA16_NOP) /* IRQ 4 acknowledge? */ AM_RANGE(0x900000, 0x900001) AM_WRITE (MWA16_NOP) /* IRQ 3 acknowledge? */ AM_RANGE(0xa00000, 0xa00001) AM_WRITE (MWA16_NOP) /* IRQ 2 acknowledge? */ ADDRESS_MAP_END /******************************************************************************** *****************************/ /*This goes after: /* handler called by the 3812/2151 emulator when the internal timers cause an IRQ */ static void irqhandler(int irq) { cpu_set_irq_line(1,0,irq ? ASSERT_LINE : CLEAR_LINE); } */ /* snow bros 3 */ static struct GfxLayout sb3_tilebglayout = { 16,16, RGN_FRAC(1,1), 8, {8, 9,10, 11, 0, 1, 2, 3 }, { 0, 4, 16, 20, 32, 36, 48, 52, 512+0,512+4,512+16,512+20,512+32,512+36,512+48,512+52}, { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, 1024+0*16,1024+1*64,1024+2*64,1024+3*64,1024+4*64,1024+5*64,1024+6*64,1024+7*64} , 32*64 }; static struct GfxDecodeInfo sb3_gfxdecodeinfo[] = { { REGION_GFX1, 0, &tilelayout, 0, 16 }, { REGION_GFX2, 0, &sb3_tilebglayout, 0, 2 }, { -1 } /* end of array */ }; /*The rest of the driver is ok, but note that where that you have to put " " (just the eight and the bracket) where that emoticon appears*/