summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2019-04-29 20:41:57 -0400
committer GitHub <noreply@github.com>2019-04-29 20:41:57 -0400
commite7ddf6bb2826a054bac03fd9dd4bec79dd602038 (patch)
treefb793d2b86eeb8f0205af3953d400ec4500ce6f2
parent0ed72cbe20b4b1f83a018a0a05ab280cd8ece91a (diff)
parent6d2e7eae6d262b1b35daf7d2ca81c2ded4dfc843 (diff)
Merge pull request #4938 from cam900/k053244_k053245_args
k053244_k053245.cpp : Updates
-rw-r--r--src/mame/drivers/asterix.cpp4
-rw-r--r--src/mame/drivers/quickpick5.cpp8
-rw-r--r--src/mame/drivers/tmnt.cpp18
-rw-r--r--src/mame/video/k053244_k053245.cpp36
-rw-r--r--src/mame/video/k053244_k053245.h16
5 files changed, 27 insertions, 55 deletions
diff --git a/src/mame/drivers/asterix.cpp b/src/mame/drivers/asterix.cpp
index 3c1bb313420..fa460e02b63 100644
--- a/src/mame/drivers/asterix.cpp
+++ b/src/mame/drivers/asterix.cpp
@@ -175,9 +175,9 @@ void asterix_state::main_map(address_map &map)
map(0x100000, 0x107fff).ram();
map(0x180000, 0x1807ff).rw(m_k053244, FUNC(k05324x_device::k053245_word_r), FUNC(k05324x_device::k053245_word_w));
map(0x180800, 0x180fff).ram(); // extra RAM, or mirror for the above?
- map(0x200000, 0x20000f).rw(m_k053244, FUNC(k05324x_device::k053244_word_r), FUNC(k05324x_device::k053244_word_w));
+ map(0x200000, 0x20000f).rw(m_k053244, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w));
map(0x280000, 0x280fff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
- map(0x300000, 0x30001f).rw(m_k053244, FUNC(k05324x_device::k053244_lsb_r), FUNC(k05324x_device::k053244_lsb_w));
+ map(0x300000, 0x30001f).rw(m_k053244, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w)).umask16(0x00ff);
map(0x380000, 0x380001).portr("IN0");
map(0x380002, 0x380003).portr("IN1");
map(0x380100, 0x380101).w(FUNC(asterix_state::control2_w));
diff --git a/src/mame/drivers/quickpick5.cpp b/src/mame/drivers/quickpick5.cpp
index 597dc1de381..0cee52878be 100644
--- a/src/mame/drivers/quickpick5.cpp
+++ b/src/mame/drivers/quickpick5.cpp
@@ -65,10 +65,10 @@ private:
WRITE_LINE_MEMBER(nmi_ack_w) { m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); }
// A0 is inverted to match the Z80's endianness. Typical Konami.
- READ8_MEMBER(k244_r) { return m_k053245->k053244_r(space, offset^1); }
- WRITE8_MEMBER(k244_w) { m_k053245->k053244_w(space, offset^1, data); }
- READ8_MEMBER(k245_r) { return m_k053245->k053245_r(space, offset^1); }
- WRITE8_MEMBER(k245_w) { m_k053245->k053245_w(space, offset^1, data); }
+ READ8_MEMBER(k244_r) { return m_k053245->k053244_r(offset^1); }
+ WRITE8_MEMBER(k244_w) { m_k053245->k053244_w(offset^1, data); }
+ READ8_MEMBER(k245_r) { return m_k053245->k053245_r(offset^1); }
+ WRITE8_MEMBER(k245_w) { m_k053245->k053245_w(offset^1, data); }
WRITE8_MEMBER(control_w)
{
diff --git a/src/mame/drivers/tmnt.cpp b/src/mame/drivers/tmnt.cpp
index b98ebaebffc..7678271b8c7 100644
--- a/src/mame/drivers/tmnt.cpp
+++ b/src/mame/drivers/tmnt.cpp
@@ -116,7 +116,7 @@ READ16_MEMBER(tmnt_state::k053245_scattered_word_r)
else
{
offset = ((offset & 0x000e) >> 1) | ((offset & 0x1fc0) >> 3);
- return m_k053245->k053245_word_r(space, offset, mem_mask);
+ return m_k053245->k053245_word_r(offset);
}
}
@@ -127,7 +127,7 @@ WRITE16_MEMBER(tmnt_state::k053245_scattered_word_w)
if (!(offset & 0x0031))
{
offset = ((offset & 0x000e) >> 1) | ((offset & 0x1fc0) >> 3);
- m_k053245->k053245_word_w(space, offset, data, mem_mask);
+ m_k053245->k053245_word_w(offset, data, mem_mask);
}
}
@@ -135,7 +135,7 @@ READ16_MEMBER(tmnt_state::k053244_word_noA1_r)
{
offset &= ~1; /* handle mirror address */
- return m_k053245->k053244_r(space, offset + 1) | (m_k053245->k053244_r(space, offset) << 8);
+ return m_k053245->k053244_r(offset + 1) | (m_k053245->k053244_r(offset) << 8);
}
WRITE16_MEMBER(tmnt_state::k053244_word_noA1_w)
@@ -143,9 +143,9 @@ WRITE16_MEMBER(tmnt_state::k053244_word_noA1_w)
offset &= ~1; /* handle mirror address */
if (ACCESSING_BITS_8_15)
- m_k053245->k053244_w(space, offset, (data >> 8) & 0xff);
+ m_k053245->k053244_w(offset, (data >> 8) & 0xff);
if (ACCESSING_BITS_0_7)
- m_k053245->k053244_w(space, offset + 1, data & 0xff);
+ m_k053245->k053244_w(offset + 1, data & 0xff);
}
/* cuebrick, mia, tmnt */
@@ -350,7 +350,7 @@ WRITE16_MEMBER(tmnt_state::ssriders_protection_w)
{
if ((space.read_word(0x180006 + 128 * i) >> 8) == logical_pri)
{
- m_k053245->k053245_word_w(space, 8 * i, hardware_pri, 0x00ff);
+ m_k053245->k053245_word_w(8 * i, hardware_pri, 0x00ff);
hardware_pri++;
}
}
@@ -631,7 +631,7 @@ void tmnt_state::glfgreat_main_map(address_map &map)
map(0x108000, 0x108fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x10c000, 0x10cfff).rw(m_k053936, FUNC(k053936_device::linectrl_r), FUNC(k053936_device::linectrl_w)); /* 053936? */
map(0x110000, 0x11001f).w(FUNC(tmnt_state::k053244_word_noA1_w)); /* duplicate! */
- map(0x114000, 0x11401f).rw(m_k053245, FUNC(k05324x_device::k053244_lsb_r), FUNC(k05324x_device::k053244_lsb_w)); /* duplicate! */
+ map(0x114000, 0x11401f).rw(m_k053245, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w)).umask16(0x00ff); /* duplicate! */
map(0x118000, 0x11801f).w(m_k053936, FUNC(k053936_device::ctrl_w));
map(0x11c000, 0x11c01f).w(m_k053251, FUNC(k053251_device::msb_w));
map(0x120000, 0x120001).portr("P1/P2");
@@ -654,7 +654,7 @@ void tmnt_state::prmrsocr_main_map(address_map &map)
map(0x108000, 0x108fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x10c000, 0x10cfff).rw(m_k053936, FUNC(k053936_device::linectrl_r), FUNC(k053936_device::linectrl_w));
map(0x110000, 0x11001f).w(FUNC(tmnt_state::k053244_word_noA1_w)); /* duplicate! */
- map(0x114000, 0x11401f).rw(m_k053245, FUNC(k05324x_device::k053244_lsb_r), FUNC(k05324x_device::k053244_lsb_w)); /* duplicate! */
+ map(0x114000, 0x11401f).rw(m_k053245, FUNC(k05324x_device::k053244_r), FUNC(k05324x_device::k053244_w)).umask16(0x00ff); /* duplicate! */
map(0x118000, 0x11801f).w(m_k053936, FUNC(k053936_device::ctrl_w));
map(0x11c000, 0x11c01f).w(m_k053251, FUNC(k053251_device::msb_w));
map(0x120000, 0x120001).portr("P1/COINS");
@@ -690,7 +690,7 @@ void tmnt_state::tmnt2_put_word( address_space &space, uint32_t addr, uint16_t d
if (!(offs & 0x0031))
{
offs = ((offs & 0x000e) >> 1) | ((offs & 0x1fc0) >> 3);
- m_k053245->k053245_word_w(space, offs, data, 0xffff);
+ m_k053245->k053245_word_w(offs, data, 0xffff);
}
}
else if (addr >= 0x104000 / 2 && addr <= 0x107fff / 2)
diff --git a/src/mame/video/k053244_k053245.cpp b/src/mame/video/k053244_k053245.cpp
index 45d11d92133..3b1e82a9237 100644
--- a/src/mame/video/k053244_k053245.cpp
+++ b/src/mame/video/k053244_k053245.cpp
@@ -160,17 +160,17 @@ void k05324x_device::device_reset()
DEVICE HANDLERS
*****************************************************************************/
-READ16_MEMBER( k05324x_device::k053245_word_r )
+u16 k05324x_device::k053245_word_r(offs_t offset)
{
return m_ram[offset];
}
-WRITE16_MEMBER( k05324x_device::k053245_word_w )
+void k05324x_device::k053245_word_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(m_ram.get() + offset);
}
-READ8_MEMBER( k05324x_device::k053245_r )
+u8 k05324x_device::k053245_r(offs_t offset)
{
if(offset & 1)
return m_ram[offset >> 1] & 0xff;
@@ -179,7 +179,7 @@ READ8_MEMBER( k05324x_device::k053245_r )
}
-WRITE8_MEMBER( k05324x_device::k053245_w )
+void k05324x_device::k053245_w(offs_t offset, u8 data)
{
if(offset & 1)
m_ram[offset >> 1] = (m_ram[offset >> 1] & 0xff00) | data;
@@ -200,7 +200,7 @@ void k05324x_device::update_buffer()
memcpy(m_buffer.get(), m_ram.get(), m_ramsize);
}
-READ8_MEMBER( k05324x_device::k053244_r )
+u8 k05324x_device::k053244_r(offs_t offset)
{
if ((m_regs[5] & 0x10) && offset >= 0x0c && offset < 0x10)
{
@@ -227,7 +227,7 @@ READ8_MEMBER( k05324x_device::k053244_r )
}
}
-WRITE8_MEMBER( k05324x_device::k053244_w )
+void k05324x_device::k053244_w(offs_t offset, u8 data)
{
m_regs[offset] = data;
@@ -248,30 +248,6 @@ WRITE8_MEMBER( k05324x_device::k053244_w )
}
-READ16_MEMBER( k05324x_device::k053244_lsb_r )
-{
- return k053244_r(space, offset);
-}
-
-WRITE16_MEMBER( k05324x_device::k053244_lsb_w )
-{
- if (ACCESSING_BITS_0_7)
- k053244_w(space, offset, data & 0xff);
-}
-
-READ16_MEMBER( k05324x_device::k053244_word_r )
-{
- return (k053244_r(space, offset * 2) << 8) | k053244_r(space, offset * 2 + 1);
-}
-
-WRITE16_MEMBER( k05324x_device::k053244_word_w )
-{
- if (ACCESSING_BITS_8_15)
- k053244_w(space, offset * 2, (data >> 8) & 0xff);
- if (ACCESSING_BITS_0_7)
- k053244_w(space, offset * 2 + 1, data & 0xff);
-}
-
void k05324x_device::bankselect( int bank )
{
m_rombank = bank;
diff --git a/src/mame/video/k053244_k053245.h b/src/mame/video/k053244_k053245.h
index 859bc5409d9..e9be05e7c7c 100644
--- a/src/mame/video/k053244_k053245.h
+++ b/src/mame/video/k053244_k053245.h
@@ -29,16 +29,12 @@ public:
m_dy = y_offset;
}
- DECLARE_READ16_MEMBER( k053245_word_r );
- DECLARE_WRITE16_MEMBER( k053245_word_w );
- DECLARE_READ8_MEMBER( k053245_r );
- DECLARE_WRITE8_MEMBER( k053245_w );
- DECLARE_READ8_MEMBER( k053244_r );
- DECLARE_WRITE8_MEMBER( k053244_w );
- DECLARE_READ16_MEMBER( k053244_lsb_r );
- DECLARE_WRITE16_MEMBER( k053244_lsb_w );
- DECLARE_READ16_MEMBER( k053244_word_r );
- DECLARE_WRITE16_MEMBER( k053244_word_w );
+ u16 k053245_word_r(offs_t offset);
+ void k053245_word_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+ u8 k053245_r(offs_t offset);
+ void k053245_w(offs_t offset, u8 data);
+ u8 k053244_r(offs_t offset);
+ void k053244_w(offs_t offset, u8 data);
void bankselect(int bank); /* used by TMNT2, Asterix and Premier Soccer for ROM testing */
void sprites_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap);
void clear_buffer();