summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
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
commitcb294f862b917437302930e181aa12e7557edb22 (patch)
treed743c37acf68c3738a9d47d4353574a5cf669185 /src/mame
parent2c45ab5199acb1fc485d62203daaaac876f07804 (diff)
3do.c: Reduce tagmap lookups (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/3do.c8
-rw-r--r--src/mame/includes/3do.h15
-rw-r--r--src/mame/machine/3do.c30
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;
}
}