mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
output_latch: removed MCFG macros (nw)
This commit is contained in:
parent
08bb5cacb0
commit
ca1b0f3d41
@ -71,14 +71,16 @@ ioport_constructor a2bus_pic_device::device_input_ports() const
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(a2bus_pic_device::device_add_mconfig)
|
||||
void a2bus_pic_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
CENTRONICS(config, m_ctx, centronics_devices, "printer");
|
||||
m_ctx->set_data_input_buffer(m_ctx_data_in);
|
||||
m_ctx->ack_handler().set(FUNC(a2bus_pic_device::ack_w));
|
||||
|
||||
INPUT_BUFFER(config, m_ctx_data_in);
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("ctx_data_out", PIC_CENTRONICS_TAG)
|
||||
MACHINE_CONFIG_END
|
||||
OUTPUT_LATCH(config, m_ctx_data_out);
|
||||
m_ctx->set_output_latch(*m_ctx_data_out);
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// rom_region - device-specific ROM region
|
||||
|
@ -51,18 +51,20 @@ INPUT_PORTS_END
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(a2bus_agat7_ports_device::device_add_mconfig)
|
||||
void a2bus_agat7_ports_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
I8255(config, m_d9);
|
||||
m_d9->out_pa_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
|
||||
m_d9->out_pb_callback().set(FUNC(a2bus_agat7_ports_device::write_portb));
|
||||
m_d9->in_pc_callback().set(FUNC(a2bus_agat7_ports_device::read_portc));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, a2bus_agat7_ports_device, write_centronics_busy))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(a2bus_agat7_ports_device::write_centronics_busy));
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
I8251(config, m_d10, 0);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// input_ports - device-specific input ports
|
||||
|
@ -26,7 +26,8 @@ DEFINE_DEVICE_TYPE(ACORN_VIB, acorn_vib_device, "acorn_vib", "Acorn Versatile In
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(acorn_vib_device::device_add_mconfig)
|
||||
void acorn_vib_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
INPUT_MERGER_ANY_HIGH(config, m_irqs).output_handler().set(FUNC(acorn_vib_device::irq_w));
|
||||
|
||||
VIA6522(config, m_via6522, XTAL(1'000'000));
|
||||
@ -37,7 +38,8 @@ MACHINE_CONFIG_START(acorn_vib_device::device_add_mconfig)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_via6522, FUNC(via6522_device::write_ca1));
|
||||
m_centronics->busy_handler().set(m_via6522, FUNC(via6522_device::write_pa7));
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
I8255(config, m_ppi8255, 0);
|
||||
|
||||
@ -53,7 +55,7 @@ MACHINE_CONFIG_START(acorn_vib_device::device_add_mconfig)
|
||||
|
||||
CLOCK(config, m_acia_clock, 1.8432_MHz_XTAL);
|
||||
m_acia_clock->signal_handler().set(FUNC(acorn_vib_device::write_acia_clock));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
|
@ -64,7 +64,8 @@ void adam_spi_device::adam_spi_mem(address_map &map)
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(adam_spi_device::device_add_mconfig)
|
||||
void adam_spi_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
M6801(config, m_maincpu, XTAL(4'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &adam_spi_device::adam_spi_mem);
|
||||
m_maincpu->in_p2_cb().set(FUNC(adam_spi_device::p2_r));
|
||||
@ -78,8 +79,9 @@ MACHINE_CONFIG_START(adam_spi_device::device_add_mconfig)
|
||||
centronics_device ¢ronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
|
||||
centronics.set_data_input_buffer("cent_data_in");
|
||||
INPUT_BUFFER(config, "cent_data_in");
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
centronics.set_output_latch(cent_data_out);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -30,10 +30,11 @@ DEFINE_DEVICE_TYPE(C64_GEOCABLE, c64_geocable_device, "c64_geocable", "C64 geoCa
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(c64_geocable_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, c64_geocable_device, output_b))
|
||||
MACHINE_CONFIG_END
|
||||
void c64_geocable_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(c64_geocable_device::output_b));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -14,68 +14,6 @@
|
||||
#include "machine/output_latch.h"
|
||||
|
||||
|
||||
#define MCFG_CENTRONICS_STROBE_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_strobe_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA0_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data0_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA1_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data1_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA2_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data2_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA3_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data3_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA4_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data4_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA5_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data5_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA6_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data6_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_DATA7_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_data7_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_ACK_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_ack_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_BUSY_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_busy_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_PERROR_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_perror_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_SELECT_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_select_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_AUTOFD_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_autofd_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_FAULT_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_fault_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_INIT_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_init_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_SELECT_IN_HANDLER(_devcb) \
|
||||
downcast<centronics_device &>(*device).set_select_in_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_CENTRONICS_OUTPUT_LATCH_ADD(_tag, _centronics_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, OUTPUT_LATCH, 0) \
|
||||
MCFG_OUTPUT_LATCH_BIT0_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data0)) \
|
||||
MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data1)) \
|
||||
MCFG_OUTPUT_LATCH_BIT2_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data2)) \
|
||||
MCFG_OUTPUT_LATCH_BIT3_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data3)) \
|
||||
MCFG_OUTPUT_LATCH_BIT4_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data4)) \
|
||||
MCFG_OUTPUT_LATCH_BIT5_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data5)) \
|
||||
MCFG_OUTPUT_LATCH_BIT6_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data6)) \
|
||||
MCFG_OUTPUT_LATCH_BIT7_HANDLER(WRITELINE(_centronics_tag, centronics_device, write_data7))
|
||||
|
||||
DECLARE_DEVICE_TYPE(CENTRONICS, centronics_device)
|
||||
|
||||
class device_centronics_peripheral_interface;
|
||||
@ -97,24 +35,6 @@ public:
|
||||
}
|
||||
centronics_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
template <class Object> devcb_base &set_strobe_handler(Object &&cb) { return m_strobe_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data0_handler(Object &&cb) { return m_data0_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data1_handler(Object &&cb) { return m_data1_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data2_handler(Object &&cb) { return m_data2_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data3_handler(Object &&cb) { return m_data3_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data4_handler(Object &&cb) { return m_data4_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data5_handler(Object &&cb) { return m_data5_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data6_handler(Object &&cb) { return m_data6_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data7_handler(Object &&cb) { return m_data7_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_ack_handler(Object &&cb) { return m_ack_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_busy_handler(Object &&cb) { return m_busy_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_perror_handler(Object &&cb) { return m_perror_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_select_handler(Object &&cb) { return m_select_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_autofd_handler(Object &&cb) { return m_autofd_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_fault_handler(Object &&cb) { return m_fault_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_init_handler(Object &&cb) { return m_init_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_select_in_handler(Object &&cb) { return m_select_in_handler.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
auto strobe_handler() { return m_strobe_handler.bind(); }
|
||||
|
||||
auto ack_handler() { return m_ack_handler.bind(); }
|
||||
|
@ -27,14 +27,17 @@ DEFINE_DEVICE_TYPE(CGENIE_PRINTER, cgenie_printer_device, "cgenie_printer", "Pri
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(cgenie_printer_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, cgenie_printer_device, busy_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, cgenie_printer_device, perror_w))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, cgenie_printer_device, select_w))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, cgenie_printer_device, fault_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("latch", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
void cgenie_printer_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(cgenie_printer_device::busy_w));
|
||||
m_centronics->perror_handler().set(FUNC(cgenie_printer_device::perror_w));
|
||||
m_centronics->select_handler().set(FUNC(cgenie_printer_device::select_w));
|
||||
m_centronics->fault_handler().set(FUNC(cgenie_printer_device::fault_w));
|
||||
|
||||
OUTPUT_LATCH(config, m_latch);
|
||||
m_centronics->set_output_latch(*m_latch);
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -55,16 +55,19 @@ const tiny_rom_entry *comx_prn_device::device_rom_region() const
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(comx_prn_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit0))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit2))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit3))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
void comx_prn_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit0));
|
||||
m_centronics->busy_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit1));
|
||||
m_centronics->perror_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit2));
|
||||
m_centronics->select_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit3));
|
||||
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
MACHINE_CONFIG_END
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
INPUT_BUFFER(config, m_cent_status_in);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -73,7 +73,8 @@ void dmv_k210_device::device_timer(emu_timer &timer, device_timer_id tid, int pa
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(dmv_k210_device::device_add_mconfig)
|
||||
void dmv_k210_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
I8255(config, m_ppi, 0);
|
||||
m_ppi->in_pa_callback().set(FUNC(dmv_k210_device::porta_r));
|
||||
m_ppi->in_pb_callback().set(FUNC(dmv_k210_device::portb_r));
|
||||
@ -93,8 +94,10 @@ MACHINE_CONFIG_START(dmv_k210_device::device_add_mconfig)
|
||||
m_centronics->init_handler().set(FUNC(dmv_k210_device::cent_init_w));
|
||||
|
||||
INPUT_BUFFER(config, m_cent_data_in);
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
}
|
||||
|
||||
void dmv_k210_device::io_read(address_space &space, int ifsel, offs_t offset, uint8_t &data)
|
||||
{
|
||||
|
@ -33,28 +33,31 @@ DEFINE_DEVICE_TYPE(POFO_HPC101, pofo_hpc101_device, "pofo_hpc101", "Atari Portfo
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(pofo_hpc101_device::device_add_mconfig)
|
||||
void pofo_hpc101_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
I8255A(config, m_ppi);
|
||||
m_ppi->out_pa_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
|
||||
m_ppi->out_pb_callback().set("cent_ctrl_out", FUNC(output_latch_device::bus_w));
|
||||
m_ppi->in_pc_callback().set("cent_status_in", FUNC(input_buffer_device::bus_r));
|
||||
|
||||
MCFG_DEVICE_ADD(CENTRONICS_TAG, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit3))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit0))
|
||||
centronics_device ¢ronics(CENTRONICS(config, CENTRONICS_TAG, centronics_devices, "printer"));
|
||||
centronics.ack_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit5));
|
||||
centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit4));
|
||||
centronics.fault_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit3));
|
||||
centronics.select_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
|
||||
centronics.perror_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit0));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
centronics.set_output_latch(cent_data_out);
|
||||
|
||||
MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
|
||||
MCFG_OUTPUT_LATCH_BIT0_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_strobe))
|
||||
MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_autofd))
|
||||
MCFG_OUTPUT_LATCH_BIT2_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_init))
|
||||
MCFG_OUTPUT_LATCH_BIT3_HANDLER(WRITELINE(CENTRONICS_TAG, centronics_device, write_select_in))
|
||||
MACHINE_CONFIG_END
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
output_latch_device ¢_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
|
||||
cent_ctrl_out.bit_handler<0>().set(CENTRONICS_TAG, FUNC(centronics_device::write_strobe));
|
||||
cent_ctrl_out.bit_handler<1>().set(CENTRONICS_TAG, FUNC(centronics_device::write_autofd));
|
||||
cent_ctrl_out.bit_handler<2>().set(CENTRONICS_TAG, FUNC(centronics_device::write_init));
|
||||
cent_ctrl_out.bit_handler<3>().set(CENTRONICS_TAG, FUNC(centronics_device::write_select_in));
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -17,77 +17,6 @@
|
||||
#define SCSI_PORT_DEVICE6 "6"
|
||||
#define SCSI_PORT_DEVICE7 "7"
|
||||
|
||||
#define MCFG_SCSI_BSY_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_bsy_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_SEL_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_sel_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_CD_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_cd_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_IO_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_io_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_MSG_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_msg_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_REQ_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_req_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_ACK_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_ack_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_ATN_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_atn_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_RST_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_rst_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA0_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data0_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA1_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data1_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA2_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data2_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA3_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data3_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA4_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data4_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA5_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data5_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA6_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data6_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_DATA7_HANDLER(_devcb) \
|
||||
downcast<scsi_port_device &>(*device).set_data7_handler(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_SCSI_OUTPUT_LATCH_ADD(_tag, scsi_port_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, OUTPUT_LATCH, 0) \
|
||||
MCFG_OUTPUT_LATCH_BIT0_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data0)) \
|
||||
MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data1)) \
|
||||
MCFG_OUTPUT_LATCH_BIT2_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data2)) \
|
||||
MCFG_OUTPUT_LATCH_BIT3_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data3)) \
|
||||
MCFG_OUTPUT_LATCH_BIT4_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data4)) \
|
||||
MCFG_OUTPUT_LATCH_BIT5_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data5)) \
|
||||
MCFG_OUTPUT_LATCH_BIT6_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data6)) \
|
||||
MCFG_OUTPUT_LATCH_BIT7_HANDLER(WRITELINE(scsi_port_tag, scsi_port_device, write_data7))
|
||||
|
||||
#define MCFG_SCSI_DATA_INPUT_BUFFER(_tag) \
|
||||
MCFG_SCSI_DATA0_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit0)) \
|
||||
MCFG_SCSI_DATA1_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit1)) \
|
||||
MCFG_SCSI_DATA2_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit2)) \
|
||||
MCFG_SCSI_DATA3_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit3)) \
|
||||
MCFG_SCSI_DATA4_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit4)) \
|
||||
MCFG_SCSI_DATA5_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit5)) \
|
||||
MCFG_SCSI_DATA6_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit6)) \
|
||||
MCFG_SCSI_DATA7_HANDLER(WRITELINE(_tag, input_buffer_device, write_bit7))
|
||||
|
||||
class scsi_port_slot_device;
|
||||
class scsi_port_interface;
|
||||
@ -100,23 +29,6 @@ public:
|
||||
// construction/destruction
|
||||
scsi_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
template <class Object> devcb_base &set_bsy_handler(Object &&cb) { return m_bsy_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_sel_handler(Object &&cb) { return m_sel_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_cd_handler(Object &&cb) { return m_cd_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_io_handler(Object &&cb) { return m_io_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_msg_handler(Object &&cb) { return m_msg_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_req_handler(Object &&cb) { return m_req_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_ack_handler(Object &&cb) { return m_ack_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_atn_handler(Object &&cb) { return m_atn_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_rst_handler(Object &&cb) { return m_rst_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data0_handler(Object &&cb) { return m_data0_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data1_handler(Object &&cb) { return m_data1_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data2_handler(Object &&cb) { return m_data2_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data3_handler(Object &&cb) { return m_data3_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data4_handler(Object &&cb) { return m_data4_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data5_handler(Object &&cb) { return m_data5_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data6_handler(Object &&cb) { return m_data6_handler.set_callback(std::forward<Object>(cb)); }
|
||||
template <class Object> devcb_base &set_data7_handler(Object &&cb) { return m_data7_handler.set_callback(std::forward<Object>(cb)); }
|
||||
auto bsy_handler() { return m_bsy_handler.bind(); }
|
||||
auto sel_handler() { return m_sel_handler.bind(); }
|
||||
auto cd_handler() { return m_cd_handler.bind(); }
|
||||
|
@ -20,12 +20,14 @@ DEFINE_DEVICE_TYPE(SV802, sv802_device, "sv802", "SV-802 Centronics Printer Inte
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(sv802_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, sv802_device, busy_w))
|
||||
void sv802_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(sv802_device::busy_w));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -23,11 +23,14 @@ DEFINE_DEVICE_TYPE(VTECH_PRINTER_INTERFACE, vtech_printer_interface_device, "vte
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(vtech_printer_interface_device::device_add_mconfig)
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, vtech_printer_interface_device, busy_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("latch", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
void vtech_printer_interface_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(vtech_printer_interface_device::busy_w));
|
||||
|
||||
OUTPUT_LATCH(config, m_latch);
|
||||
m_centronics->set_output_latch(*m_latch);
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -6,36 +6,11 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT0_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<0>(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT1_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<1>(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT2_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<2>(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT3_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<3>(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT4_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<4>(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT5_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<5>(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT6_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<6>(DEVCB_##_devcb);
|
||||
|
||||
#define MCFG_OUTPUT_LATCH_BIT7_HANDLER(_devcb) \
|
||||
downcast<output_latch_device &>(*device).set_bit_handler<7>(DEVCB_##_devcb);
|
||||
|
||||
class output_latch_device : public device_t
|
||||
{
|
||||
public:
|
||||
output_latch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
template <unsigned Bit, class Object> devcb_base &set_bit_handler(Object &&cb) { return m_bit_handlers[Bit].set_callback(std::forward<Object>(cb)); }
|
||||
template <unsigned Bit> auto bit_handler() { return m_bit_handlers[Bit].bind(); }
|
||||
|
||||
void write(uint8_t data);
|
||||
|
@ -46,7 +46,8 @@ void pc_lpt_device::device_reset()
|
||||
m_cent_ctrl_out->write(m_control);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(pc_lpt_device::device_add_mconfig)
|
||||
void pc_lpt_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
centronics_device ¢ronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
|
||||
centronics.set_data_input_buffer(m_cent_data_in);
|
||||
centronics.fault_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit3));
|
||||
@ -64,7 +65,8 @@ MACHINE_CONFIG_START(pc_lpt_device::device_add_mconfig)
|
||||
INPUT_BUFFER(config, m_cent_ctrl_in);
|
||||
INPUT_BUFFER(config, m_cent_status_in);
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
centronics.set_output_latch(*m_cent_data_out);
|
||||
|
||||
OUTPUT_LATCH(config, m_cent_ctrl_out);
|
||||
m_cent_ctrl_out->bit_handler<0>().set("centronics", FUNC(centronics_device::write_strobe));
|
||||
@ -72,7 +74,7 @@ MACHINE_CONFIG_START(pc_lpt_device::device_add_mconfig)
|
||||
m_cent_ctrl_out->bit_handler<2>().set("centronics", FUNC(centronics_device::write_init));
|
||||
m_cent_ctrl_out->bit_handler<3>().set("centronics", FUNC(centronics_device::write_select_in));
|
||||
m_cent_ctrl_out->bit_handler<4>().set(FUNC(pc_lpt_device::write_irq_enabled));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER( pc_lpt_device::data_r )
|
||||
|
@ -315,11 +315,11 @@ WRITE8_MEMBER(asteroid_state::asteroid_noise_reset_w)
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(asteroid_state::asteroid_sound)
|
||||
void asteroid_state::asteroid_sound(machine_config &config)
|
||||
{
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
MCFG_DEVICE_ADD("discrete", DISCRETE, asteroid_discrete)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.4)
|
||||
DISCRETE(config, m_discrete, asteroid_discrete).add_route(ALL_OUTPUTS, "mono", 1.4);
|
||||
|
||||
ls259_device &audiolatch(LS259(config, "audiolatch")); // M10
|
||||
audiolatch.q_out_cb<0>().set("discrete", FUNC(discrete_device::write_line<ASTEROID_SAUCER_SND_EN>));
|
||||
@ -328,15 +328,15 @@ MACHINE_CONFIG_START(asteroid_state::asteroid_sound)
|
||||
audiolatch.q_out_cb<3>().set("discrete", FUNC(discrete_device::write_line<ASTEROID_THRUST_EN>));
|
||||
audiolatch.q_out_cb<4>().set("discrete", FUNC(discrete_device::write_line<ASTEROID_SHIP_FIRE_EN>));
|
||||
audiolatch.q_out_cb<5>().set("discrete", FUNC(discrete_device::write_line<ASTEROID_LIFE_EN>));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(asteroid_state::astdelux_sound)
|
||||
void asteroid_state::astdelux_sound(machine_config &config)
|
||||
{
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
MCFG_DEVICE_ADD("discrete", DISCRETE, astdelux_discrete)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
DISCRETE(config, m_discrete, astdelux_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
|
||||
ls259_device &audiolatch(LS259(config, "audiolatch")); // M10
|
||||
audiolatch.q_out_cb<3>().set("discrete", FUNC(discrete_device::write_line<ASTEROID_THRUST_EN>));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
@ -1611,12 +1611,14 @@ MACHINE_CONFIG_START(amiga_state::amiga_base)
|
||||
rs232.cts_handler().set(FUNC(amiga_state::rs232_cts_w));
|
||||
|
||||
// centronics
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, amiga_state, centronics_ack_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, amiga_state, centronics_busy_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, amiga_state, centronics_perror_w))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, amiga_state, centronics_select_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(amiga_state::centronics_ack_w));
|
||||
m_centronics->busy_handler().set(FUNC(amiga_state::centronics_busy_w));
|
||||
m_centronics->perror_handler().set(FUNC(amiga_state::centronics_perror_w));
|
||||
m_centronics->select_handler().set(FUNC(amiga_state::centronics_select_w));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
// software
|
||||
MCFG_SOFTWARE_LIST_ADD("wb_list", "amiga_workbench")
|
||||
|
@ -950,8 +950,8 @@ MACHINE_CONFIG_START(amstrad_state::amstrad_base)
|
||||
m_ay->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, amstrad_centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, amstrad_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, amstrad_centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(amstrad_state::write_centronics_busy));
|
||||
|
||||
/* snapshot */
|
||||
MCFG_SNAPSHOT_ADD("snapshot", amstrad_state, amstrad, "sna", 0)
|
||||
@ -1071,8 +1071,8 @@ MACHINE_CONFIG_START(amstrad_state::cpcplus)
|
||||
m_ay->add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, amstrad_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(amstrad_state::write_centronics_busy));
|
||||
|
||||
/* snapshot */
|
||||
MCFG_SNAPSHOT_ADD("snapshot", amstrad_state, amstrad, "sna", 0)
|
||||
|
@ -904,11 +904,12 @@ MACHINE_CONFIG_START(applix_state::applix)
|
||||
m_via->writepb_handler().set(FUNC(applix_state::applix_pb_w));
|
||||
m_via->irq_handler().set_inputline("maincpu", M68K_IRQ_2);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("via6522", via6522_device, write_ca1))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("via6522", via6522_device, write_pa0))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_via, FUNC(via6522_device::write_ca1));
|
||||
m_centronics->busy_handler().set(m_via, FUNC(via6522_device::write_pa0));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cass);
|
||||
m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
|
||||
|
@ -376,10 +376,11 @@ MACHINE_CONFIG_START(f1_state::act_f1)
|
||||
m_ctc->zc_callback<1>().set(FUNC(f1_state::ctc_z1_w));
|
||||
m_ctc->zc_callback<2>().set(FUNC(f1_state::ctc_z2_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(m_sio, z80sio_device, ctsa_w))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(m_sio, FUNC(z80sio_device::ctsa_w));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
// floppy
|
||||
WD2797(config, m_fdc, 4_MHz_XTAL / 2 /* ? */);
|
||||
|
@ -642,7 +642,8 @@ MACHINE_CONFIG_START(fp_state::fp)
|
||||
m_centronics->fault_handler().set(FUNC(fp_state::write_centronics_fault));
|
||||
m_centronics->perror_handler().set(FUNC(fp_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("256K").set_extra_options("512K,1M");
|
||||
|
@ -808,7 +808,7 @@ void asteroid_state::astdelux(machine_config &config)
|
||||
audiolatch.q_out_cb<5>().set(FUNC(asteroid_state::coin_counter_left_w)); // LEFT COIN
|
||||
audiolatch.q_out_cb<6>().set(FUNC(asteroid_state::coin_counter_center_w)); // CENTER COIN
|
||||
audiolatch.q_out_cb<7>().set(FUNC(asteroid_state::coin_counter_right_w)); // RIGHT COIN
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(asteroid_state::llander)
|
||||
@ -824,13 +824,13 @@ MACHINE_CONFIG_START(asteroid_state::llander)
|
||||
MCFG_SCREEN_VISIBLE_AREA(522, 1566, 270, 1070)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
|
||||
|
||||
MCFG_DEVICE_MODIFY("outlatch") // LS174 at N11
|
||||
MCFG_OUTPUT_LATCH_BIT0_HANDLER(OUTPUT("lamp4")) // LAMP5 (COMMAND MISSION)
|
||||
MCFG_OUTPUT_LATCH_BIT1_HANDLER(OUTPUT("lamp3")) // LAMP4 (PRIME MISSION)
|
||||
MCFG_OUTPUT_LATCH_BIT2_HANDLER(OUTPUT("lamp2")) // LAMP3 (CADET MISSION)
|
||||
MCFG_OUTPUT_LATCH_BIT3_HANDLER(OUTPUT("lamp1")) // LAMP2 (TRAINING MISSION)
|
||||
MCFG_OUTPUT_LATCH_BIT4_HANDLER(OUTPUT("lamp0")) // START/SELECT LEDs
|
||||
MCFG_OUTPUT_LATCH_BIT5_HANDLER(NOOP)
|
||||
output_latch_device &outlatch(*subdevice<output_latch_device>("outlatch")); // LS174 at N11
|
||||
outlatch.bit_handler<0>().set_output("lamp4"); // LAMP5 (COMMAND MISSION)
|
||||
outlatch.bit_handler<1>().set_output("lamp3"); // LAMP4 (PRIME MISSION)
|
||||
outlatch.bit_handler<2>().set_output("lamp2"); // LAMP3 (CADET MISSION)
|
||||
outlatch.bit_handler<3>().set_output("lamp1"); // LAMP2 (TRAINING MISSION)
|
||||
outlatch.bit_handler<4>().set_output("lamp0"); // START/SELECT LEDs
|
||||
outlatch.bit_handler<5>().set_nop();
|
||||
|
||||
/* sound hardware */
|
||||
llander_sound(config);
|
||||
|
@ -745,11 +745,12 @@ MACHINE_CONFIG_START(atom_state::atom)
|
||||
FLOPPY_CONNECTOR(config, I8271_TAG ":0", atom_floppies, "525sssd", atom_state::floppy_formats).enable_sound(true);
|
||||
FLOPPY_CONNECTOR(config, I8271_TAG ":1", atom_floppies, "525sssd", atom_state::floppy_formats).enable_sound(true);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(R6522_TAG, via6522_device, write_ca1))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(R6522_TAG, via6522_device, write_pa7))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(R6522_TAG, FUNC(via6522_device::write_ca1));
|
||||
m_centronics->busy_handler().set(R6522_TAG, FUNC(via6522_device::write_pa7));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_formats(atom_cassette_formats);
|
||||
@ -814,10 +815,11 @@ MACHINE_CONFIG_END
|
||||
MACHINE_DRIVER( atombb )
|
||||
-------------------------------------------------*/
|
||||
|
||||
MACHINE_CONFIG_START(atom_state::atombb)
|
||||
void atom_state::atombb(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD(SY6502_TAG, M6502, X2/4)
|
||||
MCFG_DEVICE_PROGRAM_MAP(atombb_mem)
|
||||
M6502(config, m_maincpu, X2/4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &atom_state::atombb_mem);
|
||||
|
||||
/* video hardware */
|
||||
SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER);
|
||||
@ -828,8 +830,7 @@ MACHINE_CONFIG_START(atom_state::atombb)
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
||||
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 1.00);
|
||||
|
||||
/* devices */
|
||||
TIMER(config, "hz2400").configure_periodic(FUNC(atom_state::cassette_output_tick), attotime::from_hz(4806));
|
||||
@ -845,11 +846,12 @@ MACHINE_CONFIG_START(atom_state::atombb)
|
||||
ppi.in_pc_callback().set(FUNC(atom_state::ppi_pc_r));
|
||||
ppi.out_pc_callback().set(FUNC(atom_state::ppi_pc_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(R6522_TAG, via6522_device, write_ca1))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(R6522_TAG, via6522_device, write_pa7))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(R6522_TAG, FUNC(via6522_device::write_ca1));
|
||||
m_centronics->busy_handler().set(R6522_TAG, FUNC(via6522_device::write_pa7));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_formats(atom_cassette_formats);
|
||||
@ -858,7 +860,7 @@ MACHINE_CONFIG_START(atom_state::atombb)
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("8K,12K");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/*-------------------------------------------------
|
||||
MACHINE_DRIVER( prophet2 )
|
||||
|
@ -522,7 +522,8 @@ MACHINE_CONFIG_START(aussiebyte_state::aussiebyte)
|
||||
m_centronics->set_data_input_buffer("cent_data_in");
|
||||
m_centronics->busy_handler().set(FUNC(aussiebyte_state::write_centronics_busy));
|
||||
INPUT_BUFFER(config, "cent_data_in");
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
Z80CTC(config, m_ctc, 16_MHz_XTAL / 4);
|
||||
m_ctc->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
@ -559,7 +559,8 @@ MACHINE_CONFIG_START(bitgraph_state::bg_motherboard)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
#ifdef UNUSED_FUNCTION
|
||||
MACHINE_CONFIG_START(bitgraph_state::bg_ppu)
|
||||
void bitgraph_state::bg_ppu(machine_config &config)
|
||||
{
|
||||
i8035_device &ppu(I8035(config, PPU_TAG, XTAL(6'900'000)));
|
||||
ppu.set_addrmap(AS_IO, &bitgraph_state::ppu_io);
|
||||
// ppu.t0_in_cb().set(FUNC(bitgraph_state::ppu_t0_r));
|
||||
@ -569,16 +570,17 @@ MACHINE_CONFIG_START(bitgraph_state::bg_ppu)
|
||||
i8243.read_handler().set_nop();
|
||||
i8243.write_handler().set(FUNC(bitgraph_state::ppu_i8243_w));
|
||||
|
||||
MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit6))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit7))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit6));
|
||||
m_centronics->busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit7));
|
||||
m_centronics->fault_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit4));
|
||||
m_centronics->perror_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit5));
|
||||
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MACHINE_CONFIG_END
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
}
|
||||
#endif
|
||||
|
||||
void bitgraph_state::bitgrpha(machine_config &config)
|
||||
|
@ -1158,13 +1158,14 @@ MACHINE_CONFIG_START(bullet_state::bullet)
|
||||
FLOPPY_CONNECTOR(config, MB8877_TAG":6", bullet_8_floppies, nullptr, floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, MB8877_TAG":7", bullet_8_floppies, nullptr, floppy_image_device::default_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, bullet_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, bullet_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, bullet_state, write_centronics_select))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, bullet_state, write_centronics_fault))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(bullet_state::write_centronics_busy));
|
||||
m_centronics->perror_handler().set(FUNC(bullet_state::write_centronics_perror));
|
||||
m_centronics->select_handler().set(FUNC(bullet_state::write_centronics_select));
|
||||
m_centronics->fault_handler().set(FUNC(bullet_state::write_centronics_fault));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, "terminal"));
|
||||
rs232a.rxd_handler().set(m_dart, FUNC(z80dart_device::rxa_w));
|
||||
@ -1241,10 +1242,11 @@ MACHINE_CONFIG_START(bulletf_state::bulletf)
|
||||
FLOPPY_CONNECTOR(config, MB8877_TAG":8", bullet_35_floppies, nullptr, floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, MB8877_TAG":9", bullet_35_floppies, nullptr, floppy_image_device::default_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, bullet_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(bullet_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
rs232_port_device &rs232a(RS232_PORT(config, RS232_A_TAG, default_rs232_devices, "terminal"));
|
||||
rs232a.rxd_handler().set(m_dart, FUNC(z80dart_device::rxa_w));
|
||||
@ -1253,17 +1255,18 @@ MACHINE_CONFIG_START(bulletf_state::bulletf)
|
||||
rs232_port_device &rs232b(RS232_PORT(config, RS232_B_TAG, default_rs232_devices, nullptr));
|
||||
rs232b.rxd_handler().set(m_dart, FUNC(z80dart_device::rxb_w));
|
||||
|
||||
MCFG_DEVICE_ADD(SCSIBUS_TAG, SCSI_PORT, 0)
|
||||
MCFG_SCSI_BSY_HANDLER(WRITELINE("scsi_ctrl_in", input_buffer_device, write_bit3))
|
||||
MCFG_SCSI_MSG_HANDLER(WRITELINE("scsi_ctrl_in", input_buffer_device, write_bit4))
|
||||
MCFG_SCSI_CD_HANDLER(WRITELINE("scsi_ctrl_in", input_buffer_device, write_bit5))
|
||||
MCFG_SCSI_REQ_HANDLER(WRITELINE(*this, bulletf_state, req_w))
|
||||
MCFG_SCSI_IO_HANDLER(WRITELINE("scsi_ctrl_in", input_buffer_device, write_bit7))
|
||||
MCFG_SCSI_DATA_INPUT_BUFFER("scsi_data_in")
|
||||
SCSI_PORT(config, m_scsibus, 0);
|
||||
m_scsibus->bsy_handler().set(m_scsi_ctrl_in, FUNC(input_buffer_device::write_bit3));
|
||||
m_scsibus->msg_handler().set(m_scsi_ctrl_in, FUNC(input_buffer_device::write_bit4));
|
||||
m_scsibus->cd_handler().set(m_scsi_ctrl_in, FUNC(input_buffer_device::write_bit5));
|
||||
m_scsibus->req_handler().set(FUNC(bulletf_state::req_w));
|
||||
m_scsibus->io_handler().set(m_scsi_ctrl_in, FUNC(input_buffer_device::write_bit7));
|
||||
m_scsibus->set_data_input_buffer(m_scsi_data_in);
|
||||
|
||||
MCFG_SCSI_OUTPUT_LATCH_ADD("scsi_data_out", SCSIBUS_TAG)
|
||||
MCFG_DEVICE_ADD("scsi_ctrl_in", INPUT_BUFFER, 0)
|
||||
MCFG_DEVICE_ADD("scsi_data_in", INPUT_BUFFER, 0)
|
||||
OUTPUT_LATCH(config, m_scsi_data_out);
|
||||
m_scsibus->set_output_latch(*m_scsi_data_out);
|
||||
INPUT_BUFFER(config, m_scsi_data_in);
|
||||
INPUT_BUFFER(config, m_scsi_ctrl_in);
|
||||
|
||||
MCFG_SCSIDEV_ADD(SCSIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", SCSIHD, SCSI_ID_0)
|
||||
|
||||
|
@ -632,13 +632,14 @@ MACHINE_CONFIG_START(bw12_state::common)
|
||||
rs232b.cts_handler().set(m_sio, FUNC(z80dart_device::ctsb_w));
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD(CENTRONICS_TAG, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(PIA6821_TAG, pia6821_device, ca1_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, bw12_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, bw12_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, bw12_state, write_centronics_perror))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_pia, FUNC(pia6821_device::ca1_w));
|
||||
m_centronics->busy_handler().set(FUNC(bw12_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(bw12_state::write_centronics_fault));
|
||||
m_centronics->perror_handler().set(FUNC(bw12_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(bw12_state::bw12)
|
||||
|
@ -577,10 +577,11 @@ MACHINE_CONFIG_START(bw2_state::bw2)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, lcdc_map)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, bw2_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(bw2_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
I8251(config, m_uart, 0);
|
||||
m_uart->txd_handler().set(RS232_TAG, FUNC(rs232_port_device::write_txd));
|
||||
|
@ -1083,7 +1083,9 @@ MACHINE_CONFIG_START(cat_state::cat)
|
||||
CENTRONICS(config, m_ctx, centronics_devices, "printer");
|
||||
m_ctx->ack_handler().set(FUNC(cat_state::prn_ack_ff));
|
||||
m_ctx->busy_handler().set(m_duart, FUNC(mc68681_device::ip4_w)).invert();
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("ctx_data_out", "ctx")
|
||||
|
||||
OUTPUT_LATCH(config, m_ctx_data_out);
|
||||
m_ctx->set_output_latch(*m_ctx_data_out);
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 1.00);
|
||||
|
@ -633,13 +633,14 @@ MACHINE_CONFIG_START(einstein_state::einstein)
|
||||
adc.ch4_callback().set_ioport("analogue_2_y");
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(IC_I063, z80pio_device, strobe_a))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, einstein_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, einstein_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, einstein_state, write_centronics_fault))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(IC_I063, FUNC(z80pio_device::strobe_a));
|
||||
m_centronics->busy_handler().set(FUNC(einstein_state::write_centronics_busy));
|
||||
m_centronics->perror_handler().set(FUNC(einstein_state::write_centronics_perror));
|
||||
m_centronics->fault_handler().set(FUNC(einstein_state::write_centronics_fault));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
TIMER(config, m_strobe_timer).configure_generic(FUNC(einstein_state::strobe_callback));
|
||||
|
||||
|
@ -593,7 +593,8 @@ MACHINE_CONFIG_START(elwro800_state::elwro800)
|
||||
m_centronics->ack_handler().set(FUNC(elwro800_state::write_centronics_ack));
|
||||
|
||||
INPUT_BUFFER(config, "cent_data_in");
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
I8251(config, m_i8251, 14_MHz_XTAL / 4);
|
||||
|
||||
|
@ -623,9 +623,11 @@ MACHINE_CONFIG_START(excali64_state::excali64)
|
||||
m_u12->set_clear_pin_value(1); /* Clear pin - pulled high */
|
||||
m_u12->out_cb().set(FUNC(excali64_state::motor_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, excali64_state, cent_busy_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(excali64_state::cent_busy_w));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* ROM definition */
|
||||
|
@ -560,11 +560,14 @@ MACHINE_CONFIG_START(fc100_state::fc100)
|
||||
|
||||
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "fc100_cart")
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit4));
|
||||
m_centronics->busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit5));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* ROM definition */
|
||||
|
@ -2075,14 +2075,15 @@ MACHINE_CONFIG_START(fm7_state::fm7)
|
||||
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_list","fm7_disk")
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_SLOT_OPTION_ADD( "dsjoy", DEMPA_SHINBUNSHA_JOYSTICK )
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, fm7_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, fm7_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, fm7_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, fm7_state, write_centronics_perror))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->option_add("dsjoy", DEMPA_SHINBUNSHA_JOYSTICK);
|
||||
m_centronics->busy_handler().set(FUNC(fm7_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(fm7_state::write_centronics_fault));
|
||||
m_centronics->ack_handler().set(FUNC(fm7_state::write_centronics_ack));
|
||||
m_centronics->perror_handler().set(FUNC(fm7_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(fm7_state::fm8)
|
||||
@ -2122,13 +2123,14 @@ MACHINE_CONFIG_START(fm7_state::fm8)
|
||||
FLOPPY_CONNECTOR(config, m_floppy0, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, m_floppy1, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, fm7_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, fm7_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, fm7_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, fm7_state, write_centronics_perror))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(fm7_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(fm7_state::write_centronics_fault));
|
||||
m_centronics->ack_handler().set(FUNC(fm7_state::write_centronics_ack));
|
||||
m_centronics->perror_handler().set(FUNC(fm7_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(fm7_state::fm77av)
|
||||
@ -2184,13 +2186,14 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
|
||||
MCFG_SOFTWARE_LIST_ADD("av_flop_list", "fm77av")
|
||||
MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("flop_list", "fm7_disk")
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, fm7_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, fm7_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, fm7_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, fm7_state, write_centronics_perror))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(fm7_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(fm7_state::write_centronics_fault));
|
||||
m_centronics->ack_handler().set(FUNC(fm7_state::write_centronics_ack));
|
||||
m_centronics->perror_handler().set(FUNC(fm7_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(fm7_state::fm11)
|
||||
@ -2239,13 +2242,14 @@ MACHINE_CONFIG_START(fm7_state::fm11)
|
||||
FLOPPY_CONNECTOR(config, m_floppy0, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, m_floppy1, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, fm7_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, fm7_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, fm7_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, fm7_state, write_centronics_perror))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(fm7_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(fm7_state::write_centronics_fault));
|
||||
m_centronics->ack_handler().set(FUNC(fm7_state::write_centronics_ack));
|
||||
m_centronics->perror_handler().set(FUNC(fm7_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(fm7_state::fm16beta)
|
||||
@ -2285,13 +2289,14 @@ MACHINE_CONFIG_START(fm7_state::fm16beta)
|
||||
FLOPPY_CONNECTOR(config, m_floppy0, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, m_floppy1, fm7_floppies, "qd", floppy_image_device::default_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, fm7_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, fm7_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, fm7_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, fm7_state, write_centronics_perror))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(fm7_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(fm7_state::write_centronics_fault));
|
||||
m_centronics->ack_handler().set(FUNC(fm7_state::write_centronics_ack));
|
||||
m_centronics->perror_handler().set(FUNC(fm7_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/* ROM definition */
|
||||
|
@ -595,12 +595,14 @@ MACHINE_CONFIG_START(force68k_state::fccpu1)
|
||||
m_pit->h2_out_callback().set(m_centronics, FUNC(centronics_device::write_strobe));
|
||||
|
||||
// Centronics
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE (*this, force68k_state, centronics_ack_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE (*this, force68k_state, centronics_busy_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE (*this, force68k_state, centronics_perror_w))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE (*this, force68k_state, centronics_select_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(force68k_state::centronics_ack_w));
|
||||
m_centronics->busy_handler().set(FUNC(force68k_state::centronics_busy_w));
|
||||
m_centronics->perror_handler().set(FUNC(force68k_state::centronics_perror_w));
|
||||
m_centronics->select_handler().set(FUNC(force68k_state::centronics_select_w));
|
||||
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
// EPROM sockets
|
||||
fccpu1_eprom_sockets(config);
|
||||
|
@ -677,9 +677,11 @@ MACHINE_CONFIG_START(fp1100_state::fp1100)
|
||||
m_crtc->set_update_row_callback(FUNC(fp1100_state::crtc_update_row), this);
|
||||
|
||||
/* Printer */
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, fp1100_state, centronics_busy_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(fp1100_state::centronics_busy_w));
|
||||
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
/* Cassette */
|
||||
CASSETTE(config, m_cass);
|
||||
|
@ -827,8 +827,8 @@ MACHINE_CONFIG_START(jtc_state::basic)
|
||||
WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.05);
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, jtc_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(jtc_state::write_centronics_busy));
|
||||
|
||||
/* quickload */
|
||||
MCFG_QUICKLOAD_ADD("quickload", jtc_state, jtc, "jtc,bin", 2)
|
||||
|
@ -802,8 +802,10 @@ MACHINE_CONFIG_START(ace_state::ace)
|
||||
m_z80pio->out_pa_callback().set(FUNC(ace_state::pio_pa_w));
|
||||
m_z80pio->out_pb_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
// internal ram
|
||||
RAM(config, RAM_TAG).set_default_size("1K").set_extra_options("16K,32K,48K");
|
||||
|
@ -230,10 +230,11 @@ MACHINE_CONFIG_START(kaypro_state::kayproii)
|
||||
kbd.rxd_cb().set("sio", FUNC(z80sio_device::rxb_w));
|
||||
kbd.rxd_cb().append("sio", FUNC(z80sio_device::syncb_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, kaypro_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(kaypro_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
rs232_port_device &serial(RS232_PORT(config, "serial", default_rs232_devices, nullptr));
|
||||
serial.rxd_handler().set("sio", FUNC(z80sio_device::rxa_w));
|
||||
@ -322,10 +323,11 @@ MACHINE_CONFIG_START(kaypro_state::kaypro484)
|
||||
|
||||
CLOCK(config, "kbdtxrxc", 4800).signal_handler().set("sio_1", FUNC(z80sio_device::rxtxcb_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, kaypro_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(kaypro_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
rs232_port_device &modem(RS232_PORT(config, "modem", default_rs232_devices, nullptr));
|
||||
modem.rxd_handler().set("sio_1", FUNC(z80sio_device::rxa_w));
|
||||
|
@ -705,7 +705,8 @@ MACHINE_CONFIG_START(kdt6_state::psi98)
|
||||
m_centronics->select_handler().set("pio", FUNC(z80pio_device::pa5_w));
|
||||
|
||||
INPUT_BUFFER(config, "cent_data_in");
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
UPD1990A(config, m_rtc);
|
||||
|
||||
|
@ -1426,10 +1426,11 @@ MACHINE_CONFIG_START(m5_state::m5)
|
||||
// CK0 = EXINT, CK1 = GND, CK2 = TCK, CK3 = VDP INT
|
||||
// ZC2 = EXCLK
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, m5_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(m5_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_formats(sordm5_cassette_formats);
|
||||
|
@ -689,10 +689,11 @@ MACHINE_CONFIG_START(mbee_state::mbee)
|
||||
MCFG_QUICKLOAD_ADD("quickload", mbee_state, mbee, "mwb,com,bee", 3)
|
||||
MCFG_QUICKLOAD_ADD("quickload2", mbee_state, mbee_z80bin, "bin", 3)
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("z80pio", z80pio_device, strobe_a))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_pio, FUNC(z80pio_device::strobe_a));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_formats(mbee_cassette_formats);
|
||||
@ -746,10 +747,11 @@ MACHINE_CONFIG_START(mbee_state::mbeeic)
|
||||
MCFG_QUICKLOAD_ADD("quickload", mbee_state, mbee, "mwb,com,bee", 2)
|
||||
MCFG_QUICKLOAD_ADD("quickload2", mbee_state, mbee_z80bin, "bin", 2)
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(m_pio, z80pio_device, strobe_a))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_pio, FUNC(z80pio_device::strobe_a));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_formats(mbee_cassette_formats);
|
||||
|
@ -584,10 +584,11 @@ MACHINE_CONFIG_START(mc1000_state::mc1000)
|
||||
|
||||
MCFG_SOFTWARE_LIST_ADD("cass_list", "mc1000_cass")
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, mc1000_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(mc1000_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("48K");
|
||||
|
@ -293,15 +293,16 @@ MACHINE_CONFIG_START(mc1502_state::mc1502)
|
||||
WAVE(config, "wave", m_cassette); // FIXME: really no output routes for the cassette sound?
|
||||
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.80);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit6))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit7))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit6));
|
||||
m_centronics->busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit7));
|
||||
m_centronics->fault_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit4));
|
||||
m_centronics->perror_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit5));
|
||||
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
|
||||
|
@ -1377,14 +1377,15 @@ MACHINE_CONFIG_START(msx_state::msx)
|
||||
m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3);
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
|
||||
centronics_device ¢ronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
|
||||
centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
centronics.set_output_latch(cent_data_out);
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
|
||||
MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE("centronics", centronics_device, write_strobe))
|
||||
output_latch_device ¢_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
|
||||
cent_ctrl_out.bit_handler<1>().set(centronics, FUNC(centronics_device::write_strobe));
|
||||
|
||||
/* cassette */
|
||||
CASSETTE(config, m_cassette);
|
||||
@ -1447,14 +1448,15 @@ MACHINE_CONFIG_START(msx2_state::msx2)
|
||||
m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3);
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
|
||||
centronics_device ¢ronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
|
||||
centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
centronics.set_output_latch(cent_data_out);
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
|
||||
MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE("centronics", centronics_device, write_strobe))
|
||||
output_latch_device ¢_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
|
||||
cent_ctrl_out.bit_handler<1>().set(centronics, FUNC(centronics_device::write_strobe));
|
||||
|
||||
/* cassette */
|
||||
CASSETTE(config, m_cassette);
|
||||
@ -1508,14 +1510,15 @@ MACHINE_CONFIG_START(msx2_state::msx2p)
|
||||
m_ay8910->add_route(ALL_OUTPUTS, "speaker", 0.3);
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit1))
|
||||
centronics_device ¢ronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
|
||||
centronics.busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit1));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
centronics.set_output_latch(cent_data_out);
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
MCFG_DEVICE_ADD("cent_ctrl_out", OUTPUT_LATCH, 0)
|
||||
MCFG_OUTPUT_LATCH_BIT1_HANDLER(WRITELINE("centronics", centronics_device, write_strobe))
|
||||
output_latch_device ¢_ctrl_out(OUTPUT_LATCH(config, "cent_ctrl_out"));
|
||||
cent_ctrl_out.bit_handler<1>().set(centronics, FUNC(centronics_device::write_strobe));
|
||||
|
||||
/* cassette */
|
||||
CASSETTE(config, m_cassette);
|
||||
|
@ -314,13 +314,14 @@ MACHINE_CONFIG_START(mtx_state::mtx512)
|
||||
|
||||
TIMER(config, "z80ctc_timer").configure_periodic(FUNC(mtx_state::ctc_tick), attotime::from_hz(XTAL(4'000'000)/13));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, mtx_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, mtx_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, mtx_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, mtx_state, write_centronics_select))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(mtx_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(mtx_state::write_centronics_fault));
|
||||
m_centronics->perror_handler().set(FUNC(mtx_state::write_centronics_perror));
|
||||
m_centronics->select_handler().set(FUNC(mtx_state::write_centronics_select));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
MCFG_SNAPSHOT_ADD("snapshot", mtx_state, mtx, "mtx", 1)
|
||||
CASSETTE(config, m_cassette);
|
||||
|
@ -1005,12 +1005,15 @@ MACHINE_CONFIG_START(myb3k_state::myb3k)
|
||||
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "isa", stepone_isa_cards, nullptr, false)
|
||||
|
||||
/* Centronics */
|
||||
MCFG_DEVICE_ADD (m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER (WRITELINE (*this, myb3k_state, centronics_ack_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER (WRITELINE (*this, myb3k_state, centronics_busy_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER (WRITELINE (*this, myb3k_state, centronics_perror_w))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER (WRITELINE (*this, myb3k_state, centronics_select_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD ("cent_data_out", "centronics")
|
||||
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(myb3k_state::centronics_ack_w));
|
||||
m_centronics->busy_handler().set(FUNC(myb3k_state::centronics_busy_w));
|
||||
m_centronics->perror_handler().set(FUNC(myb3k_state::centronics_perror_w));
|
||||
m_centronics->select_handler().set(FUNC(myb3k_state::centronics_select_w));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
/* Sound */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
@ -461,9 +461,10 @@ MACHINE_CONFIG_START(mz_state::mz800)
|
||||
pio.out_pa_callback().set(FUNC(mz_state::mz800_z80pio_port_a_w));
|
||||
pio.out_pb_callback().set("cent_data_out", FUNC(output_latch_device::bus_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -1398,10 +1398,11 @@ MACHINE_CONFIG_START(nc_state::nc_base)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, nc_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(nc_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
/* uart */
|
||||
I8251(config, m_uart, 0);
|
||||
@ -1435,8 +1436,7 @@ MACHINE_CONFIG_START(nc100_state::nc100)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nc100_state, screen_update_nc100)
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_MODIFY("centronics")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, nc100_state, write_nc100_centronics_ack))
|
||||
m_centronics->ack_handler().set(FUNC(nc100_state::write_nc100_centronics_ack));
|
||||
|
||||
/* uart */
|
||||
m_uart->rxrdy_handler().set(FUNC(nc100_state::nc100_rxrdy_callback));
|
||||
@ -1475,8 +1475,7 @@ MACHINE_CONFIG_START(nc200_state::nc200)
|
||||
palette.set_init(FUNC(nc200_state::nc_colours));
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_MODIFY("centronics")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, nc200_state, write_nc200_centronics_ack))
|
||||
m_centronics->ack_handler().set(FUNC(nc200_state::write_nc200_centronics_ack));
|
||||
|
||||
/* uart */
|
||||
m_uart->rxrdy_handler().set(FUNC(nc200_state::nc200_rxrdy_callback));
|
||||
@ -1487,7 +1486,7 @@ MACHINE_CONFIG_START(nc200_state::nc200)
|
||||
FLOPPY_CONNECTOR(config, "upd765:0", ibmpc_floppies, "525dd", ibmpc_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, "upd765:1", ibmpc_floppies, "525dd", ibmpc_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD("mc", MC146818, 4.194304_MHz_XTAL)
|
||||
MC146818(config, "mc", 4.194304_MHz_XTAL);
|
||||
|
||||
/* internal ram */
|
||||
m_ram->set_default_size("128K");
|
||||
|
@ -1008,9 +1008,9 @@ MACHINE_CONFIG_START(octopus_state::octopus)
|
||||
serial_b.cts_handler().set(m_serial, FUNC(z80sio_device::ctsb_w)).invert();
|
||||
//serial_b.ri_handler().set(m_serial, FUNC(z80sio_device::rib_w)).invert();
|
||||
|
||||
MCFG_DEVICE_ADD(m_parallel, CENTRONICS, octopus_centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, octopus_state, parallel_busy_w))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, octopus_state, parallel_slctout_w))
|
||||
CENTRONICS(config, m_parallel, octopus_centronics_devices, "printer");
|
||||
m_parallel->busy_handler().set(FUNC(octopus_state::parallel_busy_w));
|
||||
m_parallel->select_handler().set(FUNC(octopus_state::parallel_slctout_w));
|
||||
// TODO: Winchester HD controller (Xebec/SASI compatible? uses TTL logic)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -1222,13 +1222,15 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
|
||||
m_uart->out_rts_callback().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
|
||||
m_uart->out_int_callback().set(m_pic, FUNC(pic8259_device::ir4_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, pc1512_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, pc1512_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, pc1512_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, pc1512_state, write_centronics_select))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, pc1512_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(pc1512_state::write_centronics_ack));
|
||||
m_centronics->busy_handler().set(FUNC(pc1512_state::write_centronics_busy));
|
||||
m_centronics->perror_handler().set(FUNC(pc1512_state::write_centronics_perror));
|
||||
m_centronics->select_handler().set(FUNC(pc1512_state::write_centronics_select));
|
||||
m_centronics->fault_handler().set(FUNC(pc1512_state::write_centronics_fault));
|
||||
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_uart, FUNC(ins8250_uart_device::rx_w));
|
||||
@ -1354,13 +1356,15 @@ MACHINE_CONFIG_START(pc1640_state::pc1640)
|
||||
m_uart->out_rts_callback().set(RS232_TAG, FUNC(rs232_port_device::write_rts));
|
||||
m_uart->out_int_callback().set(m_pic, FUNC(pic8259_device::ir4_w));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, pc1512_base_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, pc1512_base_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, pc1512_base_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, pc1512_base_state, write_centronics_select))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, pc1512_base_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(pc1512_state::write_centronics_ack));
|
||||
m_centronics->busy_handler().set(FUNC(pc1512_state::write_centronics_busy));
|
||||
m_centronics->perror_handler().set(FUNC(pc1512_state::write_centronics_perror));
|
||||
m_centronics->select_handler().set(FUNC(pc1512_state::write_centronics_select));
|
||||
m_centronics->fault_handler().set(FUNC(pc1512_state::write_centronics_fault));
|
||||
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_uart, FUNC(ins8250_uart_device::rx_w));
|
||||
|
@ -515,11 +515,12 @@ MACHINE_CONFIG_START(pc8001_state::pc8001)
|
||||
m_crtc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq2_w));
|
||||
m_crtc->set_screen(SCREEN_TAG);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, pc8001_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, pc8001_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(pc8001_state::write_centronics_ack));
|
||||
m_centronics->busy_handler().set(FUNC(pc8001_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
|
||||
@ -563,9 +564,10 @@ MACHINE_CONFIG_START(pc8001mk2_state::pc8001mk2)
|
||||
m_crtc->drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq2_w));
|
||||
m_crtc->set_screen(SCREEN_TAG);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
|
||||
|
@ -2375,7 +2375,7 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
|
||||
I8214(config, I8214_TAG, MASTER_CLOCK);
|
||||
#endif
|
||||
UPD1990A(config, m_rtc);
|
||||
//MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer")
|
||||
//CENTRONICS(config, "centronics", centronics_devices, "printer");
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
|
||||
|
||||
|
@ -337,11 +337,12 @@ MACHINE_CONFIG_START(pencil2_state::pencil2)
|
||||
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pencil2_cart")
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, pencil2_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, pencil2_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(pencil2_state::write_centronics_ack));
|
||||
m_centronics->busy_handler().set(FUNC(pencil2_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
/* Software lists */
|
||||
MCFG_SOFTWARE_LIST_ADD("cart_list", "pencil2")
|
||||
|
@ -328,10 +328,11 @@ MACHINE_CONFIG_START(phc25_state::phc25)
|
||||
m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
|
||||
m_cassette->set_interface("phc25_cass");
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, phc25_state, write_centronics_busy))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(phc25_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("16K");
|
||||
|
@ -259,10 +259,12 @@ MACHINE_CONFIG_START(prof180x_state::prof180x)
|
||||
FLOPPY_CONNECTOR(config, FDC9268_TAG ":2", prof180x_floppies, "35dd", floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, FDC9268_TAG ":3", prof180x_floppies, "35dd", floppy_image_device::default_floppy_formats);
|
||||
|
||||
//MCFG_RTC8583_ADD(MK3835_TAG, rtc_intf)
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
//RTC8583(config, MK3835_TAG, rtc_intf);
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("128K").set_extra_options("256K,512K");
|
||||
|
@ -364,9 +364,10 @@ MACHINE_CONFIG_START(proteus_state::proteus)
|
||||
m_pia->irqa_handler().set("irqs", FUNC(input_merger_device::in_w<2>));
|
||||
m_pia->irqb_handler().set("irqs", FUNC(input_merger_device::in_w<3>));
|
||||
|
||||
MCFG_DEVICE_ADD("parallel", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE("pia", pia6821_device, ca1_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "parallel")
|
||||
centronics_device ¶llel(CENTRONICS(config, "parallel", centronics_devices, "printer"));
|
||||
parallel.ack_handler().set(m_pia, FUNC(pia6821_device::ca1_w));
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
parallel.set_output_latch(cent_data_out);
|
||||
|
||||
/* terminal port */
|
||||
ACIA6850(config, m_acia[0], 0);
|
||||
|
@ -1515,11 +1515,12 @@ MACHINE_CONFIG_START(px4_state::px4)
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_NONE);
|
||||
|
||||
// centronics printer
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, px4_state, centronics_busy_w))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, px4_state, centronics_perror_w))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(px4_state::centronics_busy_w));
|
||||
m_centronics->perror_handler().set(FUNC(px4_state::centronics_perror_w));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device &latch(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(latch);
|
||||
|
||||
// external cassette
|
||||
CASSETTE(config, m_ext_cas);
|
||||
|
@ -470,14 +470,15 @@ MACHINE_CONFIG_START(sage2_state::sage2)
|
||||
UPD765A(config, m_fdc, 8'000'000, false, false);
|
||||
m_fdc->intrq_wr_callback().set(FUNC(sage2_state::fdc_irq));
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, sage2_state, write_centronics_ack))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, sage2_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, sage2_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, sage2_state, write_centronics_select))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, sage2_state, write_centronics_fault))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(sage2_state::write_centronics_ack));
|
||||
m_centronics->busy_handler().set(FUNC(sage2_state::write_centronics_busy));
|
||||
m_centronics->perror_handler().set(FUNC(sage2_state::write_centronics_perror));
|
||||
m_centronics->select_handler().set(FUNC(sage2_state::write_centronics_select));
|
||||
m_centronics->fault_handler().set(FUNC(sage2_state::write_centronics_fault));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
FLOPPY_CONNECTOR(config, UPD765_TAG ":0", sage2_floppies, "525qd", floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, UPD765_TAG ":1", sage2_floppies, "525qd", floppy_image_device::default_floppy_formats);
|
||||
|
@ -654,9 +654,10 @@ MACHINE_CONFIG_START(sf7000_state::sf7000)
|
||||
UPD765A(config, m_fdc, 8'000'000, false, false);
|
||||
FLOPPY_CONNECTOR(config, UPD765_TAG ":0", sf7000_floppies, "3ssdd", sf7000_state::floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
/* sf7000 (sc3000) has all sk1100 features built-in, so add it as a fixed slot */
|
||||
MCFG_SG1000_EXPANSION_ADD(EXPSLOT_TAG, sg1000_expansion_devices, "sk1100", true)
|
||||
|
@ -132,17 +132,18 @@ MACHINE_CONFIG_START(slicer_state::slicer)
|
||||
drivelatch.q_out_cb<6>().set(FUNC(slicer_state::drive_size_w));
|
||||
drivelatch.q_out_cb<7>().set("fdc", FUNC(fd1797_device::dden_w));
|
||||
|
||||
MCFG_DEVICE_ADD("sasi", SCSI_PORT, 0)
|
||||
MCFG_SCSI_DATA_INPUT_BUFFER("sasi_data_in")
|
||||
MCFG_SCSI_BSY_HANDLER(WRITELINE("sasi_ctrl_in", input_buffer_device, write_bit3))
|
||||
MCFG_SCSI_MSG_HANDLER(WRITELINE("sasi_ctrl_in", input_buffer_device, write_bit4))
|
||||
MCFG_SCSI_CD_HANDLER(WRITELINE("sasi_ctrl_in", input_buffer_device, write_bit5))
|
||||
MCFG_SCSI_REQ_HANDLER(WRITELINE("sasi_ctrl_in", input_buffer_device, write_bit6))
|
||||
MCFG_SCSI_IO_HANDLER(WRITELINE("sasi_ctrl_in", input_buffer_device, write_bit7))
|
||||
SCSI_PORT(config, m_sasi, 0);
|
||||
m_sasi->set_data_input_buffer("sasi_data_in");
|
||||
m_sasi->bsy_handler().set("sasi_ctrl_in", FUNC(input_buffer_device::write_bit3));
|
||||
m_sasi->msg_handler().set("sasi_ctrl_in", FUNC(input_buffer_device::write_bit4));
|
||||
m_sasi->cd_handler().set("sasi_ctrl_in", FUNC(input_buffer_device::write_bit5));
|
||||
m_sasi->req_handler().set("sasi_ctrl_in", FUNC(input_buffer_device::write_bit6));
|
||||
m_sasi->io_handler().set("sasi_ctrl_in", FUNC(input_buffer_device::write_bit7));
|
||||
|
||||
MCFG_SCSI_OUTPUT_LATCH_ADD("sasi_data_out", "sasi")
|
||||
MCFG_DEVICE_ADD("sasi_data_in", INPUT_BUFFER, 0)
|
||||
MCFG_DEVICE_ADD("sasi_ctrl_in", INPUT_BUFFER, 0)
|
||||
output_latch_device &sasi_data_out(OUTPUT_LATCH(config, "sasi_data_out"));
|
||||
m_sasi->set_output_latch(sasi_data_out);
|
||||
INPUT_BUFFER(config, "sasi_data_in");
|
||||
INPUT_BUFFER(config, "sasi_ctrl_in");
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
ROM_START( slicer )
|
||||
|
@ -437,13 +437,12 @@ MACHINE_CONFIG_START(sorcerer_state::sorcerer)
|
||||
RS232_PORT(config, "rs232", default_rs232_devices, "null_modem").set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
|
||||
|
||||
/* printer */
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "covox")
|
||||
|
||||
/* The use of the parallel port as a general purpose port is not emulated.
|
||||
Currently the only use is to read the printer status in the Centronics CENDRV bios routine. */
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit7))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "covox");
|
||||
m_centronics->busy_handler().set("cent_status_in", FUNC(input_buffer_device::write_bit7));
|
||||
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
/* quickload */
|
||||
MCFG_SNAPSHOT_ADD("snapshot", sorcerer_state, sorcerer, "snp", 2)
|
||||
|
@ -494,10 +494,13 @@ MACHINE_CONFIG_START(spc1000_state::spc1000)
|
||||
MCFG_DEVICE_ADD("ext1", SPC1000_EXP_SLOT, 0)
|
||||
MCFG_DEVICE_SLOT_INTERFACE(spc1000_exp, nullptr, false)
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, spc1000_state, centronics_busy_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(spc1000_state::centronics_busy_w));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
CASSETTE(config, m_cass);
|
||||
m_cass->set_formats(spc1000_cassette_formats);
|
||||
|
@ -921,10 +921,13 @@ MACHINE_CONFIG_START(spc1500_state::spc1500)
|
||||
m_sound->add_route(ALL_OUTPUTS, "mono", 1.00);
|
||||
WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, spc1500_state, centronics_busy_w))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(spc1500_state::centronics_busy_w));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
INPUT_BUFFER(config, "cent_status_in");
|
||||
|
||||
CASSETTE(config, m_cass);
|
||||
m_cass->set_formats(spc1000_cassette_formats);
|
||||
|
@ -2229,7 +2229,8 @@ MACHINE_CONFIG_START(thomson_state::mo6)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(thomson_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
config.device_remove("cartslot");
|
||||
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "mo_cart")
|
||||
@ -2494,7 +2495,9 @@ MACHINE_CONFIG_START(thomson_state::mo5nr)
|
||||
m_centronics->busy_handler().set(FUNC(thomson_state::write_centronics_busy));
|
||||
|
||||
INPUT_BUFFER(config, "cent_data_in");
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
config.device_remove("cartslot");
|
||||
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "mo_cart")
|
||||
|
@ -765,7 +765,9 @@ MACHINE_CONFIG_START(tiki100_state::tiki100)
|
||||
m_centronics->perror_handler().set(FUNC(tiki100_state::write_centronics_perror));
|
||||
|
||||
INPUT_BUFFER(config, "cent_data_in");
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_MUTED);
|
||||
|
@ -544,15 +544,16 @@ MACHINE_CONFIG_START(trs80_state::model1) // model I, level II
|
||||
FLOPPY_CONNECTOR(config, "fdc:2", trs80_floppies, "", trs80_state::floppy_formats).enable_sound(true);
|
||||
FLOPPY_CONNECTOR(config, "fdc:3", trs80_floppies, "", trs80_state::floppy_formats).enable_sound(true);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit7))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit6))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit7));
|
||||
m_centronics->perror_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit6));
|
||||
m_centronics->select_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit5));
|
||||
m_centronics->fault_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit4));
|
||||
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
INPUT_BUFFER(config, m_cent_status_in);
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
COM8116(config, m_brg, 5.0688_MHz_XTAL); // BR1941L
|
||||
m_brg->fr_handler().set(m_uart, FUNC(ay31015_device::write_rcp));
|
||||
|
@ -767,12 +767,14 @@ MACHINE_CONFIG_START(trs80m2_state::trs80m2)
|
||||
z80sio0_device& sio(Z80SIO0(config, Z80SIO_TAG, 8_MHz_XTAL / 2));
|
||||
sio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(m_pio, z80pio_device, strobe_b))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, trs80m2_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, trs80m2_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, trs80m2_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_pio, FUNC(z80pio_device::strobe_b));
|
||||
m_centronics->busy_handler().set(FUNC(trs80m2_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(trs80m2_state::write_centronics_fault));
|
||||
m_centronics->perror_handler().set(FUNC(trs80m2_state::write_centronics_perror));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
TRS80M2_KEYBOARD(config, m_kb, 0);
|
||||
m_kb->clock_wr_callback().set(FUNC(trs80m2_state::kb_clock_w));
|
||||
@ -859,12 +861,14 @@ MACHINE_CONFIG_START(trs80m16_state::trs80m16)
|
||||
AM9519(config, m_uic, 0);
|
||||
m_uic->out_int_callback().set_inputline(M68000_TAG, M68K_IRQ_5);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(m_pio, z80pio_device, strobe_b))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, trs80m2_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE(*this, trs80m2_state, write_centronics_fault))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, trs80m2_state, write_centronics_perror))
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(m_pio, FUNC(z80pio_device::strobe_b));
|
||||
m_centronics->busy_handler().set(FUNC(trs80m2_state::write_centronics_busy));
|
||||
m_centronics->fault_handler().set(FUNC(trs80m2_state::write_centronics_fault));
|
||||
m_centronics->perror_handler().set(FUNC(trs80m2_state::write_centronics_perror));
|
||||
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
TRS80M2_KEYBOARD(config, m_kb, 0);
|
||||
m_kb->clock_wr_callback().set(FUNC(trs80m2_state::kb_clock_w));
|
||||
|
@ -369,15 +369,16 @@ MACHINE_CONFIG_START(trs80m3_state::model3)
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", trs80_floppies, "sssd", trs80m3_state::floppy_formats).enable_sound(true);
|
||||
FLOPPY_CONNECTOR(config, "fdc:1", trs80_floppies, "sssd", trs80m3_state::floppy_formats).enable_sound(true);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit7))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit6))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit5))
|
||||
MCFG_CENTRONICS_FAULT_HANDLER(WRITELINE("cent_status_in", input_buffer_device, write_bit4))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit7));
|
||||
m_centronics->perror_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit6));
|
||||
m_centronics->select_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit5));
|
||||
m_centronics->fault_handler().set(m_cent_status_in, FUNC(input_buffer_device::write_bit4));
|
||||
|
||||
MCFG_DEVICE_ADD("cent_status_in", INPUT_BUFFER, 0)
|
||||
INPUT_BUFFER(config, m_cent_status_in);
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
COM8116(config, m_brg, 20.2752_MHz_XTAL / 4); // BR1943 (or BR1941L)
|
||||
m_brg->fr_handler().set(m_uart, FUNC(ay31015_device::write_rcp));
|
||||
|
@ -743,7 +743,8 @@ static INPUT_PORTS_START(pyuutajr)
|
||||
PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_UNUSED)
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(tutor_state::tutor)
|
||||
void tutor_state::tutor(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
// TMS9995 CPU @ 10.7 MHz
|
||||
// No lines connected yet
|
||||
@ -763,7 +764,8 @@ MACHINE_CONFIG_START(tutor_state::tutor)
|
||||
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer").busy_handler().set(FUNC(tutor_state::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
// Cassette
|
||||
SPEAKER(config, "cass_out").front_center();
|
||||
@ -775,15 +777,15 @@ MACHINE_CONFIG_START(tutor_state::tutor)
|
||||
// software lists
|
||||
SOFTWARE_LIST(config, "cart_list").set_type("tutor", SOFTWARE_LIST_ORIGINAL_SYSTEM);
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(tutor_state::pyuutajr)
|
||||
void tutor_state::pyuutajr(machine_config &config)
|
||||
{
|
||||
tutor(config);
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(pyuutajr_mem)
|
||||
//MCFG_DEVICE_REMOVE("centronics")
|
||||
//MCFG_DEVICE_REMOVE("cassette")
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &tutor_state::pyuutajr_mem);
|
||||
//config.device_remove("centronics");
|
||||
//config.device_remove("cassette");
|
||||
}
|
||||
|
||||
/*
|
||||
ROM loading
|
||||
|
@ -798,10 +798,11 @@ MACHINE_CONFIG_START(tvc_state::tvc)
|
||||
m_sound->sndint_wr_callback().set(FUNC(tvc_state::int_ff_set));
|
||||
m_sound->add_route(ALL_OUTPUTS, "mono", 0.75);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(*this, tvc_state, centronics_ack))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(FUNC(tvc_state::centronics_ack));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
/* cartridge */
|
||||
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "tvc_cart")
|
||||
|
@ -391,21 +391,22 @@ MACHINE_CONFIG_START(unixpc_state::unixpc)
|
||||
mpsc.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr));
|
||||
mpsc.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts));
|
||||
|
||||
MCFG_DEVICE_ADD("kbc", ACIA6850, 0)
|
||||
ACIA6850(config, "kbc", 0);
|
||||
|
||||
// TODO: HDC
|
||||
//MCFG_DEVICE_ADD("hdc", WD1010, 40_MHz_XTAL / 8)
|
||||
//WD1010(config, "hdc", 40_MHz_XTAL / 8);
|
||||
|
||||
// TODO: RTC
|
||||
//MCFG_DEVICE_ADD("rtc", TC8250, 32.768_kHz_XTAL)
|
||||
//TC8250(config, "rtc", 32.768_kHz_XTAL);
|
||||
|
||||
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set("mpsc", FUNC(upd7201_new_device::rxa_w));
|
||||
rs232.dsr_handler().set("mpsc", FUNC(upd7201_new_device::dcda_w));
|
||||
rs232.cts_handler().set("mpsc", FUNC(upd7201_new_device::ctsa_w));
|
||||
|
||||
MCFG_DEVICE_ADD("printer", CENTRONICS, centronics_devices, nullptr)
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("printlatch", "printer")
|
||||
centronics_device &printer(CENTRONICS(config, "printer", centronics_devices, nullptr));
|
||||
output_latch_device &printlatch(OUTPUT_LATCH(config, "printlatch"));
|
||||
printer.set_output_latch(printlatch);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -1108,17 +1108,18 @@ MACHINE_CONFIG_START(v1050_state::v1050)
|
||||
|
||||
// SASI bus
|
||||
SCSI_PORT(config, m_sasibus, 0);
|
||||
m_sasibus->set_data_input_buffer("scsi_data_in");
|
||||
m_sasibus->req_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit0)).exor(1);
|
||||
m_sasibus->bsy_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit1));
|
||||
m_sasibus->msg_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit2));
|
||||
m_sasibus->cd_handler().set("scsi_ctrl_in", FUNC(input_buffer_device::write_bit3));
|
||||
m_sasibus->set_data_input_buffer(m_sasi_data_in);
|
||||
m_sasibus->req_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit0)).exor(1);
|
||||
m_sasibus->bsy_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit1));
|
||||
m_sasibus->msg_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit2));
|
||||
m_sasibus->cd_handler().set(m_sasi_ctrl_in, FUNC(input_buffer_device::write_bit3));
|
||||
m_sasibus->io_handler().set(FUNC(v1050_state::write_sasi_io)).exor(1); // bit4
|
||||
MCFG_SCSIDEV_ADD(SASIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", S1410, SCSI_ID_0)
|
||||
|
||||
MCFG_SCSI_OUTPUT_LATCH_ADD("scsi_data_out", SASIBUS_TAG)
|
||||
MCFG_DEVICE_ADD("scsi_data_in", INPUT_BUFFER, 0)
|
||||
MCFG_DEVICE_ADD("scsi_ctrl_in", INPUT_BUFFER, 0)
|
||||
OUTPUT_LATCH(config, m_sasi_data_out);
|
||||
m_sasibus->set_output_latch(*m_sasi_data_out);
|
||||
INPUT_BUFFER(config, m_sasi_data_in);
|
||||
INPUT_BUFFER(config, m_sasi_ctrl_in);
|
||||
|
||||
TIMER(config, m_timer_ack).configure_generic(FUNC(v1050_state::sasi_ack_tick));
|
||||
TIMER(config, m_timer_rst).configure_generic(FUNC(v1050_state::sasi_rst_tick));
|
||||
@ -1128,11 +1129,12 @@ MACHINE_CONFIG_START(v1050_state::v1050)
|
||||
MCFG_SOFTWARE_LIST_ADD("hdd_list", "v1050_hdd")
|
||||
|
||||
// printer
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, v1050_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_PERROR_HANDLER(WRITELINE(*this, v1050_state, write_centronics_perror))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(v1050_state::write_centronics_busy));
|
||||
m_centronics->perror_handler().set(FUNC(v1050_state::write_centronics_perror));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
// internal ram
|
||||
RAM(config, RAM_TAG).set_default_size("128K");
|
||||
|
@ -1333,7 +1333,7 @@ MACHINE_CONFIG_START(wangpc_state::wangpc)
|
||||
FLOPPY_CONNECTOR(config, UPD765_TAG ":0", wangpc_floppies, "525dd", wangpc_state::floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, UPD765_TAG ":1", wangpc_floppies, "525dd", wangpc_state::floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer");
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->set_data_input_buffer(m_cent_data_in);
|
||||
m_centronics->ack_handler().set(FUNC(wangpc_state::write_centronics_ack));
|
||||
m_centronics->busy_handler().set(FUNC(wangpc_state::write_centronics_busy));
|
||||
@ -1341,7 +1341,9 @@ MACHINE_CONFIG_START(wangpc_state::wangpc)
|
||||
m_centronics->perror_handler().set(FUNC(wangpc_state::write_centronics_perror));
|
||||
|
||||
INPUT_BUFFER(config, m_cent_data_in);
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
|
||||
|
||||
OUTPUT_LATCH(config, m_cent_data_out);
|
||||
m_centronics->set_output_latch(*m_cent_data_out);
|
||||
|
||||
rs232_port_device &rs232(RS232_PORT(config, RS232_TAG, default_rs232_devices, nullptr));
|
||||
rs232.rxd_handler().set(m_epci, FUNC(mc2661_device::rx_w));
|
||||
|
@ -761,9 +761,10 @@ MACHINE_CONFIG_START(xerox820ii_state::xerox820ii)
|
||||
|
||||
MCFG_SCSIDEV_ADD(SASIBUS_TAG ":" SCSI_PORT_DEVICE1, "harddisk", SA1403D, SCSI_ID_0)
|
||||
|
||||
MCFG_SCSI_OUTPUT_LATCH_ADD("sasi_data_out", SASIBUS_TAG)
|
||||
MCFG_DEVICE_ADD("sasi_data_in", INPUT_BUFFER, 0)
|
||||
MCFG_DEVICE_ADD("sasi_ctrl_in", INPUT_BUFFER, 0)
|
||||
output_latch_device &sasi_data_out(OUTPUT_LATCH(config, "sasi_data_out"));
|
||||
m_sasibus->set_output_latch(sasi_data_out);
|
||||
INPUT_BUFFER(config, "sasi_data_in");
|
||||
INPUT_BUFFER(config, "sasi_ctrl_in");
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, m_ram).set_default_size("64K");
|
||||
|
@ -526,12 +526,13 @@ MACHINE_CONFIG_START(xor100_state::xor100)
|
||||
FLOPPY_CONNECTOR(config, WD1795_TAG":2", xor100_floppies, nullptr, floppy_image_device::default_floppy_formats);
|
||||
FLOPPY_CONNECTOR(config, WD1795_TAG":3", xor100_floppies, nullptr, floppy_image_device::default_floppy_formats);
|
||||
|
||||
MCFG_DEVICE_ADD(m_centronics, CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(I8255A_TAG, i8255_device, pc4_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, xor100_state, write_centronics_busy))
|
||||
MCFG_CENTRONICS_SELECT_HANDLER(WRITELINE(*this, xor100_state, write_centronics_select))
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->ack_handler().set(I8255A_TAG, FUNC(i8255_device::pc4_w));
|
||||
m_centronics->busy_handler().set(FUNC(xor100_state::write_centronics_busy));
|
||||
m_centronics->select_handler().set(FUNC(xor100_state::write_centronics_select));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
m_centronics->set_output_latch(cent_data_out);
|
||||
|
||||
// S-100
|
||||
MCFG_DEVICE_ADD(S100_TAG, S100_BUS, 8_MHz_XTAL / 4)
|
||||
|
@ -238,13 +238,15 @@ MACHINE_CONFIG_START(zorba_state::zorba)
|
||||
rs232.dsr_handler().set(m_uart0, FUNC(i8251_device::write_dsr));
|
||||
|
||||
// J3 Parallel printer
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("parprndata", "parprn")
|
||||
centronics_device &parprn(CENTRONICS(config, "parprn", centronics_devices, "printer"));
|
||||
parprn.busy_handler().set(m_uart1, FUNC(i8251_device::write_cts));
|
||||
parprn.busy_handler().append(m_uart1, FUNC(i8251_device::write_dsr)); // TODO: shared with serial CTS
|
||||
parprn.fault_handler().set(FUNC(zorba_state::printer_fault_w));
|
||||
parprn.select_handler().set(FUNC(zorba_state::printer_select_w));
|
||||
|
||||
output_latch_device &parprndata(OUTPUT_LATCH(config, "parprndata"));
|
||||
parprn.set_output_latch(parprndata);
|
||||
|
||||
// J3 Serial printer
|
||||
rs232_port_device &serprn(RS232_PORT(config, "serprn", default_rs232_devices, nullptr));
|
||||
serprn.rxd_handler().set(m_uart1, FUNC(i8251_device::write_rxd)); // TODO: this line has a LED attached
|
||||
|
@ -520,7 +520,8 @@ to7_io_line_device::to7_io_line_device(const machine_config &mconfig, const char
|
||||
{
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(to7_io_line_device::device_add_mconfig)
|
||||
void to7_io_line_device::device_add_mconfig(machine_config &config)
|
||||
{
|
||||
/// THIS PIO is part of CC 90-232 expansion
|
||||
PIA6821(config, m_pia_io, 0);
|
||||
m_pia_io->readpa_handler().set(FUNC(to7_io_line_device::porta_in));
|
||||
@ -535,13 +536,13 @@ MACHINE_CONFIG_START(to7_io_line_device::device_add_mconfig)
|
||||
m_rs232->cts_handler().set(FUNC(to7_io_line_device::write_cts));
|
||||
m_rs232->dsr_handler().set(FUNC(to7_io_line_device::write_dsr));
|
||||
|
||||
MCFG_DEVICE_ADD("centronics", CENTRONICS, centronics_devices, "printer")
|
||||
MCFG_CENTRONICS_ACK_HANDLER(WRITELINE(THOM_PIA_IO, pia6821_device, cb1_w))
|
||||
MCFG_CENTRONICS_BUSY_HANDLER(WRITELINE(*this, to7_io_line_device, write_centronics_busy))
|
||||
centronics_device ¢ronics(CENTRONICS(config, "centronics", centronics_devices, "printer"));
|
||||
centronics.ack_handler().set(m_pia_io, FUNC(pia6821_device::cb1_w));
|
||||
centronics.busy_handler().set(FUNC(to7_io_line_device::write_centronics_busy));
|
||||
|
||||
MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", "centronics")
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
output_latch_device ¢_data_out(OUTPUT_LATCH(config, "cent_data_out"));
|
||||
centronics.set_output_latch(cent_data_out);
|
||||
}
|
||||
|
||||
|
||||
void to7_io_line_device::device_start()
|
||||
|
Loading…
Reference in New Issue
Block a user