Merged memory maps in nemesis.c.

This commit is contained in:
Aaron Giles 2009-02-26 17:01:09 +00:00
parent 8df5659ba7
commit 2d6f8c526c

View File

@ -239,58 +239,33 @@ static WRITE16_HANDLER( nemesis_soundlatch_word_w )
}
}
static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
AM_RANGE(0x040000, 0x04ffff) AM_READ(SMH_RAM)
AM_RANGE(0x050000, 0x0503ff) AM_READ(SMH_RAM)
AM_RANGE(0x050400, 0x0507ff) AM_READ(SMH_RAM)
AM_RANGE(0x050800, 0x050bff) AM_READ(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_READ(SMH_RAM)
AM_RANGE(0x052000, 0x052fff) AM_READ(SMH_RAM)
AM_RANGE(0x053000, 0x053fff) AM_READ(SMH_RAM)
AM_RANGE(0x054000, 0x054fff) AM_READ(SMH_RAM)
AM_RANGE(0x055000, 0x055fff) AM_READ(SMH_RAM)
AM_RANGE(0x056000, 0x056fff) AM_READ(SMH_RAM)
AM_RANGE(0x05a000, 0x05afff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( nemesis_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x050fff) AM_RAM
AM_RANGE(0x050000, 0x0503ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050c00, 0x050fff) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITENOP /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0")
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1")
AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
AM_RANGE(0x05cc06, 0x05cc07) AM_READ_PORT("TEST")
AM_RANGE(0x060000, 0x067fff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) /* ROM */
AM_RANGE(0x040000, 0x04ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x0503ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050800, 0x050bff) AM_WRITE(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITE(SMH_NOP) /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x05a000, 0x05afff) AM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05e000, 0x05e001) AM_WRITE(&nemesis_irq_enable_word_w) /* Nemesis */
AM_RANGE(0x05e002, 0x05e003) AM_WRITE(&nemesis_irq_enable_word_w) /* Konami GT */
AM_RANGE(0x05e004, 0x05e005) AM_WRITE(nemesis_gfx_flipx_w)
AM_RANGE(0x05e006, 0x05e007) AM_WRITE(nemesis_gfx_flipy_w)
AM_RANGE(0x060000, 0x067fff) AM_WRITE(SMH_RAM) AM_BASE(&ram) /* WORK RAM */
AM_RANGE(0x060000, 0x067fff) AM_RAM AM_BASE(&ram) /* WORK RAM */
ADDRESS_MAP_END
static WRITE8_DEVICE_HANDLER( salamand_speech_start_w )
@ -327,397 +302,246 @@ static READ8_DEVICE_HANDLER( nemesis_portA_r )
return res;
}
static ADDRESS_MAP_START( sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_READ(SMH_ROM)
AM_RANGE(0x4000, 0x47ff) AM_READ(SMH_RAM)
AM_RANGE(0xe001, 0xe001) AM_READ(soundlatch_r)
AM_RANGE(0xe086, 0xe086) AM_DEVREAD(SOUND, "ay1", ay8910_r)
AM_RANGE(0xe205, 0xe205) AM_DEVREAD(SOUND, "ay2", ay8910_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x4000, 0x47ff) AM_WRITE(SMH_RAM)
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0xa000, 0xafff) AM_DEVWRITE(SOUND, "konami", k005289_pitch_A_w)
AM_RANGE(0xc000, 0xcfff) AM_DEVWRITE(SOUND, "konami", k005289_pitch_B_w)
AM_RANGE(0xe001, 0xe001) AM_READ(soundlatch_r)
AM_RANGE(0xe003, 0xe003) AM_DEVWRITE(SOUND, "konami", k005289_keylatch_A_w)
AM_RANGE(0xe004, 0xe004) AM_DEVWRITE(SOUND, "konami", k005289_keylatch_B_w)
AM_RANGE(0xe005, 0xe005) AM_DEVWRITE(SOUND, "ay2", ay8910_address_w)
AM_RANGE(0xe006, 0xe006) AM_DEVWRITE(SOUND, "ay1", ay8910_address_w)
AM_RANGE(0xe086, 0xe086) AM_DEVREAD(SOUND, "ay1", ay8910_r)
AM_RANGE(0xe106, 0xe106) AM_DEVWRITE(SOUND, "ay1", ay8910_data_w)
AM_RANGE(0xe205, 0xe205) AM_DEVREAD(SOUND, "ay2", ay8910_r)
AM_RANGE(0xe405, 0xe405) AM_DEVWRITE(SOUND, "ay2", ay8910_data_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( konamigt_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_READ(SMH_ROM)
AM_RANGE(0x040000, 0x04ffff) AM_READ(SMH_RAM)
AM_RANGE(0x050000, 0x0503ff) AM_READ(SMH_RAM)
AM_RANGE(0x050400, 0x0507ff) AM_READ(SMH_RAM)
AM_RANGE(0x050800, 0x050bff) AM_READ(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_READ(SMH_RAM)
AM_RANGE(0x052000, 0x052fff) AM_READ(SMH_RAM)
AM_RANGE(0x053000, 0x053fff) AM_READ(SMH_RAM)
AM_RANGE(0x054000, 0x054fff) AM_READ(SMH_RAM)
AM_RANGE(0x055000, 0x055fff) AM_READ(SMH_RAM)
AM_RANGE(0x056000, 0x056fff) AM_READ(SMH_RAM)
AM_RANGE(0x05a000, 0x05afff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( konamigt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x040000, 0x04ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x050fff) AM_RAM
AM_RANGE(0x050000, 0x0503ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050c00, 0x050fff) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITENOP /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c400, 0x05c401) AM_READ_PORT("DSW0")
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW1")
AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
AM_RANGE(0x05cc06, 0x05cc07) AM_READ_PORT("TEST")
AM_RANGE(0x060000, 0x067fff) AM_READ(SMH_RAM)
AM_RANGE(0x070000, 0x070001) AM_READ(konamigt_input_word_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( konamigt_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x03ffff) AM_WRITE(SMH_ROM) /* ROM */
AM_RANGE(0x040000, 0x04ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x0503ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050800, 0x050bff) AM_WRITE(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITE(SMH_NOP) /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x05a000, 0x05afff) AM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05e000, 0x05e001) AM_WRITE(&konamigt_irq2_enable_word_w)
AM_RANGE(0x05e002, 0x05e003) AM_WRITE(&konamigt_irq_enable_word_w)
AM_RANGE(0x05e004, 0x05e005) AM_WRITE(nemesis_gfx_flipx_w)
AM_RANGE(0x05e006, 0x05e007) AM_WRITE(nemesis_gfx_flipy_w)
AM_RANGE(0x060000, 0x067fff) AM_WRITE(SMH_RAM) AM_BASE(&ram) /* WORK RAM */
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx400_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM)
AM_RANGE(0x010000, 0x01ffff) AM_READ(SMH_RAM)
AM_RANGE(0x020000, 0x0287ff) AM_READ(gx400_sharedram_word_r)
AM_RANGE(0x030000, 0x03ffff) AM_READ(SMH_RAM)
AM_RANGE(0x050000, 0x0503ff) AM_READ(SMH_RAM)
AM_RANGE(0x050400, 0x0507ff) AM_READ(SMH_RAM)
AM_RANGE(0x050800, 0x050bff) AM_READ(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_READ(SMH_RAM)
AM_RANGE(0x052000, 0x052fff) AM_READ(SMH_RAM)
AM_RANGE(0x053000, 0x053fff) AM_READ(SMH_RAM)
AM_RANGE(0x054000, 0x054fff) AM_READ(SMH_RAM)
AM_RANGE(0x055000, 0x055fff) AM_READ(SMH_RAM)
AM_RANGE(0x056000, 0x056fff) AM_READ(SMH_RAM)
AM_RANGE(0x057000, 0x057fff) AM_READ(SMH_RAM)
AM_RANGE(0x05a000, 0x05afff) AM_READ(SMH_RAM)
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST")
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
AM_RANGE(0x060000, 0x07ffff) AM_READ(SMH_RAM)
AM_RANGE(0x080000, 0x0bffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx400_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x010000, 0x01ffff) AM_WRITE(SMH_RAM) AM_BASE(&ram)
AM_RANGE(0x020000, 0x0287ff) AM_WRITE(gx400_sharedram_word_w)
AM_RANGE(0x030000, 0x03ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x0503ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050800, 0x050bff) AM_WRITE(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITE(SMH_NOP) /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x057000, 0x057fff) AM_WRITE(SMH_RAM) /* needed for twinbee */
AM_RANGE(0x05a000, 0x05afff) AM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05e000, 0x05e001) AM_WRITE(&gx400_irq2_enable_word_w) /* ?? */
AM_RANGE(0x05e002, 0x05e003) AM_WRITE(&gx400_irq1_enable_word_w) /* ?? */
AM_RANGE(0x05e004, 0x05e005) AM_WRITE(nemesis_gfx_flipx_w)
AM_RANGE(0x05e006, 0x05e007) AM_WRITE(nemesis_gfx_flipy_w)
AM_RANGE(0x05e008, 0x05e009) AM_WRITE(SMH_NOP) /* IRQ acknowledge??? */
AM_RANGE(0x05e00e, 0x05e00f) AM_WRITE(&gx400_irq4_enable_word_w) /* ?? */
AM_RANGE(0x060000, 0x07ffff) AM_WRITE(SMH_RAM) AM_BASE(&ram2)
AM_RANGE(0x080000, 0x0bffff) AM_WRITE(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( rf2_gx400_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_READ(SMH_ROM)
AM_RANGE(0x010000, 0x01ffff) AM_READ(SMH_RAM)
AM_RANGE(0x020000, 0x0287ff) AM_READ(gx400_sharedram_word_r)
AM_RANGE(0x030000, 0x03ffff) AM_READ(SMH_RAM)
AM_RANGE(0x050000, 0x0503ff) AM_READ(SMH_RAM)
AM_RANGE(0x050400, 0x0507ff) AM_READ(SMH_RAM)
AM_RANGE(0x050800, 0x050bff) AM_READ(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_READ(SMH_RAM)
AM_RANGE(0x052000, 0x052fff) AM_READ(SMH_RAM)
AM_RANGE(0x053000, 0x053fff) AM_READ(SMH_RAM)
AM_RANGE(0x054000, 0x054fff) AM_READ(SMH_RAM)
AM_RANGE(0x055000, 0x055fff) AM_READ(SMH_RAM)
AM_RANGE(0x056000, 0x056fff) AM_READ(SMH_RAM)
AM_RANGE(0x05a000, 0x05afff) AM_READ(SMH_RAM)
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST")
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
AM_RANGE(0x060000, 0x067fff) AM_READ(SMH_RAM)
AM_RANGE(0x060000, 0x067fff) AM_RAM AM_BASE(&ram) /* WORK RAM */
AM_RANGE(0x070000, 0x070001) AM_READ(konamigt_input_word_r)
AM_RANGE(0x080000, 0x0bffff) AM_READ(SMH_ROM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( rf2_gx400_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x010000, 0x01ffff) AM_WRITE(SMH_RAM) AM_BASE(&ram2)
AM_RANGE(0x020000, 0x0287ff) AM_WRITE(gx400_sharedram_word_w)
AM_RANGE(0x030000, 0x03ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x0503ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050800, 0x050bff) AM_WRITE(SMH_RAM)
AM_RANGE(0x050c00, 0x050fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITE(SMH_NOP) /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x05a000, 0x05afff) AM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
static ADDRESS_MAP_START( gx400_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x010000, 0x01ffff) AM_RAM AM_BASE(&ram)
AM_RANGE(0x020000, 0x0287ff) AM_READWRITE(gx400_sharedram_word_r, gx400_sharedram_word_w)
AM_RANGE(0x030000, 0x03ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x050fff) AM_RAM
AM_RANGE(0x050000, 0x0503ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050c00, 0x050fff) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITENOP /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x057000, 0x057fff) AM_RAM /* needed for twinbee */
AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST")
AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
AM_RANGE(0x05e000, 0x05e001) AM_WRITE(&gx400_irq2_enable_word_w) /* ?? */
AM_RANGE(0x05e002, 0x05e003) AM_WRITE(&gx400_irq1_enable_word_w) /* ?? */
AM_RANGE(0x05e004, 0x05e005) AM_WRITE(nemesis_gfx_flipx_w)
AM_RANGE(0x05e006, 0x05e007) AM_WRITE(nemesis_gfx_flipy_w)
AM_RANGE(0x05e008, 0x05e009) AM_WRITE(SMH_NOP) /* IRQ acknowledge??? */
AM_RANGE(0x05e00e, 0x05e00f) AM_WRITE(&gx400_irq4_enable_word_w) /* ?? */
AM_RANGE(0x060000, 0x067fff) AM_WRITE(SMH_RAM) AM_BASE(&ram) /* WORK RAM */
AM_RANGE(0x080000, 0x0bffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x060000, 0x07ffff) AM_RAM AM_BASE(&ram2)
AM_RANGE(0x080000, 0x0bffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx400_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_READ(SMH_ROM)
AM_RANGE(0x4000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0xe001, 0xe001) AM_READ(soundlatch_r)
AM_RANGE(0xe086, 0xe086) AM_DEVREAD(SOUND, "ay1", ay8910_r)
AM_RANGE(0xe205, 0xe205) AM_DEVREAD(SOUND, "ay2", ay8910_r)
static ADDRESS_MAP_START( rf2_gx400_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x00ffff) AM_ROM
AM_RANGE(0x010000, 0x01ffff) AM_RAM AM_BASE(&ram2)
AM_RANGE(0x020000, 0x0287ff) AM_READWRITE(gx400_sharedram_word_r, gx400_sharedram_word_w)
AM_RANGE(0x030000, 0x03ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x050000, 0x050fff) AM_RAM
AM_RANGE(0x050000, 0x0503ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x050400, 0x0507ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x050c00, 0x050fff) AM_BASE(&nemesis_yscroll)
AM_RANGE(0x051000, 0x051fff) AM_WRITENOP /* used, but written to with 0's */
AM_RANGE(0x052000, 0x052fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x053000, 0x053fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x054000, 0x054fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x055000, 0x055fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x056000, 0x056fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x05a000, 0x05afff) AM_RAM_WRITE(nemesis_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x05c000, 0x05c001) AM_WRITE(nemesis_soundlatch_word_w)
AM_RANGE(0x05c402, 0x05c403) AM_READ_PORT("DSW0")
AM_RANGE(0x05c404, 0x05c405) AM_READ_PORT("DSW1")
AM_RANGE(0x05c406, 0x05c407) AM_READ_PORT("TEST")
AM_RANGE(0x05c800, 0x05c801) AM_WRITE(watchdog_reset16_w) /* probably */
AM_RANGE(0x05cc00, 0x05cc01) AM_READ_PORT("IN0")
AM_RANGE(0x05cc02, 0x05cc03) AM_READ_PORT("IN1")
AM_RANGE(0x05cc04, 0x05cc05) AM_READ_PORT("IN2")
AM_RANGE(0x05e000, 0x05e001) AM_WRITE(&gx400_irq2_enable_word_w) /* ?? */
AM_RANGE(0x05e002, 0x05e003) AM_WRITE(&gx400_irq1_enable_word_w) /* ?? */
AM_RANGE(0x05e004, 0x05e005) AM_WRITE(nemesis_gfx_flipx_w)
AM_RANGE(0x05e006, 0x05e007) AM_WRITE(nemesis_gfx_flipy_w)
AM_RANGE(0x05e008, 0x05e009) AM_WRITE(SMH_NOP) /* IRQ acknowledge??? */
AM_RANGE(0x05e00e, 0x05e00f) AM_WRITE(&gx400_irq4_enable_word_w) /* ?? */
AM_RANGE(0x060000, 0x067fff) AM_RAM AM_BASE(&ram) /* WORK RAM */
AM_RANGE(0x070000, 0x070001) AM_READ(konamigt_input_word_r)
AM_RANGE(0x080000, 0x0bffff) AM_ROM
ADDRESS_MAP_END
static ADDRESS_MAP_START( gx400_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x4000, 0x87ff) AM_WRITE(SMH_RAM) AM_BASE(&gx400_shared_ram)
static ADDRESS_MAP_START( gx400_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x4000, 0x87ff) AM_RAM AM_BASE(&gx400_shared_ram)
AM_RANGE(0xa000, 0xafff) AM_DEVWRITE(SOUND, "konami", k005289_pitch_A_w)
AM_RANGE(0xc000, 0xcfff) AM_DEVWRITE(SOUND, "konami", k005289_pitch_B_w)
AM_RANGE(0xe000, 0xe000) AM_DEVWRITE(SOUND, "vlm", vlm5030_data_w)
AM_RANGE(0xe001, 0xe001) AM_READ(soundlatch_r)
AM_RANGE(0xe003, 0xe003) AM_DEVWRITE(SOUND, "konami", k005289_keylatch_A_w)
AM_RANGE(0xe004, 0xe004) AM_DEVWRITE(SOUND, "konami", k005289_keylatch_B_w)
AM_RANGE(0xe005, 0xe005) AM_DEVWRITE(SOUND, "ay2", ay8910_address_w)
AM_RANGE(0xe006, 0xe006) AM_DEVWRITE(SOUND, "ay1", ay8910_address_w)
AM_RANGE(0xe030, 0xe030) AM_DEVWRITE(SOUND, "vlm", gx400_speech_start_w)
AM_RANGE(0xe086, 0xe086) AM_DEVREAD(SOUND, "ay1", ay8910_r)
AM_RANGE(0xe106, 0xe106) AM_DEVWRITE(SOUND, "ay1", ay8910_data_w)
AM_RANGE(0xe205, 0xe205) AM_DEVREAD(SOUND, "ay2", ay8910_r)
AM_RANGE(0xe405, 0xe405) AM_DEVWRITE(SOUND, "ay2", ay8910_data_w)
ADDRESS_MAP_END
/******************************************************************************/
static ADDRESS_MAP_START( salamand_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) /* ROM BIOS */
AM_RANGE(0x080000, 0x087fff) AM_READ(SMH_RAM)
AM_RANGE(0x090000, 0x091fff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( salamand_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x087fff) AM_RAM AM_BASE(&ram)
AM_RANGE(0x090000, 0x091fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x0A0000, 0x0A0001) AM_WRITE(nemesis_irq_enable_word_w) /* irq enable */
AM_RANGE(0x0C0000, 0x0C0001) AM_WRITE(salamand_soundlatch_word_w)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
AM_RANGE(0x0C0004, 0x0C0005) AM_WRITE(SMH_NOP) /* Watchdog at $c0005 */
AM_RANGE(0x0c2000, 0x0c2001) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x0c2002, 0x0c2003) AM_READ_PORT("IN1")
AM_RANGE(0x0c2004, 0x0c2005) AM_READ_PORT("IN2")
AM_RANGE(0x0c2006, 0x0c2007) AM_READ_PORT("DSW1")
AM_RANGE(0x100000, 0x100fff) AM_READ(SMH_RAM)
AM_RANGE(0x101000, 0x101fff) AM_READ(SMH_RAM)
AM_RANGE(0x102000, 0x102fff) AM_READ(SMH_RAM)
AM_RANGE(0x103000, 0x103fff) AM_READ(SMH_RAM)
AM_RANGE(0x120000, 0x12ffff) AM_READ(SMH_RAM)
AM_RANGE(0x180000, 0x180fff) AM_READ(SMH_RAM)
AM_RANGE(0x190000, 0x1903ff) AM_READ(SMH_RAM)
AM_RANGE(0x190400, 0x1907ff) AM_READ(SMH_RAM)
AM_RANGE(0x190800, 0x190eff) AM_READ(SMH_RAM)
AM_RANGE(0x190f00, 0x190f7f) AM_READ(SMH_RAM)
AM_RANGE(0x190f80, 0x190fff) AM_READ(SMH_RAM)
AM_RANGE(0x191000, 0x191fff) AM_READ(SMH_RAM)
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x120000, 0x12ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x180000, 0x180fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
AM_RANGE(0x190000, 0x191fff) AM_RAM
AM_RANGE(0x190000, 0x1903ff) AM_RAM AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x190400, 0x1907ff) AM_RAM AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x190f00, 0x190f7f) AM_RAM AM_BASE(&nemesis_yscroll1)
AM_RANGE(0x190f80, 0x190fff) AM_RAM AM_BASE(&nemesis_yscroll2)
ADDRESS_MAP_END
static ADDRESS_MAP_START( salamand_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x080000, 0x087fff) AM_WRITE(SMH_RAM) AM_BASE(&ram)
AM_RANGE(0x090000, 0x091fff) AM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
static ADDRESS_MAP_START( blkpnthr_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x081fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x090000, 0x097fff) AM_RAM AM_BASE(&ram)
AM_RANGE(0x0A0000, 0x0A0001) AM_WRITE(nemesis_irq_enable_word_w) /* irq enable */
AM_RANGE(0x0C0000, 0x0C0001) AM_WRITE(salamand_soundlatch_word_w)
AM_RANGE(0x0C0004, 0x0C0005) AM_WRITE(SMH_NOP) /* Watchdog at $c0005 */
AM_RANGE(0x100000, 0x100fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x101000, 0x101fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x102000, 0x102fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x103000, 0x103fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x120000, 0x12ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x180000, 0x180fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
AM_RANGE(0x190000, 0x1903ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x190400, 0x1907ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x190800, 0x190eff) AM_WRITE(SMH_RAM) /* not used */
AM_RANGE(0x190f00, 0x190f7f) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll1)
AM_RANGE(0x190f80, 0x190fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x191000, 0x191fff) AM_WRITE(SMH_RAM) /* not used */
ADDRESS_MAP_END
static ADDRESS_MAP_START( blkpnthr_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_READ(SMH_ROM) /* ROM BIOS */
AM_RANGE(0x080000, 0x081fff) AM_READ(SMH_RAM)
AM_RANGE(0x090000, 0x097fff) AM_READ(SMH_RAM)
AM_RANGE(0x0c0002, 0x0c0003) AM_READ_PORT("DSW0")
AM_RANGE(0x0C0004, 0x0C0005) AM_WRITE(SMH_NOP) /* Watchdog at $c0005 */
AM_RANGE(0x0c2000, 0x0c2001) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x0c2002, 0x0c2003) AM_READ_PORT("IN1")
AM_RANGE(0x0c2004, 0x0c2005) AM_READ_PORT("IN2")
AM_RANGE(0x0c2006, 0x0c2007) AM_READ_PORT("DSW1")
AM_RANGE(0x100000, 0x100fff) AM_READ(SMH_RAM)
AM_RANGE(0x101000, 0x101fff) AM_READ(SMH_RAM)
AM_RANGE(0x102000, 0x102fff) AM_READ(SMH_RAM)
AM_RANGE(0x103000, 0x103fff) AM_READ(SMH_RAM)
AM_RANGE(0x120000, 0x12ffff) AM_READ(SMH_RAM)
AM_RANGE(0x180000, 0x1803ff) AM_READ(SMH_RAM)
AM_RANGE(0x180400, 0x1807ff) AM_READ(SMH_RAM)
AM_RANGE(0x180800, 0x180eff) AM_READ(SMH_RAM)
AM_RANGE(0x180f00, 0x180f7f) AM_READ(SMH_RAM)
AM_RANGE(0x180f80, 0x180fff) AM_READ(SMH_RAM)
AM_RANGE(0x181000, 0x181fff) AM_READ(SMH_RAM)
AM_RANGE(0x190000, 0x190fff) AM_READ(SMH_RAM)
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x101000, 0x101fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x102000, 0x102fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x103000, 0x103fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x120000, 0x12ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x180000, 0x181fff) AM_RAM
AM_RANGE(0x180000, 0x1803ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x180400, 0x1807ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x180f00, 0x180f7f) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x180f80, 0x180fff) AM_BASE(&nemesis_yscroll1)
AM_RANGE(0x190000, 0x190fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( blkpnthr_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x080000, 0x081fff) AM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x090000, 0x097fff) AM_WRITE(SMH_RAM) AM_BASE(&ram)
AM_RANGE(0x0A0000, 0x0A0001) AM_WRITE(nemesis_irq_enable_word_w) /* irq enable */
AM_RANGE(0x0C0000, 0x0C0001) AM_WRITE(salamand_soundlatch_word_w)
AM_RANGE(0x0C0004, 0x0C0005) AM_WRITE(SMH_NOP) /* Watchdog at $c0005 */
AM_RANGE(0x100000, 0x100fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x101000, 0x101fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x102000, 0x102fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x103000, 0x103fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x120000, 0x12ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x180000, 0x1803ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x180400, 0x1807ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x180800, 0x180eff) AM_WRITE(SMH_RAM) /* not used */
AM_RANGE(0x180f00, 0x180f7f) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x180f80, 0x180fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll1)
AM_RANGE(0x181000, 0x181fff) AM_WRITE(SMH_RAM) /* not used */
AM_RANGE(0x190000, 0x190fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( citybomb_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM) /* ROM BIOS */
AM_RANGE(0x080000, 0x087fff) AM_READ(SMH_RAM)
AM_RANGE(0x0e0000, 0x0e1fff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( citybomb_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM /* ROM BIOS */
AM_RANGE(0x080000, 0x087fff) AM_RAM AM_BASE(&ram)
AM_RANGE(0x0e0000, 0x0e1fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("DSW1")
AM_RANGE(0x0f0002, 0x0f0003) AM_READ_PORT("IN2")
AM_RANGE(0x0f0004, 0x0f0005) AM_READ_PORT("IN1")
AM_RANGE(0x0f0006, 0x0f0007) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x0f0008, 0x0f0009) AM_READ_PORT("DSW0")
AM_RANGE(0x0f0020, 0x0f0021) AM_READ(SMH_NOP) /* Analog device */
AM_RANGE(0x100000, 0x1bffff) AM_READ(SMH_ROM) /* ROM BIOS */
AM_RANGE(0x200000, 0x20ffff) AM_READ(SMH_RAM)
AM_RANGE(0x210000, 0x210fff) AM_READ(SMH_RAM)
AM_RANGE(0x211000, 0x211fff) AM_READ(SMH_RAM)
AM_RANGE(0x212000, 0x212fff) AM_READ(SMH_RAM)
AM_RANGE(0x213000, 0x213fff) AM_READ(SMH_RAM)
AM_RANGE(0x300000, 0x3003ff) AM_READ(SMH_RAM)
AM_RANGE(0x300400, 0x3007ff) AM_READ(SMH_RAM)
AM_RANGE(0x300800, 0x300eff) AM_READ(SMH_RAM)
AM_RANGE(0x300f00, 0x300f7f) AM_READ(SMH_RAM)
AM_RANGE(0x300f80, 0x300fff) AM_READ(SMH_RAM)
AM_RANGE(0x301000, 0x301fff) AM_READ(SMH_RAM)
AM_RANGE(0x310000, 0x310fff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( citybomb_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x080000, 0x087fff) AM_WRITE(SMH_RAM) AM_BASE(&ram)
AM_RANGE(0x0e0000, 0x0e1fff) AM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x0f0010, 0x0f0011) AM_WRITE(salamand_soundlatch_word_w)
AM_RANGE(0x0f0018, 0x0f0019) AM_WRITE(SMH_NOP) /* Watchdog */
AM_RANGE(0x0f0020, 0x0f0021) AM_WRITE(SMH_NOP) /* Analog device */
AM_RANGE(0x0f0018, 0x0f0019) AM_WRITENOP /* Watchdog */
AM_RANGE(0x0f0020, 0x0f0021) AM_NOP /* Analog device */
AM_RANGE(0x0f8000, 0x0f8001) AM_WRITE(nemesis_irq_enable_word_w) /* irq enable */
AM_RANGE(0x100000, 0x1bffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x200000, 0x20ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x210000, 0x210fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x211000, 0x211fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x212000, 0x212fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x213000, 0x213fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x300000, 0x3003ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x300400, 0x3007ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x300800, 0x300eff) AM_WRITE(SMH_RAM) /* not used */
AM_RANGE(0x300f00, 0x300f7f) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x300f80, 0x300fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll1)
AM_RANGE(0x301000, 0x301fff) AM_WRITE(SMH_RAM) /* not used */
AM_RANGE(0x310000, 0x310fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
AM_RANGE(0x100000, 0x1bffff) AM_ROM
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x210000, 0x210fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x211000, 0x211fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x212000, 0x212fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x213000, 0x213fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x300000, 0x301fff) AM_RAM
AM_RANGE(0x300000, 0x3003ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x300400, 0x3007ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x300f00, 0x300f7f) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x300f80, 0x300fff) AM_BASE(&nemesis_yscroll1)
AM_RANGE(0x310000, 0x310fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( nyanpani_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_READ(SMH_ROM) /* ROM BIOS */
AM_RANGE(0x040000, 0x047fff) AM_READ(SMH_RAM)
AM_RANGE(0x060000, 0x061fff) AM_READ(SMH_RAM)
AM_RANGE(0x100000, 0x13ffff) AM_READ(SMH_ROM) /* ROM BIOS */
static ADDRESS_MAP_START( nyanpani_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_ROM /* ROM BIOS */
AM_RANGE(0x040000, 0x047fff) AM_RAM AM_BASE(&ram)
AM_RANGE(0x060000, 0x061fff) AM_RAM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x100000, 0x13ffff) AM_ROM /* ROM BIOS */
AM_RANGE(0x070000, 0x070001) AM_READ_PORT("DSW1")
AM_RANGE(0x070002, 0x070003) AM_READ_PORT("IN2")
AM_RANGE(0x070004, 0x070005) AM_READ_PORT("IN1")
AM_RANGE(0x070006, 0x070007) AM_READ_PORT("IN0") /* Coins, start buttons, test mode */
AM_RANGE(0x070008, 0x070009) AM_READ_PORT("DSW0")
AM_RANGE(0x200000, 0x200fff) AM_READ(SMH_RAM)
AM_RANGE(0x201000, 0x201fff) AM_READ(SMH_RAM)
AM_RANGE(0x202000, 0x202fff) AM_READ(SMH_RAM)
AM_RANGE(0x203000, 0x203fff) AM_READ(SMH_RAM)
AM_RANGE(0x210000, 0x21ffff) AM_READ(SMH_RAM)
AM_RANGE(0x300000, 0x300fff) AM_READ(SMH_RAM)
AM_RANGE(0x310000, 0x3103ff) AM_READ(SMH_RAM)
AM_RANGE(0x310400, 0x3107ff) AM_READ(SMH_RAM)
AM_RANGE(0x310800, 0x310eff) AM_READ(SMH_RAM)
AM_RANGE(0x310f00, 0x310f7f) AM_READ(SMH_RAM)
AM_RANGE(0x310f80, 0x310fff) AM_READ(SMH_RAM)
AM_RANGE(0x311000, 0x311fff) AM_READ(SMH_RAM)
ADDRESS_MAP_END
static ADDRESS_MAP_START( nyanpani_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x01ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x040000, 0x047fff) AM_WRITE(SMH_RAM) AM_BASE(&ram)
AM_RANGE(0x060000, 0x061fff) AM_WRITE(salamander_palette_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x100000, 0x13ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x070010, 0x070011) AM_WRITE(salamand_soundlatch_word_w)
AM_RANGE(0x070018, 0x070019) AM_WRITE(SMH_NOP) /* Watchdog */
AM_RANGE(0x078000, 0x078001) AM_WRITE(nemesis_irq_enable_word_w) /* irq enable */
AM_RANGE(0x200000, 0x200fff) AM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x201000, 0x201fff) AM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x202000, 0x202fff) AM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x203000, 0x203fff) AM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x210000, 0x21ffff) AM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x300000, 0x300fff) AM_WRITE(SMH_RAM) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
AM_RANGE(0x310000, 0x3103ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x310400, 0x3107ff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x310800, 0x310eff) AM_WRITE(SMH_RAM) /* not used */
AM_RANGE(0x310f00, 0x310f7f) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x310f80, 0x310fff) AM_WRITE(SMH_RAM) AM_BASE(&nemesis_yscroll1)
AM_RANGE(0x311000, 0x311fff) AM_WRITE(SMH_RAM) /* not used */
AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE(nemesis_videoram1f_word_w) AM_BASE(&nemesis_videoram1f) /* VRAM 1 */
AM_RANGE(0x201000, 0x201fff) AM_RAM_WRITE(nemesis_videoram1b_word_w) AM_BASE(&nemesis_videoram1b) /* VRAM 1 */
AM_RANGE(0x202000, 0x202fff) AM_RAM_WRITE(nemesis_videoram2f_word_w) AM_BASE(&nemesis_videoram2f) /* VRAM 2 */
AM_RANGE(0x203000, 0x203fff) AM_RAM_WRITE(nemesis_videoram2b_word_w) AM_BASE(&nemesis_videoram2b) /* VRAM 2 */
AM_RANGE(0x210000, 0x21ffff) AM_RAM_WRITE(nemesis_characterram_word_w) AM_BASE(&nemesis_characterram) AM_SIZE(&nemesis_characterram_size)
AM_RANGE(0x300000, 0x300fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) /* more sprite ram ??? */
AM_RANGE(0x310000, 0x311fff) AM_RAM
AM_RANGE(0x310000, 0x3103ff) AM_BASE(&nemesis_xscroll2)
AM_RANGE(0x310400, 0x3107ff) AM_BASE(&nemesis_xscroll1)
AM_RANGE(0x310f00, 0x310f7f) AM_BASE(&nemesis_yscroll2)
AM_RANGE(0x310f80, 0x310fff) AM_BASE(&nemesis_yscroll1)
ADDRESS_MAP_END
static READ8_HANDLER( wd_r )
@ -733,49 +557,37 @@ static WRITE8_DEVICE_HANDLER( city_sound_bank_w )
k007232_set_bank( device, bank_A, bank_B );
}
static ADDRESS_MAP_START( sal_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
static ADDRESS_MAP_START( sal_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREAD(SOUND, "konami", k007232_r)
AM_RANGE(0xc000, 0xc001) AM_DEVREAD(SOUND, "ym", ym2151_r)
AM_RANGE(0xe000, 0xe000) AM_READ(wd_r) /* watchdog?? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( sal_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
AM_RANGE(0xb000, 0xb00d) AM_DEVWRITE(SOUND, "konami", k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE(SOUND, "ym", ym2151_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE(SOUND, "konami", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
AM_RANGE(0xd000, 0xd000) AM_DEVWRITE(SOUND, "vlm", vlm5030_data_w)
AM_RANGE(0xe000, 0xe000) AM_READ(wd_r) /* watchdog?? */
AM_RANGE(0xf000, 0xf000) AM_DEVWRITE(SOUND, "vlm", salamand_speech_start_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( blkpnthr_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
AM_RANGE(0xb000, 0xb00d) AM_DEVWRITE(SOUND, "konami", k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE(SOUND, "ym", ym2151_w)
static ADDRESS_MAP_START( blkpnthr_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE(SOUND, "konami", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
AM_RANGE(0xe000, 0xe000) AM_READ(wd_r) /* watchdog?? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( city_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
AM_RANGE(0xa000, 0xa001) AM_DEVREAD(SOUND, "ym", ym3812_r)
AM_RANGE(0xb000, 0xb00d) AM_DEVREAD(SOUND, "konami", k007232_r)
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( city_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
static ADDRESS_MAP_START( city_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9800, 0x987f) AM_DEVWRITE(SOUND, "konami2", k051649_waveform_w)
AM_RANGE(0x9880, 0x9889) AM_DEVWRITE(SOUND, "konami2", k051649_frequency_w)
AM_RANGE(0x988a, 0x988e) AM_DEVWRITE(SOUND, "konami2", k051649_volume_w)
AM_RANGE(0x988f, 0x988f) AM_DEVWRITE(SOUND, "konami2", k051649_keyonoff_w)
AM_RANGE(0xa000, 0xa001) AM_DEVWRITE(SOUND, "ym", ym3812_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVWRITE(SOUND, "konami", k007232_w)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE(SOUND, "ym", ym3812_r, ym3812_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE(SOUND, "konami", k007232_r, k007232_w)
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE(SOUND, "konami", city_sound_bank_w) /* 7232 bankswitch */
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
/******************************************************************************/
@ -2117,11 +1929,11 @@ static MACHINE_DRIVER_START( nemesis )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
// 14318180/2, /* From schematics, should be accurate */
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
MDRV_CPU_PROGRAM_MAP(nemesis_map,0)
MDRV_CPU_VBLANK_INT("screen", nemesis_interrupt)
MDRV_CPU_ADD("audiocpu", Z80,14318180/4) /* From schematics, should be accurate */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem) /* fixed */
MDRV_CPU_PROGRAM_MAP(sound_map,0) /* fixed */
MDRV_MACHINE_RESET(nemesis)
@ -2162,11 +1974,11 @@ static MACHINE_DRIVER_START( konamigt )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
MDRV_CPU_PROGRAM_MAP(konamigt_readmem,konamigt_writemem)
MDRV_CPU_PROGRAM_MAP(konamigt_map,0)
MDRV_CPU_VBLANK_INT_HACK(konamigt_interrupt,2)
MDRV_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
MDRV_CPU_PROGRAM_MAP(sound_map,0)
MDRV_MACHINE_RESET(nemesis)
@ -2204,11 +2016,11 @@ static MACHINE_DRIVER_START( salamand )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216MHz */
MDRV_CPU_PROGRAM_MAP(salamand_readmem,salamand_writemem)
MDRV_CPU_PROGRAM_MAP(salamand_map,0)
MDRV_CPU_VBLANK_INT("screen", salamand_interrupt)
MDRV_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(sal_sound_readmem,sal_sound_writemem)
MDRV_CPU_PROGRAM_MAP(sal_sound_map,0)
MDRV_MACHINE_RESET(nemesis)
@ -2253,11 +2065,11 @@ static MACHINE_DRIVER_START( blkpnthr )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
MDRV_CPU_PROGRAM_MAP(blkpnthr_readmem,blkpnthr_writemem)
MDRV_CPU_PROGRAM_MAP(blkpnthr_map,0)
MDRV_CPU_VBLANK_INT("screen", blkpnthr_interrupt)
MDRV_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(sal_sound_readmem,blkpnthr_sound_writemem)
MDRV_CPU_PROGRAM_MAP(blkpnthr_sound_map,0)
MDRV_MACHINE_RESET(nemesis)
@ -2298,11 +2110,11 @@ static MACHINE_DRIVER_START( citybomb )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
MDRV_CPU_PROGRAM_MAP(citybomb_readmem,citybomb_writemem)
MDRV_CPU_PROGRAM_MAP(citybomb_map,0)
MDRV_CPU_VBLANK_INT("screen", salamand_interrupt)
MDRV_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(city_sound_readmem,city_sound_writemem)
MDRV_CPU_PROGRAM_MAP(city_sound_map,0)
MDRV_MACHINE_RESET(nemesis)
@ -2347,11 +2159,11 @@ static MACHINE_DRIVER_START( nyanpani )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */
MDRV_CPU_PROGRAM_MAP(nyanpani_readmem,nyanpani_writemem)
MDRV_CPU_PROGRAM_MAP(nyanpani_map,0)
MDRV_CPU_VBLANK_INT("screen", salamand_interrupt)
MDRV_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(city_sound_readmem,city_sound_writemem)
MDRV_CPU_PROGRAM_MAP(city_sound_map,0)
MDRV_MACHINE_RESET(nemesis)
@ -2396,11 +2208,11 @@ static MACHINE_DRIVER_START( gx400 )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216MHz */
MDRV_CPU_PROGRAM_MAP(gx400_readmem,gx400_writemem)
MDRV_CPU_PROGRAM_MAP(gx400_map,0)
MDRV_CPU_VBLANK_INT_HACK(gx400_interrupt,3)
MDRV_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(gx400_sound_readmem,gx400_sound_writemem)
MDRV_CPU_PROGRAM_MAP(gx400_sound_map,0)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */
MDRV_MACHINE_RESET(nemesis)
@ -2442,11 +2254,11 @@ static MACHINE_DRIVER_START( rf2_gx400 )
/* basic machine hardware */
MDRV_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216MHz */
MDRV_CPU_PROGRAM_MAP(rf2_gx400_readmem,rf2_gx400_writemem)
MDRV_CPU_PROGRAM_MAP(rf2_gx400_map,0)
MDRV_CPU_VBLANK_INT_HACK(gx400_interrupt,3)
MDRV_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(gx400_sound_readmem,gx400_sound_writemem)
MDRV_CPU_PROGRAM_MAP(gx400_sound_map,0)
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */
MDRV_MACHINE_RESET(nemesis)
@ -2491,7 +2303,7 @@ static MACHINE_DRIVER_START( hcrash )
MDRV_CPU_VBLANK_INT_HACK(konamigt_interrupt,2)
MDRV_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */
MDRV_CPU_PROGRAM_MAP(sal_sound_readmem,sal_sound_writemem)
MDRV_CPU_PROGRAM_MAP(sal_sound_map,0)
MDRV_MACHINE_RESET(nemesis)