irq 2 is certainly used somehow, I don't know yet where tho ... (it apparently fixes sound not triggered at some point)

This commit is contained in:
Angelo Salese 2015-04-01 00:12:08 +02:00
parent 54abb65ad7
commit 782c39227f

View File

@ -194,7 +194,7 @@ WRITE16_MEMBER(hng64_state::hng64_sound_port_0008_w)
// logerror("hng64_sound_port_0008_w %04x %04x\n", data, mem_mask);
// seems to one or more of the DMARQ on the V53, writes here when it expects DMA channel 3 to transfer ~0x20 bytes just after startup
printf("transfer\n");
m_audiocpu->dreq3_w(data&1);
// m_audiocpu->hack_w(1);
@ -339,6 +339,9 @@ WRITE_LINE_MEMBER(hng64_state::tcu_tm1_cb)
// these are very active, maybe they feed back into the v53 via one of the IRQ pins? TM2 toggles more rapidly than TM1
// logerror("tcu_tm1_cb %02x\n", state);
//m_audiocpu->set_input_line(5, state? ASSERT_LINE:CLEAR_LINE); // not accurate, just so we have a trigger
/* Almost likely wrong */
m_audiocpu->set_input_line(2, state? ASSERT_LINE :CLEAR_LINE);
}
WRITE_LINE_MEMBER(hng64_state::tcu_tm2_cb)
@ -347,10 +350,28 @@ WRITE_LINE_MEMBER(hng64_state::tcu_tm2_cb)
// logerror("tcu_tm2_cb %02x\n", state);
// NOT ACCURATE, just so that all the interrupts get triggered for now.
//static int i = 0;
//m_audiocpu->set_input_line(i, state? ASSERT_LINE:CLEAR_LINE);
#if 0
static int i;
if(machine().input().code_pressed_once(KEYCODE_Z))
i++;
if(machine().input().code_pressed_once(KEYCODE_X))
i--;
if(i < 0)
i = 0;
if(i > 7)
i = 7;
printf("trigger %02x %d\n",i,state);
//if(machine().input().code_pressed_once(KEYCODE_C))
{
m_audiocpu->set_input_line(i, state? ASSERT_LINE :CLEAR_LINE);
}
//i++;
//if (i == 3) i = 0;
#endif
}