summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/hng64.c
diff options
context:
space:
mode:
author Angelo Salese <salese_corp_ltd@email.it>2015-03-31 21:58:56 +0200
committer Angelo Salese <salese_corp_ltd@email.it>2015-03-31 21:58:56 +0200
commit9d91b7639636be02c806ee95cc4b22a3f1a3957c (patch)
tree3546870daca1833e25620d6086675a33e2340729 /src/mame/drivers/hng64.c
parent2123f510df1b623ef147e9274f5768bf33a9b7f1 (diff)
Added proper sound comms for hng64 [Angelo Salese]
Diffstat (limited to 'src/mame/drivers/hng64.c')
-rw-r--r--src/mame/drivers/hng64.c41
1 files changed, 38 insertions, 3 deletions
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index 7046dccd0c6..d3e9a96b7b7 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -922,6 +922,43 @@ WRITE32_MEMBER(hng64_state::hng64_vregs_w)
COMBINE_DATA(&m_videoregs[offset]);
}
+READ16_MEMBER(hng64_state::main_sound_comms_r)
+{
+ switch(offset *2)
+ {
+ case 0x04:
+ return sound_latch[0];
+ case 0x06:
+ return sound_latch[1];
+ default:
+ printf("%08x R\n",offset*2);
+ break;
+ }
+ return 0;
+}
+
+WRITE16_MEMBER(hng64_state::main_sound_comms_w)
+{
+ switch(offset * 2)
+ {
+ case 0x00:
+ COMBINE_DATA(&main_latch[0]);
+ break;
+ case 0x02:
+ COMBINE_DATA(&main_latch[1]);
+ break;
+ case 0x08:
+ m_audiocpu->set_input_line(5, ASSERT_LINE);
+ if(data != 1)
+ printf("IRQ send %02x?\n",data);
+ break;
+ default:
+ printf("%02x %04x\n",offset*2,data);
+ break;
+ }
+}
+
+
static ADDRESS_MAP_START( hng_map, AS_PROGRAM, 32, hng64_state )
AM_RANGE(0x00000000, 0x00ffffff) AM_RAM AM_SHARE("mainram")
@@ -963,9 +1000,7 @@ static ADDRESS_MAP_START( hng_map, AS_PROGRAM, 32, hng64_state )
AM_RANGE(0x60200000, 0x603fffff) AM_READWRITE(hng64_soundram_r, hng64_soundram_w) // program + data for V53A gets uploaded here
// These are sound ports of some sort
-// AM_RANGE(0x68000000, 0x68000003) AM_WRITENOP // ??
-// AM_RANGE(0x68000004, 0x68000007) AM_READNOP // ??
-// AM_RANGE(0x68000008, 0x6800000b) AM_WRITENOP // ??
+ AM_RANGE(0x68000000, 0x6800000f) AM_READWRITE16(main_sound_comms_r,main_sound_comms_w,0xffffffff)
AM_RANGE(0x6f000000, 0x6f000003) AM_WRITE(hng64_soundcpu_enable_w)
// Communications