Misc (nw)

This commit is contained in:
Olivier Galibert 2020-02-13 22:04:59 +01:00
parent f907c7bfd5
commit 544eb0f00d
2 changed files with 11 additions and 4 deletions

View File

@ -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));

View File

@ -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()