Merged tetrisp2 memory maps. Renamed teplus2->tetrisp2j.

This commit is contained in:
Aaron Giles 2009-03-01 07:10:33 +00:00
parent e2757c60d2
commit 519f0859c3
3 changed files with 165 additions and 260 deletions

View File

@ -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 )

View File

@ -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 */

View File

@ -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)