diff options
Diffstat (limited to 'src/devices/bus/multibus/isbc202.h')
-rw-r--r-- | src/devices/bus/multibus/isbc202.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/devices/bus/multibus/isbc202.h b/src/devices/bus/multibus/isbc202.h index ae5e6ce8fe9..6f09512a9d1 100644 --- a/src/devices/bus/multibus/isbc202.h +++ b/src/devices/bus/multibus/isbc202.h @@ -27,15 +27,11 @@ public: isbc202_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); virtual ~isbc202_device(); - // device_multibus_interface overrides - virtual void install_io_rw(address_space& space) override; - virtual void install_mem_rw(address_space& space) override; - // Access to I/O space by CPU uint8_t io_r(address_space &space, offs_t offset); void io_w(address_space &space, offs_t offset, uint8_t data); - DECLARE_WRITE_LINE_MEMBER(co_w); + void co_w(int state); uint8_t px_r(); @@ -43,16 +39,19 @@ protected: // device_t overrides virtual void device_start() override; virtual void device_reset() override; - virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual const tiny_rom_entry *device_rom_region() const override; virtual void device_add_mconfig(machine_config &config) override; + // device_execute_interface overrides virtual uint32_t execute_min_cycles() const noexcept override { return 1; } virtual void execute_run() override; + // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; + // device_disasm_interface overrides virtual std::unique_ptr<util::disasm_interface> create_disassembler() override; + // device_state_interface overrides virtual void state_import(const device_state_entry &entry) override; virtual void state_export(const device_state_entry &entry) override; @@ -101,7 +100,7 @@ private: floppy_image_device *m_current_drive; uint8_t m_px_s1s0; // C-A16-11 & C-A16-13 uint8_t m_cmd; // C-A8 - cpu_device *m_cpu; // When != nullptr: CPU is suspended in wait state + bool m_2nd_pass; bool m_cpu_rd; uint8_t m_ready_in; uint8_t m_ready_ff; // I-A44 & I-A43 @@ -137,6 +136,10 @@ private: emu_timer *m_byte_timer; emu_timer *m_f_timer; + TIMER_CALLBACK_MEMBER(timeout_tick); + TIMER_CALLBACK_MEMBER(byte_tick); + TIMER_CALLBACK_MEMBER(f_tick); + void set_output(); unsigned selected_drive() const; unsigned drive_idx(floppy_image_device *drive); |