diff options
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 |
commit | 6b2a41d6e1c1f0ce6fb210ceb6e7cd8af1572ab7 (patch) | |
tree | 8129f49548e9bbae3a9b96f9430623d28ef97112 | |
parent | 28d23853ae0f6d69080f4d3cb960257502d4be90 (diff) |
- documented TRS-02, TKG-02/03 "voice" interface
-rw-r--r-- | src/mame/audio/dkong.c | 25 | ||||
-rw-r--r-- | src/mame/drivers/dkong.c | 5 |
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. |