mirror of
https://github.com/holub/mame
synced 2025-06-23 12:58:37 +03:00
v25: Add more interrupt SFRs, including underpinnings for macro service (nw)
This commit is contained in:
parent
1cab21dc41
commit
a53c0b4612
@ -194,6 +194,7 @@ void v25_common_device::device_reset()
|
|||||||
m_ParityVal = 1;
|
m_ParityVal = 1;
|
||||||
m_pending_irq = 0;
|
m_pending_irq = 0;
|
||||||
m_unmasked_irq = INT_IRQ | NMI_IRQ;
|
m_unmasked_irq = INT_IRQ | NMI_IRQ;
|
||||||
|
m_macro_service = 0;
|
||||||
m_bankswitch_irq = 0;
|
m_bankswitch_irq = 0;
|
||||||
m_priority_inttu = 7;
|
m_priority_inttu = 7;
|
||||||
m_priority_intd = 7;
|
m_priority_intd = 7;
|
||||||
@ -205,9 +206,7 @@ void v25_common_device::device_reset()
|
|||||||
m_irq_state = 0;
|
m_irq_state = 0;
|
||||||
m_poll_state = 1;
|
m_poll_state = 1;
|
||||||
m_mode_state = m_MF = (m_v25v35_decryptiontable) ? 0 : 1;
|
m_mode_state = m_MF = (m_v25v35_decryptiontable) ? 0 : 1;
|
||||||
m_intp_state[0] = 0;
|
m_intm = 0;
|
||||||
m_intp_state[1] = 0;
|
|
||||||
m_intp_state[2] = 0;
|
|
||||||
m_halted = 0;
|
m_halted = 0;
|
||||||
|
|
||||||
m_TM0 = m_MD0 = m_TM1 = m_MD1 = 0;
|
m_TM0 = m_MD0 = m_TM1 = m_MD1 = 0;
|
||||||
@ -464,6 +463,12 @@ void v25_common_device::device_start()
|
|||||||
for (i = 0; i < 4; i++)
|
for (i = 0; i < 4; i++)
|
||||||
m_timers[i] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(v25_common_device::v25_timer_callback),this));
|
m_timers[i] = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(v25_common_device::v25_timer_callback),this));
|
||||||
|
|
||||||
|
std::fill_n(&m_intp_state[0], 3, 0);
|
||||||
|
std::fill_n(&m_ems[0], 3, 0);
|
||||||
|
std::fill_n(&m_srms[0], 2, 0);
|
||||||
|
std::fill_n(&m_stms[0], 2, 0);
|
||||||
|
std::fill_n(&m_tmms[0], 3, 0);
|
||||||
|
|
||||||
save_item(NAME(m_intp_state));
|
save_item(NAME(m_intp_state));
|
||||||
|
|
||||||
save_item(NAME(m_ip));
|
save_item(NAME(m_ip));
|
||||||
@ -484,12 +489,17 @@ void v25_common_device::device_start()
|
|||||||
save_item(NAME(m_ParityVal));
|
save_item(NAME(m_ParityVal));
|
||||||
save_item(NAME(m_pending_irq));
|
save_item(NAME(m_pending_irq));
|
||||||
save_item(NAME(m_unmasked_irq));
|
save_item(NAME(m_unmasked_irq));
|
||||||
|
save_item(NAME(m_macro_service));
|
||||||
save_item(NAME(m_bankswitch_irq));
|
save_item(NAME(m_bankswitch_irq));
|
||||||
save_item(NAME(m_priority_inttu));
|
save_item(NAME(m_priority_inttu));
|
||||||
save_item(NAME(m_priority_intd));
|
save_item(NAME(m_priority_intd));
|
||||||
save_item(NAME(m_priority_intp));
|
save_item(NAME(m_priority_intp));
|
||||||
save_item(NAME(m_priority_ints0));
|
save_item(NAME(m_priority_ints0));
|
||||||
save_item(NAME(m_priority_ints1));
|
save_item(NAME(m_priority_ints1));
|
||||||
|
save_item(NAME(m_ems));
|
||||||
|
save_item(NAME(m_srms));
|
||||||
|
save_item(NAME(m_stms));
|
||||||
|
save_item(NAME(m_tmms));
|
||||||
save_item(NAME(m_IRQS));
|
save_item(NAME(m_IRQS));
|
||||||
save_item(NAME(m_ISPR));
|
save_item(NAME(m_ISPR));
|
||||||
save_item(NAME(m_nmi_state));
|
save_item(NAME(m_nmi_state));
|
||||||
@ -497,6 +507,7 @@ void v25_common_device::device_start()
|
|||||||
save_item(NAME(m_poll_state));
|
save_item(NAME(m_poll_state));
|
||||||
save_item(NAME(m_mode_state));
|
save_item(NAME(m_mode_state));
|
||||||
save_item(NAME(m_no_interrupt));
|
save_item(NAME(m_no_interrupt));
|
||||||
|
save_item(NAME(m_intm));
|
||||||
save_item(NAME(m_halted));
|
save_item(NAME(m_halted));
|
||||||
save_item(NAME(m_TM0));
|
save_item(NAME(m_TM0));
|
||||||
save_item(NAME(m_MD0));
|
save_item(NAME(m_MD0));
|
||||||
|
@ -88,14 +88,20 @@ private:
|
|||||||
/* interrupt related */
|
/* interrupt related */
|
||||||
uint32_t m_pending_irq;
|
uint32_t m_pending_irq;
|
||||||
uint32_t m_unmasked_irq;
|
uint32_t m_unmasked_irq;
|
||||||
|
uint32_t m_macro_service;
|
||||||
uint32_t m_bankswitch_irq;
|
uint32_t m_bankswitch_irq;
|
||||||
uint8_t m_priority_inttu, m_priority_intd, m_priority_intp, m_priority_ints0, m_priority_ints1;
|
uint8_t m_priority_inttu, m_priority_intd, m_priority_intp, m_priority_ints0, m_priority_ints1;
|
||||||
|
uint8_t m_ems[3];
|
||||||
|
uint8_t m_srms[2];
|
||||||
|
uint8_t m_stms[2];
|
||||||
|
uint8_t m_tmms[3];
|
||||||
uint8_t m_IRQS, m_ISPR;
|
uint8_t m_IRQS, m_ISPR;
|
||||||
uint32_t m_nmi_state;
|
uint32_t m_nmi_state;
|
||||||
uint32_t m_irq_state;
|
uint32_t m_irq_state;
|
||||||
uint32_t m_poll_state;
|
uint32_t m_poll_state;
|
||||||
uint32_t m_mode_state;
|
uint32_t m_mode_state;
|
||||||
uint32_t m_intp_state[3];
|
uint32_t m_intp_state[3];
|
||||||
|
uint8_t m_intm;
|
||||||
uint8_t m_no_interrupt;
|
uint8_t m_no_interrupt;
|
||||||
uint8_t m_halted;
|
uint8_t m_halted;
|
||||||
|
|
||||||
@ -175,12 +181,36 @@ private:
|
|||||||
void pmc2_w(uint8_t d);
|
void pmc2_w(uint8_t d);
|
||||||
uint8_t pt_r();
|
uint8_t pt_r();
|
||||||
void pmt_w(uint8_t d);
|
void pmt_w(uint8_t d);
|
||||||
|
uint8_t intm_r();
|
||||||
|
void intm_w(uint8_t d);
|
||||||
|
uint8_t ems_r(offs_t a);
|
||||||
|
void ems_w(offs_t a, uint8_t d);
|
||||||
uint8_t exic0_r();
|
uint8_t exic0_r();
|
||||||
void exic0_w(uint8_t d);
|
void exic0_w(uint8_t d);
|
||||||
uint8_t exic1_r();
|
uint8_t exic1_r();
|
||||||
void exic1_w(uint8_t d);
|
void exic1_w(uint8_t d);
|
||||||
uint8_t exic2_r();
|
uint8_t exic2_r();
|
||||||
void exic2_w(uint8_t d);
|
void exic2_w(uint8_t d);
|
||||||
|
uint8_t srms0_r();
|
||||||
|
void srms0_w(uint8_t d);
|
||||||
|
uint8_t stms0_r();
|
||||||
|
void stms0_w(uint8_t d);
|
||||||
|
uint8_t seic0_r();
|
||||||
|
void seic0_w(uint8_t d);
|
||||||
|
uint8_t sric0_r();
|
||||||
|
void sric0_w(uint8_t d);
|
||||||
|
uint8_t stic0_r();
|
||||||
|
void stic0_w(uint8_t d);
|
||||||
|
uint8_t srms1_r();
|
||||||
|
void srms1_w(uint8_t d);
|
||||||
|
uint8_t stms1_r();
|
||||||
|
void stms1_w(uint8_t d);
|
||||||
|
uint8_t seic1_r();
|
||||||
|
void seic1_w(uint8_t d);
|
||||||
|
uint8_t sric1_r();
|
||||||
|
void sric1_w(uint8_t d);
|
||||||
|
uint8_t stic1_r();
|
||||||
|
void stic1_w(uint8_t d);
|
||||||
uint16_t tm0_r();
|
uint16_t tm0_r();
|
||||||
void tm0_w(uint16_t d);
|
void tm0_w(uint16_t d);
|
||||||
uint16_t md0_r();
|
uint16_t md0_r();
|
||||||
@ -191,6 +221,8 @@ private:
|
|||||||
void md1_w(uint16_t d);
|
void md1_w(uint16_t d);
|
||||||
void tmc0_w(uint8_t d);
|
void tmc0_w(uint8_t d);
|
||||||
void tmc1_w(uint8_t d);
|
void tmc1_w(uint8_t d);
|
||||||
|
uint8_t tmms_r(offs_t a);
|
||||||
|
void tmms_w(offs_t a, uint8_t d);
|
||||||
uint8_t tmic0_r();
|
uint8_t tmic0_r();
|
||||||
void tmic0_w(uint8_t d);
|
void tmic0_w(uint8_t d);
|
||||||
uint8_t tmic1_r();
|
uint8_t tmic1_r();
|
||||||
|
@ -24,15 +24,28 @@ void v25_common_device::ida_sfr_map(address_map &map)
|
|||||||
map(0x112, 0x112).w(FUNC(v25_common_device::pmc2_w));
|
map(0x112, 0x112).w(FUNC(v25_common_device::pmc2_w));
|
||||||
map(0x138, 0x138).r(FUNC(v25_common_device::pt_r));
|
map(0x138, 0x138).r(FUNC(v25_common_device::pt_r));
|
||||||
map(0x13b, 0x13b).w(FUNC(v25_common_device::pmt_w));
|
map(0x13b, 0x13b).w(FUNC(v25_common_device::pmt_w));
|
||||||
|
map(0x140, 0x140).rw(FUNC(v25_common_device::intm_r), FUNC(v25_common_device::intm_w));
|
||||||
|
map(0x144, 0x146).rw(FUNC(v25_common_device::ems_r), FUNC(v25_common_device::ems_w));
|
||||||
map(0x14c, 0x14c).rw(FUNC(v25_common_device::exic0_r), FUNC(v25_common_device::exic0_w));
|
map(0x14c, 0x14c).rw(FUNC(v25_common_device::exic0_r), FUNC(v25_common_device::exic0_w));
|
||||||
map(0x14d, 0x14d).rw(FUNC(v25_common_device::exic1_r), FUNC(v25_common_device::exic1_w));
|
map(0x14d, 0x14d).rw(FUNC(v25_common_device::exic1_r), FUNC(v25_common_device::exic1_w));
|
||||||
map(0x14e, 0x14e).rw(FUNC(v25_common_device::exic2_r), FUNC(v25_common_device::exic2_w));
|
map(0x14e, 0x14e).rw(FUNC(v25_common_device::exic2_r), FUNC(v25_common_device::exic2_w));
|
||||||
|
map(0x165, 0x165).rw(FUNC(v25_common_device::srms0_r), FUNC(v25_common_device::srms0_w));
|
||||||
|
map(0x166, 0x166).rw(FUNC(v25_common_device::stms0_r), FUNC(v25_common_device::stms0_w));
|
||||||
|
map(0x16c, 0x16c).rw(FUNC(v25_common_device::seic0_r), FUNC(v25_common_device::seic0_w));
|
||||||
|
map(0x16d, 0x16d).rw(FUNC(v25_common_device::sric0_r), FUNC(v25_common_device::sric0_w));
|
||||||
|
map(0x16e, 0x16e).rw(FUNC(v25_common_device::stic0_r), FUNC(v25_common_device::stic0_w));
|
||||||
|
map(0x175, 0x175).rw(FUNC(v25_common_device::srms1_r), FUNC(v25_common_device::srms1_w));
|
||||||
|
map(0x176, 0x176).rw(FUNC(v25_common_device::stms1_r), FUNC(v25_common_device::stms1_w));
|
||||||
|
map(0x17c, 0x17c).rw(FUNC(v25_common_device::seic1_r), FUNC(v25_common_device::seic1_w));
|
||||||
|
map(0x17d, 0x17d).rw(FUNC(v25_common_device::sric1_r), FUNC(v25_common_device::sric1_w));
|
||||||
|
map(0x17e, 0x17e).rw(FUNC(v25_common_device::stic1_r), FUNC(v25_common_device::stic1_w));
|
||||||
map(0x180, 0x181).rw(FUNC(v25_common_device::tm0_r), FUNC(v25_common_device::tm0_w));
|
map(0x180, 0x181).rw(FUNC(v25_common_device::tm0_r), FUNC(v25_common_device::tm0_w));
|
||||||
map(0x182, 0x183).rw(FUNC(v25_common_device::md0_r), FUNC(v25_common_device::md0_w));
|
map(0x182, 0x183).rw(FUNC(v25_common_device::md0_r), FUNC(v25_common_device::md0_w));
|
||||||
map(0x188, 0x189).rw(FUNC(v25_common_device::tm1_r), FUNC(v25_common_device::tm1_w));
|
map(0x188, 0x189).rw(FUNC(v25_common_device::tm1_r), FUNC(v25_common_device::tm1_w));
|
||||||
map(0x18a, 0x18b).rw(FUNC(v25_common_device::md1_r), FUNC(v25_common_device::md1_w));
|
map(0x18a, 0x18b).rw(FUNC(v25_common_device::md1_r), FUNC(v25_common_device::md1_w));
|
||||||
map(0x190, 0x190).w(FUNC(v25_common_device::tmc0_w));
|
map(0x190, 0x190).w(FUNC(v25_common_device::tmc0_w));
|
||||||
map(0x191, 0x191).w(FUNC(v25_common_device::tmc1_w));
|
map(0x191, 0x191).w(FUNC(v25_common_device::tmc1_w));
|
||||||
|
map(0x194, 0x196).rw(FUNC(v25_common_device::tmms_r), FUNC(v25_common_device::tmms_w));
|
||||||
map(0x19c, 0x19c).rw(FUNC(v25_common_device::tmic0_r), FUNC(v25_common_device::tmic0_w));
|
map(0x19c, 0x19c).rw(FUNC(v25_common_device::tmic0_r), FUNC(v25_common_device::tmic0_w));
|
||||||
map(0x19d, 0x19d).rw(FUNC(v25_common_device::tmic1_r), FUNC(v25_common_device::tmic1_w));
|
map(0x19d, 0x19d).rw(FUNC(v25_common_device::tmic1_r), FUNC(v25_common_device::tmic1_w));
|
||||||
map(0x19e, 0x19e).rw(FUNC(v25_common_device::tmic2_r), FUNC(v25_common_device::tmic2_w));
|
map(0x19e, 0x19e).rw(FUNC(v25_common_device::tmic2_r), FUNC(v25_common_device::tmic2_w));
|
||||||
@ -50,6 +63,7 @@ uint8_t v25_common_device::read_irqcontrol(int /*INTSOURCES*/ source, uint8_t pr
|
|||||||
{
|
{
|
||||||
return (((m_pending_irq & source) ? 0x80 : 0x00)
|
return (((m_pending_irq & source) ? 0x80 : 0x00)
|
||||||
| ((m_unmasked_irq & source) ? 0x00 : 0x40)
|
| ((m_unmasked_irq & source) ? 0x00 : 0x40)
|
||||||
|
| ((m_macro_service & source) ? 0x20 : 0x00)
|
||||||
| ((m_bankswitch_irq & source) ? 0x10 : 0x00)
|
| ((m_bankswitch_irq & source) ? 0x10 : 0x00)
|
||||||
| priority);
|
| priority);
|
||||||
}
|
}
|
||||||
@ -67,7 +81,12 @@ void v25_common_device::write_irqcontrol(int /*INTSOURCES*/ source, uint8_t d)
|
|||||||
m_unmasked_irq |= source;
|
m_unmasked_irq |= source;
|
||||||
|
|
||||||
if (BIT(d, 5))
|
if (BIT(d, 5))
|
||||||
|
{
|
||||||
logerror("%06x: Warning: macro service function not implemented\n",PC());
|
logerror("%06x: Warning: macro service function not implemented\n",PC());
|
||||||
|
m_macro_service |= source;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_macro_service &= ~source;
|
||||||
|
|
||||||
if (BIT(d, 4))
|
if (BIT(d, 4))
|
||||||
m_bankswitch_irq |= source;
|
m_bankswitch_irq |= source;
|
||||||
@ -151,6 +170,28 @@ void v25_common_device::pmt_w(uint8_t d)
|
|||||||
logerror("%06x: PMT set to %02x\n", PC(), d);
|
logerror("%06x: PMT set to %02x\n", PC(), d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::intm_r()
|
||||||
|
{
|
||||||
|
return m_intm;
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::intm_w(uint8_t d)
|
||||||
|
{
|
||||||
|
logerror("%06x: INTM set to %02x\n", PC(), d & 0x55);
|
||||||
|
m_intm = d & 0x55;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::ems_r(offs_t a)
|
||||||
|
{
|
||||||
|
return m_ems[a];
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::ems_w(offs_t a, uint8_t d)
|
||||||
|
{
|
||||||
|
logerror("%06x: EMS%d set to %02x\n", PC(), a, d & 0xf7);
|
||||||
|
m_ems[a] = d & 0xf7;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t v25_common_device::exic0_r()
|
uint8_t v25_common_device::exic0_r()
|
||||||
{
|
{
|
||||||
return read_irqcontrol(INTP0, m_priority_intp);
|
return read_irqcontrol(INTP0, m_priority_intp);
|
||||||
@ -182,6 +223,118 @@ void v25_common_device::exic2_w(uint8_t d)
|
|||||||
write_irqcontrol(INTP2, d);
|
write_irqcontrol(INTP2, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::srms0_r()
|
||||||
|
{
|
||||||
|
return m_srms[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::srms0_w(uint8_t d)
|
||||||
|
{
|
||||||
|
logerror("%06x: SRMS0 set to %02x\n", PC(), d & 0xf7);
|
||||||
|
m_srms[0] = d & 0xf7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::stms0_r()
|
||||||
|
{
|
||||||
|
return m_stms[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::stms0_w(uint8_t d)
|
||||||
|
{
|
||||||
|
logerror("%06x: STMS0 set to %02x\n", PC(), d & 0xf7);
|
||||||
|
m_stms[0] = d & 0xf7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::seic0_r()
|
||||||
|
{
|
||||||
|
return read_irqcontrol(INTSER0, m_priority_ints0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::seic0_w(uint8_t d)
|
||||||
|
{
|
||||||
|
// no macro service for error interrupt
|
||||||
|
write_irqcontrol(INTSER0, d & 0xbf);
|
||||||
|
m_priority_ints0 = d & 0x7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::sric0_r()
|
||||||
|
{
|
||||||
|
return read_irqcontrol(INTSR0, m_priority_ints0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::sric0_w(uint8_t d)
|
||||||
|
{
|
||||||
|
write_irqcontrol(INTSR0, d);
|
||||||
|
m_priority_ints0 = d & 0x7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::stic0_r()
|
||||||
|
{
|
||||||
|
return read_irqcontrol(INTST0, m_priority_ints0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::stic0_w(uint8_t d)
|
||||||
|
{
|
||||||
|
write_irqcontrol(INTST0, d);
|
||||||
|
m_priority_ints0 = d & 0x7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::srms1_r()
|
||||||
|
{
|
||||||
|
return m_srms[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::srms1_w(uint8_t d)
|
||||||
|
{
|
||||||
|
logerror("%06x: SRMS1 set to %02x\n", PC(), d & 0xf7);
|
||||||
|
m_srms[1] = d & 0xf7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::stms1_r()
|
||||||
|
{
|
||||||
|
return m_stms[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::stms1_w(uint8_t d)
|
||||||
|
{
|
||||||
|
logerror("%06x: STMS1 set to %02x\n", PC(), d & 0xf7);
|
||||||
|
m_stms[1] = d & 0xf7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::seic1_r()
|
||||||
|
{
|
||||||
|
return read_irqcontrol(INTSER1, m_priority_ints1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::seic1_w(uint8_t d)
|
||||||
|
{
|
||||||
|
// no macro service for error interrupt
|
||||||
|
write_irqcontrol(INTSER1, d & 0xbf);
|
||||||
|
m_priority_ints1 = d & 0x7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::sric1_r()
|
||||||
|
{
|
||||||
|
return read_irqcontrol(INTSR1, m_priority_ints1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::sric1_w(uint8_t d)
|
||||||
|
{
|
||||||
|
write_irqcontrol(INTSR1, d);
|
||||||
|
m_priority_ints1 = d & 0x7;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::stic1_r()
|
||||||
|
{
|
||||||
|
return read_irqcontrol(INTST1, m_priority_ints1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::stic1_w(uint8_t d)
|
||||||
|
{
|
||||||
|
write_irqcontrol(INTST1, d);
|
||||||
|
m_priority_ints1 = d & 0x7;
|
||||||
|
}
|
||||||
|
|
||||||
uint16_t v25_common_device::tm0_r()
|
uint16_t v25_common_device::tm0_r()
|
||||||
{
|
{
|
||||||
if (!machine().side_effects_disabled())
|
if (!machine().side_effects_disabled())
|
||||||
@ -285,6 +438,17 @@ void v25_common_device::tmc1_w(uint8_t d)
|
|||||||
m_timers[2]->adjust(attotime::never);
|
m_timers[2]->adjust(attotime::never);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t v25_common_device::tmms_r(offs_t a)
|
||||||
|
{
|
||||||
|
return m_tmms[a];
|
||||||
|
}
|
||||||
|
|
||||||
|
void v25_common_device::tmms_w(offs_t a, uint8_t d)
|
||||||
|
{
|
||||||
|
logerror("%06x: TMMS%d set to %02x\n", PC(), a, d & 0xf7);
|
||||||
|
m_tmms[a] = d & 0xf7;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t v25_common_device::tmic0_r()
|
uint8_t v25_common_device::tmic0_r()
|
||||||
{
|
{
|
||||||
return read_irqcontrol(INTTU0, m_priority_inttu);
|
return read_irqcontrol(INTTU0, m_priority_inttu);
|
||||||
|
Loading…
Reference in New Issue
Block a user