diff options
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 |
commit | 6efea79875abc3472e7a4130fb0536d14884746d (patch) | |
tree | b987a2926049d03d251902d83878ee2d534fb8c8 | |
parent | 460251addd46124fe3ba38ae170f8b3da2330de6 (diff) | |
parent | 544eb0f00de15c2781c0a989a77ced3e59da877f (diff) |
Merge branch 'master' of https://github.com/mamedev/mame
-rw-r--r-- | src/mame/drivers/tulip1.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/xavix2.cpp | 13 |
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() |