summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/tms1000/tms1k_base.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/tms1000/tms1k_base.h')
-rw-r--r--src/devices/cpu/tms1000/tms1k_base.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/devices/cpu/tms1000/tms1k_base.h b/src/devices/cpu/tms1000/tms1k_base.h
index 7a394b8dfbb..d7681329c93 100644
--- a/src/devices/cpu/tms1000/tms1k_base.h
+++ b/src/devices/cpu/tms1000/tms1k_base.h
@@ -17,10 +17,6 @@
#include "machine/pla.h"
-// HALT input pin on CMOS chips (use set_input_line)
-#define TMS1XXX_INPUT_LINE_HALT 0
-
-
// pinout reference
/*
@@ -78,6 +74,14 @@ public:
// OFF request on TMS0980 and up
auto power_off() { return m_power_off.bind(); }
+ // note: for HALT input pin on CMOS chips, use set_input_line with INPUT_LINE_HALT
+ // similarly with the INIT pin, simply use INPUT_LINE_RESET
+
+ // TMS0270 was designed to interface with TMS5100, set it up at driver level
+ auto read_ctl() { return m_read_ctl.bind(); }
+ auto write_ctl() { return m_write_ctl.bind(); }
+ auto write_pdc() { return m_write_pdc.bind(); }
+
// Use this if the output PLA is unknown:
// If the microinstructions (or other) PLA is unknown, try using one from another romset.
void set_output_pla(const u16 *output_pla) { m_output_pla_table = output_pla; }
@@ -95,8 +99,6 @@ protected:
// device_execute_interface overrides
virtual u32 execute_min_cycles() const override { return 1; }
virtual u32 execute_max_cycles() const override { return 1; }
- virtual u32 execute_input_lines() const override { return 1; }
- virtual void execute_set_input(int line, int state) override;
virtual void execute_run() override;
virtual void execute_one();
@@ -245,7 +247,6 @@ protected:
int m_subcycle;
int m_icount;
u8 m_o_index;
- bool m_halt_pin;
u8 m_o_pins; // how many O pins
u8 m_r_pins; // how many R pins
@@ -261,6 +262,9 @@ protected:
devcb_write16 m_write_o;
devcb_write16 m_write_r;
devcb_write_line m_power_off;
+ devcb_read8 m_read_ctl;
+ devcb_write8 m_write_ctl;
+ devcb_write_line m_write_pdc;
u32 m_o_mask;
u32 m_r_mask;