blob: c2dbd0672d8947b67998061a569cf9aa6f7a1a33 (
plain) (
tree)
|
|
// 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
|