summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <salese_corp_ltd@email.it>2015-04-01 00:12:08 +0200
committer Angelo Salese <salese_corp_ltd@email.it>2015-04-01 00:12:08 +0200
commit782c39227f5271b4c599251f0c71c0ef024ac8b4 (patch)
tree5c8ade14ee80fb0f72db5f862999755dcef385aa
parent54abb65ad790972565815d6c94a5bc3d98f458db (diff)
irq 2 is certainly used somehow, I don't know yet where tho ... (it apparently fixes sound not triggered at some point)
-rw-r--r--src/mame/audio/hng64.c27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/mame/audio/hng64.c b/src/mame/audio/hng64.c
index 22306e67973..796fa4e1901 100644
--- a/src/mame/audio/hng64.c
+++ b/src/mame/audio/hng64.c
@@ -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
}