summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/6821pia.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/6821pia.h')
-rw-r--r--src/devices/machine/6821pia.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/devices/machine/6821pia.h b/src/devices/machine/6821pia.h
index 156d1d65b0c..8c017b786fb 100644
--- a/src/devices/machine/6821pia.h
+++ b/src/devices/machine/6821pia.h
@@ -112,8 +112,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( ca1_w );
DECLARE_WRITE_LINE_MEMBER( ca2_w );
- int ca2_output();
- int ca2_output_z();
+ bool ca2_output();
+ bool ca2_output_z();
DECLARE_WRITE8_MEMBER( portb_w ) { portb_w(data); }
void portb_w(uint8_t data);
@@ -122,8 +122,8 @@ public:
DECLARE_WRITE_LINE_MEMBER( cb1_w );
DECLARE_WRITE_LINE_MEMBER( cb2_w );
- int cb2_output();
- int cb2_output_z();
+ bool cb2_output();
+ bool cb2_output_z();
int irq_a_state() const { return m_irq_a_state; }
int irq_b_state() const { return m_irq_b_state; }
@@ -168,6 +168,21 @@ private:
void control_a_w(uint8_t data);
void control_b_w(uint8_t data);
+ static bool irq1_enabled(uint8_t c);
+ static bool c1_low_to_high(uint8_t c);
+ static bool c1_high_to_low(uint8_t c);
+ static bool output_selected(uint8_t c);
+ static bool irq2_enabled(uint8_t c);
+ static bool strobe_e_reset(uint8_t c);
+ static bool strobe_c1_reset(uint8_t c);
+ static bool c2_set(uint8_t c);
+ static bool c2_low_to_high(uint8_t c);
+ static bool c2_high_to_low(uint8_t c);
+ static bool c2_set_mode(uint8_t c);
+ static bool c2_strobe_mode(uint8_t c);
+ static bool c2_output(uint8_t c);
+ static bool c2_input(uint8_t c);
+
devcb_read8 m_in_a_handler;
devcb_read8 m_in_b_handler;
devcb_read_line m_in_ca1_handler;