summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cam900 <dbtlrchl@naver.com>2018-08-18 13:28:35 +0900
committer Vas Crabb <cuavas@users.noreply.github.com>2018-09-01 16:53:24 +1000
commit24790c95ce735247f2ef78c059cc0e9f8eb7d46a (patch)
tree58751ce6fc5a44168ad99f2b030fe4ede7e77251
parent6e50dd8831f4bc9edcb27d5d213de2033784aca5 (diff)
artmagic.cpp : Reduce runtime tag lookups, Cleanup naming etc...
-rw-r--r--src/mame/drivers/artmagic.cpp19
-rw-r--r--src/mame/includes/artmagic.h16
-rw-r--r--src/mame/video/artmagic.cpp17
3 files changed, 22 insertions, 30 deletions
diff --git a/src/mame/drivers/artmagic.cpp b/src/mame/drivers/artmagic.cpp
index ebcbe513bd7..2d89a570561 100644
--- a/src/mame/drivers/artmagic.cpp
+++ b/src/mame/drivers/artmagic.cpp
@@ -471,7 +471,7 @@ void artmagic_state::tms_map(address_map &map)
{
map(0x00000000, 0x001fffff).ram().share("vram0");
map(0x00400000, 0x005fffff).ram().share("vram1");
- map(0x00800000, 0x0080007f).rw(FUNC(artmagic_state::artmagic_blitter_r), FUNC(artmagic_state::artmagic_blitter_w));
+ map(0x00800000, 0x0080007f).rw(FUNC(artmagic_state::blitter_r), FUNC(artmagic_state::blitter_w));
map(0x00c00000, 0x00c000ff).rw(m_tlc34076, FUNC(tlc34076_device::read), FUNC(tlc34076_device::write)).umask16(0x00ff);
map(0xc0000000, 0xc00001ff).rw(m_tms, FUNC(tms34010_device::io_register_r), FUNC(tms34010_device::io_register_w));
map(0xffe00000, 0xffffffff).ram();
@@ -482,7 +482,7 @@ void artmagic_state::stonebal_tms_map(address_map &map)
{
map(0x00000000, 0x001fffff).ram().share("vram0");
map(0x00400000, 0x005fffff).ram().share("vram1");
- map(0x00800000, 0x0080007f).rw(FUNC(artmagic_state::artmagic_blitter_r), FUNC(artmagic_state::artmagic_blitter_w));
+ map(0x00800000, 0x0080007f).rw(FUNC(artmagic_state::blitter_r), FUNC(artmagic_state::blitter_w));
map(0x00c00000, 0x00c000ff).rw(m_tlc34076, FUNC(tlc34076_device::read), FUNC(tlc34076_device::write)).umask16(0x00ff);
map(0xc0000000, 0xc00001ff).rw(m_tms, FUNC(tms34010_device::io_register_r), FUNC(tms34010_device::io_register_w));
map(0xffc00000, 0xffffffff).ram();
@@ -829,7 +829,6 @@ MACHINE_CONFIG_START(artmagic_state::artmagic)
/* video hardware */
MCFG_TLC34076_ADD("tlc34076", TLC34076_6_BIT)
-
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK_40MHz/6, 428, 0, 320, 313, 0, 256)
MCFG_SCREEN_UPDATE_DEVICE("tms", tms34010_device, tms340x0_rgb32)
@@ -902,7 +901,7 @@ ROM_START( cheesech )
ROM_LOAD16_BYTE( "u102", 0x00000, 0x40000, CRC(1d6e07c5) SHA1(8650868cce47f685d22131aa28aad45033cb0a52) )
ROM_LOAD16_BYTE( "u101", 0x00001, 0x40000, CRC(30ae9f95) SHA1(fede5d271aabb654c1efc077253d81ba23786f22) )
- ROM_REGION16_LE( 0x100000, "gfx1", 0 )
+ ROM_REGION16_LE( 0x100000, "gfx", 0 )
ROM_LOAD16_BYTE( "u134", 0x00000, 0x80000, CRC(354ba4a6) SHA1(68e7df750efb21c716ba8b8ed4ca15a8cdc9141b) )
ROM_LOAD16_BYTE( "u135", 0x00001, 0x80000, CRC(97348681) SHA1(7e74685041cd5e8fbd45731284cf316dc3ffec60) )
@@ -916,7 +915,7 @@ ROM_START( ultennis )
ROM_LOAD16_BYTE( "a+m001b1093_13b_u102.u102", 0x00000, 0x40000, CRC(ec31385e) SHA1(244e78619c549712d5541fb252656afeba639bb7) ) /* labeled A&M001B1093 13B U102 */
ROM_LOAD16_BYTE( "a+m001b1093_12b_u101.u101", 0x00001, 0x40000, CRC(08a7f655) SHA1(b8a4265472360b68bed71d6c175fc54dff088c1d) ) /* labeled A&M001B1093 12B U101 */
- ROM_REGION16_LE( 0x200000, "gfx1", 0 )
+ ROM_REGION16_LE( 0x200000, "gfx", 0 )
ROM_LOAD( "a+m-001-01-a.ic133", 0x000000, 0x200000, CRC(29d9204d) SHA1(0b2b77a55b8c2877c2e31b63156505584d4ee1f0) ) /* mask ROM labeled as A&M-001-01-A (C)1993 ART & MAGIC */
ROM_REGION( 0x40000, "oki", 0 )
@@ -929,7 +928,7 @@ ROM_START( ultennisj )
ROM_LOAD16_BYTE( "a+m001d0194-13c-u102-japan.u102", 0x00000, 0x40000, CRC(65cee452) SHA1(49259e8faf289d6d80769f6d44e9d61d15e431c6) ) /* labeled A&M001D0194 13C U102 */
ROM_LOAD16_BYTE( "a+m001d0194-12c-u101-japan.u101", 0x00001, 0x40000, CRC(5f4b0ca0) SHA1(57e9ed60cc0e53eeb4e08c4003138d3bdaec3de7) ) /* labeled A&M001D0194 12C U101 */
- ROM_REGION16_LE( 0x200000, "gfx1", 0 )
+ ROM_REGION16_LE( 0x200000, "gfx", 0 )
ROM_LOAD( "a+m-001-01-a.ic133", 0x000000, 0x200000, CRC(29d9204d) SHA1(0b2b77a55b8c2877c2e31b63156505584d4ee1f0) ) /* mask ROM labeled as A&M-001-01-A (C)1993 ART & MAGIC */
ROM_REGION( 0x40000, "oki", 0 )
@@ -982,7 +981,7 @@ ROM_START( stonebal )
ROM_LOAD16_BYTE( "u102", 0x00000, 0x40000, CRC(712feda1) SHA1(c5b385f425786566fa274fe166a7116615a8ce86) ) /* 4 Players kit, v1-20 13/12/1994 */
ROM_LOAD16_BYTE( "u101", 0x00001, 0x40000, CRC(4f1656a9) SHA1(720717ae4166b3ec50bb572197a8c6c96b284648) )
- ROM_REGION16_LE( 0x400000, "gfx1", 0 )
+ ROM_REGION16_LE( 0x400000, "gfx", 0 )
ROM_LOAD( "u1600.bin", 0x000000, 0x200000, CRC(d2ffe9ff) SHA1(1c5dcbd8208e45458da9db7621f6b8602bca0fae) )
ROM_LOAD( "u1601.bin", 0x200000, 0x200000, CRC(dbe893f0) SHA1(71a8a022decc0ff7d4c65f7e6e0cbba9e0b5582c) )
@@ -996,7 +995,7 @@ ROM_START( stonebal2 )
ROM_LOAD16_BYTE( "u102.bin", 0x00000, 0x40000, CRC(b3c4f64f) SHA1(6327e9f3cd9deb871a6910cf1f006c8ee143e859) ) /* 2 Players kit, v1-20 7/11/1994 */
ROM_LOAD16_BYTE( "u101.bin", 0x00001, 0x40000, CRC(fe373f74) SHA1(bafac4bbd1aae4ccc4ae16205309483f1bbdd464) )
- ROM_REGION16_LE( 0x400000, "gfx1", 0 )
+ ROM_REGION16_LE( 0x400000, "gfx", 0 )
ROM_LOAD( "u1600.bin", 0x000000, 0x200000, CRC(d2ffe9ff) SHA1(1c5dcbd8208e45458da9db7621f6b8602bca0fae) )
ROM_LOAD( "u1601.bin", 0x200000, 0x200000, CRC(dbe893f0) SHA1(71a8a022decc0ff7d4c65f7e6e0cbba9e0b5582c) )
@@ -1010,7 +1009,7 @@ ROM_START( stonebal2o )
ROM_LOAD16_BYTE( "sb_o_2p_24-10.u102", 0x00000, 0x40000, CRC(ab58c6b2) SHA1(6e29646d4b0802733d04e722909c03b87761c759) ) /* 2 Players kit, v1-20 21/10/1994 */
ROM_LOAD16_BYTE( "sb_e_2p_24-10.u101", 0x00001, 0x40000, CRC(ea967835) SHA1(12655f0dc44981f4a49ed45f271d5eb24f2cc5c6) ) /* Yes the Odd / Even labels are backwards & chips dated 24/10 */
- ROM_REGION16_LE( 0x400000, "gfx1", 0 )
+ ROM_REGION16_LE( 0x400000, "gfx", 0 )
ROM_LOAD( "u1600.bin", 0x000000, 0x200000, CRC(d2ffe9ff) SHA1(1c5dcbd8208e45458da9db7621f6b8602bca0fae) )
ROM_LOAD( "u1601.bin", 0x200000, 0x200000, CRC(dbe893f0) SHA1(71a8a022decc0ff7d4c65f7e6e0cbba9e0b5582c) )
@@ -1097,7 +1096,7 @@ ROM_START( shtstar )
ROM_REGION( 0x10000, "guncpu", 0 )
ROM_LOAD( "2207_7b42c5.u6", 0x00000, 0x8000, CRC(6dd4b4ed) SHA1(b37e9e5ddfb5d88c5412dc79643adfc4362fbb46) )
- ROM_REGION16_LE( 0x100000, "gfx1", 0 )
+ ROM_REGION16_LE( 0x100000, "gfx", 0 )
ROM_LOAD( "a+m005c0494_13a.u134", 0x00000, 0x80000, CRC(f101136a) SHA1(9ff7275e0c1fc41f3d97ae0bd628581e2803910a) )
ROM_LOAD( "a+m005c0494_14a.u135", 0x80000, 0x80000, CRC(3e847f8f) SHA1(c99159951303b7f752305fa8e7e6d4bfb4fc54ba) )
diff --git a/src/mame/includes/artmagic.h b/src/mame/includes/artmagic.h
index 06f7587773b..67aaf477b7d 100644
--- a/src/mame/includes/artmagic.h
+++ b/src/mame/includes/artmagic.h
@@ -21,23 +21,21 @@ public:
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_oki(*this, "oki")
- , m_oki_region(*this, "oki")
, m_tms(*this, "tms")
, m_tlc34076(*this, "tlc34076")
, m_control(*this, "control")
- , m_vram0(*this, "vram0")
- , m_vram1(*this, "vram1")
+ , m_vram(*this, "vram%u", 0U)
+ , m_blitter_base(*this, "gfx")
{ }
required_device<cpu_device> m_maincpu;
required_device<okim6295_device> m_oki;
- required_memory_region m_oki_region;
required_device<tms34010_device> m_tms;
required_device<tlc34076_device> m_tlc34076;
required_shared_ptr<uint16_t> m_control;
- required_shared_ptr<uint16_t> m_vram0;
- required_shared_ptr<uint16_t> m_vram1;
+ required_shared_ptr_array<uint16_t, 2> m_vram;
+ required_region_ptr<uint16_t> m_blitter_base;
uint8_t m_tms_irq;
uint8_t m_hack_irq;
@@ -56,8 +54,6 @@ public:
int m_xor[16];
int m_is_stoneball;
- uint16_t *m_blitter_base;
- uint32_t m_blitter_mask;
uint16_t m_blitter_data[8];
uint8_t m_blitter_page;
attotime m_blitter_busy_until;
@@ -65,8 +61,8 @@ public:
DECLARE_WRITE16_MEMBER(control_w);
DECLARE_READ16_MEMBER(ultennis_hack_r);
DECLARE_WRITE16_MEMBER(protection_bit_w);
- DECLARE_READ16_MEMBER(artmagic_blitter_r);
- DECLARE_WRITE16_MEMBER(artmagic_blitter_w);
+ DECLARE_READ16_MEMBER(blitter_r);
+ DECLARE_WRITE16_MEMBER(blitter_w);
DECLARE_WRITE_LINE_MEMBER(m68k_gen_int);
TMS340X0_TO_SHIFTREG_CB_MEMBER(to_shiftreg);
TMS340X0_FROM_SHIFTREG_CB_MEMBER(from_shiftreg);
diff --git a/src/mame/video/artmagic.cpp b/src/mame/video/artmagic.cpp
index 41752d82bf9..389ecc34091 100644
--- a/src/mame/video/artmagic.cpp
+++ b/src/mame/video/artmagic.cpp
@@ -26,9 +26,9 @@ inline uint16_t *artmagic_state::address_to_vram(offs_t *address)
offs_t original = *address;
*address = (original & 0x001fffff) >> 4;
if (original < 0x001fffff)
- return m_vram0;
+ return m_vram[0];
else if (original >= 0x00400000 && original < 0x005fffff)
- return m_vram1;
+ return m_vram[1];
return nullptr;
}
@@ -42,9 +42,6 @@ inline uint16_t *artmagic_state::address_to_vram(offs_t *address)
void artmagic_state::video_start()
{
- m_blitter_base = (uint16_t *)memregion("gfx1")->base();
- m_blitter_mask = memregion("gfx1")->bytes()/2 - 1;
-
save_item(NAME(m_xor));
save_item(NAME(m_is_stoneball));
save_item(NAME(m_blitter_data));
@@ -84,7 +81,7 @@ TMS340X0_FROM_SHIFTREG_CB_MEMBER(artmagic_state::from_shiftreg)
void artmagic_state::execute_blit()
{
- uint16_t *dest = m_blitter_page ? m_vram0 : m_vram1;
+ uint16_t *dest = m_vram[m_blitter_page ^ 1];
int offset = ((m_blitter_data[1] & 0xff) << 16) | m_blitter_data[0];
int color = (m_blitter_data[1] >> 4) & 0xf0;
int x = (int16_t)m_blitter_data[2];
@@ -222,7 +219,7 @@ void artmagic_state::execute_blit()
}
else /* following lines */
{
- int val = m_blitter_base[offset & m_blitter_mask];
+ int val = m_blitter_base[offset & m_blitter_base.mask()];
/* ultennis, stonebal */
last ^= 4;
@@ -237,7 +234,7 @@ void artmagic_state::execute_blit()
for (j = 0; j < w; j += 4)
{
- uint16_t val = m_blitter_base[(offset + j/4) & m_blitter_mask];
+ uint16_t val = m_blitter_base[(offset + j/4) & m_blitter_base.mask()];
if (sx < 508)
{
if (h == 1 && m_is_stoneball)
@@ -297,7 +294,7 @@ void artmagic_state::execute_blit()
}
-READ16_MEMBER(artmagic_state::artmagic_blitter_r)
+READ16_MEMBER(artmagic_state::blitter_r)
{
/*
bit 1 is a busy flag; loops tightly if clear
@@ -313,7 +310,7 @@ READ16_MEMBER(artmagic_state::artmagic_blitter_r)
}
-WRITE16_MEMBER(artmagic_state::artmagic_blitter_w)
+WRITE16_MEMBER(artmagic_state::blitter_w)
{
COMBINE_DATA(&m_blitter_data[offset]);