mtouchxl: title screen get (nw)

This commit is contained in:
cracyc 2017-04-13 22:23:45 -05:00
parent c33e92afa2
commit bae2414f8b
3 changed files with 19 additions and 3 deletions

View File

@ -40,6 +40,16 @@ void ad1848_device::device_start()
m_timer = timer_alloc(0, nullptr);
m_irq_cb.resolve_safe();
m_drq_cb.resolve_safe();
save_item(NAME(m_regs.idx));
save_item(NAME(m_addr));
save_item(NAME(m_stat));
save_item(NAME(m_sam_cnt));
save_item(NAME(m_samples));
save_item(NAME(m_count));
save_item(NAME(m_play));
save_item(NAME(m_mce));
save_item(NAME(m_trd));
save_item(NAME(m_irq));
}
void ad1848_device::device_reset()
@ -50,6 +60,7 @@ void ad1848_device::device_reset()
m_sam_cnt = 0;
m_samples = 0;
m_play = false;
m_irq = false;
}
READ8_MEMBER(ad1848_device::read)
@ -61,7 +72,7 @@ READ8_MEMBER(ad1848_device::read)
case 1:
return m_regs.idx[m_addr];
case 2:
return m_stat;
return m_stat | (m_irq ? 1 : 0);
case 3:
break; // capture
}
@ -105,6 +116,7 @@ WRITE8_MEMBER(ad1848_device::write)
break;
case 2:
m_irq_cb(CLEAR_LINE);
m_irq = false;
if(m_regs.iface & 1)
m_play = true;
break;
@ -183,6 +195,7 @@ void ad1848_device::device_timer(emu_timer &timer, device_timer_id id, int param
if(m_trd)
m_play = false;
m_irq_cb(ASSERT_LINE);
m_irq = true;
}
m_count = (m_regs.ubase << 8) | m_regs.lbase;
}

View File

@ -53,7 +53,7 @@ private:
uint16_t m_count;
uint32_t m_samples;
uint8_t m_sam_cnt;
bool m_play, m_mce, m_trd;
bool m_play, m_mce, m_trd, m_irq;
devcb_write_line m_irq_cb;
devcb_write_line m_drq_cb;
required_device<dac_word_interface> m_ldac;

View File

@ -168,7 +168,7 @@ static MACHINE_CONFIG_START( at486, mtxl_state )
// on board devices
MCFG_ISA16_SLOT_ADD("mb:isabus","board1", pc_isa16_cards, "ide", true)
MCFG_SLOT_OPTION_MACHINE_CONFIG("ide", cdrom)
MCFG_ISA16_SLOT_ADD("mb:isabus","isa1", pc_isa16_cards, "vga", true)
MCFG_ISA16_SLOT_ADD("mb:isabus","isa1", pc_isa16_cards, "svga_dm", true) // original is a gd-5440
MCFG_DEVICE_ADD("ns16550", NS16550, XTAL_1_8432MHz)
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx))
@ -179,6 +179,9 @@ static MACHINE_CONFIG_START( at486, mtxl_state )
MCFG_AD1848_IRQ_CALLBACK(DEVWRITELINE("mb:pic8259_master", pic8259_device, ir5_w))
MCFG_AD1848_DRQ_CALLBACK(DEVWRITELINE("mb:dma8237_1", am9517a_device, dreq1_w))
MCFG_DEVICE_MODIFY("mb:dma8237_1")
MCFG_I8237_OUT_IOW_1_CB(DEVWRITE8("^cs4231", ad1848_device, dack_w))
// remove the keyboard controller and use the HLE one which allow keys to be unmapped
MCFG_DEVICE_REMOVE("mb:keybc");
MCFG_DEVICE_REMOVE("mb:pc_kbdc");