From 30a0af15d9688be08e4b96e4380d46e3f9056835 Mon Sep 17 00:00:00 2001 From: "therealmogminer@gmail.com" Date: Wed, 12 Oct 2016 14:02:42 +0200 Subject: [PATCH] -v1050: Fixed 8214 PICU hookup and promoted back to working. [Ryan Holtz] --- src/mame/drivers/v1050.cpp | 14 +++++++++++--- src/mame/includes/v1050.h | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/v1050.cpp b/src/mame/drivers/v1050.cpp index 966e008b9e4..f3aa72c312c 100644 --- a/src/mame/drivers/v1050.cpp +++ b/src/mame/drivers/v1050.cpp @@ -142,7 +142,6 @@ Notes: TODO: - - does not boot CP/M anymore - floppy 1 is broken - write to banked RAM at 0x0000-0x1fff when ROM is active - real keyboard w/i8049 @@ -156,7 +155,16 @@ Notes: void v1050_state::set_interrupt(int line, int state) { - m_pic->r_w(line, (m_int_mask & (1 << state)) ? 0 : 1); + if (state) + { + m_int_state |= (1 << line); + } + else + { + m_int_state &= ~(1 << line); + } + + m_pic->r_w(line, ((m_int_state & m_int_mask) & (1 << line)) ? 0 : 1); } void v1050_state::bankswitch() @@ -1137,4 +1145,4 @@ ROM_END // System Drivers // YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS -COMP( 1983, v1050, 0, 0, v1050, v1050, driver_device, 0, "Visual Technology Inc", "Visual 1050", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND | MACHINE_IMPERFECT_KEYBOARD ) +COMP( 1983, v1050, 0, 0, v1050, v1050, driver_device, 0, "Visual Technology Inc", "Visual 1050", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND | MACHINE_IMPERFECT_KEYBOARD ) diff --git a/src/mame/includes/v1050.h b/src/mame/includes/v1050.h index ce79c1a7be9..bfb2f82ba82 100644 --- a/src/mame/includes/v1050.h +++ b/src/mame/includes/v1050.h @@ -90,6 +90,8 @@ public: m_rom(*this, Z80_TAG), m_video_ram(*this, "video_ram"), m_attr_ram(*this, "attr_ram"), + m_int_mask(0), + m_int_state(0), m_rtc_ppi_pa(0), m_rtc_ppi_pc(0) { @@ -192,6 +194,7 @@ public: // HACK for MC6845 // interrupt state UINT8 m_int_mask; // interrupt mask + UINT8 m_int_state; int m_f_int_enb; // floppy interrupt enable bool m_fdc_irq; bool m_fdc_drq;