diff options
Diffstat (limited to 'src/mame/machine/midtunit.cpp')
-rw-r--r-- | src/mame/machine/midtunit.cpp | 64 |
1 files changed, 34 insertions, 30 deletions
diff --git a/src/mame/machine/midtunit.cpp b/src/mame/machine/midtunit.cpp index 98cb5d91079..4530ae163ce 100644 --- a/src/mame/machine/midtunit.cpp +++ b/src/mame/machine/midtunit.cpp @@ -45,13 +45,13 @@ void midtunit_state::register_state_saving() * *************************************/ -WRITE16_MEMBER(midtunit_state::midtunit_cmos_enable_w) +void midtunit_state::midtunit_cmos_enable_w(uint16_t data) { m_cmos_write_enable = 1; } -WRITE16_MEMBER(midtunit_state::midtunit_cmos_w) +void midtunit_state::midtunit_cmos_w(offs_t offset, uint16_t data, uint16_t mem_mask) { if (1)/*m_cmos_write_enable*/ { @@ -66,7 +66,7 @@ WRITE16_MEMBER(midtunit_state::midtunit_cmos_w) } -READ16_MEMBER(midtunit_state::midtunit_cmos_r) +uint16_t midtunit_state::midtunit_cmos_r(offs_t offset) { return m_nvram[offset]; } @@ -90,7 +90,7 @@ static const uint8_t mk_prot_values[] = 0xff }; -READ16_MEMBER(midtunit_state::mk_prot_r) +uint16_t midtunit_state::mk_prot_r(offs_t offset) { logerror("%s:Protection R @ %05X = %04X\n", machine().describe_context(), offset, mk_prot_values[m_mk_prot_index] << 9); @@ -104,7 +104,7 @@ READ16_MEMBER(midtunit_state::mk_prot_r) return mk_prot_values[m_mk_prot_index++] << 9; } -WRITE16_MEMBER(midtunit_state::mk_prot_w) +void midtunit_state::mk_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask) { if (ACCESSING_BITS_8_15) { @@ -138,7 +138,7 @@ WRITE16_MEMBER(midtunit_state::mk_prot_w) * *************************************/ -READ16_MEMBER(midtunit_state::mkturbo_prot_r) +uint16_t midtunit_state::mkturbo_prot_r() { /* the security GAL overlays a counter of some sort at 0xfffff400 in ROM &space. * A startup protection check expects to read back two different values in succession */ @@ -153,22 +153,22 @@ READ16_MEMBER(midtunit_state::mkturbo_prot_r) * *************************************/ -READ16_MEMBER(midtunit_state::mk2_prot_const_r) +uint16_t midtunit_state::mk2_prot_const_r() { return 2; } -READ16_MEMBER(midtunit_state::mk2_prot_r) +uint16_t midtunit_state::mk2_prot_r() { return m_mk2_prot_data; } -READ16_MEMBER(midtunit_state::mk2_prot_shift_r) +uint16_t midtunit_state::mk2_prot_shift_r() { return m_mk2_prot_data >> 1; } -WRITE16_MEMBER(midtunit_state::mk2_prot_w) +void midtunit_state::mk2_prot_w(offs_t offset, uint16_t data, uint16_t mem_mask) { COMBINE_DATA(&m_mk2_prot_data); } @@ -221,7 +221,7 @@ static const uint32_t nbajamte_prot_values[128] = 0x381c2e17, 0x393c3e3f, 0x3a3d1e0f, 0x3b1d0e27, 0x3c3e1f2f, 0x3d1e0f07, 0x3e1f2f37, 0x3f3f3f1f }; -READ16_MEMBER(midtunit_state::nbajam_prot_r) +uint16_t midtunit_state::nbajam_prot_r() { int result = m_nbajam_prot_queue[m_nbajam_prot_index]; if (m_nbajam_prot_index < 4) @@ -229,7 +229,7 @@ READ16_MEMBER(midtunit_state::nbajam_prot_r) return result; } -WRITE16_MEMBER(midtunit_state::nbajam_prot_w) +void midtunit_state::nbajam_prot_w(offs_t offset, uint16_t data) { int table_index = (offset >> 6) & 0x7f; uint32_t protval = m_nbajam_prot_table[table_index]; @@ -292,7 +292,7 @@ static const uint8_t jdredd_prot_values_80020[] = 0x39,0x33,0x00,0x00,0x00,0x00,0x00,0x00 }; -WRITE16_MEMBER(midtunit_state::jdredd_prot_w) +void midtunit_state::jdredd_prot_w(offs_t offset, uint16_t data) { logerror("%s:jdredd_prot_w(%04X,%04X)\n", machine().describe_context(), offset*16, data); @@ -335,7 +335,7 @@ WRITE16_MEMBER(midtunit_state::jdredd_prot_w) } } -READ16_MEMBER(midtunit_state::jdredd_prot_r) +uint16_t midtunit_state::jdredd_prot_r(offs_t offset) { uint16_t result = 0xffff; @@ -379,7 +379,8 @@ void midtunit_state::init_mktunit() init_tunit_generic(SOUND_ADPCM); /* protection */ - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b00000, 0x1b6ffff, read16_delegate(*this, FUNC(midtunit_state::mk_prot_r)), write16_delegate(*this, FUNC(midtunit_state::mk_prot_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b00000, 0x1b6ffff, read16sm_delegate(*this, FUNC(midtunit_state::mk_prot_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b00000, 0x1b6ffff, write16s_delegate(*this, FUNC(midtunit_state::mk_prot_w))); /* sound chip protection (hidden RAM) */ m_adpcm_sound->get_cpu()->space(AS_PROGRAM).install_ram(0xfb9c, 0xfbc6); @@ -388,7 +389,7 @@ void midtunit_state::init_mktunit() void midtunit_state::init_mkturbo() { /* protection */ - m_maincpu->space(AS_PROGRAM).install_read_handler(0xfffff400, 0xfffff40f, read16_delegate(*this, FUNC(midtunit_state::mkturbo_prot_r))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0xfffff400, 0xfffff40f, read16smo_delegate(*this, FUNC(midtunit_state::mkturbo_prot_r))); init_mktunit(); } @@ -402,13 +403,16 @@ void midtunit_state::init_nbajam_common(int te_protection) if (!te_protection) { m_nbajam_prot_table = nbajam_prot_values; - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b14020, 0x1b2503f, read16_delegate(*this, FUNC(midtunit_state::nbajam_prot_r)), write16_delegate(*this, FUNC(midtunit_state::nbajam_prot_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b14020, 0x1b2503f, read16smo_delegate(*this, FUNC(midtunit_state::nbajam_prot_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b14020, 0x1b2503f, write16sm_delegate(*this, FUNC(midtunit_state::nbajam_prot_w))); } else { m_nbajam_prot_table = nbajamte_prot_values; - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b15f40, 0x1b37f5f, read16_delegate(*this, FUNC(midtunit_state::nbajam_prot_r)), write16_delegate(*this, FUNC(midtunit_state::nbajam_prot_w))); - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b95f40, 0x1bb7f5f, read16_delegate(*this, FUNC(midtunit_state::nbajam_prot_r)), write16_delegate(*this, FUNC(midtunit_state::nbajam_prot_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b15f40, 0x1b37f5f, read16smo_delegate(*this, FUNC(midtunit_state::nbajam_prot_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b15f40, 0x1b37f5f, write16sm_delegate(*this, FUNC(midtunit_state::nbajam_prot_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x1b95f40, 0x1bb7f5f, read16smo_delegate(*this, FUNC(midtunit_state::nbajam_prot_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x1b95f40, 0x1bb7f5f, write16sm_delegate(*this, FUNC(midtunit_state::nbajam_prot_w))); } /* sound chip protection (hidden RAM) */ @@ -437,7 +441,7 @@ void midtunit_state::init_jdreddp() m_maincpu->space(AS_PROGRAM).nop_write(0x01d81060, 0x01d8107f); /* protection */ - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b00000, 0x1bfffff, read16_delegate(*this, FUNC(midtunit_state::jdredd_prot_r)), write16_delegate(*this, FUNC(midtunit_state::jdredd_prot_w))); + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1b00000, 0x1bfffff, read16sm_delegate(*this, FUNC(midtunit_state::jdredd_prot_r)), write16sm_delegate(*this, FUNC(midtunit_state::jdredd_prot_w))); /* sound chip protection (hidden RAM) */ m_adpcm_sound->get_cpu()->space(AS_PROGRAM).install_read_bank(0xfbcf, 0xfbf9, "bank7"); @@ -462,13 +466,13 @@ void midtunit_state::init_mk2() m_video->set_gfx_rom_large(true); /* protection */ - m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f20c60, 0x00f20c7f, write16_delegate(*this, FUNC(midtunit_state::mk2_prot_w))); - m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f42820, 0x00f4283f, write16_delegate(*this, FUNC(midtunit_state::mk2_prot_w))); - m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a190e0, 0x01a190ff, read16_delegate(*this, FUNC(midtunit_state::mk2_prot_r))); - m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a191c0, 0x01a191df, read16_delegate(*this, FUNC(midtunit_state::mk2_prot_shift_r))); - m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a3d0c0, 0x01a3d0ff, read16_delegate(*this, FUNC(midtunit_state::mk2_prot_r))); - m_maincpu->space(AS_PROGRAM).install_read_handler(0x01d9d1e0, 0x01d9d1ff, read16_delegate(*this, FUNC(midtunit_state::mk2_prot_const_r))); - m_maincpu->space(AS_PROGRAM).install_read_handler(0x01def920, 0x01def93f, read16_delegate(*this, FUNC(midtunit_state::mk2_prot_const_r))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f20c60, 0x00f20c7f, write16s_delegate(*this, FUNC(midtunit_state::mk2_prot_w))); + m_maincpu->space(AS_PROGRAM).install_write_handler(0x00f42820, 0x00f4283f, write16s_delegate(*this, FUNC(midtunit_state::mk2_prot_w))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a190e0, 0x01a190ff, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_r))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a191c0, 0x01a191df, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_shift_r))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x01a3d0c0, 0x01a3d0ff, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_r))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x01d9d1e0, 0x01d9d1ff, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_const_r))); + m_maincpu->space(AS_PROGRAM).install_read_handler(0x01def920, 0x01def93f, read16smo_delegate(*this, FUNC(midtunit_state::mk2_prot_const_r))); } @@ -505,7 +509,7 @@ void midtunit_state::machine_reset() * *************************************/ -READ16_MEMBER(midtunit_state::midtunit_sound_state_r) +uint16_t midtunit_state::midtunit_sound_state_r() { /* logerror("%s:Sound status read\n", machine().describe_context());*/ @@ -520,7 +524,7 @@ READ16_MEMBER(midtunit_state::midtunit_sound_state_r) return ~0; } -READ16_MEMBER(midtunit_state::midtunit_sound_r) +uint16_t midtunit_state::midtunit_sound_r() { logerror("%08X:Sound data read\n", m_maincpu->pc()); @@ -530,7 +534,7 @@ READ16_MEMBER(midtunit_state::midtunit_sound_r) return ~0; } -WRITE16_MEMBER(midtunit_state::midtunit_sound_w) +void midtunit_state::midtunit_sound_w(offs_t offset, uint16_t data, uint16_t mem_mask) { /* check for out-of-bounds accesses */ if (!offset) |