From 555996eed4e2de153dda2cf1279a7b307568a99c Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sat, 24 Aug 2024 03:30:33 +1000 Subject: [PATCH] -casio/pv1000.cpp: Fixed input port selection removed by PR #12659. -misc/marywu.cpp: Fixed LED active polarity in layout. -epson/qx10.cpp: At least allow it to build. --- src/mame/casio/pv1000.cpp | 26 +++++++++++++++----------- src/mame/epson/qx10.cpp | 2 +- src/mame/layout/marywu.lay | 6 +++--- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/mame/casio/pv1000.cpp b/src/mame/casio/pv1000.cpp index c8cf285ed2e..1bc0cbb826f 100644 --- a/src/mame/casio/pv1000.cpp +++ b/src/mame/casio/pv1000.cpp @@ -260,7 +260,7 @@ void pv1000_state::io_w(offs_t offset, uint8_t data) case 0x03: //logerror("io_w offset=%02x, data=%02x (%03d)\n", offset, data , data); m_sound->voice_w(offset, data); - break; + break; case 0x04: /* Bit 1 = Matrix IRQ enabled * @@ -274,12 +274,16 @@ void pv1000_state::io_w(offs_t offset, uint8_t data) case 0x05: /* Acknowledge Prerender IRQ */ - m_irq_active &= ~1; - if (m_irq_active == 0) - m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE); - + if (m_irq_active & 1) + { + m_irq_active &= ~1; + if (m_irq_active == 0) + m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE); + } break; + //case 0x06 VRAM + PCG location, always fixed at 0xb8xx + case 0x07: /* ---- -xxx unknown, border color? */ m_pcg_bank = (data & 0xe0) >> 5; @@ -313,8 +317,8 @@ uint8_t pv1000_state::io_r(offs_t offset) { case 4: // port $FC returns player 2 joystick and interrupt status return 0x80 - | m_joysticks[3]->read() - | m_joysticks[2]->read() + | (BIT(m_io_regs[5], 3) ? m_joysticks[3]->read() : 0) + | (BIT(m_io_regs[5], 2) ? m_joysticks[2]->read() : 0) | (m_irq_active & 3); // Bit 1 = Matrix IRQ, Bit 0 = Prerender IRQ case 5: // port $FD returns both joysticks and acknowledges matrix scan IRQ @@ -328,10 +332,10 @@ uint8_t pv1000_state::io_r(offs_t offset) } } return 0x80 - | m_joysticks[3]->read() - | m_joysticks[2]->read() - | m_joysticks[1]->read() - | m_joysticks[0]->read(); + | (BIT(m_io_regs[5], 3) ? m_joysticks[3]->read() : 0) + | (BIT(m_io_regs[5], 2) ? m_joysticks[2]->read() : 0) + | (BIT(m_io_regs[5], 1) ? m_joysticks[1]->read() : 0) + | (BIT(m_io_regs[5], 0) ? m_joysticks[0]->read() : 0); default: /* Ports $F8-$FB, $FE, and $FF are undriven, and pulled high by the diff --git a/src/mame/epson/qx10.cpp b/src/mame/epson/qx10.cpp index f6164ac65d7..f76474f586c 100644 --- a/src/mame/epson/qx10.cpp +++ b/src/mame/epson/qx10.cpp @@ -286,7 +286,7 @@ UPD7220_DRAW_TEXT_LINE_MEMBER( qx10_state::hgdc_draw_text ) pen = ((tile_data >> xi) & 1) ? color : 0; if(pen) - bitmap.pix(res_y+zy, res_x+zx) = palette[pen]; + bitmap.pix(yi, xi) = palette[pen]; } } } diff --git a/src/mame/layout/marywu.lay b/src/mame/layout/marywu.lay index c729e26d2a9..bff0eadade5 100644 --- a/src/mame/layout/marywu.lay +++ b/src/mame/layout/marywu.lay @@ -11,13 +11,13 @@ license:CC0-1.0 - + - + - +