From 3a3a65367c392d39ed17b8bef63d54e09c06d788 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 22 Jun 2015 18:11:14 +0200 Subject: [PATCH] darkmist.c: fixed MT05967 (my bad), switched to configured banking (nw) --- src/mame/drivers/darkmist.c | 12 +++++++----- src/mame/includes/darkmist.h | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c index eb5d5589b41..549154641b1 100644 --- a/src/mame/drivers/darkmist.c +++ b/src/mame/drivers/darkmist.c @@ -29,11 +29,15 @@ TODO: #include "cpu/z80/z80.h" #include "includes/darkmist.h" +void darkmist_state::machine_start() +{ + membank("bank1")->configure_entries(0, 2, memregion("maincpu")->base() + 0x10000, 0x4000); +} WRITE8_MEMBER(darkmist_state::hw_w) { m_hw=data; - membank("bank1")->set_base(&memregion("maincpu")->base()[0x010000+((data&0x80)?0x4000:0)]); + membank("bank1")->set_entry((data&0x80)?1:0); } static ADDRESS_MAP_START( memmap, AS_PROGRAM, 8, darkmist_state ) @@ -389,11 +393,10 @@ void darkmist_state::decrypt_gfx() void darkmist_state::decrypt_snd() { - int i; UINT8 *ROM = memregion("t5182_z80")->base(); - for(i=0x0000;i<0x2000;i++) - ROM[i] = BITSWAP8(ROM[i], 7,1,2,3,4,5,6,0); + for (int i = 0x0000; i < 0x8000; i++) + ROM[i] = BITSWAP8(ROM[i], 7, 1, 2, 3, 4, 5, 6, 0); } DRIVER_INIT_MEMBER(darkmist_state,darkmist) @@ -433,7 +436,6 @@ DRIVER_INIT_MEMBER(darkmist_state,darkmist) } space.set_decrypted_region(0x0000, 0x7fff, decrypt); - membank("bank1")->set_base(&ROM[0x010000]); /* adr line swaps */ ROM = memregion("user1")->base(); diff --git a/src/mame/includes/darkmist.h b/src/mame/includes/darkmist.h index f7f0e0704bf..0a50e431e0d 100644 --- a/src/mame/includes/darkmist.h +++ b/src/mame/includes/darkmist.h @@ -39,6 +39,7 @@ public: TILE_GET_INFO_MEMBER(get_fgtile_info); TILE_GET_INFO_MEMBER(get_txttile_info); + virtual void machine_start(); DECLARE_DRIVER_INIT(darkmist); virtual void video_start(); DECLARE_PALETTE_INIT(darkmist);