summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Richard Goedeken <Richard@fascinationsoftware.com>2015-08-04 22:29:04 -0700
committer Richard Goedeken <Richard@fascinationsoftware.com>2015-08-04 22:29:04 -0700
commit43978837c51ed41ecdcaaf0deeaca3a6382c5875 (patch)
treeda14956b1e524be0ba408432609058eafba4ee4a /src
parente804e4c4ef6693d16318fc4aee02096ac113b699 (diff)
simplification: in the coco/dragon virtual functions which get called from coco.c when the PIA port A/B output status changes, send the new 8-bit output signals directly as a function parameter rather than forcing the handlers to call back into the PIA objects to get the new values
Diffstat (limited to 'src')
-rw-r--r--src/mess/includes/coco.h4
-rw-r--r--src/mess/includes/coco12.h2
-rw-r--r--src/mess/includes/dragon.h4
-rw-r--r--src/mess/machine/coco.c10
-rw-r--r--src/mess/machine/coco12.c5
-rw-r--r--src/mess/machine/dragon.c12
6 files changed, 18 insertions, 19 deletions
diff --git a/src/mess/includes/coco.h b/src/mess/includes/coco.h
index c0565aba103..363fcff5d2a 100644
--- a/src/mess/includes/coco.h
+++ b/src/mess/includes/coco.h
@@ -153,8 +153,8 @@ protected:
void recalculate_firq(void);
// changed handlers
- virtual void pia1_pa_changed(void);
- virtual void pia1_pb_changed(void);
+ virtual void pia1_pa_changed(UINT8 data);
+ virtual void pia1_pb_changed(UINT8 data);
// miscellaneous
virtual void update_keyboard_input(UINT8 value, UINT8 z);
diff --git a/src/mess/includes/coco12.h b/src/mess/includes/coco12.h
index c264ad092e5..030adc35b25 100644
--- a/src/mess/includes/coco12.h
+++ b/src/mess/includes/coco12.h
@@ -56,7 +56,7 @@ protected:
virtual void update_cart_base(UINT8 *cart_base);
/* PIA1 */
- virtual void pia1_pb_changed(void);
+ virtual void pia1_pb_changed(UINT8 data);
private:
diff --git a/src/mess/includes/dragon.h b/src/mess/includes/dragon.h
index 6db0d5f86a2..7006d37e68d 100644
--- a/src/mess/includes/dragon.h
+++ b/src/mess/includes/dragon.h
@@ -45,7 +45,7 @@ public:
required_device<printer_image_device> m_printer;
protected:
- virtual void pia1_pa_changed(void);
+ virtual void pia1_pa_changed(UINT8 data);
};
@@ -65,7 +65,7 @@ protected:
virtual DECLARE_READ8_MEMBER( ff00_read );
virtual DECLARE_WRITE8_MEMBER( ff00_write );
- virtual void pia1_pb_changed(void);
+ virtual void pia1_pb_changed(UINT8 data);
void page_rom(bool romswitch);
};
diff --git a/src/mess/machine/coco.c b/src/mess/machine/coco.c
index 788673f4b78..fc597f79951 100644
--- a/src/mess/machine/coco.c
+++ b/src/mess/machine/coco.c
@@ -502,7 +502,7 @@ READ8_MEMBER( coco_state::pia1_pb_r )
WRITE8_MEMBER( coco_state::pia1_pa_w )
{
- pia1_pa_changed();
+ pia1_pa_changed(data);
}
@@ -513,7 +513,7 @@ WRITE8_MEMBER( coco_state::pia1_pa_w )
WRITE8_MEMBER( coco_state::pia1_pb_w )
{
- pia1_pb_changed();
+ pia1_pb_changed(data);
}
@@ -998,12 +998,12 @@ void coco_state::update_prinout(bool prinout)
// pia1_pa_changed - called when PIA1 PA changes
//-------------------------------------------------
-void coco_state::pia1_pa_changed(void)
+void coco_state::pia1_pa_changed(UINT8 data)
{
update_sound(); // DAC is connected to PIA1 PA2-PA7
poll_keyboard();
update_cassout(dac_output());
- update_prinout(m_pia_1->a_output() & 0x02 ? true : false);
+ update_prinout(data & 0x02 ? true : false);
}
@@ -1012,7 +1012,7 @@ void coco_state::pia1_pa_changed(void)
// pia1_pb_changed - called when PIA1 PB changes
//-------------------------------------------------
-void coco_state::pia1_pb_changed(void)
+void coco_state::pia1_pb_changed(UINT8 data)
{
update_sound(); // singe_bit_sound is connected to PIA1 PB1
}
diff --git a/src/mess/machine/coco12.c b/src/mess/machine/coco12.c
index c9a0a9a2afb..e2f3fbdb521 100644
--- a/src/mess/machine/coco12.c
+++ b/src/mess/machine/coco12.c
@@ -94,12 +94,11 @@ READ8_MEMBER( coco12_state::sam_read )
// pia1_pb_changed
//-------------------------------------------------
-void coco12_state::pia1_pb_changed(void)
+void coco12_state::pia1_pb_changed(UINT8 data)
{
/* call inherited function */
- coco_state::pia1_pb_changed();
+ coco_state::pia1_pb_changed(data);
- UINT8 data = m_pia_1->b_output();
m_vdg->css_w(data & 0x08);
m_vdg->intext_w(data & 0x10);
m_vdg->gm0_w(data & 0x10);
diff --git a/src/mess/machine/dragon.c b/src/mess/machine/dragon.c
index ded7ff221e5..12c902d5c93 100644
--- a/src/mess/machine/dragon.c
+++ b/src/mess/machine/dragon.c
@@ -48,13 +48,13 @@ easier to manage.
// pia1_pa_changed - called when PIA1 PA changes
//-------------------------------------------------
-void dragon_state::pia1_pa_changed(void)
+void dragon_state::pia1_pa_changed(UINT8 data)
{
/* call inherited function */
- coco12_state::pia1_pa_changed();
+ coco12_state::pia1_pa_changed(data);
/* if strobe bit is high send data from pia0 port b to dragon parallel printer */
- if (m_pia_1->a_output() & 0x02)
+ if (data & 0x02)
{
UINT8 output = m_pia_1->b_output();
m_printer->output(output);
@@ -113,9 +113,9 @@ WRITE8_MEMBER( dragon64_state::ff00_write )
// pia1_pb_changed
//-------------------------------------------------
-void dragon64_state::pia1_pb_changed(void)
+void dragon64_state::pia1_pb_changed(UINT8 data)
{
- dragon_state::pia1_pb_changed();
+ dragon_state::pia1_pb_changed(data);
UINT8 ddr = ~m_pia_1->port_b_z_mask();
@@ -125,7 +125,7 @@ void dragon64_state::pia1_pb_changed(void)
/* always be high (enabling 32k basic rom) */
if (ddr & 0x04)
{
- page_rom(m_pia_1->b_output() & 0x04 ? true : false);
+ page_rom(data & 0x04 ? true : false);
logerror("pia1_pb_changed\n");
}
}