summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Couriersud <couriersud@users.noreply.github.com>2007-12-26 18:03:32 +0000
committer Couriersud <couriersud@users.noreply.github.com>2007-12-26 18:03:32 +0000
commit6b2a41d6e1c1f0ce6fb210ceb6e7cd8af1572ab7 (patch)
tree8129f49548e9bbae3a9b96f9430623d28ef97112
parent28d23853ae0f6d69080f4d3cb960257502d4be90 (diff)
- documented TRS-02, TKG-02/03 "voice" interface
-rw-r--r--src/mame/audio/dkong.c25
-rw-r--r--src/mame/drivers/dkong.c5
2 files changed, 23 insertions, 7 deletions
diff --git a/src/mame/audio/dkong.c b/src/mame/audio/dkong.c
index 51613860abb..9098e40deee 100644
--- a/src/mame/audio/dkong.c
+++ b/src/mame/audio/dkong.c
@@ -840,6 +840,22 @@ static READ8_HANDLER( dkong_sh_t1_r )
return I8035_T_R(1);
}
+static WRITE8_HANDLER( dkong_voice_w )
+{
+ /* only provided for documentation purposes
+ * not actually used
+ */
+ logerror("dkong_speech_w: 0x%02x\n", data);
+}
+
+static READ8_HANDLER( dkong_voice_status_r )
+{
+ /* only provided for documentation purposes
+ * not actually used
+ */
+ return 0;
+}
+
static READ8_HANDLER( dkong_sh_tune_r )
{
dkong_state *state = Machine->driver_data;
@@ -847,11 +863,11 @@ static READ8_HANDLER( dkong_sh_tune_r )
if ( state->page & 0x40 )
{
- return soundlatch_r(0) & 0x0F;
+ return (soundlatch_r(0) & 0x0F) | (dkong_voice_status_r(0)<<4);
}
else
{
- printf("rom access at pc = %4x\n",activecpu_get_pc());
+ /* printf("rom access at pc = %4x\n",activecpu_get_pc()); */
return (SND[0x1000+(state->page & 7)*256+offset]);
}
}
@@ -909,6 +925,7 @@ static WRITE8_HANDLER( dkong_sh_p2_w )
state->page = (data & 0x47);
}
+
/****************************************************************
*
* I/O Handlers - global
@@ -1094,8 +1111,8 @@ static ADDRESS_MAP_START( dkong_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
ADDRESS_MAP_END
static ADDRESS_MAP_START( dkong_sound_io_map, ADDRESS_SPACE_IO, 8 )
- AM_RANGE(0x00, 0xff) AM_READ(dkong_sh_tune_r)
- AM_RANGE(I8039_bus, I8039_bus) AM_READ(dkong_sh_tune_r)
+ AM_RANGE(0x00, 0xff) AM_READWRITE(dkong_sh_tune_r, dkong_voice_w)
+ AM_RANGE(I8039_bus, I8039_bus) AM_READWRITE(dkong_sh_tune_r, dkong_voice_w)
AM_RANGE(I8039_p1, I8039_p1) AM_READWRITE(dkong_sh_p1_r, dkong_sh_p1_w)
AM_RANGE(I8039_p2, I8039_p2) AM_READWRITE(dkong_sh_p2_r, dkong_sh_p2_w)
AM_RANGE(I8039_t0, I8039_t0) AM_READ(dkong_sh_t0_r)
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index 0437a86028b..733efad71ba 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -11,13 +11,12 @@ TODO:
- dkong3 dma (Z80 dma)
- implement 74LS259 (8bit addressable latches),
74LS175 (QUAD D FlipFlop), 74LS373 (Octal transparent latch)
-- for documentation: hook up speech interface still present on radarscp (TRS02)
- and early dkong (TKG02/TKG03) pcbs.
- Minor priority since no records known where this has been used.
Done:
- when i am retired: implement 8257 DMA controller
- drakton - add dkongjr conversion
+- for documentation: hook up speech interface still present on radarscp (TRS02)
+ and early dkong (TKG02/TKG03) pcbs.
- radarscp_grid_color_w() is wrong, it probably isn't supposed to change
the grid color. There are reports of the grid being constantly blue in
the real game, the flyer confirms this.