diff options
author | 2015-08-04 22:29:04 -0700 | |
---|---|---|
committer | 2015-08-04 22:29:04 -0700 | |
commit | 43978837c51ed41ecdcaaf0deeaca3a6382c5875 (patch) | |
tree | da14956b1e524be0ba408432609058eafba4ee4a /src | |
parent | e804e4c4ef6693d16318fc4aee02096ac113b699 (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.h | 4 | ||||
-rw-r--r-- | src/mess/includes/coco12.h | 2 | ||||
-rw-r--r-- | src/mess/includes/dragon.h | 4 | ||||
-rw-r--r-- | src/mess/machine/coco.c | 10 | ||||
-rw-r--r-- | src/mess/machine/coco12.c | 5 | ||||
-rw-r--r-- | src/mess/machine/dragon.c | 12 |
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"); } } |