diff options
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 |
commit | 9d91b7639636be02c806ee95cc4b22a3f1a3957c (patch) | |
tree | 3546870daca1833e25620d6086675a33e2340729 /src/mame/drivers/hng64.c | |
parent | 2123f510df1b623ef147e9274f5768bf33a9b7f1 (diff) |
Added proper sound comms for hng64 [Angelo Salese]
Diffstat (limited to 'src/mame/drivers/hng64.c')
-rw-r--r-- | src/mame/drivers/hng64.c | 41 |
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 |