// license:BSD-3-Clause // copyright-holders:AJR /*************************************************************************** DEC DC305 Printer Controller **************************************************************************** _____ _____ VSS 1 |* \_/ | 40 A0 INT 2 | | 39 A1 RESET 3 | | 38 WR CLK 4 | | 37 RD VCC 5 | | 36 INTA CH1 6 | | 35 CS CH2 7 | | 34 D0 MINUS 8 | | 33 D1 PLUS 9 | | 32 D2 BELL 10 | | 31 D3 RUN 11 | DC305 | 30 D4 LF2 12 | | 29 D5 LF1 13 | | 28 D6 RXC 14 | | 27 D7 TXC 15 | | 26 S2 S11 16 | | 25 S4 S9 17 | | 24 S6 S7 18 | | 23 S8 S5 19 | | 22 S10 S3 20 |_____________| 21 S1 ***************************************************************************/ #ifndef MAME_MACHINE_DC305_H #define MAME_MACHINE_DC305_H #pragma once //************************************************************************** // TYPE DEFINITIONS //************************************************************************** // ======================> dc305_device class dc305_device : public device_t { public: // construction/destruction dc305_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); // configuration auto int_callback() { return m_int_callback.bind(); } auto rxc_callback() { return m_rxc_callback.bind(); } auto txc_callback() { return m_txc_callback.bind(); } // CPU read/write handlers u8 read(offs_t offset); void write(offs_t offset, u8 data); u8 inta(); protected: // device-specific overrides virtual void device_resolve_objects() override; virtual void device_start() override; virtual void device_reset() override; private: // callback objects devcb_write_line m_int_callback; devcb_write_line m_rxc_callback; devcb_write_line m_txc_callback; }; // device type declaration DECLARE_DEVICE_TYPE(DC305, dc305_device) #endif // MAME_MACHINE_DC305_H