A couple of sound-related fixes but still no speech :(

This commit is contained in:
Phil Bennett 2008-12-26 11:08:13 +00:00
parent 2f93f0042f
commit 7827134d61

View File

@ -17,11 +17,11 @@
* Hold '*' during the game to access the operator menu. * Hold '*' during the game to access the operator menu.
Todo: Todo:
* TMS5220 speech? The game sends speech play commands to the sound * TMS5220 speech. The game is sending speech play commands to
CPU but they're ignored. The speech data seems to be stored in the sound CPU but any speech code greater than 2 is ignored (see $EC26).
the upper half of the (banked) sound data ROMs but this is never I think most of the speech data is stored in the upper half of the
accessed. Maybe the speech data was unfinished and only the later banked sound data ROMs but I don't know how or when the ROM
version of Turbo Sub has speech? bank is switched :/
* Determine if line drop outs occur on real hardware. Overclocking * Determine if line drop outs occur on real hardware. Overclocking
the RIP CPU eliminates them. the RIP CPU eliminates them.
@ -68,12 +68,12 @@ static UINT8 dac_msb;
static UINT8 dac_vol; static UINT8 dac_vol;
static UINT8 tms_data; static UINT8 tms_data;
/* Video */ /* Frame/Video CPU shared RAM */
static UINT8 *fdt_a; static UINT8 *fdt_a;
static UINT8 *fdt_b; static UINT8 *fdt_b;
static int _fasel = 0; static int _fasel = 0;
static int _fbsel = 1; static int _fbsel = 1;
//static int fig = 0;
/************************************* /*************************************
* *
@ -88,7 +88,7 @@ static void ptm_irq(running_machine *machine, int state)
static const ptm6840_interface ptm_intf = static const ptm6840_interface ptm_intf =
{ {
2000000, XTAL_8MHz / 4,
{ 0, 0, 0 }, { 0, 0, 0 },
{ NULL, NULL, NULL }, { NULL, NULL, NULL },
ptm_irq ptm_irq
@ -305,7 +305,7 @@ static READ8_HANDLER( g_iobus_r )
switch (g_ioaddr & 0x7f) switch (g_ioaddr & 0x7f)
{ {
case 0: case 0:
return s_to_g_latch2; return s_to_g_latch2 & 0x3f;
case 3: case 3:
return s_to_g_latch1; return s_to_g_latch1;
case 5: case 5:
@ -536,7 +536,7 @@ static WRITE8_HANDLER( s_200f_w )
cpu_set_input_line(space->machine->cpu[ESRIPSYS_SOUND_CPU], M6809_IRQ_LINE, CLEAR_LINE); cpu_set_input_line(space->machine->cpu[ESRIPSYS_SOUND_CPU], M6809_IRQ_LINE, CLEAR_LINE);
} }
if (!(s_to_g_latch2 & 0x40) && (data & 0x40)) if (!(s_to_g_latch2 & 0x80) && (data & 0x80))
u56b = 1; u56b = 1;
s_to_g_latch2 = data; s_to_g_latch2 = data;
@ -561,6 +561,7 @@ static READ8_HANDLER( tms5220_r )
return 0xff; return 0xff;
} }
/* TODO: Implement correctly using the state PROM */
static WRITE8_HANDLER( tms5220_w ) static WRITE8_HANDLER( tms5220_w )
{ {
if (offset == 0) if (offset == 0)
@ -714,7 +715,7 @@ static MACHINE_DRIVER_START( esripsys )
MDRV_CPU_ADD("frame_cpu", M6809E, XTAL_8MHz) MDRV_CPU_ADD("frame_cpu", M6809E, XTAL_8MHz)
MDRV_CPU_PROGRAM_MAP(frame_cpu_map, 0) MDRV_CPU_PROGRAM_MAP(frame_cpu_map, 0)
MDRV_CPU_ADD("video_cpu", ESRIP, XTAL_40MHz/4) MDRV_CPU_ADD("video_cpu", ESRIP, XTAL_40MHz / 4)
MDRV_CPU_PROGRAM_MAP(video_cpu_map, 0) MDRV_CPU_PROGRAM_MAP(video_cpu_map, 0)
MDRV_CPU_CONFIG(rip_config) MDRV_CPU_CONFIG(rip_config)
@ -987,5 +988,5 @@ ROM_END
* *
*************************************/ *************************************/
GAME( 1985, turbosub, 0, esripsys, turbosub, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSCA)", 0 ) GAME( 1985, turbosub, 0, esripsys, turbosub, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSCA)", GAME_IMPERFECT_SOUND )
GAME( 1985, turbosba, turbosub, esripsys, turbosub, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSC6)", 0 ) GAME( 1985, turbosba, turbosub, esripsys, turbosub, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSC6)", GAME_IMPERFECT_SOUND )