summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/namcos23.c
diff options
context:
space:
mode:
author Michaël Banaan Ananas <happppp@users.noreply.github.com>2012-10-31 19:38:06 +0000
committer Michaël Banaan Ananas <happppp@users.noreply.github.com>2012-10-31 19:38:06 +0000
commitd7577068be95efe5d5b7d57a6caec4d2eb337b9f (patch)
tree8931d1ea4194567fd8997351710c0b33d2a886f8 /src/mame/drivers/namcos23.c
parent84414225963c97065182ace1b66c77846aeabe47 (diff)
bonus optimization
Diffstat (limited to 'src/mame/drivers/namcos23.c')
-rw-r--r--src/mame/drivers/namcos23.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index 3aca2f8bc0f..2c88f867abb 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -1333,6 +1333,7 @@ public:
m_audiocpu(*this, "audiocpu"),
m_iocpu(*this, "iocpu"),
m_rtc(*this, "rtc"),
+ m_mainram(*this, "mainram"),
m_shared_ram(*this, "shared_ram"),
m_charram(*this, "charram"),
m_textram(*this, "textram"),
@@ -1345,6 +1346,7 @@ public:
required_device<cpu_device> m_audiocpu;
optional_device<cpu_device> m_iocpu;
required_device<rtc4543_device> m_rtc;
+ required_shared_ptr<UINT32> m_mainram;
required_shared_ptr<UINT32> m_shared_ram;
required_shared_ptr<UINT32> m_charram;
required_shared_ptr<UINT32> m_textram;
@@ -1458,9 +1460,9 @@ public:
DECLARE_READ8_MEMBER(s23_iob_analog_r);
DECLARE_DRIVER_INIT(ss23);
TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
- DECLARE_MACHINE_START(s23);
DECLARE_VIDEO_START(ss23);
DECLARE_MACHINE_RESET(gmen);
+ virtual void machine_start();
virtual void machine_reset();
UINT32 screen_update_ss23(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(s23_interrupt);
@@ -1506,7 +1508,6 @@ TILE_GET_INFO_MEMBER(namcos23_state::TextTilemapGetInfo)
{
UINT16 data = nthword( m_textram,tile_index );
/**
- * x---.----.----.---- blend
* xxxx.----.----.---- palette select
* ----.xx--.----.---- flip
* ----.--xx.xxxx.xxxx code
@@ -2545,16 +2546,18 @@ INTERRUPT_GEN_MEMBER(namcos23_state::s23_interrupt)
render.count[render.cur] = 0;
}
-MACHINE_START_MEMBER(namcos23_state,s23)
+void namcos23_state::machine_start()
{
c361_t &c361 = m_c361;
c361.timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(namcos23_state::c361_timer_cb),this));
c361.timer->adjust(attotime::never);
+
+ mips3drc_add_fastram(m_maincpu, 0, m_mainram.bytes()-1, FALSE, reinterpret_cast<UINT32 *>(machine().root_device().memshare("mainram")->ptr()));
}
static ADDRESS_MAP_START( gorgon_map, AS_PROGRAM, 32, namcos23_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffffff)
- AM_RANGE(0x00000000, 0x003fffff) AM_RAM
+ AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x01000000, 0x010000ff) AM_READWRITE(p3d_r, p3d_w)
AM_RANGE(0x02000000, 0x0200000f) AM_READWRITE16(s23_c417_r, s23_c417_w, 0xffffffff)
AM_RANGE(0x04400000, 0x0440ffff) AM_RAM AM_SHARE("shared_ram") // Communication RAM (C416)
@@ -2578,7 +2581,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ss23_map, AS_PROGRAM, 32, namcos23_state )
ADDRESS_MAP_GLOBAL_MASK(0xfffffff)
- AM_RANGE(0x00000000, 0x00ffffff) AM_RAM
+ AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE("mainram")
AM_RANGE(0x01000000, 0x010000ff) AM_READWRITE(p3d_r, p3d_w)
AM_RANGE(0x02000000, 0x0200000f) AM_READWRITE16(s23_c417_r, s23_c417_w, 0xffffffff)
AM_RANGE(0x04400000, 0x0440ffff) AM_RAM AM_SHARE("shared_ram") // Communication RAM (C416)
@@ -3319,8 +3322,6 @@ static MACHINE_CONFIG_START( gorgon, namcos23_state )
MCFG_VIDEO_START_OVERRIDE(namcos23_state,ss23)
- MCFG_MACHINE_START_OVERRIDE(namcos23_state,s23)
-
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3366,8 +3367,6 @@ static MACHINE_CONFIG_START( s23, namcos23_state )
MCFG_VIDEO_START_OVERRIDE(namcos23_state,ss23)
- MCFG_MACHINE_START_OVERRIDE(namcos23_state,s23)
-
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@@ -3409,8 +3408,6 @@ static MACHINE_CONFIG_START( ss23, namcos23_state )
MCFG_VIDEO_START_OVERRIDE(namcos23_state,ss23)
- MCFG_MACHINE_START_OVERRIDE(namcos23_state,s23)
-
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")