summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author cracyc <cracyc@users.noreply.github.com>2016-02-12 21:37:08 -0600
committer cracyc <cracyc@users.noreply.github.com>2016-02-12 21:37:08 -0600
commitbd7aee24218c2e6d52e6799b2bcdfa1160049715 (patch)
tree9ed4da028ddce0e345e50609bcae9fad1f6dcedf
parentae6a55f07554860fb4050ef21df16af7579cd12e (diff)
x68k: ELSE if (nw)
pic8259: spurious irq 7 (nw) pc9801: windows 3.1 checks port 61h? (nw)
-rw-r--r--src/devices/machine/pic8259.cpp5
-rw-r--r--src/mame/drivers/pc9801.cpp7
-rw-r--r--src/mame/video/x68k.cpp2
3 files changed, 12 insertions, 2 deletions
diff --git a/src/devices/machine/pic8259.cpp b/src/devices/machine/pic8259.cpp
index 40fe6fd916c..3064e212850 100644
--- a/src/devices/machine/pic8259.cpp
+++ b/src/devices/machine/pic8259.cpp
@@ -133,7 +133,10 @@ UINT32 pic8259_device::acknowledge()
}
}
}
- return 0;
+ logerror("Spurious IRQ\n");
+ if(m_is_x86)
+ return m_base + 7;
+ return 0xcd0000 + (m_vector_addr_high << 8) + m_vector_addr_low + (7 << (3-m_vector_size));
}
diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp
index 66670fe7c9a..7185014c285 100644
--- a/src/mame/drivers/pc9801.cpp
+++ b/src/mame/drivers/pc9801.cpp
@@ -734,6 +734,7 @@ public:
UINT8 freq_index;
}m_mouse;
TIMER_DEVICE_CALLBACK_MEMBER( mouse_irq_cb );
+ DECLARE_READ8_MEMBER(unk_r);
DECLARE_DRIVER_INIT(pc9801_kanji);
inline void set_dma_channel(int channel, int state);
@@ -2485,6 +2486,7 @@ static ADDRESS_MAP_START( pc9821_io, AS_IO, 32, pc9801_state )
AM_RANGE(0x0050, 0x0053) AM_WRITE8(pc9801rs_nmi_w, 0xffffffff)
AM_RANGE(0x005c, 0x005f) AM_READ16(pc9821_timestamp_r,0xffffffff) AM_WRITENOP // artic
AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("upd7220_chr", upd7220_device, read, write, 0x00ff00ff) //upd7220 character ports / <undefined>
+ AM_RANGE(0x0060, 0x0063) AM_READ8(unk_r, 0xff00ff00) // mouse related (unmapped checking for AT keyb controller\PS/2 mouse?)
AM_RANGE(0x0064, 0x0067) AM_WRITE8(vrtc_clear_w, 0x000000ff)
AM_RANGE(0x0068, 0x006b) AM_WRITE8(pc9821_video_ff_w, 0x00ff00ff) //mode FF / <undefined>
AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("pit8253", pit8253_device, read, write, 0xff00ff00)
@@ -2969,6 +2971,11 @@ WRITE8_MEMBER(pc9801_state::ppi_mouse_portc_w)
m_mouse.control = data;
}
+READ8_MEMBER(pc9801_state::unk_r)
+{
+ return 0xff;
+}
+
/****************************************
*
* UPD765 interface
diff --git a/src/mame/video/x68k.cpp b/src/mame/video/x68k.cpp
index 13f6288b642..7a11c89175b 100644
--- a/src/mame/video/x68k.cpp
+++ b/src/mame/video/x68k.cpp
@@ -867,7 +867,7 @@ bool x68k_state::x68k_draw_gfx_scanline( bitmap_ind16 &bitmap, rectangle cliprec
else
bitmap.pix16(scanline, pixel) = (pal[colour] & 0xfffe) + blend;
}
- if(((m_video.reg[2] & 0x1800) == 0x1000) && (colour & 1))
+ else if(((m_video.reg[2] & 0x1800) == 0x1000) && (colour & 1))
m_special.pix16(scanline, pixel) = colour;
else
bitmap.pix16(scanline, pixel) = colour;