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

View File

@ -53,7 +53,7 @@ private:
uint16_t m_count; uint16_t m_count;
uint32_t m_samples; uint32_t m_samples;
uint8_t m_sam_cnt; 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_irq_cb;
devcb_write_line m_drq_cb; devcb_write_line m_drq_cb;
required_device<dac_word_interface> m_ldac; required_device<dac_word_interface> m_ldac;

View File

@ -168,7 +168,7 @@ static MACHINE_CONFIG_START( at486, mtxl_state )
// on board devices // on board devices
MCFG_ISA16_SLOT_ADD("mb:isabus","board1", pc_isa16_cards, "ide", true) MCFG_ISA16_SLOT_ADD("mb:isabus","board1", pc_isa16_cards, "ide", true)
MCFG_SLOT_OPTION_MACHINE_CONFIG("ide", cdrom) 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_DEVICE_ADD("ns16550", NS16550, XTAL_1_8432MHz)
MCFG_INS8250_OUT_TX_CB(DEVWRITELINE("microtouch", microtouch_device, rx)) 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_IRQ_CALLBACK(DEVWRITELINE("mb:pic8259_master", pic8259_device, ir5_w))
MCFG_AD1848_DRQ_CALLBACK(DEVWRITELINE("mb:dma8237_1", am9517a_device, dreq1_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 // remove the keyboard controller and use the HLE one which allow keys to be unmapped
MCFG_DEVICE_REMOVE("mb:keybc"); MCFG_DEVICE_REMOVE("mb:keybc");
MCFG_DEVICE_REMOVE("mb:pc_kbdc"); MCFG_DEVICE_REMOVE("mb:pc_kbdc");