summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/combatsc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/combatsc.cpp')
-rw-r--r--src/mame/drivers/combatsc.cpp51
1 files changed, 24 insertions, 27 deletions
diff --git a/src/mame/drivers/combatsc.cpp b/src/mame/drivers/combatsc.cpp
index 82a119c776d..b0c537a6bc7 100644
--- a/src/mame/drivers/combatsc.cpp
+++ b/src/mame/drivers/combatsc.cpp
@@ -136,7 +136,7 @@ Dip location and recommended settings verified with the US manual
*
*************************************/
-WRITE8_MEMBER(combatsc_state::combatsc_vreg_w)
+void combatsc_state::combatsc_vreg_w(uint8_t data)
{
if (data != m_vreg)
{
@@ -149,14 +149,14 @@ WRITE8_MEMBER(combatsc_state::combatsc_vreg_w)
}
}
-READ8_MEMBER(combatsc_state::combatscb_io_r)
+uint8_t combatsc_state::combatscb_io_r(offs_t offset)
{
static const char *const portnames[] = { "IN0", "IN1", "DSW1", "DSW2" };
return ioport(portnames[offset])->read();
}
-WRITE8_MEMBER(combatsc_state::combatscb_priority_w)
+void combatsc_state::combatscb_priority_w(uint8_t data)
{
if (data & 0x40)
{
@@ -174,7 +174,7 @@ WRITE8_MEMBER(combatsc_state::combatscb_priority_w)
m_priority = data & 0x20;
}
-WRITE8_MEMBER(combatsc_state::combatsc_bankselect_w)
+void combatsc_state::combatsc_bankselect_w(uint8_t data)
{
m_priority = data & 0x20;
@@ -197,18 +197,18 @@ WRITE8_MEMBER(combatsc_state::combatsc_bankselect_w)
membank("bank1")->set_entry(8 + (data & 1));
}
-WRITE8_MEMBER(combatsc_state::combatscb_io_w)
+void combatsc_state::combatscb_io_w(offs_t offset, uint8_t data)
{
switch (offset)
{
- case 0x400: combatscb_priority_w(space, 0, data); break;
+ case 0x400: combatscb_priority_w(data); break;
case 0x800: m_soundlatch->write(data); break;
- case 0xc00: combatsc_vreg_w(space, 0, data); break;
+ case 0xc00: combatsc_vreg_w(data); break;
default: m_io_ram[offset] = data; break;
}
}
-WRITE8_MEMBER(combatsc_state::combatscb_bankselect_w)
+void combatsc_state::combatscb_bankselect_w(address_space &space, uint8_t data)
{
if (data & 0x40)
{
@@ -235,8 +235,8 @@ WRITE8_MEMBER(combatsc_state::combatscb_bankselect_w)
if (data == 0x1f)
{
membank("bank1")->set_entry(8 + (data & 1));
- space.install_write_handler(0x4000, 0x7fff, write8_delegate(*this, FUNC(combatsc_state::combatscb_io_w)));
- space.install_read_handler(0x4400, 0x4403, read8_delegate(*this, FUNC(combatsc_state::combatscb_io_r))); // IO RAM & Video Registers
+ space.install_write_handler(0x4000, 0x7fff, write8sm_delegate(*this, FUNC(combatsc_state::combatscb_io_w)));
+ space.install_read_handler(0x4400, 0x4403, read8sm_delegate(*this, FUNC(combatsc_state::combatscb_io_r))); // IO RAM & Video Registers
}
else
{
@@ -248,7 +248,7 @@ WRITE8_MEMBER(combatsc_state::combatscb_bankselect_w)
/****************************************************************************/
-WRITE8_MEMBER(combatsc_state::combatsc_coin_counter_w)
+void combatsc_state::combatsc_coin_counter_w(uint8_t data)
{
/* b7-b3: unused? */
/* b1: coin counter 2 */
@@ -258,7 +258,7 @@ WRITE8_MEMBER(combatsc_state::combatsc_coin_counter_w)
machine().bookkeeping().coin_counter_w(1, data & 0x02);
}
-READ8_MEMBER(combatsc_state::trackball_r)
+uint8_t combatsc_state::trackball_r(offs_t offset)
{
if (offset == 0)
{
@@ -293,15 +293,15 @@ READ8_MEMBER(combatsc_state::trackball_r)
/* the protection is a simple multiply */
-WRITE8_MEMBER(combatsc_state::protection_w)
+void combatsc_state::protection_w(offs_t offset, uint8_t data)
{
m_prot[offset] = data;
}
-READ8_MEMBER(combatsc_state::protection_r)
+uint8_t combatsc_state::protection_r(offs_t offset)
{
return ((m_prot[0] * m_prot[1]) >> (offset * 8)) & 0xff;
}
-WRITE8_MEMBER(combatsc_state::protection_clock_w)
+void combatsc_state::protection_clock_w(uint8_t data)
{
/* 0x3f is written here every time before accessing the other registers */
}
@@ -309,22 +309,22 @@ WRITE8_MEMBER(combatsc_state::protection_clock_w)
/****************************************************************************/
-WRITE8_MEMBER(combatsc_state::combatsc_sh_irqtrigger_w)
+void combatsc_state::combatsc_sh_irqtrigger_w(uint8_t data)
{
m_audiocpu->set_input_line_and_vector(0, HOLD_LINE, 0xff); // Z80
}
-READ8_MEMBER(combatsc_state::combatsc_busy_r)
+uint8_t combatsc_state::combatsc_busy_r()
{
return m_upd7759->busy_r() ? 1 : 0;
}
-WRITE8_MEMBER(combatsc_state::combatsc_play_w)
+void combatsc_state::combatsc_play_w(uint8_t data)
{
m_upd7759->start_w(data & 2);
}
-WRITE8_MEMBER(combatsc_state::combatsc_voice_reset_w)
+void combatsc_state::combatsc_voice_reset_w(uint8_t data)
{
m_upd7759->reset_w(data & 1);
}
@@ -335,7 +335,7 @@ void combatsc_state::combatsc_portA_w(uint8_t data)
}
// causes scores to disappear during fire ranges, either sprite busy flag or screen frame number related
-READ8_MEMBER(combatsc_state::unk_r)
+uint8_t combatsc_state::unk_r()
{
return 0; //m_screen->frame_number() & 1;
}
@@ -400,7 +400,7 @@ void combatsc_state::combatsc_sound_map(address_map &map)
map(0xe000, 0xe001).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write)); /* YM 2203 intercepted */
}
-WRITE8_MEMBER(combatsc_state::combatscb_msm_w)
+void combatsc_state::combatscb_msm_w(uint8_t data)
{
membank("bl_abank")->set_entry(BIT(data, 7));
@@ -408,7 +408,7 @@ WRITE8_MEMBER(combatsc_state::combatscb_msm_w)
m_msm->data_w(data & 0x0f);
}
-WRITE8_MEMBER(combatsc_state::combatscb_sound_irq_ack)
+void combatsc_state::combatscb_sound_irq_ack(uint8_t data)
{
m_audiocpu->set_input_line(0, CLEAR_LINE);
}
@@ -677,9 +677,6 @@ MACHINE_START_MEMBER(combatsc_state,combatscb)
void combatsc_state::machine_reset()
{
- address_space &space = m_maincpu->space(AS_PROGRAM);
- int i;
-
memset(m_io_ram, 0x00, 0x4000);
memset(m_page[0], 0x00, 0x2000);
memset(m_page[1], 0x00, 0x2000);
@@ -690,13 +687,13 @@ void combatsc_state::machine_reset()
m_prot[0] = 0;
m_prot[1] = 0;
- for (i = 0; i < 4; i++)
+ for (int i = 0; i < 4; i++)
{
m_pos[i] = 0;
m_sign[i] = 0;
}
- combatsc_bankselect_w(space, 0, 0);
+ combatsc_bankselect_w(0);
}
/* combat school (original) */