Merged memory maps in ssv.c. [MooglyGuy]

Non-whatsnew note:

I'm all for some manner of inheritance when a lot of memory maps have many similar entries, but it probably shouldn't be done via a huge #define.
This commit is contained in:
Ryan Holtz 2009-04-25 14:49:54 +00:00
parent 7fddeed59f
commit 5dc520cde8

View File

@ -422,38 +422,29 @@ static WRITE16_HANDLER( dsp_w )
static READ16_HANDLER( fake_r ) { return ssv_scroll[offset]; }
#endif
#define SSV_READMEM( _ROM ) \
AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_RAM ) /* RAM */ \
AM_RANGE(0x100000, 0x13ffff) AM_READ(SMH_RAM ) /* Sprites */ \
AM_RANGE(0x140000, 0x15ffff) AM_READ(SMH_RAM ) /* Palette */ \
AM_RANGE(0x160000, 0x17ffff) AM_READ(SMH_RAM ) /* */ \
AM_RANGE(0x1c0000, 0x1c0001) AM_READ(ssv_vblank_r ) /* Vblank? */ \
/**/AM_RANGE(0x1c0002, 0x1c007f) AM_READ(SMH_RAM ) /* Scroll */ \
AM_RANGE(0x210002, 0x210003) AM_READ_PORT("DSW1") \
AM_RANGE(0x210004, 0x210005) AM_READ_PORT("DSW2") \
AM_RANGE(0x210008, 0x210009) AM_READ_PORT("P1") \
AM_RANGE(0x21000a, 0x21000b) AM_READ_PORT("P2") \
AM_RANGE(0x21000c, 0x21000d) AM_READ_PORT("SYSTEM") \
AM_RANGE(0x21000e, 0x21000f) AM_READ(SMH_NOP ) /* */ \
AM_RANGE(0x300000, 0x30007f) AM_DEVREAD8("ensoniq", es5506_r, 0x00ff ) /* Sound */ \
AM_RANGE(0x482000, 0x482fff) AM_RAM_WRITE(dsp_w) AM_BASE(&dsp_ram) \
AM_RANGE(_ROM, 0xffffff) AM_READ(SMH_BANK1 ) /* ROM */ \
#define SSV_MAP( _ROM ) \
AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_BASE(&ssv_mainram) /* RAM */ \
AM_RANGE(0x100000, 0x13ffff) AM_RAM AM_BASE(&spriteram16) /* Sprites */ \
AM_RANGE(0x140000, 0x15ffff) AM_RAM_WRITE(paletteram16_xrgb_swap_word_w) AM_BASE(&paletteram16) /* Palette */ \
AM_RANGE(0x160000, 0x17ffff) AM_RAM /* */ \
AM_RANGE(0x1c0000, 0x1c0001) AM_READ(ssv_vblank_r ) /* Vblank? */ \
/**/AM_RANGE(0x1c0002, 0x1c007f) AM_READ(SMH_RAM ) /* Scroll */ \
AM_RANGE(0x1c0000, 0x1c007f) AM_WRITE(ssv_scroll_w) AM_BASE(&ssv_scroll) /* Scroll */ \
AM_RANGE(0x210002, 0x210003) AM_READ_PORT("DSW1") \
AM_RANGE(0x210004, 0x210005) AM_READ_PORT("DSW2") \
AM_RANGE(0x210008, 0x210009) AM_READ_PORT("P1") \
AM_RANGE(0x21000a, 0x21000b) AM_READ_PORT("P2") \
AM_RANGE(0x21000c, 0x21000d) AM_READ_PORT("SYSTEM") \
AM_RANGE(0x21000e, 0x21000f) AM_READWRITE(SMH_NOP, ssv_lockout_w) /* Lockout */ \
AM_RANGE(0x210010, 0x210011) AM_WRITENOP \
AM_RANGE(0x230000, 0x230071) AM_WRITE(SMH_RAM) AM_BASE(&ssv_irq_vectors) /* IRQ Vec */ \
AM_RANGE(0x240000, 0x240071) AM_WRITE(ssv_irq_ack_w ) /* IRQ Ack */ \
AM_RANGE(0x260000, 0x260001) AM_WRITE(ssv_irq_enable_w) /* IRQ En */ \
AM_RANGE(0x300000, 0x30007f) AM_DEVREADWRITE8("ensoniq", es5506_r, es5506_w, 0x00ff) /* Sound */ \
AM_RANGE(0x482000, 0x482fff) AM_RAM_WRITE(dsp_w) AM_BASE(&dsp_ram) \
AM_RANGE(_ROM, 0xffffff) AM_READ(SMH_BANK1 ) /* ROM */ \
//AM_RANGE(0x990000, 0x99007f) AM_READ(fake_r)
#define SSV_WRITEMEM \
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(SMH_RAM) AM_BASE(&ssv_mainram) /* RAM */ \
AM_RANGE(0x100000, 0x13ffff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) /* Sprites */ \
AM_RANGE(0x140000, 0x15ffff) AM_WRITE(paletteram16_xrgb_swap_word_w) AM_BASE(&paletteram16) \
AM_RANGE(0x160000, 0x17ffff) AM_WRITE(SMH_RAM) \
AM_RANGE(0x1c0000, 0x1c007f) AM_WRITE(ssv_scroll_w) AM_BASE(&ssv_scroll ) /*Scroll */ \
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_w) /*Lockout */ \
AM_RANGE(0x210010, 0x210011) AM_WRITENOP \
AM_RANGE(0x230000, 0x230071) AM_WRITE(SMH_RAM) AM_BASE(&ssv_irq_vectors) /* IRQ Vectors */ \
AM_RANGE(0x240000, 0x240071) AM_WRITE(ssv_irq_ack_w ) /* IRQ Ack */ \
AM_RANGE(0x260000, 0x260001) AM_WRITE(ssv_irq_enable_w) /* IRQ Enable */ \
AM_RANGE(0x300000, 0x30007f) AM_DEVWRITE8("ensoniq", es5506_w, 0x00ff) /* Sound */ \
//AM_RANGE(0x990000, 0x99007f) AM_WRITE(ssv_scroll_w)
static UINT16 *ssv_input_sel;
@ -466,21 +457,16 @@ static READ16_HANDLER( drifto94_rand_r )
return mame_rand(space->machine) & 0xffff;
}
static ADDRESS_MAP_START( drifto94_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x480000, 0x480001) AM_READ(SMH_NOP ) // ?
AM_RANGE(0x510000, 0x510001) AM_READ(drifto94_rand_r ) // ??
AM_RANGE(0x520000, 0x520001) AM_READ(drifto94_rand_r ) // ??
AM_RANGE(0x580000, 0x5807ff) AM_READ(SMH_RAM ) // NVRAM
SSV_READMEM( 0xc00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( drifto94_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 1 at the start
AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM ) // ?
AM_RANGE(0x480000, 0x480001) AM_WRITE(SMH_NOP ) // ?
AM_RANGE(0x483000, 0x485fff) AM_WRITE(SMH_NOP ) // ?
AM_RANGE(0x500000, 0x500001) AM_WRITE(SMH_NOP ) // ??
AM_RANGE(0x580000, 0x5807ff) AM_WRITE(SMH_RAM) AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size ) // NVRAM
SSV_WRITEMEM
static ADDRESS_MAP_START( drifto94_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start
AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM) // ?
AM_RANGE(0x480000, 0x480001) AM_NOP // ?
AM_RANGE(0x483000, 0x485fff) AM_WRITE(SMH_NOP) // ?
AM_RANGE(0x500000, 0x500001) AM_WRITE(SMH_NOP) // ??
AM_RANGE(0x510000, 0x510001) AM_READ(drifto94_rand_r ) // ??
AM_RANGE(0x520000, 0x520001) AM_READ(drifto94_rand_r ) // ??
AM_RANGE(0x580000, 0x5807ff) AM_RAM AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size) // NVRAM
SSV_MAP( 0xc00000 )
ADDRESS_MAP_END
@ -610,27 +596,17 @@ static WRITE16_HANDLER( gdfs_blitram_w )
}
}
static ADDRESS_MAP_START( gdfs_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x540000, 0x540001) AM_READ(gdfs_eeprom_r)
AM_RANGE(0x600000, 0x600fff) AM_READ(SMH_RAM)
AM_RANGE(0x400000, 0x43ffff) AM_READ(SMH_RAM)
AM_RANGE(0x440000, 0x44003f) AM_READ(SMH_RAM)
AM_RANGE(0x800000, 0x87ffff) AM_READ(SMH_RAM)
AM_RANGE(0x8c0000, 0x8c00ff) AM_READ(gdfs_blitram_r)
AM_RANGE(0x900000, 0x9fffff) AM_READ(gdfs_gfxram_r)
SSV_READMEM( 0xc00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( gdfs_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x41ffff) AM_WRITE(gdfs_tmapram_w) AM_BASE(&gdfs_tmapram)
AM_RANGE(0x420000, 0x43ffff) AM_WRITE(SMH_RAM)
AM_RANGE(0x440000, 0x44003f) AM_WRITE(SMH_RAM) AM_BASE(&gdfs_tmapscroll)
static ADDRESS_MAP_START( gdfs_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x41ffff) AM_RAM_WRITE(gdfs_tmapram_w) AM_BASE(&gdfs_tmapram)
AM_RANGE(0x420000, 0x43ffff) AM_RAM
AM_RANGE(0x440000, 0x44003f) AM_RAM AM_BASE(&gdfs_tmapscroll)
AM_RANGE(0x500000, 0x500001) AM_WRITE(gdfs_eeprom_w)
AM_RANGE(0x600000, 0x600fff) AM_WRITE(SMH_RAM)
AM_RANGE(0x800000, 0x87ffff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16_2)
AM_RANGE(0x8c0000, 0x8c00ff) AM_WRITE(gdfs_blitram_w) AM_BASE(&gdfs_blitram)
AM_RANGE(0x900000, 0x9fffff) AM_WRITE(gdfs_gfxram_w)
SSV_WRITEMEM
AM_RANGE(0x540000, 0x540001) AM_READ(gdfs_eeprom_r)
AM_RANGE(0x600000, 0x600fff) AM_RAM
AM_RANGE(0x800000, 0x87ffff) AM_RAM AM_BASE(&spriteram16_2)
AM_RANGE(0x8c0000, 0x8c00ff) AM_READWRITE(gdfs_blitram_r, gdfs_blitram_w) AM_BASE(&gdfs_blitram)
AM_RANGE(0x900000, 0x9fffff) AM_READWRITE(gdfs_gfxram_r, gdfs_gfxram_w)
SSV_MAP( 0xc00000 )
ADDRESS_MAP_END
@ -657,20 +633,15 @@ static READ16_HANDLER( hypreact_input_r )
return 0xffff;
}
static ADDRESS_MAP_START( hypreact_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP ) // ? read at the start, value not used
AM_RANGE(0xc00000, 0xc00001) AM_READ(hypreact_input_r ) // Inputs
AM_RANGE(0xc00006, 0xc00007) AM_READ(SMH_RAM ) //
AM_RANGE(0xc00008, 0xc00009) AM_READ(SMH_NOP ) //
SSV_READMEM( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( hypreact_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 5 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w ) // Inverted lockout lines
AM_RANGE(0xc00006, 0xc00007) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel ) // Inputs
AM_RANGE(0xc00008, 0xc00009) AM_WRITE(SMH_NOP ) //
SSV_WRITEMEM
static ADDRESS_MAP_START( hypreact_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 5 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP) // ? read at the start, value not used
AM_RANGE(0xc00000, 0xc00001) AM_READ(hypreact_input_r) // Inputs
AM_RANGE(0xc00006, 0xc00007) AM_RAM AM_BASE(&ssv_input_sel) //
AM_RANGE(0xc00008, 0xc00009) AM_NOP //
SSV_MAP( 0xf00000 )
ADDRESS_MAP_END
@ -678,20 +649,16 @@ ADDRESS_MAP_END
Hyper Reaction 2
***************************************************************************/
static ADDRESS_MAP_START( hypreac2_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP ) // ? read at the start, value not used
AM_RANGE(0x500000, 0x500001) AM_READ(hypreact_input_r ) // Inputs
AM_RANGE(0x500002, 0x500003) AM_READ(hypreact_input_r ) // (again?)
// 0x540000, 0x540003 communication with another unit
SSV_READMEM( 0xe00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( hypreac2_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 5 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w ) // Inverted lockout lines
AM_RANGE(0x520000, 0x520001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel ) // Inputs
// 0x540000, 0x540003 communication with other units
SSV_WRITEMEM
static ADDRESS_MAP_START( hypreac2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 5 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP) // ? read at the start, value not used
AM_RANGE(0x500000, 0x500001) AM_READ(hypreact_input_r) // Inputs
AM_RANGE(0x500002, 0x500003) AM_READ(hypreact_input_r) // (again?)
AM_RANGE(0x520000, 0x520001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs
// 0x540000, 0x540003 communication with other units
SSV_MAP( 0xe00000 )
ADDRESS_MAP_END
@ -701,16 +668,13 @@ ADDRESS_MAP_END
static READ16_HANDLER( srmp4_input_r );
static ADDRESS_MAP_START( janjans1_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210006, 0x210007) AM_READ(SMH_NOP )
AM_RANGE(0x800002, 0x800003) AM_READ(srmp4_input_r ) // Inputs
SSV_READMEM( 0xc00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( janjans1_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_WRITE(SMH_NOP ) // koikois2 but not janjans1
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 1 at the start
AM_RANGE(0x800000, 0x800001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel ) // Inputs
SSV_WRITEMEM
static ADDRESS_MAP_START( janjans1_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_WRITE(SMH_NOP) // koikois2 but not janjans1
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start
AM_RANGE(0x210006, 0x210007) AM_READ(SMH_NOP)
AM_RANGE(0x800000, 0x800001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs
AM_RANGE(0x800002, 0x800003) AM_READ(srmp4_input_r) // Inputs
SSV_MAP( 0xc00000 )
ADDRESS_MAP_END
@ -718,15 +682,12 @@ ADDRESS_MAP_END
Keith & Lucy
***************************************************************************/
static ADDRESS_MAP_START( keithlcy_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x21000e, 0x21000f) AM_READ(SMH_NOP ) //
SSV_READMEM( 0xe00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( keithlcy_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 1 at the start
AM_RANGE(0x210010, 0x210011) AM_WRITE(SMH_NOP ) //
AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM ) // ?
SSV_WRITEMEM
static ADDRESS_MAP_START( keithlcy_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start
AM_RANGE(0x210010, 0x210011) AM_WRITE(SMH_NOP) //
AM_RANGE(0x21000e, 0x21000f) AM_READ(SMH_NOP) //
AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM) // ?
SSV_MAP( 0xe00000 )
ADDRESS_MAP_END
@ -734,17 +695,13 @@ ADDRESS_MAP_END
Meosis Magic
***************************************************************************/
static ADDRESS_MAP_START( meosism_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP ) // ? read once, value not used
AM_RANGE(0x580000, 0x58ffff) AM_READ(SMH_RAM ) // NVRAM
SSV_READMEM( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( meosism_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 5 at the start
// AM_RANGE(0x500004, 0x500005) AM_WRITE(SMH_NOP ) // ? 0,58,18
AM_RANGE(0x580000, 0x58ffff) AM_WRITE(SMH_RAM) AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size ) // NVRAM
SSV_WRITEMEM
static ADDRESS_MAP_START( meosism_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 5 at the start
// AM_RANGE(0x280000, 0x280001) AM_READ(SMH_NOP) // ? read once, value not used
// AM_RANGE(0x500004, 0x500005) AM_WRITE(SMH_NOP) // ? 0,58,18
AM_RANGE(0x580000, 0x58ffff) AM_RAM AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size) // NVRAM
SSV_MAP( 0xf00000 )
ADDRESS_MAP_END
/***************************************************************************
@ -763,16 +720,12 @@ static WRITE16_HANDLER( ssv_mainram_w )
COMBINE_DATA(&ssv_mainram[offset]);
}
static ADDRESS_MAP_START( mslider_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x01ffff) AM_READ(ssv_mainram_r ) // RAM Mirror
SSV_READMEM( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( mslider_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x01ffff) AM_WRITE(ssv_mainram_w) // RAM Mirror
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 1 at the start
AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM ) // ?
// AM_RANGE(0x500000, 0x500001) AM_WRITE(SMH_NOP ) // ? ff at the start
SSV_WRITEMEM
static ADDRESS_MAP_START( mslider_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x01ffff) AM_READWRITE(ssv_mainram_r, ssv_mainram_w) // RAM Mirror
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start
AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM) // ?
// AM_RANGE(0x500000, 0x500001) AM_WRITE(SMH_NOP) // ? ff at the start
SSV_MAP( 0xf00000 )
ADDRESS_MAP_END
@ -780,13 +733,10 @@ ADDRESS_MAP_END
Gourmet Battle Quiz Ryohrioh CooKing
***************************************************************************/
static ADDRESS_MAP_START( ryorioh_readmem, ADDRESS_SPACE_PROGRAM, 16 )
SSV_READMEM( 0xc00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( ryorioh_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_WRITE(watchdog_reset16_w ) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 1 at the start
SSV_WRITEMEM
static ADDRESS_MAP_START( ryorioh_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_WRITE(watchdog_reset16_w) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start
SSV_MAP( 0xc00000 )
ADDRESS_MAP_END
@ -805,16 +755,13 @@ static READ16_HANDLER( srmp4_input_r )
return 0xffff;
}
static ADDRESS_MAP_START( srmp4_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
AM_RANGE(0xc0000a, 0xc0000b) AM_READ(srmp4_input_r ) // Inputs
SSV_READMEM( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( srmp4_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 1,5 at the start
AM_RANGE(0xc0000e, 0xc0000f) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel ) // Inputs
AM_RANGE(0xc00010, 0xc00011) AM_WRITE(SMH_NOP ) //
SSV_WRITEMEM
static ADDRESS_MAP_START( srmp4_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1,5 at the start
AM_RANGE(0xc0000a, 0xc0000b) AM_READ(srmp4_input_r) // Inputs
AM_RANGE(0xc0000e, 0xc0000f) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs
AM_RANGE(0xc00010, 0xc00011) AM_WRITE(SMH_NOP) //
SSV_MAP( 0xf00000 )
ADDRESS_MAP_END
@ -855,22 +802,17 @@ static READ16_HANDLER( srmp7_input_r )
return 0xffff;
}
static ADDRESS_MAP_START( srmp7_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x050faf) AM_READ(SMH_RAM ) // More RAM
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
AM_RANGE(0x300076, 0x300077) AM_READ(srmp7_irqv_r ) // Sound
// 0x540000, 0x540003, related to lev 5 irq?
AM_RANGE(0x600000, 0x600001) AM_READ(srmp7_input_r ) // Inputs
SSV_READMEM( 0xc00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( srmp7_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x050faf) AM_WRITE(SMH_RAM ) // More RAM
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 0,4 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w ) // Coin Counters / Lockouts
// 0x540000, 0x540003, related to lev 5 irq?
AM_RANGE(0x580000, 0x580001) AM_WRITE(srmp7_sound_bank_w ) // Sound Bank
AM_RANGE(0x680000, 0x680001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel ) // Inputs
SSV_WRITEMEM
static ADDRESS_MAP_START( srmp7_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x050faf) AM_RAM // More RAM
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 0,4 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Coin Counters / Lockouts
AM_RANGE(0x300076, 0x300077) AM_READ(srmp7_irqv_r) // Sound
// 0x540000, 0x540003, related to lev 5 irq?
AM_RANGE(0x580000, 0x580001) AM_WRITE(srmp7_sound_bank_w) // Sound Bank
AM_RANGE(0x600000, 0x600001) AM_READ(srmp7_input_r) // Inputs
AM_RANGE(0x680000, 0x680001) AM_WRITE(SMH_RAM) AM_BASE(&ssv_input_sel) // Inputs
SSV_MAP( 0xc00000 )
ADDRESS_MAP_END
@ -878,21 +820,16 @@ ADDRESS_MAP_END
Survival Arts
***************************************************************************/
static ADDRESS_MAP_START( survarts_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
// AM_RANGE(0x290000, 0x290001) AM_READ(SMH_NOP ) // ?
// AM_RANGE(0x2a0000, 0x2a0001) AM_READ(SMH_NOP ) // ?
static ADDRESS_MAP_START( survarts_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 0,4 at the start
// AM_RANGE(0x290000, 0x290001) AM_READ(SMH_NOP) // ?
// AM_RANGE(0x2a0000, 0x2a0001) AM_READ(SMH_NOP) // ?
AM_RANGE(0x400000, 0x43ffff) AM_READ(SMH_RAM) // dyna
AM_RANGE(0x400000, 0x43ffff) AM_RAM // dyna
AM_RANGE(0x500008, 0x500009) AM_READ_PORT("ADD_BUTTONS") // Extra Buttons
SSV_READMEM( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( survarts_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 0,4 at the start
AM_RANGE(0x400000, 0x43ffff) AM_WRITE(SMH_RAM) // dyna
SSV_WRITEMEM
SSV_MAP( 0xf00000 )
ADDRESS_MAP_END
@ -933,22 +870,16 @@ static WRITE16_HANDLER( sxyreact_motor_w )
// popmessage("%04X",data); // 8 = motor on; 0 = motor off
}
static ADDRESS_MAP_START( sxyreact_readmem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x020000, 0x03ffff) AM_READ(ssv_mainram_r ) // sxyreac2 reads / writes here, why?
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog
AM_RANGE(0x500002, 0x500003) AM_READ(sxyreact_ballswitch_r ) // ?
AM_RANGE(0x500004, 0x500005) AM_READ(sxyreact_dial_r ) // Dial Value (serial)
AM_RANGE(0x580000, 0x58ffff) AM_READ(SMH_RAM ) // NVRAM
SSV_READMEM( 0xe00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sxyreact_writemem, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x020000, 0x03ffff) AM_WRITE(ssv_mainram_w ) // sxyreac2 reads / writes here, why?
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 1 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w ) // Inverted lockout lines
AM_RANGE(0x520000, 0x520001) AM_WRITE(sxyreact_dial_w ) // Dial Value (advance 1 bit)
AM_RANGE(0x520004, 0x520005) AM_WRITE(sxyreact_motor_w ) // Dial Motor?
AM_RANGE(0x580000, 0x58ffff) AM_WRITE(SMH_RAM) AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size ) // NVRAM
SSV_WRITEMEM
static ADDRESS_MAP_START( sxyreact_map, ADDRESS_SPACE_PROGRAM, 16 )
// AM_RANGE(0x020000, 0x03ffff) AM_READWRITE(ssv_mainram_r, ssv_mainram_w) // sxyreac2 reads / writes here, why?
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 1 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
AM_RANGE(0x500002, 0x500003) AM_READ(sxyreact_ballswitch_r) // ?
AM_RANGE(0x500004, 0x500005) AM_READWRITE(sxyreact_dial_r, sxyreact_motor_w) // Dial Value (serial)
AM_RANGE(0x520000, 0x520001) AM_WRITE(sxyreact_dial_w) // Dial Value (advance 1 bit)
AM_RANGE(0x580000, 0x58ffff) AM_RAM AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size) // NVRAM
SSV_MAP( 0xe00000 )
ADDRESS_MAP_END
@ -958,14 +889,10 @@ ADDRESS_MAP_END
/* comes as either a standalone board or a standard SSV rom board (verified) */
static ADDRESS_MAP_START( twineag2_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x03ffff) AM_READ(SMH_RAM ) // More RAM
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog (also value is cmp.b with mem 8)
SSV_READMEM( 0xe00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( twineag2_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x03ffff) AM_WRITE(SMH_RAM ) // More RAM
SSV_WRITEMEM
static ADDRESS_MAP_START( twineag2_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x03ffff) AM_RAM // More RAM
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog (also value is cmp.b with mem 8)
SSV_MAP( 0xe00000 )
ADDRESS_MAP_END
@ -975,15 +902,11 @@ ADDRESS_MAP_END
/* standalone board based on SSV hardware */
static ADDRESS_MAP_START( ultrax_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x03ffff) AM_READ(SMH_RAM ) // More RAM
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r ) // Watchdog (also value is cmp.b with memory address 8)
SSV_READMEM( 0xe00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( ultrax_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x03ffff) AM_WRITE(SMH_RAM ) // More RAM
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 2,6 at the start
SSV_WRITEMEM
static ADDRESS_MAP_START( ultrax_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x010000, 0x03ffff) AM_RAM // More RAM
AM_RANGE(0x210000, 0x210001) AM_READ(watchdog_reset16_r) // Watchdog (also value is cmp.b with memory address 8)
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 2,6 at the start
SSV_MAP( 0xe00000 )
ADDRESS_MAP_END
/***************************************************************************
@ -1024,26 +947,20 @@ static WRITE16_HANDLER(latch16_w)
timer_call_after_resynch(space->machine, NULL, 0, NULL);
}
static ADDRESS_MAP_START( jsk_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x050000, 0x05ffff) AM_READ(ssv_mainram_r ) // RAM Mirror?
AM_RANGE(0x400000, 0x47ffff) AM_READ(SMH_RAM ) // RAM?
AM_RANGE(0x900000, 0x900007) AM_READ(latch16_r)
SSV_READMEM( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( jsk_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x050000, 0x05ffff) AM_WRITE(ssv_mainram_w ) // RAM Mirror?
AM_RANGE(0x210000, 0x210001) AM_WRITE(watchdog_reset16_w ) // Watchdog
AM_RANGE(0x400000, 0x47ffff) AM_WRITE(SMH_RAM ) // RAM?
AM_RANGE(0x900000, 0x900007) AM_WRITE(latch16_w)
SSV_WRITEMEM
static ADDRESS_MAP_START( jsk_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x050000, 0x05ffff) AM_READWRITE(ssv_mainram_r, ssv_mainram_w) // RAM Mirror?
AM_RANGE(0x210000, 0x210001) AM_WRITE(watchdog_reset16_w) // Watchdog
AM_RANGE(0x400000, 0x47ffff) AM_RAM // RAM?
AM_RANGE(0x900000, 0x900007) AM_READWRITE(latch16_r, latch16_w)
SSV_MAP( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( jsk_v810_mem,ADDRESS_SPACE_PROGRAM, 32 )
static ADDRESS_MAP_START( jsk_v810_mem, ADDRESS_SPACE_PROGRAM, 32 )
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM
AM_RANGE(0x80000000, 0x8001ffff) AM_RAM
AM_RANGE(0xc0000000, 0xc001ffff) AM_RAM
AM_RANGE(0x40000000, 0x4000000f) AM_READ(latch32_r) AM_WRITE(latch32_w)
AM_RANGE(0x40000000, 0x4000000f) AM_READWRITE(latch32_r, latch32_w)
AM_RANGE(0xfff80000, 0xffffffff) AM_ROM AM_REGION("sub", 0)
ADDRESS_MAP_END
@ -1108,23 +1025,17 @@ static WRITE16_HANDLER( eaglshot_gfxram_w )
}
static ADDRESS_MAP_START( eaglshot_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x180000, 0x1bffff) AM_READ(eaglshot_gfxram_r )
AM_RANGE(0x210000, 0x210001) AM_READ(/*watchdog_reset16_r*/SMH_NOP ) // Watchdog
AM_RANGE(0xa00000, 0xbfffff) AM_READ(eaglshot_gfxrom_r )
AM_RANGE(0xc00000, 0xc007ff) AM_READ(SMH_RAM ) // NVRAM
AM_RANGE(0xd00000, 0xd00001) AM_READ(eaglshot_trackball_r )
SSV_READMEM( 0xf00000 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( eaglshot_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x180000, 0x1bffff) AM_WRITE(eaglshot_gfxram_w )
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP ) // ? 0,4 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w ) // Inverted lockout lines
AM_RANGE(0x800000, 0x800001) AM_WRITE(eaglshot_gfxrom_w )
AM_RANGE(0x900000, 0x900001) AM_WRITE(eaglshot_trackball_w )
AM_RANGE(0xc00000, 0xc007ff) AM_WRITE(SMH_RAM) AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size ) // NVRAM
SSV_WRITEMEM
static ADDRESS_MAP_START( eaglshot_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x180000, 0x1bffff) AM_READWRITE(eaglshot_gfxram_r, eaglshot_gfxram_w)
AM_RANGE(0x210000, 0x210001) AM_READ(/*watchdog_reset16_r*/SMH_NOP) // Watchdog
// AM_RANGE(0x210002, 0x210003) AM_WRITE(SMH_NOP) // ? 0,4 at the start
AM_RANGE(0x21000e, 0x21000f) AM_WRITE(ssv_lockout_inv_w) // Inverted lockout lines
AM_RANGE(0x800000, 0x800001) AM_WRITE(eaglshot_gfxrom_w)
AM_RANGE(0x900000, 0x900001) AM_WRITE(eaglshot_trackball_w)
AM_RANGE(0xa00000, 0xbfffff) AM_READ(eaglshot_gfxrom_r)
AM_RANGE(0xc00000, 0xc007ff) AM_RAM AM_BASE(&ssv_nvram) AM_SIZE(&ssv_nvram_size) // NVRAM
AM_RANGE(0xd00000, 0xd00001) AM_READ(eaglshot_trackball_r)
SSV_MAP( 0xf00000 )
ADDRESS_MAP_END
@ -2832,7 +2743,7 @@ static MACHINE_DRIVER_START( drifto94 )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(drifto94_readmem, drifto94_writemem)
MDRV_CPU_PROGRAM_MAP(drifto94_map, 0)
MDRV_NVRAM_HANDLER(ssv)
@ -2847,7 +2758,7 @@ static MACHINE_DRIVER_START( gdfs )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(gdfs_readmem, gdfs_writemem)
MDRV_CPU_PROGRAM_MAP(gdfs_map, 0)
MDRV_CPU_VBLANK_INT_HACK(gdfs_interrupt,1+4)
MDRV_NVRAM_HANDLER(gdfs)
@ -2867,7 +2778,7 @@ static MACHINE_DRIVER_START( hypreact )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(hypreact_readmem, hypreact_writemem)
MDRV_CPU_PROGRAM_MAP(hypreact_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2880,7 +2791,7 @@ static MACHINE_DRIVER_START( hypreac2 )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(hypreac2_readmem, hypreac2_writemem)
MDRV_CPU_PROGRAM_MAP(hypreac2_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2893,7 +2804,7 @@ static MACHINE_DRIVER_START( janjans1 )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(janjans1_readmem, janjans1_writemem)
MDRV_CPU_PROGRAM_MAP(janjans1_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2906,7 +2817,7 @@ static MACHINE_DRIVER_START( keithlcy )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(keithlcy_readmem, keithlcy_writemem)
MDRV_CPU_PROGRAM_MAP(keithlcy_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2919,7 +2830,7 @@ static MACHINE_DRIVER_START( meosism )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(meosism_readmem, meosism_writemem)
MDRV_CPU_PROGRAM_MAP(meosism_map, 0)
MDRV_NVRAM_HANDLER(ssv)
@ -2934,7 +2845,7 @@ static MACHINE_DRIVER_START( mslider )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(mslider_readmem, mslider_writemem)
MDRV_CPU_PROGRAM_MAP(mslider_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2947,7 +2858,7 @@ static MACHINE_DRIVER_START( ryorioh )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(ryorioh_readmem, ryorioh_writemem)
MDRV_CPU_PROGRAM_MAP(ryorioh_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2960,7 +2871,7 @@ static MACHINE_DRIVER_START( srmp4 )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(srmp4_readmem, srmp4_writemem)
MDRV_CPU_PROGRAM_MAP(srmp4_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2973,7 +2884,7 @@ static MACHINE_DRIVER_START( srmp7 )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(srmp7_readmem, srmp7_writemem)
MDRV_CPU_PROGRAM_MAP(srmp7_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -2986,7 +2897,7 @@ static MACHINE_DRIVER_START( stmblade )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(drifto94_readmem, drifto94_writemem)
MDRV_CPU_PROGRAM_MAP(drifto94_map, 0)
MDRV_NVRAM_HANDLER(ssv)
/* video hardware */
@ -3000,7 +2911,7 @@ static MACHINE_DRIVER_START( survarts )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(survarts_readmem, survarts_writemem)
MDRV_CPU_PROGRAM_MAP(survarts_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -3021,7 +2932,7 @@ static MACHINE_DRIVER_START( eaglshot )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(eaglshot_readmem, eaglshot_writemem)
MDRV_CPU_PROGRAM_MAP(eaglshot_map, 0)
MDRV_NVRAM_HANDLER(ssv)
@ -3040,7 +2951,7 @@ static MACHINE_DRIVER_START( sxyreact )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(sxyreact_readmem, sxyreact_writemem)
MDRV_CPU_PROGRAM_MAP(sxyreact_map, 0)
MDRV_NVRAM_HANDLER(ssv)
@ -3055,7 +2966,7 @@ static MACHINE_DRIVER_START( twineag2 )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(twineag2_readmem, twineag2_writemem)
MDRV_CPU_PROGRAM_MAP(twineag2_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -3068,7 +2979,7 @@ static MACHINE_DRIVER_START( ultrax )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(ultrax_readmem, ultrax_writemem)
MDRV_CPU_PROGRAM_MAP(ultrax_map, 0)
/* video hardware */
MDRV_SCREEN_MODIFY("screen")
@ -3080,7 +2991,7 @@ static MACHINE_DRIVER_START( jsk )
/* basic machine hardware */
MDRV_IMPORT_FROM(ssv)
MDRV_CPU_MODIFY("maincpu")
MDRV_CPU_PROGRAM_MAP(jsk_readmem, jsk_writemem)
MDRV_CPU_PROGRAM_MAP(jsk_map, 0)
MDRV_CPU_ADD("sub", V810,25000000)
MDRV_CPU_PROGRAM_MAP(jsk_v810_mem, 0)