summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pk8020.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pk8020.cpp')
-rw-r--r--src/mame/drivers/pk8020.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mame/drivers/pk8020.cpp b/src/mame/drivers/pk8020.cpp
index b15af81b4ec..1f5fcf5e20d 100644
--- a/src/mame/drivers/pk8020.cpp
+++ b/src/mame/drivers/pk8020.cpp
@@ -249,6 +249,14 @@ void pk8020_state::pk8020(machine_config &config)
iop1.out_pc_callback().set(FUNC(pk8020_state::video_page_w));
i8255_device &iop2(I8255(config, "iop2")); // КР580ВВ55А (D16)
+ iop2.out_pa_callback().set(m_printer, FUNC(centronics_device::write_data0)).bit(0).invert();
+ iop2.out_pa_callback().append(m_printer, FUNC(centronics_device::write_data1)).bit(1).invert();
+ iop2.out_pa_callback().append(m_printer, FUNC(centronics_device::write_data2)).bit(2).invert();
+ iop2.out_pa_callback().append(m_printer, FUNC(centronics_device::write_data3)).bit(3).invert();
+ iop2.out_pa_callback().append(m_printer, FUNC(centronics_device::write_data4)).bit(4).invert();
+ iop2.out_pa_callback().append(m_printer, FUNC(centronics_device::write_data5)).bit(5).invert();
+ iop2.out_pa_callback().append(m_printer, FUNC(centronics_device::write_data6)).bit(6).invert();
+ iop2.out_pa_callback().append(m_printer, FUNC(centronics_device::write_data7)).bit(7).invert();
iop2.out_pc_callback().set(FUNC(pk8020_state::ppi_2_portc_w));
I8255(config, "iop3"); // КР580ВВ55А (D2)
@@ -301,6 +309,9 @@ void pk8020_state::pk8020(machine_config &config)
CASSETTE(config, "cassette").set_default_state(CASSETTE_PLAY);
+ CENTRONICS(config, m_printer, centronics_devices, nullptr);
+ m_printer->busy_handler().set(m_inr, FUNC(pic8259_device::ir6_w)).invert();
+
/* internal ram */
RAM(config, RAM_TAG).set_default_size("258K").set_default_value(0x00); // 64 + 4*48 + 2 = 258
}