diff options
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 |
commit | e7ddf6bb2826a054bac03fd9dd4bec79dd602038 (patch) | |
tree | fb793d2b86eeb8f0205af3953d400ec4500ce6f2 | |
parent | 0ed72cbe20b4b1f83a018a0a05ab280cd8ece91a (diff) | |
parent | 6d2e7eae6d262b1b35daf7d2ca81c2ded4dfc843 (diff) |
Merge pull request #4938 from cam900/k053244_k053245_args
k053244_k053245.cpp : Updates
-rw-r--r-- | src/mame/drivers/asterix.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/quickpick5.cpp | 8 | ||||
-rw-r--r-- | src/mame/drivers/tmnt.cpp | 18 | ||||
-rw-r--r-- | src/mame/video/k053244_k053245.cpp | 36 | ||||
-rw-r--r-- | src/mame/video/k053244_k053245.h | 16 |
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(); |