summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/i8214.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/i8214.h')
-rw-r--r--src/devices/machine/i8214.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/devices/machine/i8214.h b/src/devices/machine/i8214.h
index 6181fe05d81..9e42ab80f98 100644
--- a/src/devices/machine/i8214.h
+++ b/src/devices/machine/i8214.h
@@ -32,21 +32,25 @@ public:
// construction/destruction
i8214_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ void set_int_dis_hack(bool hack) { m_int_dis_hack = hack; }
+
auto int_wr_callback() { return m_write_int.bind(); }
auto enlg_wr_callback() { return m_write_enlg.bind(); }
- DECLARE_WRITE_LINE_MEMBER( sgs_w );
- DECLARE_WRITE_LINE_MEMBER( etlg_w );
- DECLARE_WRITE_LINE_MEMBER( inte_w );
+ void sgs_w(int state);
+ void etlg_w(int state);
+ void inte_w(int state);
uint8_t a_r();
- DECLARE_READ8_MEMBER(vector_r);
+ uint8_t vector_r();
void b_w(uint8_t data);
+ void b_sgs_w(uint8_t data);
void r_w(int line, int state);
+ void r_all_w(uint8_t data);
protected:
// device-level overrides
- virtual void device_start() override;
+ virtual void device_start() override ATTR_COLD;
private:
void trigger_interrupt(int level);
@@ -56,6 +60,8 @@ private:
devcb_write_line m_write_int;
devcb_write_line m_write_enlg;
+ bool m_int_dis_hack;
+
int m_inte; // interrupt enable
int m_int_dis; // interrupt (latch) disable flip-flop
int m_a; // request level