summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Scott Stone <tafoid@gmail.com>2020-02-13 16:24:47 -0500
committer Scott Stone <tafoid@gmail.com>2020-02-13 16:24:47 -0500
commit6efea79875abc3472e7a4130fb0536d14884746d (patch)
treeb987a2926049d03d251902d83878ee2d534fb8c8
parent460251addd46124fe3ba38ae170f8b3da2330de6 (diff)
parent544eb0f00de15c2781c0a989a77ced3e59da877f (diff)
Merge branch 'master' of https://github.com/mamedev/mame
-rw-r--r--src/mame/drivers/tulip1.cpp2
-rw-r--r--src/mame/drivers/xavix2.cpp13
2 files changed, 11 insertions, 4 deletions
diff --git a/src/mame/drivers/tulip1.cpp b/src/mame/drivers/tulip1.cpp
index 37b69ee0b44..7bebae8d871 100644
--- a/src/mame/drivers/tulip1.cpp
+++ b/src/mame/drivers/tulip1.cpp
@@ -87,7 +87,7 @@ void tulip1_state::io_map(address_map &map)
// map(0xfca0, 0xfcaf) // ?
// map(0xfcb0) // ?
// map(0xfc80) // ?
- map(0xfc91, 0xfc91).lr8(NAME([this]() -> u8 { return 0x04; })); // ?
+ map(0xfc91, 0xfc91).lr8(NAME([]() -> u8 { return 0x04; })); // ?
// map(0xfd00, 0xfd1f) // muart
map(0xfd98, 0xfd98).rw(m_acia, FUNC(acia6850_device::status_r), FUNC(acia6850_device::control_w));
map(0xfd9c, 0xfd9c).rw(m_acia, FUNC(acia6850_device::data_r), FUNC(acia6850_device::data_w));
diff --git a/src/mame/drivers/xavix2.cpp b/src/mame/drivers/xavix2.cpp
index 1bd77684b77..094f4d129ef 100644
--- a/src/mame/drivers/xavix2.cpp
+++ b/src/mame/drivers/xavix2.cpp
@@ -52,6 +52,7 @@ private:
void irq_raise(u32 level);
void irq_clear(u32 level);
bool irq_state(u32 level) const;
+ void irq_clear_w(u16 data);
u8 irq_level_r();
void dma_src_w(offs_t, u32 data, u32 mem_mask);
@@ -92,6 +93,14 @@ void xavix2_state::irq_clear(u32 level)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
+void xavix2_state::irq_clear_w(u16 data)
+{
+ m_int_active &= ~data;
+ if(!m_int_active)
+ m_maincpu->set_input_line(0, CLEAR_LINE);
+
+}
+
u8 xavix2_state::irq_level_r()
{
for(u32 i=31; i>=0; i--)
@@ -240,6 +249,7 @@ void xavix2_state::mem(address_map &map)
map(0xffffe634, 0xffffe64b).w(FUNC(xavix2_state::crtc_w));
map(0xfffffc00, 0xfffffc00).r(FUNC(xavix2_state::irq_level_r));
+ map(0xfffffc04, 0xfffffc05).w(FUNC(xavix2_state::irq_clear_w));
}
uint32_t xavix2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@@ -250,9 +260,6 @@ uint32_t xavix2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
void xavix2_state::machine_start()
{
m_dma_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(xavix2_state::dma_end), this));
-
- m_maincpu->space(AS_PROGRAM).install_write_tap(0x7c0, 0x7c3, "7c0", [this](offs_t offset, u32 &data, u32 mem_mask) { logerror("write %x, %x @ %x (%x)\n", offset, data, mem_mask, machine().describe_context()); });
- m_maincpu->space(AS_PROGRAM).install_write_tap(0xc00007c0, 0xc00007c3, "7c0", [this](offs_t offset, u32 &data, u32 mem_mask) { logerror("write %x, %x @ %x (%x)\n", offset, data, mem_mask, machine().describe_context()); });
}
void xavix2_state::machine_reset()