diff options
author | Wilbert Pol <wilbert@jdg.info> | 2013-02-08 19:38:29 +0000 |
---|---|---|
committer | Wilbert Pol <wilbert@jdg.info> | 2013-02-08 19:38:29 +0000 |
commit | cb294f862b917437302930e181aa12e7557edb22 (patch) | |
tree | d743c37acf68c3738a9d47d4353574a5cf669185 /src/mame | |
parent | 2c45ab5199acb1fc485d62203daaaac876f07804 (diff) |
3do.c: Reduce tagmap lookups (nw)
Diffstat (limited to 'src/mame')
-rw-r--r-- | src/mame/drivers/3do.c | 8 | ||||
-rw-r--r-- | src/mame/includes/3do.h | 15 | ||||
-rw-r--r-- | src/mame/machine/3do.c | 30 |
3 files changed, 30 insertions, 23 deletions
diff --git a/src/mame/drivers/3do.c b/src/mame/drivers/3do.c index feb7dccd13e..98da9ff47fc 100644 --- a/src/mame/drivers/3do.c +++ b/src/mame/drivers/3do.c @@ -131,11 +131,11 @@ INPUT_PORTS_END void _3do_state::machine_start() { - membank("bank2")->set_base(memregion("user1")->base()); + m_bank2->set_base(memregion("user1")->base()); /* configure overlay */ - membank("bank1")->configure_entry(0, m_dram); - membank("bank1")->configure_entry(1, memregion("user1")->base()); + m_bank1->configure_entry(0, m_dram); + m_bank1->configure_entry(1, memregion("user1")->base()); m_3do_slow2_init(); m_3do_madam_init(); @@ -145,7 +145,7 @@ void _3do_state::machine_start() void _3do_state::machine_reset() { /* start with overlay enabled */ - membank("bank1")->set_entry(1); + m_bank1->set_entry(1); m_clio.cstatbits = 0x01; /* bit 0 = reset of clio caused by power on */ } diff --git a/src/mame/includes/3do.h b/src/mame/includes/3do.h index f0f0718f36f..89978dbb7ae 100644 --- a/src/mame/includes/3do.h +++ b/src/mame/includes/3do.h @@ -135,10 +135,13 @@ class _3do_state : public driver_device { public: _3do_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag) , - m_maincpu(*this, "maincpu"), - m_dram(*this, "dram"), - m_vram(*this, "vram"){ } + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_dram(*this, "dram") + , m_vram(*this, "vram") + , m_bank1(*this, "bank1") + , m_bank2(*this, "bank2") + { } required_device<cpu_device> m_maincpu; required_shared_ptr<UINT32> m_dram; @@ -168,6 +171,10 @@ public: TIMER_DEVICE_CALLBACK_MEMBER( timer_x16_cb ); +protected: + required_memory_bank m_bank1; + required_memory_bank m_bank2; + private: void m_3do_slow2_init( void ); void m_3do_madam_init( void ); diff --git a/src/mame/machine/3do.c b/src/mame/machine/3do.c index 56706e036c6..f54d97461e8 100644 --- a/src/mame/machine/3do.c +++ b/src/mame/machine/3do.c @@ -197,7 +197,7 @@ WRITE8_MEMBER(_3do_state::_3do_nvarea_w) { m_nvram[offset] = data; } READ32_MEMBER(_3do_state::_3do_slow2_r){ UINT32 data = 0; - logerror( "%08X: UNK_318 read offset = %08X\n", machine().device("maincpu")->safe_pc(), offset ); + logerror( "%08X: UNK_318 read offset = %08X\n", m_maincpu->pc(), offset ); switch( offset ) { case 0: /* Boot ROM checks here and expects to read 1, 0, 1, 0 in the lowest bit */ @@ -211,14 +211,14 @@ READ32_MEMBER(_3do_state::_3do_slow2_r){ WRITE32_MEMBER(_3do_state::_3do_slow2_w) { - logerror( "%08X: UNK_318 write offset = %08X, data = %08X, mask = %08X\n", machine().device("maincpu")->safe_pc(), offset, data, mem_mask ); + logerror( "%08X: UNK_318 write offset = %08X, data = %08X, mask = %08X\n", m_maincpu->pc(), offset, data, mem_mask ); switch( offset ) { case 0: /* Boot ROM writes 03180000 here and then starts reading some things */ { /* disable ROM overlay */ - membank("bank1")->set_entry(0); + m_bank1->set_entry(0); } m_slow2.cg_input = m_slow2.cg_input << 1 | ( data & 0x00000001 ); m_slow2.cg_w_count ++; @@ -236,7 +236,7 @@ READ32_MEMBER(_3do_state::_3do_svf_r) UINT32 addr = ( offset & ( 0x07fc / 4 ) ) << 9; UINT32 *p = m_vram + addr; - logerror( "%08X: SVF read offset = %08X\n", machine().device("maincpu")->safe_pc(), offset*4 ); + logerror( "%08X: SVF read offset = %08X\n", m_maincpu->pc(), offset*4 ); switch( offset & ( 0xE000 / 4 ) ) { @@ -261,7 +261,7 @@ WRITE32_MEMBER(_3do_state::_3do_svf_w) UINT32 addr = ( offset & ( 0x07fc / 4 ) ) << 9; UINT32 *p = m_vram + addr; - logerror( "%08X: SVF write offset = %08X, data = %08X, mask = %08X\n", machine().device("maincpu")->safe_pc(), offset*4, data, mem_mask ); + logerror( "%08X: SVF write offset = %08X, data = %08X, mask = %08X\n", m_maincpu->pc(), offset*4, data, mem_mask ); switch( offset & ( 0xe000 / 4 ) ) { @@ -297,7 +297,7 @@ WRITE32_MEMBER(_3do_state::_3do_svf_w) READ32_MEMBER(_3do_state::_3do_madam_r){ - logerror( "%08X: MADAM read offset = %08X\n", machine().device("maincpu")->safe_pc(), offset*4 ); + logerror( "%08X: MADAM read offset = %08X\n", m_maincpu->pc(), offset*4 ); switch( offset ) { case 0x0000/4: /* 03300000 - Revision */ @@ -448,7 +448,7 @@ READ32_MEMBER(_3do_state::_3do_madam_r){ case 0x07f8/4: return m_madam.mult_status; default: - logerror( "%08X: unhandled MADAM read offset = %08X\n", machine().device("maincpu")->safe_pc(), offset*4 ); + logerror( "%08X: unhandled MADAM read offset = %08X\n", m_maincpu->pc(), offset*4 ); break; } return 0; @@ -459,12 +459,12 @@ WRITE32_MEMBER(_3do_state::_3do_madam_w){ if(offset == 0) { if(data == 0x0a) - logerror( "%08X: MADAM write offset = %08X, data = %08X (\\n), mask = %08X\n", machine().device("maincpu")->safe_pc(), offset*4, data, mem_mask ); + logerror( "%08X: MADAM write offset = %08X, data = %08X (\\n), mask = %08X\n", m_maincpu->pc(), offset*4, data, mem_mask ); else - logerror( "%08X: MADAM write offset = %08X, data = %08X (%c), mask = %08X\n", machine().device("maincpu")->safe_pc(), offset*4, data, data, mem_mask ); + logerror( "%08X: MADAM write offset = %08X, data = %08X (%c), mask = %08X\n", m_maincpu->pc(), offset*4, data, data, mem_mask ); } else - logerror( "%08X: MADAM write offset = %08X, data = %08X, mask = %08X\n", machine().device("maincpu")->safe_pc(), offset*4, data, mem_mask ); + logerror( "%08X: MADAM write offset = %08X, data = %08X, mask = %08X\n", m_maincpu->pc(), offset*4, data, mem_mask ); switch( offset ) { case 0x0000/4: @@ -641,7 +641,7 @@ WRITE32_MEMBER(_3do_state::_3do_madam_w){ break; default: - logerror( "%08X: unhandled MADAM write offset = %08X, data = %08X, mask = %08X\n", machine().device("maincpu")->safe_pc(), offset*4, data, mem_mask ); + logerror( "%08X: unhandled MADAM write offset = %08X, data = %08X, mask = %08X\n", m_maincpu->pc(), offset*4, data, mem_mask ); break; } } @@ -655,7 +655,7 @@ READ32_MEMBER(_3do_state::_3do_clio_r) { if(offset != 0x200/4 && offset != 0x40/4 && offset != 0x44/4 && offset != 0x48/4 && offset != 0x4c/4 && offset != 0x118/4 && offset != 0x11c/4) - logerror( "%08X: CLIO read offset = %08X\n", machine().device("maincpu")->safe_pc(), offset * 4 ); + logerror( "%08X: CLIO read offset = %08X\n", m_maincpu->pc(), offset * 4 ); } /* TODO: for debug, to be removed once that we write the CPU core */ @@ -770,7 +770,7 @@ READ32_MEMBER(_3do_state::_3do_clio_r) default: if (!space.debugger_access()) - logerror( "%08X: unhandled CLIO read offset = %08X\n", machine().device("maincpu")->safe_pc(), offset * 4 ); + logerror( "%08X: unhandled CLIO read offset = %08X\n", m_maincpu->pc(), offset * 4 ); break; } return 0; @@ -780,7 +780,7 @@ WRITE32_MEMBER(_3do_state::_3do_clio_w) { if(offset != 0x200/4 && offset != 0x40/4 && offset != 0x44/4 && offset != 0x48/4 && offset != 0x4c/4 && offset != 0x118/4 && offset != 0x11c/4) - logerror( "%08X: CLIO write offset = %08X, data = %08X, mask = %08X\n", machine().device("maincpu")->safe_pc(), offset*4, data, mem_mask ); + logerror( "%08X: CLIO write offset = %08X, data = %08X, mask = %08X\n", m_maincpu->pc(), offset*4, data, mem_mask ); /* TODO: for debug, to be removed once that we write the CPU core */ if(offset >= 0x1800/4 && offset <= 0x1fff/4) @@ -1016,7 +1016,7 @@ WRITE32_MEMBER(_3do_state::_3do_clio_w) break; default: - logerror( "%08X: unhandled CLIO write offset = %08X, data = %08X, mask = %08X\n", machine().device("maincpu")->safe_pc(), offset*4, data, mem_mask ); + logerror( "%08X: unhandled CLIO write offset = %08X, data = %08X, mask = %08X\n", m_maincpu->pc(), offset*4, data, mem_mask ); break; } } |