From 519f0859c374aae3f01430d7ab8eb18263a45952 Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Sun, 1 Mar 2009 07:10:33 +0000 Subject: [PATCH] Merged tetrisp2 memory maps. Renamed teplus2->tetrisp2j. --- src/mame/drivers/tetrisp2.c | 412 ++++++++++++++---------------------- src/mame/mamedriv.c | 2 +- src/mame/video/tetrisp2.c | 11 - 3 files changed, 165 insertions(+), 260 deletions(-) diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c index dfe5b358def..32cefa86f7c 100644 --- a/src/mame/drivers/tetrisp2.c +++ b/src/mame/drivers/tetrisp2.c @@ -307,54 +307,36 @@ static WRITE16_HANDLER( tetrisp2_coincounter_w ) ***************************************************************************/ -static ADDRESS_MAP_START( tetrisp2_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_READ(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_READ(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_READ(tetrisp2_priority_r ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_READ(SMH_RAM ) // Palette - AM_RANGE(0x400000, 0x403fff) AM_READ(SMH_RAM ) // Foreground - AM_RANGE(0x404000, 0x407fff) AM_READ(SMH_RAM ) // Background - AM_RANGE(0x408000, 0x409fff) AM_READ(SMH_RAM ) // ??? - AM_RANGE(0x500000, 0x50ffff) AM_READ(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_READ(SMH_RAM ) // Rotation - AM_RANGE(0x650000, 0x651fff) AM_READ(SMH_RAM ) // Rotation (mirror) - AM_RANGE(0x800002, 0x800003) AM_DEVREAD8(SOUND, "ymz", ymz280b_r, 0x00ff) // Sound - AM_RANGE(0x900000, 0x903fff) AM_READ(tetrisp2_nvram_r ) // NVRAM - AM_RANGE(0x904000, 0x907fff) AM_READ(tetrisp2_nvram_r ) // NVRAM (mirror) - AM_RANGE(0xbe0000, 0xbe0001) AM_READ(SMH_NOP ) // INT-level1 dummy read - AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs - AM_RANGE(0xbe0004, 0xbe0005) AM_READ(tetrisp2_ip_1_word_r ) // Inputs & protection - AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs - AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r ) // Watchdog -ADDRESS_MAP_END - -static ADDRESS_MAP_START( tetrisp2_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_WRITE(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_WRITE(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_WRITE(tetrisp2_priority_w) AM_BASE(&tetrisp2_priority ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16 ) // Palette - AM_RANGE(0x400000, 0x403fff) AM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg ) // Foreground - AM_RANGE(0x404000, 0x407fff) AM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg ) // Background - AM_RANGE(0x408000, 0x409fff) AM_WRITE(SMH_RAM ) // ??? - AM_RANGE(0x500000, 0x50ffff) AM_WRITE(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot ) // Rotation - AM_RANGE(0x650000, 0x651fff) AM_WRITE(tetrisp2_vram_rot_w ) // Rotation (mirror) - AM_RANGE(0x800000, 0x800003) AM_DEVWRITE8(SOUND, "ymz", ymz280b_w, 0x00ff ) // Sound - AM_RANGE(0x900000, 0x903fff) AM_WRITE(tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size ) // NVRAM - AM_RANGE(0x904000, 0x907fff) AM_WRITE(tetrisp2_nvram_w ) // NVRAM (mirror) - AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w ) // Coin Counter - AM_RANGE(0xb20000, 0xb20001) AM_WRITE(SMH_NOP ) // ??? - AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_fg ) // Foreground Scrolling - AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_bg ) // Background Scrolling - AM_RANGE(0xb4003e, 0xb4003f) AM_WRITE(SMH_NOP ) // scr_size - AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_rotregs ) // Rotation Registers - AM_RANGE(0xba0000, 0xba001f) AM_WRITE(tetrisp2_systemregs_w ) // system param - AM_RANGE(0xba001a, 0xba001b) AM_WRITE(SMH_NOP ) // Lev 4 irq ack - AM_RANGE(0xba001e, 0xba001f) AM_WRITE(SMH_NOP ) // Lev 2 irq ack +static ADDRESS_MAP_START( tetrisp2_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM + AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM + AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM + AM_RANGE(0x200000, 0x23ffff) AM_RAM_WRITE(tetrisp2_priority_w) AM_BASE(&tetrisp2_priority) // Priority + AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette + AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground + AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg) // Background + AM_RANGE(0x408000, 0x409fff) AM_RAM // ??? + AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line + AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot) // Rotation + AM_RANGE(0x650000, 0x651fff) AM_RAM_WRITE(tetrisp2_vram_rot_w) // Rotation (mirror) + AM_RANGE(0x800000, 0x800003) AM_DEVREADWRITE8(SOUND, "ymz", ymz280b_r, ymz280b_w, 0x00ff) // Sound + AM_RANGE(0x900000, 0x903fff) AM_READWRITE(tetrisp2_nvram_r, tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size) // NVRAM + AM_RANGE(0x904000, 0x907fff) AM_READWRITE(tetrisp2_nvram_r, tetrisp2_nvram_w) // NVRAM (mirror) + AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w) // Coin Counter + AM_RANGE(0xb20000, 0xb20001) AM_WRITENOP // ??? + AM_RANGE(0xb40000, 0xb4000b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_fg) // Foreground Scrolling + AM_RANGE(0xb40010, 0xb4001b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_bg) // Background Scrolling + AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size + AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_BASE(&tetrisp2_rotregs) // Rotation Registers + AM_RANGE(0xba0000, 0xba001f) AM_WRITE(tetrisp2_systemregs_w) // system param + AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack + AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack + AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read + AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs + AM_RANGE(0xbe0004, 0xbe0005) AM_READ(tetrisp2_ip_1_word_r) // Inputs & protection + AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs + AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog ADDRESS_MAP_END @@ -426,206 +408,139 @@ static ADDRESS_MAP_START( nndmseal_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r ) // Watchdog ADDRESS_MAP_END -static ADDRESS_MAP_START( rockn1_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_READ(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_READ(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_READ(tetrisp2_priority_r ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_READ(SMH_RAM ) // Palette - AM_RANGE(0x400000, 0x403fff) AM_READ(SMH_RAM ) // Foreground - AM_RANGE(0x404000, 0x407fff) AM_READ(SMH_RAM ) // Background - AM_RANGE(0x408000, 0x409fff) AM_READ(SMH_RAM ) // ??? - AM_RANGE(0x500000, 0x50ffff) AM_READ(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_READ(SMH_RAM ) // Rotation - AM_RANGE(0x900000, 0x903fff) AM_READ(rockn_nvram_r ) // NVRAM - AM_RANGE(0xa30000, 0xa30001) AM_READ(rockn_soundvolume_r ) // Sound Volume - AM_RANGE(0xa40002, 0xa40003) AM_DEVREAD8(SOUND, "ymz", ymz280b_r, 0x00ff) // Sound - AM_RANGE(0xa44000, 0xa44001) AM_READ(rockn_adpcmbank_r ) // Sound Bank - AM_RANGE(0xbe0000, 0xbe0001) AM_READ(SMH_NOP ) // INT-level1 dummy read - AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs - AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs - AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs - AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog + +static ADDRESS_MAP_START( rockn1_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM + AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM + AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM + AM_RANGE(0x200000, 0x23ffff) AM_RAM_WRITE(rockn_priority_w) AM_BASE(&tetrisp2_priority) // Priority + AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette + AM_RANGE(0x400000, 0x403fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground + AM_RANGE(0x404000, 0x407fff) AM_RAM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg) // Background + AM_RANGE(0x408000, 0x409fff) AM_RAM // ??? + AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line + AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot) // Rotation + AM_RANGE(0x900000, 0x903fff) AM_READWRITE(rockn_nvram_r, tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size) // NVRAM + AM_RANGE(0xa30000, 0xa30001) AM_READWRITE(rockn_soundvolume_r, rockn_soundvolume_w) // Sound Volume + AM_RANGE(0xa40000, 0xa40003) AM_DEVREADWRITE8(SOUND, "ymz", ymz280b_r, ymz280b_w, 0x00ff) // Sound + AM_RANGE(0xa44000, 0xa44001) AM_READWRITE(rockn_adpcmbank_r, rockn_adpcmbank_w) // Sound Bank + AM_RANGE(0xa48000, 0xa48001) AM_NOP // YMZ280 Reset + AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w) // Coin Counter + AM_RANGE(0xb20000, 0xb20001) AM_NOP // ??? + AM_RANGE(0xb40000, 0xb4000b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_fg) // Foreground Scrolling + AM_RANGE(0xb40010, 0xb4001b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_bg) // Background Scrolling + AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size + AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_BASE(&tetrisp2_rotregs) // Rotation Registers + AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // system param + AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack + AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack + AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read + AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs + AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs + AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs + AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog ADDRESS_MAP_END -static ADDRESS_MAP_START( rockn1_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_WRITE(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_WRITE(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_WRITE(rockn_priority_w) AM_BASE(&tetrisp2_priority ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16 ) // Palette - AM_RANGE(0x400000, 0x403fff) AM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg ) // Foreground - AM_RANGE(0x404000, 0x407fff) AM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg ) // Background - AM_RANGE(0x408000, 0x409fff) AM_WRITE(SMH_RAM ) // ??? - AM_RANGE(0x500000, 0x50ffff) AM_WRITE(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot ) // Rotation - AM_RANGE(0x900000, 0x903fff) AM_WRITE(tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size ) // NVRAM - AM_RANGE(0xa30000, 0xa30001) AM_WRITE(rockn_soundvolume_w ) // Sound Volume - AM_RANGE(0xa40000, 0xa40003) AM_DEVWRITE8(SOUND, "ymz", ymz280b_w, 0x00ff ) // Sound - AM_RANGE(0xa44000, 0xa44001) AM_WRITE(rockn_adpcmbank_w ) // Sound Bank - AM_RANGE(0xa48000, 0xa48001) AM_WRITE(SMH_NOP ) // YMZ280 Reset - AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w ) // Coin Counter - AM_RANGE(0xb20000, 0xb20001) AM_WRITE(SMH_NOP ) // ??? - AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_fg ) // Foreground Scrolling - AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_bg ) // Background Scrolling - AM_RANGE(0xb4003e, 0xb4003f) AM_WRITE(SMH_NOP ) // scr_size - AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_rotregs ) // Rotation Registers - AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w ) // system param - AM_RANGE(0xba001a, 0xba001b) AM_WRITE(SMH_NOP ) // Lev 4 irq ack - AM_RANGE(0xba001e, 0xba001f) AM_WRITE(SMH_NOP ) // Lev 2 irq ack + +static ADDRESS_MAP_START( rockn2_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM + AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM + AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM + AM_RANGE(0x200000, 0x23ffff) AM_RAM_WRITE(rockn_priority_w) AM_BASE(&tetrisp2_priority) // Priority + AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette + AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line + AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot) // Rotation + AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground + AM_RANGE(0x804000, 0x807fff) AM_RAM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg) // Background + AM_RANGE(0x808000, 0x809fff) AM_RAM // ??? + AM_RANGE(0x900000, 0x903fff) AM_READWRITE(rockn_nvram_r, tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size) // NVRAM + AM_RANGE(0xa30000, 0xa30001) AM_READWRITE(rockn_soundvolume_r, rockn_soundvolume_w) // Sound Volume + AM_RANGE(0xa40000, 0xa40003) AM_DEVREADWRITE8(SOUND, "ymz", ymz280b_r, ymz280b_w, 0x00ff) // Sound + AM_RANGE(0xa44000, 0xa44001) AM_READWRITE(rockn_adpcmbank_r, rockn2_adpcmbank_w) // Sound Bank + AM_RANGE(0xa48000, 0xa48001) AM_WRITENOP // YMZ280 Reset + AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w) // Coin Counter + AM_RANGE(0xb20000, 0xb20001) AM_WRITENOP // ??? + AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_fg) // Foreground Scrolling + AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_bg) // Background Scrolling + AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size + AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_rotregs) // Rotation Registers + AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // system param + AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack + AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack + AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read + AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs + AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs + AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs + AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog ADDRESS_MAP_END -static ADDRESS_MAP_START( rockn2_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_READ(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_READ(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_READ(tetrisp2_priority_r ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_READ(SMH_RAM ) // Palette - AM_RANGE(0x500000, 0x50ffff) AM_READ(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_READ(SMH_RAM ) // Rotation - AM_RANGE(0x800000, 0x803fff) AM_READ(SMH_RAM ) // Foreground - AM_RANGE(0x804000, 0x807fff) AM_READ(SMH_RAM ) // Background - AM_RANGE(0x808000, 0x809fff) AM_READ(SMH_RAM ) // ??? - AM_RANGE(0x900000, 0x903fff) AM_READ(rockn_nvram_r ) // NVRAM - AM_RANGE(0xa30000, 0xa30001) AM_READ(rockn_soundvolume_r ) // Sound Volume - AM_RANGE(0xa40002, 0xa40003) AM_DEVREAD8(SOUND, "ymz", ymz280b_r, 0x00ff) // Sound - AM_RANGE(0xa44000, 0xa44001) AM_READ(rockn_adpcmbank_r ) // Sound Bank - AM_RANGE(0xbe0000, 0xbe0001) AM_READ(SMH_NOP ) // INT-level1 dummy read - AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") // Inputs - AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs - AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs - AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog -ADDRESS_MAP_END -static ADDRESS_MAP_START( rockn2_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_WRITE(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_WRITE(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_WRITE(rockn_priority_w) AM_BASE(&tetrisp2_priority ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16 ) // Palette - AM_RANGE(0x500000, 0x50ffff) AM_WRITE(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot ) // Rotation - AM_RANGE(0x800000, 0x803fff) AM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg ) // Foreground - AM_RANGE(0x804000, 0x807fff) AM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg ) // Background - AM_RANGE(0x808000, 0x809fff) AM_WRITE(SMH_RAM ) // ??? - AM_RANGE(0x900000, 0x903fff) AM_WRITE(tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size ) // NVRAM - AM_RANGE(0xa30000, 0xa30001) AM_WRITE(rockn_soundvolume_w ) // Sound Volume - AM_RANGE(0xa40000, 0xa40003) AM_DEVWRITE8(SOUND, "ymz", ymz280b_w, 0x00ff ) // Sound - AM_RANGE(0xa44000, 0xa44001) AM_WRITE(rockn2_adpcmbank_w ) // Sound Bank - AM_RANGE(0xa48000, 0xa48001) AM_WRITE(SMH_NOP ) // YMZ280 Reset - AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w ) // Coin Counter - AM_RANGE(0xb20000, 0xb20001) AM_WRITE(SMH_NOP ) // ??? - AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_fg ) // Foreground Scrolling - AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_bg ) // Background Scrolling - AM_RANGE(0xb4003e, 0xb4003f) AM_WRITE(SMH_NOP ) // scr_size - AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_rotregs ) // Rotation Registers - AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w ) // system param - AM_RANGE(0xba001a, 0xba001b) AM_WRITE(SMH_NOP ) // Lev 4 irq ack - AM_RANGE(0xba001e, 0xba001f) AM_WRITE(SMH_NOP ) // Lev 2 irq ack -ADDRESS_MAP_END - -static ADDRESS_MAP_START( rocknms_main_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_READ(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_READ(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_READ(tetrisp2_priority_r ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_READ(SMH_RAM ) // Palette -// AM_RANGE(0x500000, 0x50ffff) AM_READ(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_READ(SMH_RAM ) // Rotation - AM_RANGE(0x800000, 0x803fff) AM_READ(SMH_RAM ) // Foreground - AM_RANGE(0x804000, 0x807fff) AM_READ(SMH_RAM ) // Background -// AM_RANGE(0x808000, 0x809fff) AM_READ(SMH_RAM ) // ??? - AM_RANGE(0x900000, 0x903fff) AM_READ(rockn_nvram_r ) // NVRAM - AM_RANGE(0xa30000, 0xa30001) AM_READ(rockn_soundvolume_r ) // Sound Volume - AM_RANGE(0xa40002, 0xa40003) AM_DEVREAD8(SOUND, "ymz", ymz280b_r, 0x00ff) // Sound - AM_RANGE(0xa44000, 0xa44001) AM_READ(rockn_adpcmbank_r ) // Sound Bank - AM_RANGE(0xbe0000, 0xbe0001) AM_READ(SMH_NOP ) // INT-level1 dummy read +static ADDRESS_MAP_START( rocknms_main_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) // Object RAM + AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM + AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM + AM_RANGE(0x200000, 0x23ffff) AM_RAM_WRITE(rockn_priority_w) AM_BASE(&tetrisp2_priority) // Priority + AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16) // Palette +// AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line + AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot) // Rotation + AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg) // Foreground + AM_RANGE(0x804000, 0x807fff) AM_RAM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg) // Background +// AM_RANGE(0x808000, 0x809fff) AM_RAM // ??? + AM_RANGE(0x900000, 0x903fff) AM_READWRITE(rockn_nvram_r, tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size) // NVRAM + AM_RANGE(0xa30000, 0xa30001) AM_READWRITE(rockn_soundvolume_r, rockn_soundvolume_w) // Sound Volume + AM_RANGE(0xa40000, 0xa40003) AM_DEVREADWRITE8(SOUND, "ymz", ymz280b_r, ymz280b_w, 0x00ff) // Sound + AM_RANGE(0xa44000, 0xa44001) AM_READWRITE(rockn_adpcmbank_r, rockn_adpcmbank_w) // Sound Bank + AM_RANGE(0xa48000, 0xa48001) AM_WRITENOP // YMZ280 Reset + AM_RANGE(0xa00000, 0xa00001) AM_WRITE(rocknms_main2sub_w) // MAIN -> SUB Communication + AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w) // Coin Counter + AM_RANGE(0xb20000, 0xb20001) AM_WRITENOP // ??? + AM_RANGE(0xb40000, 0xb4000b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_fg) // Foreground Scrolling + AM_RANGE(0xb40010, 0xb4001b) AM_WRITEONLY AM_BASE(&tetrisp2_scroll_bg) // Background Scrolling + AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size + AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_BASE(&tetrisp2_rotregs) // Rotation Registers + AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w) // system param + AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack + AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack + AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read AM_RANGE(0xbe0002, 0xbe0003) AM_READ_PORT("PLAYERS") - AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs - AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs - AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog -ADDRESS_MAP_END - -static ADDRESS_MAP_START( rocknms_main_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_WRITE(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_WRITE(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_WRITE(rockn_priority_w) AM_BASE(&tetrisp2_priority ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_WRITE(tetrisp2_palette_w) AM_BASE(&paletteram16 ) // Palette -// AM_RANGE(0x500000, 0x50ffff) AM_WRITE(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_WRITE(tetrisp2_vram_rot_w) AM_BASE(&tetrisp2_vram_rot ) // Rotation - AM_RANGE(0x800000, 0x803fff) AM_WRITE(tetrisp2_vram_fg_w) AM_BASE(&tetrisp2_vram_fg ) // Foreground - AM_RANGE(0x804000, 0x807fff) AM_WRITE(tetrisp2_vram_bg_w) AM_BASE(&tetrisp2_vram_bg ) // Background -// AM_RANGE(0x808000, 0x809fff) AM_WRITE(SMH_RAM ) // ??? - AM_RANGE(0x900000, 0x903fff) AM_WRITE(tetrisp2_nvram_w) AM_BASE(&tetrisp2_nvram) AM_SIZE(&tetrisp2_nvram_size ) // NVRAM - AM_RANGE(0xa30000, 0xa30001) AM_WRITE(rockn_soundvolume_w ) // Sound Volume - AM_RANGE(0xa40000, 0xa40003) AM_DEVWRITE8(SOUND, "ymz", ymz280b_w, 0x00ff ) // Sound - AM_RANGE(0xa44000, 0xa44001) AM_WRITE(rockn_adpcmbank_w ) // Sound Bank - AM_RANGE(0xa48000, 0xa48001) AM_WRITE(SMH_NOP ) // YMZ280 Reset - AM_RANGE(0xa00000, 0xa00001) AM_WRITE(rocknms_main2sub_w ) // MAIN -> SUB Communication - AM_RANGE(0xb00000, 0xb00001) AM_WRITE(tetrisp2_coincounter_w ) // Coin Counter - AM_RANGE(0xb20000, 0xb20001) AM_WRITE(SMH_NOP ) // ??? - AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_fg ) // Foreground Scrolling - AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_scroll_bg ) // Background Scrolling - AM_RANGE(0xb4003e, 0xb4003f) AM_WRITE(SMH_NOP ) // scr_size - AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&tetrisp2_rotregs ) // Rotation Registers - AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rockn_systemregs_w ) // system param - AM_RANGE(0xba001a, 0xba001b) AM_WRITE(SMH_NOP ) // Lev 4 irq ack - AM_RANGE(0xba001e, 0xba001f) AM_WRITE(SMH_NOP ) // Lev 2 irq ack -ADDRESS_MAP_END - -static ADDRESS_MAP_START( rocknms_sub_readmem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_READ(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_READ(SMH_RAM ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_READ(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_READ(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_READ(rocknms_sub_priority_r ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_READ(SMH_RAM ) // Palette -// AM_RANGE(0x500000, 0x50ffff) AM_READ(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_READ(SMH_RAM ) // Rotation - AM_RANGE(0x800000, 0x803fff) AM_READ(SMH_RAM ) // Foreground - AM_RANGE(0x804000, 0x807fff) AM_READ(SMH_RAM ) // Background -// AM_RANGE(0x808000, 0x809fff) AM_READ(SMH_RAM ) // ??? - AM_RANGE(0x900000, 0x907fff) AM_READ(SMH_RAM ) // NVRAM -// AM_RANGE(0xbe0000, 0xbe0001) AM_READ(SMH_NOP ) // INT-level1 dummy read - AM_RANGE(0xbe0002, 0xbe0003) AM_READ(rocknms_main2sub_r ) // MAIN -> SUB Communication - AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r ) // Watchdog + AM_RANGE(0xbe0004, 0xbe0005) AM_READ_PORT("SYSTEM") // Inputs + AM_RANGE(0xbe0008, 0xbe0009) AM_READ_PORT("DSW") // Inputs + AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r) // Watchdog ADDRESS_MAP_END -static ADDRESS_MAP_START( rocknms_sub_writemem, ADDRESS_SPACE_PROGRAM, 16 ) - AM_RANGE(0x000000, 0x0fffff) AM_WRITE(SMH_ROM ) // ROM - AM_RANGE(0x100000, 0x103fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size ) // Object RAM - AM_RANGE(0x104000, 0x107fff) AM_WRITE(SMH_RAM ) // Spare Object RAM - AM_RANGE(0x108000, 0x10ffff) AM_WRITE(SMH_RAM ) // Work RAM - AM_RANGE(0x200000, 0x23ffff) AM_WRITE(rocknms_sub_priority_w) AM_BASE(&rocknms_sub_priority ) // Priority - AM_RANGE(0x300000, 0x31ffff) AM_WRITE(rocknms_sub_palette_w) AM_BASE(&paletteram16_2 ) // Palette -// AM_RANGE(0x500000, 0x50ffff) AM_WRITE(SMH_RAM ) // Line - AM_RANGE(0x600000, 0x60ffff) AM_WRITE(rocknms_sub_vram_rot_w) AM_BASE(&rocknms_sub_vram_rot ) // Rotation - AM_RANGE(0x800000, 0x803fff) AM_WRITE(rocknms_sub_vram_fg_w) AM_BASE(&rocknms_sub_vram_fg ) // Foreground - AM_RANGE(0x804000, 0x807fff) AM_WRITE(rocknms_sub_vram_bg_w) AM_BASE(&rocknms_sub_vram_bg ) // Background -// AM_RANGE(0x808000, 0x809fff) AM_WRITE(SMH_RAM ) // ??? - AM_RANGE(0x900000, 0x907fff) AM_WRITE(SMH_RAM ) // NVRAM - AM_RANGE(0xa30000, 0xa30001) AM_WRITE(rockn_soundvolume_w ) // Sound Volume - AM_RANGE(0xa40000, 0xa40003) AM_DEVWRITE8(SOUND, "ymz", ymz280b_w, 0x00ff ) // Sound - AM_RANGE(0xa44000, 0xa44001) AM_WRITE(rockn_adpcmbank_w ) // Sound Bank - AM_RANGE(0xa48000, 0xa48001) AM_WRITE(SMH_NOP ) // YMZ280 Reset - AM_RANGE(0xb00000, 0xb00001) AM_WRITE(rocknms_sub2main_w ) // MAIN <- SUB Communication - AM_RANGE(0xb20000, 0xb20001) AM_WRITE(SMH_NOP ) // ??? - AM_RANGE(0xb40000, 0xb4000b) AM_WRITE(SMH_RAM) AM_BASE(&rocknms_sub_scroll_fg ) // Foreground Scrolling - AM_RANGE(0xb40010, 0xb4001b) AM_WRITE(SMH_RAM) AM_BASE(&rocknms_sub_scroll_bg ) // Background Scrolling - AM_RANGE(0xb4003e, 0xb4003f) AM_WRITE(SMH_NOP ) // scr_size - AM_RANGE(0xb60000, 0xb6002f) AM_WRITE(SMH_RAM) AM_BASE(&rocknms_sub_rotregs ) // Rotation Registers - AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rocknms_sub_systemregs_w ) // system param - AM_RANGE(0xba001a, 0xba001b) AM_WRITE(SMH_NOP ) // Lev 4 irq ack - AM_RANGE(0xba001e, 0xba001f) AM_WRITE(SMH_NOP ) // Lev 2 irq ack - AM_RANGE(0xbe0002, 0xbe0003) AM_WRITE(rocknms_sub2main_w ) // MAIN <- SUB Communication (mirror) +static ADDRESS_MAP_START( rocknms_sub_map, ADDRESS_SPACE_PROGRAM, 16 ) + AM_RANGE(0x000000, 0x0fffff) AM_ROM // ROM + AM_RANGE(0x100000, 0x103fff) AM_RAM AM_BASE(&spriteram16_2) AM_SIZE(&spriteram_2_size) // Object RAM + AM_RANGE(0x104000, 0x107fff) AM_RAM // Spare Object RAM + AM_RANGE(0x108000, 0x10ffff) AM_RAM // Work RAM + AM_RANGE(0x200000, 0x23ffff) AM_RAM_WRITE(rocknms_sub_priority_w) AM_BASE(&rocknms_sub_priority) // Priority + AM_RANGE(0x300000, 0x31ffff) AM_RAM_WRITE(rocknms_sub_palette_w) AM_BASE(&paletteram16_2) // Palette +// AM_RANGE(0x500000, 0x50ffff) AM_RAM // Line + AM_RANGE(0x600000, 0x60ffff) AM_RAM_WRITE(rocknms_sub_vram_rot_w) AM_BASE(&rocknms_sub_vram_rot) // Rotation + AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(rocknms_sub_vram_fg_w) AM_BASE(&rocknms_sub_vram_fg) // Foreground + AM_RANGE(0x804000, 0x807fff) AM_RAM_WRITE(rocknms_sub_vram_bg_w) AM_BASE(&rocknms_sub_vram_bg) // Background +// AM_RANGE(0x808000, 0x809fff) AM_RAM // ??? + AM_RANGE(0x900000, 0x907fff) AM_RAM // NVRAM + AM_RANGE(0xa30000, 0xa30001) AM_WRITE(rockn_soundvolume_w) // Sound Volume + AM_RANGE(0xa40000, 0xa40003) AM_DEVWRITE8(SOUND, "ymz", ymz280b_w, 0x00ff) // Sound + AM_RANGE(0xa44000, 0xa44001) AM_WRITE(rockn_adpcmbank_w) // Sound Bank + AM_RANGE(0xa48000, 0xa48001) AM_WRITENOP // YMZ280 Reset + AM_RANGE(0xb00000, 0xb00001) AM_WRITE(rocknms_sub2main_w) // MAIN <- SUB Communication + AM_RANGE(0xb20000, 0xb20001) AM_WRITENOP // ??? + AM_RANGE(0xb40000, 0xb4000b) AM_WRITEONLY AM_BASE(&rocknms_sub_scroll_fg) // Foreground Scrolling + AM_RANGE(0xb40010, 0xb4001b) AM_WRITEONLY AM_BASE(&rocknms_sub_scroll_bg) // Background Scrolling + AM_RANGE(0xb4003e, 0xb4003f) AM_WRITENOP // scr_size + AM_RANGE(0xb60000, 0xb6002f) AM_WRITEONLY AM_BASE(&rocknms_sub_rotregs) // Rotation Registers + AM_RANGE(0xba0000, 0xba001f) AM_WRITE(rocknms_sub_systemregs_w) // system param + AM_RANGE(0xba001a, 0xba001b) AM_WRITENOP // Lev 4 irq ack + AM_RANGE(0xba001e, 0xba001f) AM_WRITENOP // Lev 2 irq ack +// AM_RANGE(0xbe0000, 0xbe0001) AM_READNOP // INT-level1 dummy read + AM_RANGE(0xbe0002, 0xbe0003) AM_READWRITE(rocknms_main2sub_r, rocknms_sub2main_w) // MAIN <-> SUB Communication + AM_RANGE(0xbe000a, 0xbe000b) AM_READ(watchdog_reset16_r ) // Watchdog ADDRESS_MAP_END @@ -737,7 +652,7 @@ INPUT_PORTS_END ***************************************************************************/ -static INPUT_PORTS_START( teplus2j ) +static INPUT_PORTS_START( tetrisp2j ) PORT_INCLUDE(tetrisp2) PORT_MODIFY("DSW") // $be0008.w @@ -1188,10 +1103,11 @@ static MACHINE_DRIVER_START( tetrisp2 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 12000000) - MDRV_CPU_PROGRAM_MAP(tetrisp2_readmem,tetrisp2_writemem) + MDRV_CPU_PROGRAM_MAP(tetrisp2_map,0) MDRV_CPU_VBLANK_INT("screen", irq2_line_hold) MDRV_NVRAM_HANDLER(tetrisp2) + MDRV_WATCHDOG_VBLANK_INIT(8) /* guess */ /* video hardware */ MDRV_SCREEN_ADD("screen", RASTER) @@ -1252,7 +1168,7 @@ static MACHINE_DRIVER_START( rockn ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 12000000) - MDRV_CPU_PROGRAM_MAP(rockn1_readmem,rockn1_writemem) + MDRV_CPU_PROGRAM_MAP(rockn1_map,0) MDRV_CPU_VBLANK_INT("screen", irq2_line_hold) MDRV_NVRAM_HANDLER(tetrisp2) @@ -1284,7 +1200,7 @@ static MACHINE_DRIVER_START( rockn2 ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 12000000) - MDRV_CPU_PROGRAM_MAP(rockn2_readmem,rockn2_writemem) + MDRV_CPU_PROGRAM_MAP(rockn2_map,0) MDRV_CPU_VBLANK_INT("screen", irq2_line_hold) MDRV_NVRAM_HANDLER(tetrisp2) @@ -1316,11 +1232,11 @@ static MACHINE_DRIVER_START( rocknms ) /* basic machine hardware */ MDRV_CPU_ADD("maincpu", M68000, 12000000) - MDRV_CPU_PROGRAM_MAP(rocknms_main_readmem,rocknms_main_writemem) + MDRV_CPU_PROGRAM_MAP(rocknms_main_map,0) MDRV_CPU_VBLANK_INT("lscreen", irq2_line_hold) MDRV_CPU_ADD("sub", M68000, 12000000) - MDRV_CPU_PROGRAM_MAP(rocknms_sub_readmem,rocknms_sub_writemem) + MDRV_CPU_PROGRAM_MAP(rocknms_sub_map,0) MDRV_CPU_VBLANK_INT("lscreen", irq2_line_hold) MDRV_NVRAM_HANDLER(tetrisp2) @@ -1435,7 +1351,7 @@ ROM_START( tetrisp2 ) /* Unknown version */ ROM_LOAD( "96019-07.7", 0x000000, 0x400000, CRC(a8a61954) SHA1(86c3db10b348ba1f44ff696877b8b20845fa53de) ) ROM_END -ROM_START( teplus2j ) /* Version 2.2 */ +ROM_START( tetrisp2j ) /* Version 2.2 */ ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 Code */ ROM_LOAD16_BYTE( "tet2-4v2.2", 0x000000, 0x080000, CRC(5bfa32c8) SHA1(55fb2872695fcfbad13f5c0723302e72da69e44a) ) ROM_LOAD16_BYTE( "tet2-1v2.2", 0x000001, 0x080000, CRC(919116d0) SHA1(3e1c0fd4c9175b2900a4717fbb9e8b591c5f534d) ) @@ -1907,8 +1823,8 @@ ROM_END ***************************************************************************/ -GAME( 1997, tetrisp2, 0, tetrisp2, tetrisp2, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (World)", GAME_SUPPORTS_SAVE ) -GAME( 1997, teplus2j, tetrisp2, tetrisp2, teplus2j, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan)", GAME_SUPPORTS_SAVE ) +GAME( 1997, tetrisp2, 0, tetrisp2, tetrisp2, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (World)", GAME_SUPPORTS_SAVE ) +GAME( 1997, tetrisp2j, tetrisp2, tetrisp2, tetrisp2j, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1997, nndmseal, 0, nndmseal, nndmseal, rockn, ROT0 | ORIENTATION_FLIP_X, "I'Max/Jaleco", "Nandemo Seal Iinkai", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index b8742cfbfdc..5b268944e0d 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -6686,7 +6686,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( f1gpstr2 ) /* (c) 1993 Jaleco */ DRIVER( scudhamm ) /* (c) 1994 Jaleco */ DRIVER( tetrisp2 ) /* (c) 1997 Jaleco */ - DRIVER( teplus2j ) /* (c) 1997 Jaleco */ + DRIVER( tetrisp2j ) /* (c) 1997 Jaleco */ DRIVER( nndmseal ) /* (c) 1997 I'Max/Jaleco */ DRIVER( stepstag ) /* (c) 1999 Jaleco */ DRIVER( step3 ) /* (c) 1999 Jaleco */ diff --git a/src/mame/video/tetrisp2.c b/src/mame/video/tetrisp2.c index 9e7f47add62..8fd68b4895d 100644 --- a/src/mame/video/tetrisp2.c +++ b/src/mame/video/tetrisp2.c @@ -91,17 +91,6 @@ WRITE16_HANDLER( rocknms_sub_palette_w ) ***************************************************************************/ -READ16_HANDLER( tetrisp2_priority_r ) -{ - return tetrisp2_priority[offset]; -} - -READ16_HANDLER( rocknms_sub_priority_r ) -{ - return rocknms_sub_priority[offset]; -} - - WRITE16_HANDLER( tetrisp2_priority_w ) { if (ACCESSING_BITS_8_15)