diff options
Diffstat (limited to 'src/devices/cpu/cop400/cop400.h')
-rw-r--r-- | src/devices/cpu/cop400/cop400.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/devices/cpu/cop400/cop400.h b/src/devices/cpu/cop400/cop400.h index 72bbf4ce5c9..4c51e36595b 100644 --- a/src/devices/cpu/cop400/cop400.h +++ b/src/devices/cpu/cop400/cop400.h @@ -73,8 +73,6 @@ enum cop400_cko_bond { class cop400_cpu_device : public cpu_device { public: - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; - // L pins: 8-bit bi-directional auto read_l() { return m_read_l.bind(); } auto write_l() { return m_write_l.bind(); } @@ -113,8 +111,14 @@ public: void set_cko(cop400_cko_bond cko) { m_cko = cko; } void set_microbus(bool has_microbus) { m_has_microbus = has_microbus; } - uint8_t microbus_rd(); - void microbus_wr(uint8_t data); + // output pin state accessors + int so_r() { return m_so_output; } + int sk_r() { return m_sk_output; } + uint8_t l_r() { return m_l_output; } + + // microbus + uint8_t microbus_r(); + void microbus_w(uint8_t data); void data_128b(address_map &map); void data_32b(address_map &map); @@ -148,6 +152,8 @@ protected: // device_disasm_interface overrides virtual std::unique_ptr<util::disasm_interface> create_disassembler() override; + TIMER_CALLBACK_MEMBER(advance_counter); + address_space_config m_program_config; address_space_config m_data_config; @@ -193,7 +199,7 @@ protected: // registers uint16_t m_pc; // 9/10/11-bit ROM address program counter uint16_t m_prevpc; // previous value of program counter - uint8_t m_a; // 4-bit accumulator + uint8_t m_a; // 4-bit accumulator uint8_t m_b; // 5/6/7-bit RAM address register int m_c; // 1-bit carry register uint8_t m_en; // 4-bit enable register @@ -214,6 +220,9 @@ protected: uint8_t m_il; // IN latch uint8_t m_in[4]; // IN port shift register uint8_t m_si; // serial input + int m_so_output; // SO pin output state + int m_sk_output; // SK pin output state + uint8_t m_l_output; // L pins output state // skipping logic bool m_skip; // skip next instruction |