diff --git a/src/mame/drivers/mitchell.c b/src/mame/drivers/mitchell.c index 432166aa12c..16141bb62a9 100644 --- a/src/mame/drivers/mitchell.c +++ b/src/mame/drivers/mitchell.c @@ -120,8 +120,9 @@ WRITE8_MEMBER(mitchell_state::eeprom_serial_w) WRITE8_MEMBER(mitchell_state::pang_bankswitch_w) { - membank("bank1")->set_entry(data & 0x0f); - membank("bank1d")->set_entry(data & 0x0f); + m_bank1->set_entry(data & 0x0f); + if(m_bank1d) + m_bank1d->set_entry(data & 0x0f); } /************************************* @@ -310,7 +311,7 @@ static ADDRESS_MAP_START( spangbl_map, AS_PROGRAM, 8, mitchell_state ) AM_RANGE(0xc000, 0xc7ff) AM_READWRITE(pang_paletteram_r, pang_paletteram_w) /* Banked palette RAM */ AM_RANGE(0xc800, 0xcfff) AM_READWRITE(pang_colorram_r, pang_colorram_w) AM_SHARE("colorram")/* Attribute RAM */ AM_RANGE(0xd000, 0xdfff) AM_READWRITE(pang_videoram_r, pang_videoram_w) AM_SHARE("videoram") /* Banked char / OBJ RAM */ - AM_RANGE(0xe000, 0xffff) AM_RAM /* Work RAM */ + AM_RANGE(0xe000, 0xffff) AM_RAM AM_SHARE("ram") /* Work RAM */ ADDRESS_MAP_END static ADDRESS_MAP_START( spangbl_io_map, AS_IO, 8, mitchell_state ) @@ -2099,9 +2100,9 @@ ROM_END void mitchell_state::bootleg_decode() { - membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000); - membank("bank0d")->set_base(memregion("maincpu")->base() + 0x50000); - membank("bank1d")->configure_entries(0, 16, memregion("maincpu")->base() + 0x60000, 0x4000); + m_bank1->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000); + m_bank0d->set_base(memregion("maincpu")->base() + 0x50000); + m_bank1d->configure_entries(0, 16, memregion("maincpu")->base() + 0x60000, 0x4000); } @@ -2111,9 +2112,9 @@ void mitchell_state::configure_banks(void (*decode)(UINT8 *src, UINT8 *dst, int int size = memregion("maincpu")->bytes(); UINT8 *dst = auto_alloc_array(machine(), UINT8, size); decode(src, dst, size); - membank("bank1")->configure_entries(0, 16, src + 0x10000, 0x4000); - membank("bank0d")->set_base(dst); - membank("bank1d")->configure_entries(0, 16, dst + 0x10000, 0x4000); + m_bank1->configure_entries(0, 16, src + 0x10000, 0x4000); + m_bank0d->set_base(dst); + m_bank1d->configure_entries(0, 16, dst + 0x10000, 0x4000); } @@ -2184,7 +2185,7 @@ DRIVER_INIT_MEMBER(mitchell_state,qsangoku) DRIVER_INIT_MEMBER(mitchell_state,mgakuen) { m_input_type = 1; - membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000); + m_bank1->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000); m_maincpu->space(AS_IO).install_read_port(0x03, 0x03, "DSW0"); m_maincpu->space(AS_IO).install_read_port(0x04, 0x04, "DSW1"); } diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c index d08e2d2195c..dc1ee1781a8 100644 --- a/src/mame/drivers/mustache.c +++ b/src/mame/drivers/mustache.c @@ -43,8 +43,7 @@ YM2151: static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, mustache_state ) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0xbfff) AM_ROM + AM_RANGE(0x0000, 0xbfff) AM_ROM AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") AM_RANGE(0xd000, 0xd000) AM_DEVWRITE("t5182", t5182_device, sound_irq_w) AM_RANGE(0xd001, 0xd001) AM_DEVREAD("t5182", t5182_device, sharedram_semaphore_snd_r) @@ -62,6 +61,10 @@ static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, mustache_state ) AM_RANGE(0xf000, 0xffff) AM_RAM ADDRESS_MAP_END +static ADDRESS_MAP_START( decrypted_opcodes_map, AS_DECRYPTED_OPCODES, 8, mustache_state ) + AM_RANGE(0x0000, 0xbfff) AM_ROM AM_SHARE("decrypted_opcodes") +ADDRESS_MAP_END + /******************************************************************************/ static INPUT_PORTS_START( mustache ) @@ -172,6 +175,7 @@ static MACHINE_CONFIG_START( mustache, mustache_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) MCFG_CPU_PROGRAM_MAP(memmap) + MCFG_CPU_DECRYPTED_OPCODES_MAP(decrypted_opcodes_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", mustache_state, scanline, "screen", 0, 1) MCFG_DEVICE_ADD("t5182", T5182, 0) @@ -270,7 +274,7 @@ DRIVER_INIT_MEMBER(mustache_state,mustache) for (i = 0; i < 2*G2; i++) gfx2[i] = buf[BITSWAP24(i,23,22,21,20,19,18,17,16,15,12,11,10,9,8,7,6,5,4,13,14,3,2,1,0)]; - seibu_sound_device::apply_decrypt(NULL, NULL, 0xc000); + seibu_sound_device::apply_decrypt(memregion("maincpu")->base(), m_decrypted_opcodes, 0xc000); } diff --git a/src/mame/drivers/segas16b.c b/src/mame/drivers/segas16b.c index d028409837a..8c8955577d5 100644 --- a/src/mame/drivers/segas16b.c +++ b/src/mame/drivers/segas16b.c @@ -6930,7 +6930,7 @@ GAME( 1988, altbeast6, altbeast, system16b_i8751, altbeast, segas16b_state, GAME( 1988, altbeast5, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Altered Beast (set 5, FD1094 317-0069)", 0 ) GAME( 1988, altbeast4, altbeast, system16b_mc8123, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 4, MC-8123B 317-0066)", 0 ) GAME( 1988, altbeastj3, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Juuouki (set 3, Japan, FD1094 317-0068)", 0 ) -GAME( 1988, altbeast2, altbeast, system16b, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 ) +GAME( 1988, altbeast2, altbeast, system16b_mc8123, altbeast, segas16b_state,altbeas4_5521, ROT0, "Sega", "Altered Beast (set 2, MC-8123B 317-0066)", 0 ) GAME( 1988, altbeastj1, altbeast, system16b_fd1094, altbeast, segas16b_state,generic_5521, ROT0, "Sega", "Juuouki (set 1, Japan, FD1094 317-0065)", 0 ) GAME( 1990, aurail, 0, system16b, aurail, segas16b_state,generic_5704, ROT0, "Sega / Westone", "Aurail (set 3, US, unprotected)", 0 ) diff --git a/src/mame/includes/mitchell.h b/src/mame/includes/mitchell.h index 34369c3e767..9f27109fc78 100644 --- a/src/mame/includes/mitchell.h +++ b/src/mame/includes/mitchell.h @@ -25,7 +25,10 @@ public: m_eeprom(*this, "eeprom"), m_msm(*this, "msm"), m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette"){ } + m_palette(*this, "palette"), + m_bank1(*this, "bank1"), + m_bank0d(*this, "bank0d"), + m_bank1d(*this, "bank1d") { } /* devices */ required_device m_maincpu; @@ -40,6 +43,9 @@ public: optional_device m_msm; required_device m_gfxdecode; required_device m_palette; + required_memory_bank m_bank1; + optional_memory_bank m_bank0d; + optional_memory_bank m_bank1d; /* video-related */ tilemap_t *m_bg_tilemap; diff --git a/src/mame/includes/mustache.h b/src/mame/includes/mustache.h index 0e89e93c77a..df464eadbac 100644 --- a/src/mame/includes/mustache.h +++ b/src/mame/includes/mustache.h @@ -8,21 +8,21 @@ public: mustache_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), - m_cpu_decrypt(*this, "seibu_sound"), m_gfxdecode(*this, "gfxdecode"), m_screen(*this, "screen"), m_palette(*this, "palette"), m_videoram(*this, "videoram"), - m_spriteram(*this, "spriteram") { } + m_spriteram(*this, "spriteram"), + m_decrypted_opcodes(*this, "decrypted_opcodes") { } required_device m_maincpu; - required_device m_cpu_decrypt; required_device m_gfxdecode; required_device m_screen; required_device m_palette; required_shared_ptr m_videoram; required_shared_ptr m_spriteram; + required_shared_ptr m_decrypted_opcodes; tilemap_t *m_bg_tilemap; int m_control_byte;