summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/williams.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/machine/williams.cpp')
-rw-r--r--src/mame/machine/williams.cpp61
1 files changed, 18 insertions, 43 deletions
diff --git a/src/mame/machine/williams.cpp b/src/mame/machine/williams.cpp
index 88357e63dfd..f70daa8a79c 100644
--- a/src/mame/machine/williams.cpp
+++ b/src/mame/machine/williams.cpp
@@ -18,11 +18,10 @@
TIMER_DEVICE_CALLBACK_MEMBER(williams_state::williams_va11_callback)
{
- pia6821_device *pia_1 = machine().device<pia6821_device>("pia_1");
int scanline = param;
/* the IRQ signal comes into CB1, and is set to VA11 */
- pia_1->cb1_w(scanline & 0x20);
+ m_pia_1->cb1_w(scanline & 0x20);
/* set a timer for the next update */
scanline += 0x20;
@@ -33,19 +32,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(williams_state::williams_va11_callback)
TIMER_CALLBACK_MEMBER(williams_state::williams_count240_off_callback)
{
- pia6821_device *pia_1 = machine().device<pia6821_device>("pia_1");
-
/* the COUNT240 signal comes into CA1, and is set to the logical AND of VA10-VA13 */
- pia_1->ca1_w(0);
+ m_pia_1->ca1_w(0);
}
TIMER_DEVICE_CALLBACK_MEMBER(williams_state::williams_count240_callback)
{
- pia6821_device *pia_1 = machine().device<pia6821_device>("pia_1");
-
/* the COUNT240 signal comes into CA1, and is set to the logical AND of VA10-VA13 */
- pia_1->ca1_w(1);
+ m_pia_1->ca1_w(1);
/* set a timer to turn it off once the scanline counter resets */
machine().scheduler().timer_set(m_screen->time_until_pos(0), timer_expired_delegate(FUNC(williams_state::williams_count240_off_callback),this));
@@ -57,8 +52,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(williams_state::williams_count240_callback)
WRITE_LINE_MEMBER(williams_state::williams_main_irq)
{
- pia6821_device *pia_1 = machine().device<pia6821_device>("pia_1");
- int combined_state = pia_1->irq_a_state() | pia_1->irq_b_state();
+ int combined_state = m_pia_1->irq_a_state() | m_pia_1->irq_b_state();
/* IRQ to the main CPU */
m_maincpu->set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
@@ -74,8 +68,7 @@ WRITE_LINE_MEMBER(williams_state::williams_main_firq)
WRITE_LINE_MEMBER(williams_state::williams_snd_irq)
{
- pia6821_device *pia_2 = machine().device<pia6821_device>("pia_2");
- int combined_state = pia_2->irq_a_state() | pia_2->irq_b_state();
+ int combined_state = m_pia_2->irq_a_state() | m_pia_2->irq_b_state();
/* IRQ to the sound CPU */
m_soundcpu->set_input_line(M6808_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
@@ -83,8 +76,7 @@ WRITE_LINE_MEMBER(williams_state::williams_snd_irq)
/* Same as above, but for second sound board */
WRITE_LINE_MEMBER(blaster_state::williams_snd_irq_b)
{
- pia6821_device *pia_2 = machine().device<pia6821_device>("pia_2b");
- int combined_state = pia_2->irq_a_state() | pia_2->irq_b_state();
+ int combined_state = m_pia_2b->irq_a_state() | m_pia_2b->irq_b_state();
/* IRQ to the sound CPU */
m_soundcpu_b->set_input_line(M6808_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
@@ -100,9 +92,7 @@ WRITE_LINE_MEMBER(blaster_state::williams_snd_irq_b)
WRITE_LINE_MEMBER(williams2_state::mysticm_main_irq)
{
- pia6821_device *pia_0 = machine().device<pia6821_device>("pia_0");
- pia6821_device *pia_1 = machine().device<pia6821_device>("pia_1");
- int combined_state = pia_0->irq_b_state() | pia_1->irq_a_state() | pia_1->irq_b_state();
+ int combined_state = m_pia_0->irq_b_state() | m_pia_1->irq_a_state() | m_pia_1->irq_b_state();
/* IRQ to the main CPU */
m_maincpu->set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
@@ -111,9 +101,7 @@ WRITE_LINE_MEMBER(williams2_state::mysticm_main_irq)
WRITE_LINE_MEMBER(williams2_state::tshoot_main_irq)
{
- pia6821_device *pia_0 = machine().device<pia6821_device>("pia_0");
- pia6821_device *pia_1 = machine().device<pia6821_device>("pia_1");
- int combined_state = pia_0->irq_a_state() | pia_0->irq_b_state() | pia_1->irq_a_state() | pia_1->irq_b_state();
+ int combined_state = m_pia_0->irq_a_state() | m_pia_0->irq_b_state() | m_pia_1->irq_a_state() | m_pia_1->irq_b_state();
/* IRQ to the main CPU */
m_maincpu->set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
@@ -168,13 +156,11 @@ MACHINE_RESET_MEMBER(williams_state,williams)
TIMER_DEVICE_CALLBACK_MEMBER(williams2_state::williams2_va11_callback)
{
- pia6821_device *pia_0 = machine().device<pia6821_device>("pia_0");
- pia6821_device *pia_1 = machine().device<pia6821_device>("pia_1");
int scanline = param;
/* the IRQ signal comes into CB1, and is set to VA11 */
- pia_0->cb1_w(scanline & 0x20);
- pia_1->ca1_w(scanline & 0x20);
+ m_pia_0->cb1_w(scanline & 0x20);
+ m_pia_1->ca1_w(scanline & 0x20);
/* set a timer for the next update */
scanline += 0x20;
@@ -185,19 +171,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(williams2_state::williams2_va11_callback)
TIMER_CALLBACK_MEMBER(williams2_state::williams2_endscreen_off_callback)
{
- pia6821_device *pia_0 = machine().device<pia6821_device>("pia_0");
-
/* the /ENDSCREEN signal comes into CA1 */
- pia_0->ca1_w(1);
+ m_pia_0->ca1_w(1);
}
TIMER_DEVICE_CALLBACK_MEMBER(williams2_state::williams2_endscreen_callback)
{
- pia6821_device *pia_0 = machine().device<pia6821_device>("pia_0");
-
/* the /ENDSCREEN signal comes into CA1 */
- pia_0->ca1_w(0);
+ m_pia_0->ca1_w(0);
/* set a timer to turn it off once the scanline counter resets */
machine().scheduler().timer_set(m_screen->time_until_pos(8), timer_expired_delegate(FUNC(williams2_state::williams2_endscreen_off_callback),this));
@@ -293,10 +275,8 @@ WRITE8_MEMBER(williams2_state::williams2_bank_select_w)
TIMER_CALLBACK_MEMBER(williams_state::williams_deferred_snd_cmd_w)
{
- pia6821_device *pia_2 = machine().device<pia6821_device>("pia_2");
-
- pia_2->portb_w(param);
- pia_2->cb1_w((param == 0xff) ? 0 : 1);
+ m_pia_2->portb_w(param);
+ m_pia_2->cb1_w((param == 0xff) ? 0 : 1);
}
WRITE8_MEMBER(williams_state::williams_snd_cmd_w)
@@ -312,9 +292,7 @@ WRITE8_MEMBER(williams_state::playball_snd_cmd_w)
TIMER_CALLBACK_MEMBER(williams2_state::williams2_deferred_snd_cmd_w)
{
- pia6821_device *pia_2 = machine().device<pia6821_device>("pia_2");
-
- pia_2->porta_w(param);
+ m_pia_2->porta_w(param);
}
WRITE8_MEMBER(williams2_state::williams2_snd_cmd_w)
@@ -598,13 +576,11 @@ WRITE8_MEMBER(blaster_state::blaster_bank_select_w)
TIMER_CALLBACK_MEMBER(blaster_state::blaster_deferred_snd_cmd_w)
{
- pia6821_device *pia_2l = machine().device<pia6821_device>("pia_2");
- pia6821_device *pia_2r = machine().device<pia6821_device>("pia_2b");
uint8_t l_data = param | 0x80;
uint8_t r_data = (param >> 1 & 0x40) | (param & 0x3f) | 0x80;
- pia_2l->portb_w(l_data); pia_2l->cb1_w((l_data == 0xff) ? 0 : 1);
- pia_2r->portb_w(r_data); pia_2r->cb1_w((r_data == 0xff) ? 0 : 1);
+ m_pia_2->portb_w(l_data); m_pia_2->cb1_w((l_data == 0xff) ? 0 : 1);
+ m_pia_2b->portb_w(r_data); m_pia_2b->cb1_w((r_data == 0xff) ? 0 : 1);
}
@@ -685,8 +661,7 @@ MACHINE_RESET_MEMBER(joust2_state,joust2)
TIMER_CALLBACK_MEMBER(joust2_state::joust2_deferred_snd_cmd_w)
{
- pia6821_device *pia_2 = machine().device<pia6821_device>("pia_2");
- pia_2->porta_w(param & 0xff);
+ m_pia_2->porta_w(param & 0xff);
}