summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/cp1610/cp1610.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/cp1610/cp1610.h')
-rw-r--r--src/devices/cpu/cp1610/cp1610.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/devices/cpu/cp1610/cp1610.h b/src/devices/cpu/cp1610/cp1610.h
index 176aa98f112..af2ed5a7fe2 100644
--- a/src/devices/cpu/cp1610/cp1610.h
+++ b/src/devices/cpu/cp1610/cp1610.h
@@ -14,9 +14,7 @@
#pragma once
-#define CP1610_INT_NONE 0
#define CP1610_INT_INTRM 1 /* Maskable */
-#define CP1610_RESET INPUT_LINE_RESET /* Non-Maskable */
#define CP1610_INT_INTR INPUT_LINE_NMI /* Non-Maskable */
class cp1610_cpu_device : public cpu_device
@@ -33,6 +31,8 @@ public:
cp1610_cpu_device(const machine_config &mconfig, const char *_tag, device_t *_owner, uint32_t _clock);
auto bext() { return m_read_bext.bind(); }
+ auto iab() { return m_read_iab.bind(); }
+ auto intak() { return m_write_intak.bind(); }
protected:
// device-level overrides
@@ -43,7 +43,7 @@ protected:
virtual uint32_t execute_min_cycles() const noexcept override { return 1; }
virtual uint32_t execute_max_cycles() const noexcept override { return 7; }
virtual uint32_t execute_input_lines() const noexcept override { return 2; }
- virtual bool execute_input_edge_triggered(int inputnum) const noexcept override { return inputnum == CP1610_RESET || inputnum == CP1610_INT_INTR; }
+ virtual bool execute_input_edge_triggered(int inputnum) const noexcept override { return inputnum == CP1610_INT_INTR; }
virtual void execute_run() override;
virtual void execute_set_input(int inputnum, int state) override;
@@ -61,19 +61,19 @@ private:
uint16_t m_r[8]; /* registers */
uint8_t m_flags; /* flags */
- int m_intr_enabled;
- uint16_t m_intr_vector;
- int m_reset_state;
+ bool m_intr_enabled;
int m_intr_state;
int m_intrm_state;
- int m_reset_pending;
- int m_intr_pending;
- int m_intrm_pending;
- int m_mask_interrupts;
+ bool m_reset_pending;
+ bool m_intr_pending;
+ bool m_intrm_pending;
+ bool m_mask_interrupts;
address_space *m_program;
int m_icount;
devcb_read8 m_read_bext;
+ devcb_read16 m_read_iab;
+ devcb_write16 m_write_intak;
void cp1610_illegal();
void cp1610_hlt();