mirror of
https://github.com/holub/mame
synced 2025-10-04 08:28:39 +03:00
Reorganizing the exidy audio hardware code. Only checking in because of the missing file victory.h
This commit is contained in:
parent
41c8fd0d37
commit
679ddd69b8
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -1022,7 +1022,6 @@ src/mame/audio/atarijsa.h svneol=native#text/plain
|
||||
src/mame/audio/attckufo.c svneol=native#text/plain
|
||||
src/mame/audio/avalnche.c svneol=native#text/plain
|
||||
src/mame/audio/aztarac.c svneol=native#text/plain
|
||||
src/mame/audio/berzerk.c svneol=native#text/plain
|
||||
src/mame/audio/blockade.c svneol=native#text/plain
|
||||
src/mame/audio/bsktball.c svneol=native#text/plain
|
||||
src/mame/audio/bzone.c svneol=native#text/plain
|
||||
@ -2275,6 +2274,7 @@ src/mame/includes/taito_f2.h svneol=native#text/plain
|
||||
src/mame/includes/taito_f3.h svneol=native#text/plain
|
||||
src/mame/includes/taitoipt.h svneol=native#text/plain
|
||||
src/mame/includes/tank8.h svneol=native#text/plain
|
||||
src/mame/includes/targ.h svneol=native#text/plain
|
||||
src/mame/includes/tatsumi.h svneol=native#text/plain
|
||||
src/mame/includes/taxidrvr.h svneol=native#text/plain
|
||||
src/mame/includes/thedeep.h svneol=native#text/plain
|
||||
@ -2292,6 +2292,7 @@ src/mame/includes/ultratnk.h svneol=native#text/plain
|
||||
src/mame/includes/unico.h svneol=native#text/plain
|
||||
src/mame/includes/vertigo.h svneol=native#text/plain
|
||||
src/mame/includes/vicdual.h svneol=native#text/plain
|
||||
src/mame/includes/victory.h svneol=native#text/plain
|
||||
src/mame/includes/videopin.h svneol=native#text/plain
|
||||
src/mame/includes/vindictr.h svneol=native#text/plain
|
||||
src/mame/includes/warpwarp.h svneol=native#text/plain
|
||||
|
@ -1,148 +0,0 @@
|
||||
/*
|
||||
* Berzerk/Frenzy Soundhardware Driver
|
||||
* Copyright Alex Judd 1997/98
|
||||
* V1.1 for Mame 0.31 13March98
|
||||
*
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
#include "berzerk.h"
|
||||
#include "exidy.h"
|
||||
#include "sound/s14001a.h"
|
||||
|
||||
|
||||
|
||||
#define BERZERK_AUDIO_DEBUG (0)
|
||||
|
||||
|
||||
static const struct S14001A_interface berzerk_s14001a_interface =
|
||||
{
|
||||
REGION_SOUND1 /* voice data region */
|
||||
};
|
||||
|
||||
|
||||
static const struct CustomSound_interface custom_interface =
|
||||
{
|
||||
berzerk_sh_start,
|
||||
0,
|
||||
berzerk_sh_reset,
|
||||
};
|
||||
|
||||
|
||||
MACHINE_DRIVER_START( berzerk_audio )
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD(S14001A, BERZERK_S14001A_CLOCK) /* CPU clock divided by 16 divided by a programmable TTL setup */
|
||||
MDRV_SOUND_CONFIG(berzerk_s14001a_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MDRV_SOUND_ADD(CUSTOM, 0)
|
||||
MDRV_SOUND_CONFIG(custom_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
||||
#if BERZERK_AUDIO_DEBUG
|
||||
static void berzerk_audio_debug(UINT8 data)
|
||||
{
|
||||
mame_printf_debug("not busy, triggering S14001A core with %x\n", data);
|
||||
mame_printf_debug("S14001a word play command: ");
|
||||
|
||||
switch (data)
|
||||
{
|
||||
case 0: mame_printf_debug("help\n"); break;
|
||||
case 1: mame_printf_debug("kill\n"); break;
|
||||
case 2: mame_printf_debug("attack\n"); break;
|
||||
case 3: mame_printf_debug("charge\n"); break;
|
||||
case 4: mame_printf_debug("got\n"); break;
|
||||
case 5: mame_printf_debug("shoot\n"); break;
|
||||
case 6: mame_printf_debug("get\n"); break;
|
||||
case 7: mame_printf_debug("is\n"); break;
|
||||
case 8: mame_printf_debug("alert\n"); break;
|
||||
case 9: mame_printf_debug("detected\n"); break;
|
||||
case 10: mame_printf_debug("the\n"); break;
|
||||
case 11: mame_printf_debug("in\n"); break;
|
||||
case 12: mame_printf_debug("it\n"); break;
|
||||
case 13: mame_printf_debug("there\n"); break;
|
||||
case 14: mame_printf_debug("where\n"); break;
|
||||
case 15: mame_printf_debug("humanoid\n"); break;
|
||||
case 16: mame_printf_debug("coins\n"); break;
|
||||
case 17: mame_printf_debug("pocket\n"); break;
|
||||
case 18: mame_printf_debug("intruder\n"); break;
|
||||
case 19: mame_printf_debug("no\n"); break;
|
||||
case 20: mame_printf_debug("escape\n"); break;
|
||||
case 21: mame_printf_debug("destroy\n"); break;
|
||||
case 22: mame_printf_debug("must\n"); break;
|
||||
case 23: mame_printf_debug("not\n"); break;
|
||||
case 24: mame_printf_debug("chicken\n"); break;
|
||||
case 25: mame_printf_debug("fight\n"); break;
|
||||
case 26: mame_printf_debug("like\n"); break;
|
||||
case 27: mame_printf_debug("a\n"); break;
|
||||
case 28: mame_printf_debug("robot\n"); break;
|
||||
default: mame_printf_debug("ERROR: data %2x; you should NOT see this!\n", data); break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
WRITE8_HANDLER( berzerk_audio_w )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
/* offsets 0-3, 5 and 7 write to the 6840 */
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
exidy_sh6840_w(offset, data);
|
||||
break;
|
||||
|
||||
/* offset 6 writes to the sfxcontrol latch */
|
||||
case 6:
|
||||
exidy_sfxctrl_w(data >> 6, data);
|
||||
break;
|
||||
|
||||
/* offset 4 writes to the S14001A */
|
||||
case 4:
|
||||
if ((data & 0xc0) == 0x40) /* VSU-1000 control write */
|
||||
{
|
||||
/* volume and frequency control goes here */
|
||||
/* mame_printf_debug("TODO: VSU-1000 Control write (ignored for now)\n");*/
|
||||
S14001A_set_volume(((data&0x38)>>3)+1);
|
||||
S14001A_set_rate((16-(data&0x07))*16); /* second LS161 has load triggered by its own TC(when it equals 16) long before the first ls161 will TC and fire again, so effectively it only divides by 15 and not 16. If the clock, as opposed to the E enable, had been tied to the first LS161's TC instead, it would divide by 16 as expected */
|
||||
}
|
||||
else if ((data & 0xc0) != 0x00)
|
||||
{
|
||||
/* vsu-1000 ignores these writes entirely */
|
||||
mame_printf_debug("bogus write ignored\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
/* select word input */
|
||||
if (S14001A_bsy_0_r()) /* skip if busy... */
|
||||
{
|
||||
mame_printf_debug("S14001A busy, ignoring write\n");
|
||||
break;
|
||||
}
|
||||
|
||||
/* write to the register */
|
||||
S14001A_reg_0_w(data & 0x3f);
|
||||
S14001A_rst_0_w(1);
|
||||
S14001A_rst_0_w(0);
|
||||
|
||||
#if BERZERK_AUDIO_DEBUG
|
||||
berzerk_audio_debug(data);
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
READ8_HANDLER( berzerk_audio_r )
|
||||
{
|
||||
return ((offset == 4) && !S14001A_bsy_0_r()) ? 0x40 : 0x00;
|
||||
}
|
@ -5,13 +5,15 @@
|
||||
*************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "rescap.h"
|
||||
#include "streams.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "sound/hc55516.h"
|
||||
#include "sound/5220intf.h"
|
||||
#include "sound/discrete.h"
|
||||
#include "exidy.h"
|
||||
#include "sound/s14001a.h"
|
||||
#include "sound/custom.h"
|
||||
#include "berzerk.h"
|
||||
|
||||
|
||||
|
||||
@ -21,12 +23,12 @@
|
||||
*
|
||||
*************************************/
|
||||
|
||||
#define CRYSTAL_OSC (XTAL_3_579545MHz)
|
||||
#define SH8253_CLOCK (CRYSTAL_OSC/2)
|
||||
#define SH6840_CLOCK (CRYSTAL_OSC/4)
|
||||
#define SH6532_CLOCK (CRYSTAL_OSC/4)
|
||||
#define CVSD_CLOCK_FREQ (1.0 / (0.693 * (RES_K(2.4) + 2.0 * RES_K(20)) * CAP_P(2200)))
|
||||
#define BASE_VOLUME (32767 / 6)
|
||||
#define CRYSTAL_OSC (XTAL_3_579545MHz)
|
||||
#define SH8253_CLOCK (CRYSTAL_OSC/2)
|
||||
#define SH6840_CLOCK (CRYSTAL_OSC/4)
|
||||
#define SH6532_CLOCK (CRYSTAL_OSC/4)
|
||||
#define CVSD_CLOCK_FREQ (1.0 / (0.693 * (RES_K(2.4) + 2.0 * RES_K(20)) * CAP_P(2200)))
|
||||
#define BASE_VOLUME (32767 / 6)
|
||||
|
||||
enum
|
||||
{
|
||||
@ -88,7 +90,6 @@ static UINT32 sh6840_clocks_per_sample;
|
||||
static UINT32 sh6840_clock_count;
|
||||
|
||||
static UINT8 exidy_sfxctrl;
|
||||
static UINT8 victory_sound_response_ack_clk; /* 7474 @ F4 */
|
||||
|
||||
/* 8253 variables */
|
||||
struct sh8253_timer_channel
|
||||
@ -120,9 +121,6 @@ static double freq_to_step;
|
||||
|
||||
static void update_irq_state(int);
|
||||
|
||||
static WRITE8_HANDLER( victory_sound_irq_clear_w );
|
||||
static WRITE8_HANDLER( victory_main_ack_w );
|
||||
|
||||
|
||||
/* PIA 0 */
|
||||
static const pia6821_interface pia_0_intf =
|
||||
@ -140,14 +138,6 @@ static const pia6821_interface pia_1_intf =
|
||||
/*irqs : A/B */ 0, update_irq_state
|
||||
};
|
||||
|
||||
/* Victory PIA 0 */
|
||||
static const pia6821_interface victory_pia_1_intf =
|
||||
{
|
||||
/*inputs : A/B,CA/B1,CA/B2 */ 0, 0, 0, 0, 0, 0,
|
||||
/*outputs: A/B,CA/B2 */ 0, 0, victory_sound_irq_clear_w, victory_main_ack_w,
|
||||
/*irqs : A/B */ 0, update_irq_state
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -376,71 +366,6 @@ static void exidy_stream_update(void *param, stream_sample_t **inputs, stream_sa
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Extra logic for Victory
|
||||
*
|
||||
*************************************/
|
||||
|
||||
#define VICTORY_LOG_SOUND 0
|
||||
|
||||
|
||||
READ8_HANDLER( victory_sound_response_r )
|
||||
{
|
||||
UINT8 ret = pia_get_output_b(1);
|
||||
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound response read = %02X\n", activecpu_get_previouspc(), ret);
|
||||
|
||||
pia_set_input_cb1(1, 0);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
READ8_HANDLER( victory_sound_status_r )
|
||||
{
|
||||
UINT8 ret = (pia_get_input_ca1(1) << 7) | (pia_get_input_cb1(1) << 6);
|
||||
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound status read = %02X\n", activecpu_get_previouspc(), ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static TIMER_CALLBACK( delayed_command_w )
|
||||
{
|
||||
pia_set_input_a(1, param, 0);
|
||||
pia_set_input_ca1(1, 0);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( victory_sound_command_w )
|
||||
{
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound command = %02X\n", activecpu_get_previouspc(), data);
|
||||
|
||||
timer_call_after_resynch(NULL, data, delayed_command_w);
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( victory_sound_irq_clear_w )
|
||||
{
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound IRQ clear = %02X\n", activecpu_get_previouspc(), data);
|
||||
|
||||
if (!data) pia_set_input_ca1(1, 1);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( victory_main_ack_w )
|
||||
{
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound Main ACK W = %02X\n", activecpu_get_previouspc(), data);
|
||||
|
||||
if (victory_sound_response_ack_clk && !data)
|
||||
pia_set_input_cb1(1, 1);
|
||||
|
||||
victory_sound_response_ack_clk = data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Sound startup routines
|
||||
@ -449,7 +374,7 @@ static WRITE8_HANDLER( victory_main_ack_w )
|
||||
|
||||
static TIMER_CALLBACK( riot_interrupt );
|
||||
|
||||
static void *common_start(void)
|
||||
static void *common_sh_start(void)
|
||||
{
|
||||
int sample_rate = SH8253_CLOCK;
|
||||
int i;
|
||||
@ -486,23 +411,7 @@ void *exidy_sh_start(int clock, const struct CustomSound_interface *config)
|
||||
pia_config(0, &pia_0_intf);
|
||||
pia_config(1, &pia_1_intf);
|
||||
has_sh8253 = TRUE;
|
||||
return common_start();
|
||||
}
|
||||
|
||||
|
||||
void *victory_sh_start(int clock, const struct CustomSound_interface *config)
|
||||
{
|
||||
pia_config(1, &victory_pia_1_intf);
|
||||
has_sh8253 = TRUE;
|
||||
|
||||
return common_start();
|
||||
}
|
||||
|
||||
|
||||
void *berzerk_sh_start(int clock, const struct CustomSound_interface *config)
|
||||
{
|
||||
has_sh8253 = FALSE;
|
||||
return common_start();
|
||||
return common_sh_start();
|
||||
}
|
||||
|
||||
|
||||
@ -513,7 +422,7 @@ void *berzerk_sh_start(int clock, const struct CustomSound_interface *config)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static void common_reset(void)
|
||||
static void common_sh_reset(void)
|
||||
{
|
||||
/* PIA */
|
||||
pia_reset();
|
||||
@ -548,28 +457,7 @@ static void common_reset(void)
|
||||
|
||||
void exidy_sh_reset(void *token)
|
||||
{
|
||||
common_reset();
|
||||
}
|
||||
|
||||
|
||||
void victory_sh_reset(void *token)
|
||||
{
|
||||
common_reset();
|
||||
|
||||
/* the flip-flop @ F4 is reset */
|
||||
victory_sound_response_ack_clk = 0;
|
||||
pia_set_input_cb1(1, 1);
|
||||
|
||||
/* these two lines shouldn't be needed, but it avoids the log entry
|
||||
as the sound CPU checks port A before the main CPU ever writes to it */
|
||||
pia_set_input_a(1, 0, 0);
|
||||
pia_set_input_ca1(1, 1);
|
||||
}
|
||||
|
||||
|
||||
void berzerk_sh_reset(void *token)
|
||||
{
|
||||
common_reset();
|
||||
common_sh_reset();
|
||||
}
|
||||
|
||||
|
||||
@ -913,12 +801,13 @@ WRITE8_HANDLER( exidy_sound_filter_w )
|
||||
|
||||
WRITE8_HANDLER( mtrap_voiceio_w )
|
||||
{
|
||||
if (!(offset & 0x10))
|
||||
{
|
||||
hc55516_digit_clock_clear_w(0,data);
|
||||
hc55516_clock_set_w(0,data);
|
||||
if (!(offset & 0x10))
|
||||
{
|
||||
hc55516_digit_clock_clear_w(0,data);
|
||||
hc55516_clock_set_w(0,data);
|
||||
}
|
||||
if (!(offset & 0x20))
|
||||
|
||||
if (!(offset & 0x20))
|
||||
riot_portb_data = data & 1;
|
||||
}
|
||||
|
||||
@ -927,16 +816,271 @@ READ8_HANDLER( mtrap_voiceio_r )
|
||||
{
|
||||
if (!(offset & 0x80))
|
||||
{
|
||||
int data = (riot_porta_data & 0x06) >> 1;
|
||||
data |= (riot_porta_data & 0x01) << 2;
|
||||
data |= (riot_porta_data & 0x08);
|
||||
return data;
|
||||
int data = (riot_porta_data & 0x06) >> 1;
|
||||
data |= (riot_porta_data & 0x01) << 2;
|
||||
data |= (riot_porta_data & 0x08);
|
||||
|
||||
return data;
|
||||
}
|
||||
if (!(offset & 0x40))
|
||||
{
|
||||
attotime curtime = timer_get_time();
|
||||
int clock_pulse = curtime.attoseconds / HZ_TO_ATTOSECONDS(2 * CVSD_CLOCK_FREQ);
|
||||
return (clock_pulse & 1) << 7;
|
||||
|
||||
if (!(offset & 0x40))
|
||||
{
|
||||
attotime curtime = timer_get_time();
|
||||
int clock_pulse = curtime.attoseconds / HZ_TO_ATTOSECONDS(2 * CVSD_CLOCK_FREQ);
|
||||
|
||||
return (clock_pulse & 1) << 7;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Victory
|
||||
*
|
||||
*************************************/
|
||||
|
||||
#define VICTORY_AUDIO_CPU_CLOCK (XTAL_3_579545MHz / 4)
|
||||
#define VICTORY_LOG_SOUND 0
|
||||
|
||||
|
||||
static UINT8 victory_sound_response_ack_clk; /* 7474 @ F4 */
|
||||
|
||||
|
||||
READ8_HANDLER( victory_sound_response_r )
|
||||
{
|
||||
UINT8 ret = pia_get_output_b(1);
|
||||
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound response read = %02X\n", activecpu_get_previouspc(), ret);
|
||||
|
||||
pia_set_input_cb1(1, 0);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
READ8_HANDLER( victory_sound_status_r )
|
||||
{
|
||||
UINT8 ret = (pia_get_input_ca1(1) << 7) | (pia_get_input_cb1(1) << 6);
|
||||
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound status read = %02X\n", activecpu_get_previouspc(), ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static TIMER_CALLBACK( delayed_command_w )
|
||||
{
|
||||
pia_set_input_a(1, param, 0);
|
||||
pia_set_input_ca1(1, 0);
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( victory_sound_command_w )
|
||||
{
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound command = %02X\n", activecpu_get_previouspc(), data);
|
||||
|
||||
timer_call_after_resynch(NULL, data, delayed_command_w);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( victory_sound_irq_clear_w )
|
||||
{
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound IRQ clear = %02X\n", activecpu_get_previouspc(), data);
|
||||
|
||||
if (!data) pia_set_input_ca1(1, 1);
|
||||
}
|
||||
|
||||
|
||||
static WRITE8_HANDLER( victory_main_ack_w )
|
||||
{
|
||||
if (VICTORY_LOG_SOUND) logerror("%04X:!!!! Sound Main ACK W = %02X\n", activecpu_get_previouspc(), data);
|
||||
|
||||
if (victory_sound_response_ack_clk && !data)
|
||||
pia_set_input_cb1(1, 1);
|
||||
|
||||
victory_sound_response_ack_clk = data;
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( victory_audio_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0f00) AM_RAM
|
||||
AM_RANGE(0x1000, 0x107f) AM_MIRROR(0x0f80) AM_READWRITE(exidy_shriot_r, exidy_shriot_w)
|
||||
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x3000, 0x3003) AM_MIRROR(0x0ffc) AM_READWRITE(exidy_sh8253_r, exidy_sh8253_w)
|
||||
AM_RANGE(0x4000, 0x4fff) AM_NOP
|
||||
AM_RANGE(0x5000, 0x5007) AM_MIRROR(0x0ff8) AM_READWRITE(exidy_sh6840_r, exidy_sh6840_w)
|
||||
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x0ffc) AM_WRITE(exidy_sfxctrl_w)
|
||||
AM_RANGE(0x7000, 0xafff) AM_NOP
|
||||
AM_RANGE(0xb000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static const pia6821_interface victory_pia_e5_intf =
|
||||
{
|
||||
/*inputs : A/B,CA/B1,CA/B2 */ 0, 0, 0, 0, 0, 0,
|
||||
/*outputs: A/B,CA/B2 */ 0, 0, victory_sound_irq_clear_w, victory_main_ack_w,
|
||||
/*irqs : A/B */ 0, update_irq_state
|
||||
};
|
||||
|
||||
|
||||
static void *victory_sh_start(int clock, const struct CustomSound_interface *config)
|
||||
{
|
||||
pia_config(1, &victory_pia_e5_intf);
|
||||
has_sh8253 = TRUE;
|
||||
|
||||
state_save_register_global(victory_sound_response_ack_clk);
|
||||
|
||||
return common_sh_start();
|
||||
}
|
||||
|
||||
|
||||
static void victory_sh_reset(void *token)
|
||||
{
|
||||
common_sh_reset();
|
||||
|
||||
/* the flip-flop @ F4 is reset */
|
||||
victory_sound_response_ack_clk = 0;
|
||||
pia_set_input_cb1(1, 1);
|
||||
|
||||
/* these two lines shouldn't be needed, but it avoids the log entry
|
||||
as the sound CPU checks port A before the main CPU ever writes to it */
|
||||
pia_set_input_a(1, 0, 0);
|
||||
pia_set_input_ca1(1, 1);
|
||||
}
|
||||
|
||||
|
||||
static const struct CustomSound_interface victory_custom_interface =
|
||||
{
|
||||
victory_sh_start,
|
||||
0,
|
||||
victory_sh_reset,
|
||||
};
|
||||
|
||||
|
||||
MACHINE_DRIVER_START( victory_audio )
|
||||
|
||||
MDRV_CPU_ADD(M6502, VICTORY_AUDIO_CPU_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(victory_audio_map,0)
|
||||
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD(CUSTOM, 0)
|
||||
MDRV_SOUND_CONFIG(victory_custom_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
|
||||
MDRV_SOUND_ADD(TMS5220, 640000)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Berzerk
|
||||
*
|
||||
* Copyright Alex Judd 1997/98
|
||||
* V1.1 for Mame 0.31 13March98
|
||||
*
|
||||
*************************************/
|
||||
|
||||
#define BERZERK_S14001A_CLOCK (BERZERK_MASTER_CLOCK / 2)
|
||||
|
||||
|
||||
static void *berzerk_sh_start(int clock, const struct CustomSound_interface *config)
|
||||
{
|
||||
has_sh8253 = FALSE;
|
||||
return common_sh_start();
|
||||
}
|
||||
|
||||
|
||||
static void berzerk_sh_reset(void *token)
|
||||
{
|
||||
common_sh_reset();
|
||||
}
|
||||
|
||||
|
||||
static const struct S14001A_interface berzerk_s14001a_interface =
|
||||
{
|
||||
REGION_SOUND1 /* voice data region */
|
||||
};
|
||||
|
||||
|
||||
static const struct CustomSound_interface berzerk_custom_interface =
|
||||
{
|
||||
berzerk_sh_start,
|
||||
0,
|
||||
berzerk_sh_reset,
|
||||
};
|
||||
|
||||
|
||||
MACHINE_DRIVER_START( berzerk_audio )
|
||||
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD(S14001A, BERZERK_S14001A_CLOCK) /* CPU clock divided by 16 divided by a programmable TTL setup */
|
||||
MDRV_SOUND_CONFIG(berzerk_s14001a_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MDRV_SOUND_ADD(CUSTOM, 0)
|
||||
MDRV_SOUND_CONFIG(berzerk_custom_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
WRITE8_HANDLER( berzerk_audio_w )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
/* offsets 0-3, 5 and 7 write to the 6840 */
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
exidy_sh6840_w(offset, data);
|
||||
break;
|
||||
|
||||
/* offset 6 writes to the sfxcontrol latch */
|
||||
case 6:
|
||||
exidy_sfxctrl_w(data >> 6, data);
|
||||
break;
|
||||
|
||||
/* offset 4 writes to the S14001A */
|
||||
case 4:
|
||||
if ((data & 0xc0) == 0x40) /* VSU-1000 control write */
|
||||
{
|
||||
/* volume and frequency control goes here */
|
||||
/* mame_printf_debug("TODO: VSU-1000 Control write (ignored for now)\n");*/
|
||||
S14001A_set_volume(((data&0x38)>>3)+1);
|
||||
S14001A_set_rate((16-(data&0x07))*16); /* second LS161 has load triggered by its own TC(when it equals 16) long before the first ls161 will TC and fire again, so effectively it only divides by 15 and not 16. If the clock, as opposed to the E enable, had been tied to the first LS161's TC instead, it would divide by 16 as expected */
|
||||
}
|
||||
else if ((data & 0xc0) != 0x00)
|
||||
{
|
||||
/* vsu-1000 ignores these writes entirely */
|
||||
mame_printf_debug("bogus write ignored\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
/* select word input */
|
||||
if (S14001A_bsy_0_r()) /* skip if busy... */
|
||||
{
|
||||
mame_printf_debug("S14001A busy, ignoring write\n");
|
||||
break;
|
||||
}
|
||||
|
||||
/* write to the register */
|
||||
S14001A_reg_0_w(data & 0x3f);
|
||||
S14001A_rst_0_w(1);
|
||||
S14001A_rst_0_w(0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
READ8_HANDLER( berzerk_audio_r )
|
||||
{
|
||||
return ((offset == 4) && !S14001A_bsy_0_r()) ? 0x40 : 0x00;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*************************************************************************
|
||||
|
||||
Exidy 6502 hardware
|
||||
Targ hardware
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
@ -12,150 +12,205 @@
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
#include "exidy.h"
|
||||
#include "sound/samples.h"
|
||||
#include "sound/dac.h"
|
||||
#include "targ.h"
|
||||
|
||||
UINT8 targ_spec_flag;
|
||||
static UINT8 targ_sh_ctrl0=0;
|
||||
static UINT8 targ_sh_ctrl1=0;
|
||||
|
||||
|
||||
#define SPECTAR_MAXFREQ 525000
|
||||
#define TARG_MAXFREQ 125000
|
||||
|
||||
|
||||
static int max_freq;
|
||||
|
||||
static UINT8 port_1_last;
|
||||
static UINT8 port_2_last;
|
||||
|
||||
static UINT8 tone_freq;
|
||||
static UINT8 tone_active;
|
||||
|
||||
#define MAXFREQ_A_TARG 125000
|
||||
#define MAXFREQ_A_SPECTAR 525000
|
||||
|
||||
static int sound_a_freq;
|
||||
static UINT8 tone_pointer;
|
||||
static UINT8 tone_offset;
|
||||
|
||||
static const UINT8 tone_prom[32] =
|
||||
|
||||
static const INT16 sine_wave[32] =
|
||||
{
|
||||
0xE5,0xE5,0xED,0xED,0xE5,0xE5,0xED,0xED,0xE7,0xE7,0xEF,0xEF,0xE7,0xE7,0xEF,0xEF,
|
||||
0xC1,0xE1,0xC9,0xE9,0xC5,0xE5,0xCD,0xED,0xC3,0xE3,0xCB,0xEB,0xC7,0xE7,0xCF,0xEF
|
||||
0x0f0f, 0x0f0f, 0x0f0f, 0x0606, 0x0606, 0x0909, 0x0909, 0x0606, 0x0606, 0x0909, 0x0606, 0x0d0d, 0x0f0f, 0x0f0f, 0x0d0d, 0x0000,
|
||||
-0x191a, -0x2122, -0x1e1f, -0x191a, -0x1314, -0x191a, -0x1819, -0x1819, -0x1819, -0x1314, -0x1314, -0x1314, -0x1819, -0x1e1f, -0x1e1f, -0x1819
|
||||
};
|
||||
|
||||
/* waveforms for the audio hardware */
|
||||
static const INT16 waveform1[32] =
|
||||
{
|
||||
/* sine-wave */
|
||||
0x0F0F, 0x0F0F, 0x0F0F, 0x0606, 0x0606, 0x0909, 0x0909, 0x0606, 0x0606, 0x0909, 0x0606, 0x0D0D, 0x0F0F, 0x0F0F, 0x0D0D, 0x0000,
|
||||
-0x191A, -0x2122, -0x1E1F, -0x191A, -0x1314, -0x191A, -0x1819, -0x1819, -0x1819, -0x1314, -0x1314, -0x1314, -0x1819, -0x1E1F, -0x1E1F, -0x1819
|
||||
};
|
||||
|
||||
/* some macros to make detecting bit changes easier */
|
||||
#define RISING_EDGE(bit) ((data & bit) && !(targ_sh_ctrl0 & bit))
|
||||
#define FALLING_EDGE(bit) (!(data & bit) && (targ_sh_ctrl0 & bit))
|
||||
#define RISING_EDGE(bit) ( (data & bit) && !(port_1_last & bit))
|
||||
#define FALLING_EDGE(bit) (!(data & bit) && (port_1_last & bit))
|
||||
|
||||
|
||||
static void targ_tone_generator(int data)
|
||||
|
||||
static void adjust_sample(UINT8 freq)
|
||||
{
|
||||
int maxfreq;
|
||||
tone_freq = freq;
|
||||
|
||||
|
||||
if (targ_spec_flag) maxfreq = MAXFREQ_A_TARG;
|
||||
else maxfreq = MAXFREQ_A_SPECTAR;
|
||||
|
||||
sound_a_freq = data;
|
||||
if (sound_a_freq == 0xFF || sound_a_freq == 0x00)
|
||||
if ((tone_freq == 0xff) || (tone_freq == 0x00))
|
||||
sample_set_volume(3, 0);
|
||||
else
|
||||
{
|
||||
sample_set_volume(3,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
sample_set_freq(3,maxfreq/(0xFF-sound_a_freq));
|
||||
sample_set_volume(3,tone_active*1.0);
|
||||
sample_set_freq(3, 1.0 * max_freq / (0xff - tone_freq));
|
||||
sample_set_volume(3, tone_active);
|
||||
}
|
||||
}
|
||||
|
||||
void targ_sh_start(void)
|
||||
|
||||
WRITE8_HANDLER( targ_audio_1_w )
|
||||
{
|
||||
tone_pointer=0;
|
||||
tone_offset=0;
|
||||
tone_active=0;
|
||||
sound_a_freq = 0x00;
|
||||
sample_set_volume(3,0);
|
||||
sample_start_raw(3,waveform1,32,1000,1);
|
||||
/* CPU music */
|
||||
if ((data & 0x01) != (port_1_last & 0x01))
|
||||
DAC_data_w(0,(data & 0x01) * 0xff);
|
||||
|
||||
/* shot */
|
||||
if (FALLING_EDGE(0x02) && !sample_playing(0)) sample_start(0,1,0);
|
||||
if (RISING_EDGE(0x02)) sample_stop(0);
|
||||
|
||||
/* crash */
|
||||
if (RISING_EDGE(0x20))
|
||||
{
|
||||
if (data & 0x40)
|
||||
sample_start(1,2,0);
|
||||
else
|
||||
sample_start(1,0,0);
|
||||
}
|
||||
|
||||
/* Sspec */
|
||||
if (data & 0x10)
|
||||
sample_stop(2);
|
||||
else
|
||||
{
|
||||
if ((data & 0x08) != (port_1_last & 0x08))
|
||||
{
|
||||
if (data & 0x08)
|
||||
sample_start(2,3,1);
|
||||
else
|
||||
sample_start(2,4,1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Game (tone generator enable) */
|
||||
if (FALLING_EDGE(0x80))
|
||||
{
|
||||
tone_pointer = 0;
|
||||
tone_active = 0;
|
||||
|
||||
adjust_sample(tone_freq);
|
||||
}
|
||||
|
||||
if (RISING_EDGE(0x80))
|
||||
tone_active=1;
|
||||
|
||||
port_1_last = data;
|
||||
}
|
||||
|
||||
WRITE8_HANDLER( targ_sh_w )
|
||||
|
||||
WRITE8_HANDLER( targ_audio_2_w )
|
||||
{
|
||||
int maxfreq;
|
||||
if ((data & 0x01) && !(port_2_last & 0x01))
|
||||
{
|
||||
UINT8 *prom = memory_region(TARG_TONE_REGION);
|
||||
|
||||
tone_pointer = (tone_pointer + 1) & 0x0f;
|
||||
|
||||
if (targ_spec_flag) maxfreq = MAXFREQ_A_TARG;
|
||||
else maxfreq = MAXFREQ_A_SPECTAR;
|
||||
adjust_sample(prom[((data & 0x02) << 3) | tone_pointer]);
|
||||
}
|
||||
|
||||
if (offset) {
|
||||
if (targ_spec_flag) {
|
||||
if (data & 0x02)
|
||||
tone_offset=16;
|
||||
else
|
||||
tone_offset=0;
|
||||
|
||||
if ((data & 0x01) && !(targ_sh_ctrl1 & 0x01)) {
|
||||
tone_pointer++;
|
||||
if (tone_pointer > 15) tone_pointer = 0;
|
||||
targ_tone_generator(tone_prom[tone_pointer+tone_offset]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
targ_tone_generator(data);
|
||||
}
|
||||
targ_sh_ctrl1=data;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* cpu music */
|
||||
if ((data & 0x01) != (targ_sh_ctrl0 & 0x01)) {
|
||||
DAC_data_w(0,(data & 0x01) * 0xFF);
|
||||
}
|
||||
/* Shoot */
|
||||
if FALLING_EDGE(0x02) {
|
||||
if (!sample_playing(0)) sample_start(0,1,0);
|
||||
}
|
||||
if RISING_EDGE(0x02) {
|
||||
sample_stop(0);
|
||||
}
|
||||
|
||||
/* Crash */
|
||||
if RISING_EDGE(0x20) {
|
||||
if (data & 0x40) {
|
||||
sample_start(1,2,0); }
|
||||
else {
|
||||
sample_start(1,0,0); }
|
||||
}
|
||||
|
||||
/* Sspec */
|
||||
if (data & 0x10) {
|
||||
sample_stop(2);
|
||||
}
|
||||
else {
|
||||
if ((data & 0x08) != (targ_sh_ctrl0 & 0x08)) {
|
||||
if (data & 0x08) {
|
||||
sample_start(2,3,1); }
|
||||
else {
|
||||
sample_start(2,4,1); }
|
||||
}
|
||||
}
|
||||
|
||||
/* Game (tone generator enable) */
|
||||
if FALLING_EDGE(0x80) {
|
||||
tone_pointer=0;
|
||||
tone_active=0;
|
||||
if (sound_a_freq == 0xFF || sound_a_freq == 0x00)
|
||||
{
|
||||
sample_set_volume(3,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
sample_set_freq(3,maxfreq/(0xFF-sound_a_freq));
|
||||
sample_set_volume(3,0);
|
||||
}
|
||||
}
|
||||
if RISING_EDGE(0x80) {
|
||||
tone_active=1;
|
||||
}
|
||||
targ_sh_ctrl0 = data;
|
||||
}
|
||||
port_2_last = data;
|
||||
}
|
||||
|
||||
|
||||
WRITE8_HANDLER( spectar_audio_2_w )
|
||||
{
|
||||
adjust_sample(data);
|
||||
}
|
||||
|
||||
|
||||
static const char *const sample_names[] =
|
||||
{
|
||||
"*targ",
|
||||
"expl.wav",
|
||||
"shot.wav",
|
||||
"sexpl.wav",
|
||||
"spslow.wav",
|
||||
"spfast.wav",
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
static void common_audio_start(int freq)
|
||||
{
|
||||
max_freq = freq;
|
||||
|
||||
tone_freq = 0;
|
||||
tone_active = 0;
|
||||
|
||||
sample_set_volume(3, 0);
|
||||
sample_start_raw(3, sine_wave, 32, 1000, 1);
|
||||
|
||||
state_save_register_global(port_1_last);
|
||||
state_save_register_global(port_2_last);
|
||||
state_save_register_global(tone_freq);
|
||||
state_save_register_global(tone_active);
|
||||
}
|
||||
|
||||
|
||||
static void spectar_audio_start(void)
|
||||
{
|
||||
common_audio_start(SPECTAR_MAXFREQ);
|
||||
}
|
||||
|
||||
|
||||
static void targ_audio_start(void)
|
||||
{
|
||||
common_audio_start(TARG_MAXFREQ);
|
||||
|
||||
tone_pointer = 0;
|
||||
|
||||
state_save_register_global(tone_pointer);
|
||||
}
|
||||
|
||||
|
||||
static const struct Samplesinterface spectar_samples_interface =
|
||||
{
|
||||
4, /* number of channel */
|
||||
sample_names,
|
||||
spectar_audio_start
|
||||
};
|
||||
|
||||
|
||||
static const struct Samplesinterface targ_samples_interface =
|
||||
{
|
||||
4, /* number of channel */
|
||||
sample_names,
|
||||
targ_audio_start
|
||||
};
|
||||
|
||||
|
||||
MACHINE_DRIVER_START( spectar_audio )
|
||||
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD(SAMPLES, 0)
|
||||
MDRV_SOUND_CONFIG(spectar_samples_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
MDRV_SOUND_ADD(DAC, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
MACHINE_DRIVER_START( targ_audio )
|
||||
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD(SAMPLES, 0)
|
||||
MDRV_SOUND_CONFIG(targ_samples_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
MDRV_SOUND_ADD(DAC, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
#include "driver.h"
|
||||
#include "berzerk.h"
|
||||
#include "exidy.h"
|
||||
#include "machine/74181.h"
|
||||
#include "video/resnet.h"
|
||||
|
||||
|
@ -126,8 +126,9 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "exidy.h"
|
||||
#include "targ.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "sound/custom.h"
|
||||
#include "sound/samples.h"
|
||||
#include "sound/hc55516.h"
|
||||
@ -215,7 +216,8 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( sidetrac_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4800, 0x4fff) AM_ROM AM_BASE(&exidy_characterram)
|
||||
AM_RANGE(0x5200, 0x5201) AM_WRITE(targ_sh_w)
|
||||
AM_RANGE(0x5200, 0x5200) AM_WRITE(targ_audio_1_w)
|
||||
AM_RANGE(0x5201, 0x5201) AM_WRITE(spectar_audio_2_w)
|
||||
AM_RANGE(0xff00, 0xffff) AM_ROM AM_REGION(REGION_CPU1, 0x3f00)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -223,7 +225,17 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( targ_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4800, 0x4fff) AM_RAM AM_BASE(&exidy_characterram)
|
||||
AM_RANGE(0x5200, 0x5201) AM_WRITE(targ_sh_w)
|
||||
AM_RANGE(0x5200, 0x5200) AM_WRITE(targ_audio_1_w)
|
||||
AM_RANGE(0x5201, 0x5201) AM_WRITE(targ_audio_2_w)
|
||||
AM_RANGE(0xff00, 0xffff) AM_ROM AM_REGION(REGION_CPU1, 0x3f00)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( spectar_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4800, 0x4fff) AM_RAM AM_BASE(&exidy_characterram)
|
||||
AM_RANGE(0x5200, 0x5200) AM_WRITE(targ_audio_1_w)
|
||||
AM_RANGE(0x5201, 0x5201) AM_WRITE(spectar_audio_2_w)
|
||||
AM_RANGE(0xff00, 0xffff) AM_ROM AM_REGION(REGION_CPU1, 0x3f00)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -240,7 +252,8 @@ static ADDRESS_MAP_START( rallys_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x5101, 0x5101) AM_MIRROR(0x00fc) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x5101, 0x5101) AM_MIRROR(0x00fc) AM_WRITE(MWA8_RAM) AM_BASE(&exidy_sprite_enable)
|
||||
AM_RANGE(0x5103, 0x5103) AM_MIRROR(0x00fc) AM_READ(exidy_interrupt_r)
|
||||
AM_RANGE(0x5200, 0x5201) AM_WRITE(targ_sh_w)
|
||||
AM_RANGE(0x5200, 0x5200) AM_WRITE(targ_audio_1_w)
|
||||
AM_RANGE(0x5201, 0x5201) AM_WRITE(spectar_audio_2_w)
|
||||
AM_RANGE(0x5210, 0x5212) AM_WRITE(MWA8_RAM) AM_BASE(&exidy_color_latch)
|
||||
AM_RANGE(0x5213, 0x5213) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0x5300, 0x5300) AM_WRITE(MWA8_RAM) AM_BASE(&exidy_sprite2_xpos)
|
||||
@ -271,7 +284,7 @@ static ADDRESS_MAP_START( fax_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x2000, 0x2000) AM_WRITE(fax_bank_select_w)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK(1)
|
||||
AM_RANGE(0x5200, 0x520f) AM_READWRITE(pia_0_r, pia_0_w)
|
||||
AM_RANGE(0x5213, 0x5217) AM_WRITE(MWA8_NOP) /* empty control lines on color/sound board */
|
||||
AM_RANGE(0x5213, 0x5217) AM_WRITE(MWA8_NOP) /* empty control lines on color/sound board */
|
||||
AM_RANGE(0x6000, 0x6fff) AM_RAM AM_BASE(&exidy_characterram)
|
||||
AM_RANGE(0x8000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
@ -800,26 +813,6 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const char *const targ_sample_names[] =
|
||||
{
|
||||
"*targ",
|
||||
"expl.wav",
|
||||
"shot.wav",
|
||||
"sexpl.wav",
|
||||
"spslow.wav",
|
||||
"spfast.wav",
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
static const struct Samplesinterface targ_samples_interface =
|
||||
{
|
||||
4, /* 3 Channels */
|
||||
targ_sample_names,
|
||||
targ_sh_start
|
||||
};
|
||||
|
||||
|
||||
static const struct CustomSound_interface exidy_custom_interface =
|
||||
{
|
||||
exidy_sh_start,
|
||||
@ -835,48 +828,65 @@ static const struct CustomSound_interface exidy_custom_interface =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_DRIVER_START( sidetrac )
|
||||
static MACHINE_DRIVER_START( base )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", M6502, EXIDY_CPU_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(exidy_map,sidetrac_map)
|
||||
MDRV_CPU_VBLANK_INT(exidy_vblank_interrupt,1)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_ALWAYS_UPDATE)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_RAW_PARAMS(EXIDY_PIXEL_CLOCK, EXIDY_HTOTAL, EXIDY_HBEND, EXIDY_HBSTART, EXIDY_VTOTAL, EXIDY_VBEND, EXIDY_VBSTART)
|
||||
MDRV_VIDEO_START(exidy)
|
||||
MDRV_VIDEO_UPDATE(exidy)
|
||||
MDRV_GFXDECODE(exidy)
|
||||
MDRV_PALETTE_LENGTH(8)
|
||||
|
||||
MDRV_VIDEO_START(exidy)
|
||||
MDRV_VIDEO_UPDATE(exidy)
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_RAW_PARAMS(EXIDY_PIXEL_CLOCK, EXIDY_HTOTAL, EXIDY_HBEND, EXIDY_HBSTART, EXIDY_VTOTAL, EXIDY_VBEND, EXIDY_VBSTART)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
MDRV_SOUND_ADD_TAG("sample", SAMPLES, 0)
|
||||
MDRV_SOUND_CONFIG(targ_samples_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
|
||||
MDRV_SOUND_ADD_TAG("dac", DAC, 0)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
static MACHINE_DRIVER_START( sidetrac )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(base)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(exidy_map,sidetrac_map)
|
||||
|
||||
/* audio hardware */
|
||||
MDRV_IMPORT_FROM(spectar_audio)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( targ )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(sidetrac)
|
||||
MDRV_IMPORT_FROM(base)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(exidy_map,targ_map)
|
||||
|
||||
/* audio hardware */
|
||||
MDRV_IMPORT_FROM(targ_audio)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( spectar )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(base)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(exidy_map,spectar_map)
|
||||
|
||||
/* audio hardware */
|
||||
MDRV_IMPORT_FROM(spectar_audio)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
static MACHINE_DRIVER_START( rallys )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(sidetrac)
|
||||
MDRV_IMPORT_FROM(spectar)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(rallys_map,0)
|
||||
MACHINE_DRIVER_END
|
||||
@ -885,7 +895,7 @@ MACHINE_DRIVER_END
|
||||
static MACHINE_DRIVER_START( venture )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(targ)
|
||||
MDRV_IMPORT_FROM(base)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(exidy_map,venture_map)
|
||||
|
||||
@ -895,12 +905,12 @@ static MACHINE_DRIVER_START( venture )
|
||||
|
||||
MDRV_INTERLEAVE(10)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SOUND_REPLACE("sample", CUSTOM, 0)
|
||||
/* audio hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MDRV_SOUND_ADD(CUSTOM, 0)
|
||||
MDRV_SOUND_CONFIG(exidy_custom_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
|
||||
MDRV_SOUND_REMOVE("dac")
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
@ -957,13 +967,13 @@ MACHINE_DRIVER_END
|
||||
|
||||
ROM_START( sidetrac )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "stl8a-1", 0x2800, 0x0800, CRC(e41750ff) SHA1(3868a0d7e34a5118b39b31cff9e4fc839df541ff) )
|
||||
ROM_LOAD( "stl7a-2", 0x3000, 0x0800, CRC(57fb28dc) SHA1(6addd633d655d6a56b3e509d18e5f7c0ab2d0fbb) )
|
||||
ROM_LOAD( "stl6a-2", 0x3800, 0x0800, CRC(4226d469) SHA1(fd18b732b66082988b01e04adc2b1e5dae410c98) )
|
||||
ROM_LOAD( "stl9c-1", 0x4800, 0x0400, CRC(08710a84) SHA1(4bff254a14af7c968656ccc85277d31ab5a8f0c4) ) /* PROM instead of RAM char generator */
|
||||
ROM_LOAD( "stl8a-1", 0x2800, 0x0800, CRC(e41750ff) SHA1(3868a0d7e34a5118b39b31cff9e4fc839df541ff) )
|
||||
ROM_LOAD( "stl7a-2", 0x3000, 0x0800, CRC(57fb28dc) SHA1(6addd633d655d6a56b3e509d18e5f7c0ab2d0fbb) )
|
||||
ROM_LOAD( "stl6a-2", 0x3800, 0x0800, CRC(4226d469) SHA1(fd18b732b66082988b01e04adc2b1e5dae410c98) )
|
||||
ROM_LOAD( "stl9c-1", 0x4800, 0x0400, CRC(08710a84) SHA1(4bff254a14af7c968656ccc85277d31ab5a8f0c4) ) /* PROM instead of RAM char generator */
|
||||
|
||||
ROM_REGION( 0x0200, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "stl11d", 0x0000, 0x0200, CRC(3bd1acc1) SHA1(06f900cb8f56cd4215c5fbf58a852426d390e0c1) )
|
||||
ROM_LOAD( "stl11d", 0x0000, 0x0200, CRC(3bd1acc1) SHA1(06f900cb8f56cd4215c5fbf58a852426d390e0c1) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -978,13 +988,16 @@ ROM_START( targ )
|
||||
ROM_REGION( 0x0400, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "hrl11d-1", 0x0000, 0x0400, CRC(9f03513e) SHA1(aa4763e49df65e5686a96431543580b8d8285893) )
|
||||
|
||||
ROM_REGION( 0x0160, REGION_PROMS, 0 )
|
||||
ROM_REGION( 0x0140, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "hrl5c-1", 0x0000, 0x0100, CRC(a24290d0) SHA1(5f2888d168de874021b51c5d19a62fb8165e4454) ) /* address decoder */
|
||||
ROM_LOAD( "stl6d-1", 0x0100, 0x0020, CRC(e26f9053) SHA1(eec35b6aa2c2d305418306bf4a1754a0583f109f) ) /* unknown */
|
||||
ROM_LOAD( "hra2b-1", 0x0120, 0x0020, CRC(38e8024b) SHA1(adf1c1770695f7614c95eceb803f662c5b096a76) ) /* unknown */
|
||||
ROM_LOAD( "hrl14h-1", 0x0140, 0x0020, CRC(f76b4fcf) SHA1(197e0cc508ffeb5cefa4046bdfb158939d598225) ) /* unknown */
|
||||
ROM_LOAD( "hrl14h-1", 0x0120, 0x0020, CRC(f76b4fcf) SHA1(197e0cc508ffeb5cefa4046bdfb158939d598225) ) /* unknown */
|
||||
|
||||
ROM_REGION( 0x0020, TARG_TONE_REGION, 0 )
|
||||
ROM_LOAD( "hra2b-1", 0x0000, 0x0020, CRC(38e8024b) SHA1(adf1c1770695f7614c95eceb803f662c5b096a76) ) /* unknown */
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( targc )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "ctl.10a", 0x1800, 0x0800, CRC(058b3983) SHA1(8079667613c9273e95131c3c68cd92ce34c18148) )
|
||||
@ -995,6 +1008,9 @@ ROM_START( targc )
|
||||
|
||||
ROM_REGION( 0x0400, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "hrl11d-1", 0x0000, 0x0400, CRC(9f03513e) SHA1(aa4763e49df65e5686a96431543580b8d8285893) )
|
||||
|
||||
ROM_REGION( 0x0020, TARG_TONE_REGION, 0 )
|
||||
ROM_LOAD( "hra2b-1", 0x0000, 0x0020, CRC(38e8024b) SHA1(adf1c1770695f7614c95eceb803f662c5b096a76) ) /* unknown */
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -1012,6 +1028,7 @@ ROM_START( spectar )
|
||||
ROM_CONTINUE( 0x0000, 0x0400 ) /* overwrite with the real one */
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( spectar1 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "spl12a1", 0x0800, 0x0800, CRC(7002efb4) SHA1(fbb19ccd2aee49b78606eadcbef94e842e1be905) )
|
||||
@ -1027,39 +1044,41 @@ ROM_START( spectar1 )
|
||||
ROM_CONTINUE( 0x0000, 0x0400 ) /* overwrite with the real one */
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( rallys )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "rallys.01", 0x1000, 0x0400, CRC(a192b22b) SHA1(aaae0b1822f934df30b354f787ffa8848c71b52f) )
|
||||
ROM_LOAD( "rallys.02", 0x1400, 0x0400, CRC(19e730aa) SHA1(4f4e87d26c14a9ff2be5b4173c4e5804db551e33) )
|
||||
ROM_LOAD( "rallys.03", 0x1800, 0x0400, CRC(2a3e7b69) SHA1(d31a3e6acca87881741e88e70d46a4a0ee59fcf8) )
|
||||
ROM_LOAD( "rallys.04", 0x1c00, 0x0400, CRC(6d224696) SHA1(586bc8efdc8ac0a73e4a4300459efaf89021f6f5) )
|
||||
ROM_LOAD( "rallys.05", 0x2000, 0x0400, CRC(af943b5e) SHA1(819fa8a6ee78a39cdade49789cd42b4a215f82f0) )
|
||||
ROM_LOAD( "rallys.06", 0x2400, 0x0400, CRC(9b3d9e61) SHA1(b183e0844706713eb0a241a6e45c09c53e4077a3) )
|
||||
ROM_LOAD( "rallys.07", 0x2800, 0x0400, CRC(8ef8bc67) SHA1(c8d80cc8e89a9bc5d957d648d704e4c66b17932d) )
|
||||
ROM_LOAD( "rallys.08", 0x2c00, 0x0400, CRC(243c54f2) SHA1(813b3ecbd5642034b5de0bae96698ed2b036fc7b) )
|
||||
ROM_LOAD( "rallys.10", 0x3400, 0x0400, CRC(46f473d2) SHA1(e6a180fdcf2ac13ffab624554ef8aab128e80321) )
|
||||
ROM_LOAD( "rallys.09", 0x3c00, 0x0400, CRC(56ce8a94) SHA1(becd31cda58e59267517a39c82ccfa70abdd31c6) )
|
||||
ROM_LOAD( "rallys.01", 0x1000, 0x0400, CRC(a192b22b) SHA1(aaae0b1822f934df30b354f787ffa8848c71b52f) )
|
||||
ROM_LOAD( "rallys.02", 0x1400, 0x0400, CRC(19e730aa) SHA1(4f4e87d26c14a9ff2be5b4173c4e5804db551e33) )
|
||||
ROM_LOAD( "rallys.03", 0x1800, 0x0400, CRC(2a3e7b69) SHA1(d31a3e6acca87881741e88e70d46a4a0ee59fcf8) )
|
||||
ROM_LOAD( "rallys.04", 0x1c00, 0x0400, CRC(6d224696) SHA1(586bc8efdc8ac0a73e4a4300459efaf89021f6f5) )
|
||||
ROM_LOAD( "rallys.05", 0x2000, 0x0400, CRC(af943b5e) SHA1(819fa8a6ee78a39cdade49789cd42b4a215f82f0) )
|
||||
ROM_LOAD( "rallys.06", 0x2400, 0x0400, CRC(9b3d9e61) SHA1(b183e0844706713eb0a241a6e45c09c53e4077a3) )
|
||||
ROM_LOAD( "rallys.07", 0x2800, 0x0400, CRC(8ef8bc67) SHA1(c8d80cc8e89a9bc5d957d648d704e4c66b17932d) )
|
||||
ROM_LOAD( "rallys.08", 0x2c00, 0x0400, CRC(243c54f2) SHA1(813b3ecbd5642034b5de0bae96698ed2b036fc7b) )
|
||||
ROM_LOAD( "rallys.10", 0x3400, 0x0400, CRC(46f473d2) SHA1(e6a180fdcf2ac13ffab624554ef8aab128e80321) )
|
||||
ROM_LOAD( "rallys.09", 0x3c00, 0x0400, CRC(56ce8a94) SHA1(becd31cda58e59267517a39c82ccfa70abdd31c6) )
|
||||
|
||||
ROM_REGION( 0x0400, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "hrl11d-1", 0x0000, 0x0400, CRC(9f03513e) SHA1(aa4763e49df65e5686a96431543580b8d8285893) )
|
||||
ROM_LOAD( "hrl11d-1", 0x0000, 0x0400, CRC(9f03513e) SHA1(aa4763e49df65e5686a96431543580b8d8285893) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "targ82s.123", 0x0000, 0x0020, CRC(9eb9125c) SHA1(660ad9b2c7c28c3fda4b10c1401c03165d131c61) ) /* unknown */
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( phantoma )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "156_a2", 0x1000, 0x0800, CRC(c5af9d34) SHA1(4c9f9a06cc7f6caf13a79fa8491db17b01b24774) )
|
||||
ROM_LOAD( "156_a3", 0x1800, 0x0800, CRC(30121e69) SHA1(1588cfb61eb9aa9598b3ff600cc02b0f1ac622bf) )
|
||||
ROM_LOAD( "156_a4", 0x2000, 0x0800, CRC(02d7fb94) SHA1(634e952a6a0d4c1a42692100e1913ecd5ab9faed) )
|
||||
ROM_LOAD( "156_a5", 0x2800, 0x0800, CRC(0127bc8d) SHA1(c555507f2662d1b45caf0b696147f70749292930) )
|
||||
ROM_LOAD( "156_a1", 0xf800, 0x0800, CRC(26292c0a) SHA1(d4157e261f6247cfafb948d1a9dbf0b02b2b84de) )
|
||||
ROM_LOAD( "156_a2", 0x1000, 0x0800, CRC(c5af9d34) SHA1(4c9f9a06cc7f6caf13a79fa8491db17b01b24774) )
|
||||
ROM_LOAD( "156_a3", 0x1800, 0x0800, CRC(30121e69) SHA1(1588cfb61eb9aa9598b3ff600cc02b0f1ac622bf) )
|
||||
ROM_LOAD( "156_a4", 0x2000, 0x0800, CRC(02d7fb94) SHA1(634e952a6a0d4c1a42692100e1913ecd5ab9faed) )
|
||||
ROM_LOAD( "156_a5", 0x2800, 0x0800, CRC(0127bc8d) SHA1(c555507f2662d1b45caf0b696147f70749292930) )
|
||||
ROM_LOAD( "156_a1", 0xf800, 0x0800, CRC(26292c0a) SHA1(d4157e261f6247cfafb948d1a9dbf0b02b2b84de) )
|
||||
|
||||
ROM_REGION( 0x800, REGION_GFX1, 0 )
|
||||
ROM_LOAD( "156_d1", 0x0000, 0x0800, CRC(d18e5f14) SHA1(5cd327500e74eca378ad5d0924949f96dd955cf8) )
|
||||
ROM_LOAD( "156_d1", 0x0000, 0x0800, CRC(d18e5f14) SHA1(5cd327500e74eca378ad5d0924949f96dd955cf8) )
|
||||
|
||||
ROM_REGION( 0x0020, REGION_PROMS, 0 )
|
||||
ROM_LOAD( "156_pal", 0x0000, 0x0020, CRC(9fb1daee) SHA1(2ec1189a57c95d7ad820eb12343fcf2c3fb08431) )
|
||||
ROM_LOAD( "156_pal", 0x0000, 0x0020, CRC(9fb1daee) SHA1(2ec1189a57c95d7ad820eb12343fcf2c3fb08431) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -1072,21 +1091,22 @@ ROM_START( mtrap )
|
||||
ROM_LOAD( "mtl7a.bin", 0xe000, 0x1000, CRC(caafbb6d) SHA1(96823ac4e49f192121c53f70382a20f7c52e290b) )
|
||||
ROM_LOAD( "mtl6a.bin", 0xf000, 0x1000, CRC(d85e52ca) SHA1(51296247e365a468fe9458b722bbdbbeeed59fa0) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "mta5a.bin", 0x6800, 0x0800, CRC(dbe4ec02) SHA1(34e965428dbb4b9c558927bb80d19cb550b53228) )
|
||||
ROM_LOAD( "mta6a.bin", 0x7000, 0x0800, CRC(c00f0c05) SHA1(398b0bc2a7e54b1e2326ed067bf6bb15cc52ed39) )
|
||||
ROM_LOAD( "mta7a.bin", 0x7800, 0x0800, CRC(f3f16ca7) SHA1(3928c5da246c43036a7b4cbb140a1734d5f1fb03) )
|
||||
|
||||
ROM_REGION( 0x4000, REGION_CPU3, 0 ) /* 16k for digital sound processor */
|
||||
ROM_LOAD( "mta2a.bin", 0x0000, 0x1000, CRC(13db8ed3) SHA1(939352323bdcd7df25db5eb2e30f269bcaebe6af) )
|
||||
ROM_LOAD( "mta3a.bin", 0x1000, 0x1000, CRC(31bdfe5c) SHA1(b10bfe9e56dd617c5b4cd8b5bfec9c7f537b1086) )
|
||||
ROM_LOAD( "mta4a.bin", 0x2000, 0x1000, CRC(1502d0e8) SHA1(8ef51ad4601299016f1821a5c65bec0199dd5474) )
|
||||
ROM_LOAD( "mta1a.bin", 0x3000, 0x1000, CRC(658482a6) SHA1(c0d770fbeaa7cb3e0eef47d8caa0f8a78841692e) )
|
||||
ROM_LOAD( "mta2a.bin", 0x0000, 0x1000, CRC(13db8ed3) SHA1(939352323bdcd7df25db5eb2e30f269bcaebe6af) )
|
||||
ROM_LOAD( "mta3a.bin", 0x1000, 0x1000, CRC(31bdfe5c) SHA1(b10bfe9e56dd617c5b4cd8b5bfec9c7f537b1086) )
|
||||
ROM_LOAD( "mta4a.bin", 0x2000, 0x1000, CRC(1502d0e8) SHA1(8ef51ad4601299016f1821a5c65bec0199dd5474) )
|
||||
ROM_LOAD( "mta1a.bin", 0x3000, 0x1000, CRC(658482a6) SHA1(c0d770fbeaa7cb3e0eef47d8caa0f8a78841692e) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "mtl11d.bin", 0x0000, 0x0800, CRC(c6e4d339) SHA1(b091923e4d52e93d7c567afba217a10b2a3735fc) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( mtrap3 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "mtl-3.11a", 0xa000, 0x1000, CRC(4091be6e) SHA1(a4432f4588915276583f4b2e8db527fd24eb4291) )
|
||||
@ -1096,21 +1116,22 @@ ROM_START( mtrap3 )
|
||||
ROM_LOAD( "mtl-3.7a", 0xe000, 0x1000, CRC(ea8ec479) SHA1(785557a242d9343c83cdc403b1f726cbea9d230f) )
|
||||
ROM_LOAD( "mtl-3.6a", 0xf000, 0x1000, CRC(d72ba72d) SHA1(4c5b311bc7ecfc6133bc09e586635844e2f1d6a9) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "mta5a.bin", 0x6800, 0x0800, CRC(dbe4ec02) SHA1(34e965428dbb4b9c558927bb80d19cb550b53228) )
|
||||
ROM_LOAD( "mta6a.bin", 0x7000, 0x0800, CRC(c00f0c05) SHA1(398b0bc2a7e54b1e2326ed067bf6bb15cc52ed39) )
|
||||
ROM_LOAD( "mta7a.bin", 0x7800, 0x0800, CRC(f3f16ca7) SHA1(3928c5da246c43036a7b4cbb140a1734d5f1fb03) )
|
||||
|
||||
ROM_REGION( 0x4000, REGION_CPU3, 0 ) /* 16k for digital sound processor */
|
||||
ROM_LOAD( "mta2a.bin", 0x0000, 0x1000, CRC(13db8ed3) SHA1(939352323bdcd7df25db5eb2e30f269bcaebe6af) )
|
||||
ROM_LOAD( "mta3a.bin", 0x1000, 0x1000, CRC(31bdfe5c) SHA1(b10bfe9e56dd617c5b4cd8b5bfec9c7f537b1086) )
|
||||
ROM_LOAD( "mta4a.bin", 0x2000, 0x1000, CRC(1502d0e8) SHA1(8ef51ad4601299016f1821a5c65bec0199dd5474) )
|
||||
ROM_LOAD( "mta1a.bin", 0x3000, 0x1000, CRC(658482a6) SHA1(c0d770fbeaa7cb3e0eef47d8caa0f8a78841692e) )
|
||||
ROM_LOAD( "mta2a.bin", 0x0000, 0x1000, CRC(13db8ed3) SHA1(939352323bdcd7df25db5eb2e30f269bcaebe6af) )
|
||||
ROM_LOAD( "mta3a.bin", 0x1000, 0x1000, CRC(31bdfe5c) SHA1(b10bfe9e56dd617c5b4cd8b5bfec9c7f537b1086) )
|
||||
ROM_LOAD( "mta4a.bin", 0x2000, 0x1000, CRC(1502d0e8) SHA1(8ef51ad4601299016f1821a5c65bec0199dd5474) )
|
||||
ROM_LOAD( "mta1a.bin", 0x3000, 0x1000, CRC(658482a6) SHA1(c0d770fbeaa7cb3e0eef47d8caa0f8a78841692e) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "mtl11d.bin", 0x0000, 0x0800, CRC(c6e4d339) SHA1(b091923e4d52e93d7c567afba217a10b2a3735fc) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( mtrap4 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "mta411a.bin", 0xa000, 0x1000, CRC(2879cb8d) SHA1(738bd3cd968fd733adcfe0fb5efdb2e2fcfb344e) )
|
||||
@ -1120,16 +1141,16 @@ ROM_START( mtrap4 )
|
||||
ROM_LOAD( "mta47a.bin", 0xe000, 0x1000, CRC(cdf8c6a8) SHA1(932ae9c0ea5700bd79862efa94742136d8e15641) )
|
||||
ROM_LOAD( "mta46a.bin", 0xf000, 0x1000, CRC(77d3f2e6) SHA1(2c21dd7ee326ccb41d3c64eec90a19198382edea) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "mta5a.bin", 0x6800, 0x0800, CRC(dbe4ec02) SHA1(34e965428dbb4b9c558927bb80d19cb550b53228) )
|
||||
ROM_LOAD( "mta6a.bin", 0x7000, 0x0800, CRC(c00f0c05) SHA1(398b0bc2a7e54b1e2326ed067bf6bb15cc52ed39) )
|
||||
ROM_LOAD( "mta7a.bin", 0x7800, 0x0800, CRC(f3f16ca7) SHA1(3928c5da246c43036a7b4cbb140a1734d5f1fb03) )
|
||||
|
||||
ROM_REGION( 0x4000, REGION_CPU3, 0 ) /* 16k for digital sound processor */
|
||||
ROM_LOAD( "mta2a.bin", 0x0000,0x1000,CRC(13db8ed3) SHA1(939352323bdcd7df25db5eb2e30f269bcaebe6af) )
|
||||
ROM_LOAD( "mta3a.bin", 0x1000,0x1000,CRC(31bdfe5c) SHA1(b10bfe9e56dd617c5b4cd8b5bfec9c7f537b1086) )
|
||||
ROM_LOAD( "mta4a.bin", 0x2000,0x1000,CRC(1502d0e8) SHA1(8ef51ad4601299016f1821a5c65bec0199dd5474) )
|
||||
ROM_LOAD( "mta1a.bin", 0x3000,0x1000,CRC(658482a6) SHA1(c0d770fbeaa7cb3e0eef47d8caa0f8a78841692e) )
|
||||
ROM_LOAD( "mta2a.bin", 0x0000,0x1000,CRC(13db8ed3) SHA1(939352323bdcd7df25db5eb2e30f269bcaebe6af) )
|
||||
ROM_LOAD( "mta3a.bin", 0x1000,0x1000,CRC(31bdfe5c) SHA1(b10bfe9e56dd617c5b4cd8b5bfec9c7f537b1086) )
|
||||
ROM_LOAD( "mta4a.bin", 0x2000,0x1000,CRC(1502d0e8) SHA1(8ef51ad4601299016f1821a5c65bec0199dd5474) )
|
||||
ROM_LOAD( "mta1a.bin", 0x3000,0x1000,CRC(658482a6) SHA1(c0d770fbeaa7cb3e0eef47d8caa0f8a78841692e) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "mtl11d.bin", 0x0000, 0x0800, CRC(c6e4d339) SHA1(b091923e4d52e93d7c567afba217a10b2a3735fc) )
|
||||
@ -1138,26 +1159,27 @@ ROM_END
|
||||
|
||||
ROM_START( venture )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "13a-cpu", 0x8000, 0x1000, CRC(f4e4d991) SHA1(6683c1552b56b20f2296e461aff697af73563792) )
|
||||
ROM_LOAD( "12a-cpu", 0x9000, 0x1000, CRC(c6d8cb04) SHA1(3b9ae8fdc35117c73c91daed66e93e5344bdcd7e) )
|
||||
ROM_LOAD( "11a-cpu", 0xa000, 0x1000, CRC(3bdb01f4) SHA1(3c1f43a3c37a21524b64d69e4dae58af8c2e0d90) )
|
||||
ROM_LOAD( "10a-cpu", 0xb000, 0x1000, CRC(0da769e9) SHA1(3604dc08c63461b2ea957a396887fb32e4a1a970) )
|
||||
ROM_LOAD( "9a-cpu", 0xc000, 0x1000, CRC(0ae05855) SHA1(29b3c2ca9740aa753e90131e6edcc61f414277e1) )
|
||||
ROM_LOAD( "8a-cpu", 0xd000, 0x1000, CRC(4ae59676) SHA1(36fc9dce9dd0c764a861634859ca0d7f98e20382) )
|
||||
ROM_LOAD( "7a-cpu", 0xe000, 0x1000, CRC(48d66220) SHA1(97b1605170c67b3a945b4d5f088df79328e163ce) )
|
||||
ROM_LOAD( "6a-cpu", 0xf000, 0x1000, CRC(7b78cf49) SHA1(1d484172465d3db6c4fc3733aa2b409e3a2e228f) )
|
||||
ROM_LOAD( "13a-cpu", 0x8000, 0x1000, CRC(f4e4d991) SHA1(6683c1552b56b20f2296e461aff697af73563792) )
|
||||
ROM_LOAD( "12a-cpu", 0x9000, 0x1000, CRC(c6d8cb04) SHA1(3b9ae8fdc35117c73c91daed66e93e5344bdcd7e) )
|
||||
ROM_LOAD( "11a-cpu", 0xa000, 0x1000, CRC(3bdb01f4) SHA1(3c1f43a3c37a21524b64d69e4dae58af8c2e0d90) )
|
||||
ROM_LOAD( "10a-cpu", 0xb000, 0x1000, CRC(0da769e9) SHA1(3604dc08c63461b2ea957a396887fb32e4a1a970) )
|
||||
ROM_LOAD( "9a-cpu", 0xc000, 0x1000, CRC(0ae05855) SHA1(29b3c2ca9740aa753e90131e6edcc61f414277e1) )
|
||||
ROM_LOAD( "8a-cpu", 0xd000, 0x1000, CRC(4ae59676) SHA1(36fc9dce9dd0c764a861634859ca0d7f98e20382) )
|
||||
ROM_LOAD( "7a-cpu", 0xe000, 0x1000, CRC(48d66220) SHA1(97b1605170c67b3a945b4d5f088df79328e163ce) )
|
||||
ROM_LOAD( "6a-cpu", 0xf000, 0x1000, CRC(7b78cf49) SHA1(1d484172465d3db6c4fc3733aa2b409e3a2e228f) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_LOAD( "3a-ac", 0x5800, 0x0800, CRC(4ea1c3d9) SHA1(d0c99c9d5b887d717c68e8745906ae4e65aec6ad) )
|
||||
ROM_LOAD( "4a-ac", 0x6000, 0x0800, CRC(5154c39e) SHA1(e6f011630eb1aa4116a0e5824ad6b65c1be2455f) )
|
||||
ROM_LOAD( "5a-ac", 0x6800, 0x0800, CRC(1e1e3916) SHA1(867e586583e07cd01e0e852f6ea52a040995725d) )
|
||||
ROM_LOAD( "6a-ac", 0x7000, 0x0800, CRC(80f3357a) SHA1(f1ee638251e8676a526e6367c11866b1d52f5910) )
|
||||
ROM_LOAD( "7a-ac", 0x7800, 0x0800, CRC(466addc7) SHA1(0230b5365d6aeee3ca47666a9eadee4141de125b) )
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "3a-ac", 0x5800, 0x0800, CRC(4ea1c3d9) SHA1(d0c99c9d5b887d717c68e8745906ae4e65aec6ad) )
|
||||
ROM_LOAD( "4a-ac", 0x6000, 0x0800, CRC(5154c39e) SHA1(e6f011630eb1aa4116a0e5824ad6b65c1be2455f) )
|
||||
ROM_LOAD( "5a-ac", 0x6800, 0x0800, CRC(1e1e3916) SHA1(867e586583e07cd01e0e852f6ea52a040995725d) )
|
||||
ROM_LOAD( "6a-ac", 0x7000, 0x0800, CRC(80f3357a) SHA1(f1ee638251e8676a526e6367c11866b1d52f5910) )
|
||||
ROM_LOAD( "7a-ac", 0x7800, 0x0800, CRC(466addc7) SHA1(0230b5365d6aeee3ca47666a9eadee4141de125b) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "11d-cpu", 0x0000, 0x0800, CRC(b4bb2503) SHA1(67303603b7c5e6301e976ef19f81c7519648b179) )
|
||||
ROM_LOAD( "11d-cpu", 0x0000, 0x0800, CRC(b4bb2503) SHA1(67303603b7c5e6301e976ef19f81c7519648b179) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( venture2 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "vent_a13.cpu", 0x8000, 0x1000, CRC(4c833f99) SHA1(1ff4eafe48b9f0ab8a123659d78c3dfa0bf56d7d) )
|
||||
@ -1169,7 +1191,7 @@ ROM_START( venture2 )
|
||||
ROM_LOAD( "vent_a7.cpu", 0xe000, 0x1000, CRC(1aab27c2) SHA1(66c7274dbb8bda3c78cc61d96a6cb1a9b29939b5) )
|
||||
ROM_LOAD( "vent_a6.cpu", 0xf000, 0x1000, CRC(767bdd71) SHA1(334a903e05fc86186f90aa2d9ce3b0d367d7e516) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "3a-ac", 0x5800, 0x0800, CRC(4ea1c3d9) SHA1(d0c99c9d5b887d717c68e8745906ae4e65aec6ad) )
|
||||
ROM_LOAD( "4a-ac", 0x6000, 0x0800, CRC(5154c39e) SHA1(e6f011630eb1aa4116a0e5824ad6b65c1be2455f) )
|
||||
ROM_LOAD( "5a-ac", 0x6800, 0x0800, CRC(1e1e3916) SHA1(867e586583e07cd01e0e852f6ea52a040995725d) )
|
||||
@ -1180,129 +1202,130 @@ ROM_START( venture2 )
|
||||
ROM_LOAD( "11d-cpu", 0x0000, 0x0800, CRC(b4bb2503) SHA1(67303603b7c5e6301e976ef19f81c7519648b179) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( venture4 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "vel13a-4", 0x8000, 0x1000, CRC(1c5448f9) SHA1(59d3ca2a2d7048f5f7bd23fa5d9c9a2cc0734cb8) )
|
||||
ROM_LOAD( "vel12a-4", 0x9000, 0x1000, CRC(e62491cc) SHA1(a98b6c6e60d83fd4591d0de145a99c5e4576121a) )
|
||||
ROM_LOAD( "vel11a-4", 0xa000, 0x1000, CRC(e91faeaf) SHA1(ce50a9f1016671282d16f2d0ad3553598e0c7e89) )
|
||||
ROM_LOAD( "vel10a-4", 0xb000, 0x1000, CRC(da3a2991) SHA1(2b5175b0f3642e735b6d87fbd5b75118cf6b7faa) )
|
||||
ROM_LOAD( "vel9a-4", 0xc000, 0x1000, CRC(d1887b11) SHA1(40ed1e1bdcb95d6e317cb5e4fb8572a314b3fbf8) )
|
||||
ROM_LOAD( "vel8a-4", 0xd000, 0x1000, CRC(8e8153fc) SHA1(409cf0ed39ef04c1e9359f0499d7cba3aed8f36e) )
|
||||
ROM_LOAD( "vel7a-4", 0xe000, 0x1000, CRC(0a091701) SHA1(ffdea1d60371779d0c28fb3c6111639cace79dad) )
|
||||
ROM_LOAD( "vel6a-4", 0xf000, 0x1000, CRC(7b165f67) SHA1(4109797bcfd33c870234930790e3cecaaf90b706) )
|
||||
ROM_LOAD( "vel13a-4", 0x8000, 0x1000, CRC(1c5448f9) SHA1(59d3ca2a2d7048f5f7bd23fa5d9c9a2cc0734cb8) )
|
||||
ROM_LOAD( "vel12a-4", 0x9000, 0x1000, CRC(e62491cc) SHA1(a98b6c6e60d83fd4591d0de145a99c5e4576121a) )
|
||||
ROM_LOAD( "vel11a-4", 0xa000, 0x1000, CRC(e91faeaf) SHA1(ce50a9f1016671282d16f2d0ad3553598e0c7e89) )
|
||||
ROM_LOAD( "vel10a-4", 0xb000, 0x1000, CRC(da3a2991) SHA1(2b5175b0f3642e735b6d87fbd5b75118cf6b7faa) )
|
||||
ROM_LOAD( "vel9a-4", 0xc000, 0x1000, CRC(d1887b11) SHA1(40ed1e1bdcb95d6e317cb5e4fb8572a314b3fbf8) )
|
||||
ROM_LOAD( "vel8a-4", 0xd000, 0x1000, CRC(8e8153fc) SHA1(409cf0ed39ef04c1e9359f0499d7cba3aed8f36e) )
|
||||
ROM_LOAD( "vel7a-4", 0xe000, 0x1000, CRC(0a091701) SHA1(ffdea1d60371779d0c28fb3c6111639cace79dad) )
|
||||
ROM_LOAD( "vel6a-4", 0xf000, 0x1000, CRC(7b165f67) SHA1(4109797bcfd33c870234930790e3cecaaf90b706) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_LOAD( "vea3a-2", 0x5800, 0x0800, CRC(83b8836f) SHA1(ec0e2de62caea61ceff56e924449213997bff8cd) )
|
||||
ROM_LOAD( "4a-ac", 0x6000, 0x0800, CRC(5154c39e) SHA1(e6f011630eb1aa4116a0e5824ad6b65c1be2455f) )
|
||||
ROM_LOAD( "5a-ac", 0x6800, 0x0800, CRC(1e1e3916) SHA1(867e586583e07cd01e0e852f6ea52a040995725d) )
|
||||
ROM_LOAD( "6a-ac", 0x7000, 0x0800, CRC(80f3357a) SHA1(f1ee638251e8676a526e6367c11866b1d52f5910) )
|
||||
ROM_LOAD( "7a-ac", 0x7800, 0x0800, CRC(466addc7) SHA1(0230b5365d6aeee3ca47666a9eadee4141de125b) )
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "vea3a-2", 0x5800, 0x0800, CRC(83b8836f) SHA1(ec0e2de62caea61ceff56e924449213997bff8cd) )
|
||||
ROM_LOAD( "4a-ac", 0x6000, 0x0800, CRC(5154c39e) SHA1(e6f011630eb1aa4116a0e5824ad6b65c1be2455f) )
|
||||
ROM_LOAD( "5a-ac", 0x6800, 0x0800, CRC(1e1e3916) SHA1(867e586583e07cd01e0e852f6ea52a040995725d) )
|
||||
ROM_LOAD( "6a-ac", 0x7000, 0x0800, CRC(80f3357a) SHA1(f1ee638251e8676a526e6367c11866b1d52f5910) )
|
||||
ROM_LOAD( "7a-ac", 0x7800, 0x0800, CRC(466addc7) SHA1(0230b5365d6aeee3ca47666a9eadee4141de125b) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "vel11d-2", 0x0000, 0x0800, CRC(ea6fd981) SHA1(46b1658e1607423d5a073f14097c2a48d59057c0) )
|
||||
ROM_LOAD( "vel11d-2", 0x0000, 0x0800, CRC(ea6fd981) SHA1(46b1658e1607423d5a073f14097c2a48d59057c0) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( pepper2 )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "main_12a", 0x9000, 0x1000, CRC(33db4737) SHA1(d8f7a5d340ddbc4d06d403c3bff0102ce637d24e) )
|
||||
ROM_LOAD( "main_11a", 0xa000, 0x1000, CRC(a1f43b1f) SHA1(a669f2ef55d9a0617110f65863822fdcaf153511) )
|
||||
ROM_LOAD( "main_10a", 0xb000, 0x1000, CRC(4d7d7786) SHA1(ea1390b887404a67ea556720219e81007b954a7d) )
|
||||
ROM_LOAD( "main_9a", 0xc000, 0x1000, CRC(b3362298) SHA1(7adad138ec5f94caa39f9c0fabece538d5db4913) )
|
||||
ROM_LOAD( "main_8a", 0xd000, 0x1000, CRC(64d106ed) SHA1(49646a97def9e1793cac6ee0044f68232b294e4f) )
|
||||
ROM_LOAD( "main_7a", 0xe000, 0x1000, CRC(b1c6f07c) SHA1(53d07211d014336bb43671c51f4190c6515e9cde) )
|
||||
ROM_LOAD( "main_6a", 0xf000, 0x1000, CRC(515b1046) SHA1(bdcccd4e415c00ee8e5ec185597df75ecafe7d3d) )
|
||||
ROM_LOAD( "main_12a", 0x9000, 0x1000, CRC(33db4737) SHA1(d8f7a5d340ddbc4d06d403c3bff0102ce637d24e) )
|
||||
ROM_LOAD( "main_11a", 0xa000, 0x1000, CRC(a1f43b1f) SHA1(a669f2ef55d9a0617110f65863822fdcaf153511) )
|
||||
ROM_LOAD( "main_10a", 0xb000, 0x1000, CRC(4d7d7786) SHA1(ea1390b887404a67ea556720219e81007b954a7d) )
|
||||
ROM_LOAD( "main_9a", 0xc000, 0x1000, CRC(b3362298) SHA1(7adad138ec5f94caa39f9c0fabece538d5db4913) )
|
||||
ROM_LOAD( "main_8a", 0xd000, 0x1000, CRC(64d106ed) SHA1(49646a97def9e1793cac6ee0044f68232b294e4f) )
|
||||
ROM_LOAD( "main_7a", 0xe000, 0x1000, CRC(b1c6f07c) SHA1(53d07211d014336bb43671c51f4190c6515e9cde) )
|
||||
ROM_LOAD( "main_6a", 0xf000, 0x1000, CRC(515b1046) SHA1(bdcccd4e415c00ee8e5ec185597df75ecafe7d3d) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_LOAD( "audio_5a", 0x6800, 0x0800, CRC(90e3c781) SHA1(d51a9e011167a132e8af9f4b1201600a58e86b62) )
|
||||
ROM_LOAD( "audio_6a", 0x7000, 0x0800, CRC(dd343e34) SHA1(4ec55bb73d6afbd167fa91d2606d1d55a15b5c39) )
|
||||
ROM_LOAD( "audio_7a", 0x7800, 0x0800, CRC(e02b4356) SHA1(9891e14d84221c1d6f2d15a29813eb41024290ca) )
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "audio_5a", 0x6800, 0x0800, CRC(90e3c781) SHA1(d51a9e011167a132e8af9f4b1201600a58e86b62) )
|
||||
ROM_LOAD( "audio_6a", 0x7000, 0x0800, CRC(dd343e34) SHA1(4ec55bb73d6afbd167fa91d2606d1d55a15b5c39) )
|
||||
ROM_LOAD( "audio_7a", 0x7800, 0x0800, CRC(e02b4356) SHA1(9891e14d84221c1d6f2d15a29813eb41024290ca) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "main_11d", 0x0000, 0x0800, CRC(b25160cd) SHA1(3d768552960a3a660891dcb85da6a5c382b33991) )
|
||||
ROM_LOAD( "main_11d", 0x0000, 0x0800, CRC(b25160cd) SHA1(3d768552960a3a660891dcb85da6a5c382b33991) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( hardhat )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "hhl-2.11a", 0xa000, 0x1000, CRC(7623deea) SHA1(3c47c0439c80e66536af42c5ee4e522fea5f8374) )
|
||||
ROM_LOAD( "hhl-2.10a", 0xb000, 0x1000, CRC(e6bf2fb1) SHA1(ad41859129774fc51462726a825c0ae16ed81a6e) )
|
||||
ROM_LOAD( "hhl-2.9a", 0xc000, 0x1000, CRC(acc2bce5) SHA1(0f7b8cfbd2628b8587c423fbc2c8310d71d8ad2a) )
|
||||
ROM_LOAD( "hhl-2.8a", 0xd000, 0x1000, CRC(23c7a2f8) SHA1(5eb1d512d73ba6bd1c23501664b582e9d3cf777f) )
|
||||
ROM_LOAD( "hhl-2.7a", 0xe000, 0x1000, CRC(6f7ce1c2) SHA1(356dcea22e50c95a8552566a0fb5f9b4e3e5de2a) )
|
||||
ROM_LOAD( "hhl-2.6a", 0xf000, 0x1000, CRC(2a20cf10) SHA1(31eb4556647e78e3d9be1c30d970eac8aaa5cf18) )
|
||||
ROM_LOAD( "hhl-2.11a", 0xa000, 0x1000, CRC(7623deea) SHA1(3c47c0439c80e66536af42c5ee4e522fea5f8374) )
|
||||
ROM_LOAD( "hhl-2.10a", 0xb000, 0x1000, CRC(e6bf2fb1) SHA1(ad41859129774fc51462726a825c0ae16ed81a6e) )
|
||||
ROM_LOAD( "hhl-2.9a", 0xc000, 0x1000, CRC(acc2bce5) SHA1(0f7b8cfbd2628b8587c423fbc2c8310d71d8ad2a) )
|
||||
ROM_LOAD( "hhl-2.8a", 0xd000, 0x1000, CRC(23c7a2f8) SHA1(5eb1d512d73ba6bd1c23501664b582e9d3cf777f) )
|
||||
ROM_LOAD( "hhl-2.7a", 0xe000, 0x1000, CRC(6f7ce1c2) SHA1(356dcea22e50c95a8552566a0fb5f9b4e3e5de2a) )
|
||||
ROM_LOAD( "hhl-2.6a", 0xf000, 0x1000, CRC(2a20cf10) SHA1(31eb4556647e78e3d9be1c30d970eac8aaa5cf18) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_LOAD( "hha-1.5a", 0x6800, 0x0800, CRC(16a5a183) SHA1(cf3fed55db9c61fd33c222275d472fa109bed081) )
|
||||
ROM_LOAD( "hha-1.6a", 0x7000, 0x0800, CRC(bde64021) SHA1(a403590d5a27b859eaa299e47df4ebd6ce4a5772) )
|
||||
ROM_LOAD( "hha-1.7a", 0x7800, 0x0800, CRC(505ee5d3) SHA1(efa228465688f2bb30f00dc1511cc5f3a287356c) )
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "hha-1.5a", 0x6800, 0x0800, CRC(16a5a183) SHA1(cf3fed55db9c61fd33c222275d472fa109bed081) )
|
||||
ROM_LOAD( "hha-1.6a", 0x7000, 0x0800, CRC(bde64021) SHA1(a403590d5a27b859eaa299e47df4ebd6ce4a5772) )
|
||||
ROM_LOAD( "hha-1.7a", 0x7800, 0x0800, CRC(505ee5d3) SHA1(efa228465688f2bb30f00dc1511cc5f3a287356c) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "hhl-1.11d", 0x0000, 0x0800, CRC(dbcdf353) SHA1(76ea287326a5c9e75e407cc010414212d8fdd52a) )
|
||||
ROM_LOAD( "hhl-1.11d", 0x0000, 0x0800, CRC(dbcdf353) SHA1(76ea287326a5c9e75e407cc010414212d8fdd52a) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( teetert )
|
||||
ROM_REGION( 0x10000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "13a-cpu", 0x8000, 0x1000, CRC(f4e4d991) SHA1(6683c1552b56b20f2296e461aff697af73563792) )
|
||||
ROM_LOAD( "12a-cpu", 0x9000, 0x1000, CRC(c6d8cb04) SHA1(3b9ae8fdc35117c73c91daed66e93e5344bdcd7e) )
|
||||
ROM_LOAD( "11a-cpu", 0xa000, 0x1000, CRC(bac9b259) SHA1(0265cbd683fadf42f8a6b71958cbe782a732c257) )
|
||||
ROM_LOAD( "10a-cpu", 0xb000, 0x1000, CRC(3ae7e445) SHA1(e511ce4c553ac58e87b6ee623f8c42d7653de972) )
|
||||
ROM_LOAD( "9a-cpu", 0xc000, 0x1000, CRC(0cba424d) SHA1(54377163a8b8082639baf56b960eb26268462d46) )
|
||||
ROM_LOAD( "8a-cpu", 0xd000, 0x1000, CRC(68de66e7) SHA1(70a0cc950f16f2c408fae717e6fdb75eb0fd8039) )
|
||||
ROM_LOAD( "7a-cpu", 0xe000, 0x1000, CRC(84491333) SHA1(db9f8e4c49057a4574a3784d71e627da7f7a4b44) )
|
||||
ROM_LOAD( "6a-cpu", 0xf000, 0x1000, CRC(3600d465) SHA1(84d633e042f73bfd6bf4a4d0ffee1cd2027c65d2) )
|
||||
ROM_LOAD( "13a-cpu", 0x8000, 0x1000, CRC(f4e4d991) SHA1(6683c1552b56b20f2296e461aff697af73563792) )
|
||||
ROM_LOAD( "12a-cpu", 0x9000, 0x1000, CRC(c6d8cb04) SHA1(3b9ae8fdc35117c73c91daed66e93e5344bdcd7e) )
|
||||
ROM_LOAD( "11a-cpu", 0xa000, 0x1000, CRC(bac9b259) SHA1(0265cbd683fadf42f8a6b71958cbe782a732c257) )
|
||||
ROM_LOAD( "10a-cpu", 0xb000, 0x1000, CRC(3ae7e445) SHA1(e511ce4c553ac58e87b6ee623f8c42d7653de972) )
|
||||
ROM_LOAD( "9a-cpu", 0xc000, 0x1000, CRC(0cba424d) SHA1(54377163a8b8082639baf56b960eb26268462d46) )
|
||||
ROM_LOAD( "8a-cpu", 0xd000, 0x1000, CRC(68de66e7) SHA1(70a0cc950f16f2c408fae717e6fdb75eb0fd8039) )
|
||||
ROM_LOAD( "7a-cpu", 0xe000, 0x1000, CRC(84491333) SHA1(db9f8e4c49057a4574a3784d71e627da7f7a4b44) )
|
||||
ROM_LOAD( "6a-cpu", 0xf000, 0x1000, CRC(3600d465) SHA1(84d633e042f73bfd6bf4a4d0ffee1cd2027c65d2) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_LOAD( "3a-ac", 0x5800, 0x0800, CRC(83b8836f) SHA1(ec0e2de62caea61ceff56e924449213997bff8cd) )
|
||||
ROM_LOAD( "4a-ac", 0x6000, 0x0800, CRC(5154c39e) SHA1(e6f011630eb1aa4116a0e5824ad6b65c1be2455f) )
|
||||
ROM_LOAD( "5a-ac", 0x6800, 0x0800, CRC(1e1e3916) SHA1(867e586583e07cd01e0e852f6ea52a040995725d) )
|
||||
ROM_LOAD( "6a-ac", 0x7000, 0x0800, CRC(80f3357a) SHA1(f1ee638251e8676a526e6367c11866b1d52f5910) )
|
||||
ROM_LOAD( "7a-ac", 0x7800, 0x0800, CRC(466addc7) SHA1(0230b5365d6aeee3ca47666a9eadee4141de125b) )
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "3a-ac", 0x5800, 0x0800, CRC(83b8836f) SHA1(ec0e2de62caea61ceff56e924449213997bff8cd) )
|
||||
ROM_LOAD( "4a-ac", 0x6000, 0x0800, CRC(5154c39e) SHA1(e6f011630eb1aa4116a0e5824ad6b65c1be2455f) )
|
||||
ROM_LOAD( "5a-ac", 0x6800, 0x0800, CRC(1e1e3916) SHA1(867e586583e07cd01e0e852f6ea52a040995725d) )
|
||||
ROM_LOAD( "6a-ac", 0x7000, 0x0800, CRC(80f3357a) SHA1(f1ee638251e8676a526e6367c11866b1d52f5910) )
|
||||
ROM_LOAD( "7a-ac", 0x7800, 0x0800, CRC(466addc7) SHA1(0230b5365d6aeee3ca47666a9eadee4141de125b) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "11d-cpu", 0x0000, 0x0800, CRC(0fe70b00) SHA1(6068be263d7a8e6b71af6f4dceec40bb8d246376) )
|
||||
ROM_LOAD( "11d-cpu", 0x0000, 0x0800, CRC(0fe70b00) SHA1(6068be263d7a8e6b71af6f4dceec40bb8d246376) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( fax )
|
||||
ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 64k for code + 192k for extra memory */
|
||||
ROM_LOAD( "fxl8-13a.32", 0x8000, 0x1000, CRC(8e30bf6b) SHA1(1fdf010da0258bc038554cf33c26e539a1f6b648) )
|
||||
ROM_LOAD( "fxl8-12a.32", 0x9000, 0x1000, CRC(60a41ff1) SHA1(1703dbedd09354d89c6014644d0ffe13ec657b8b) )
|
||||
ROM_LOAD( "fxl8-11a.32", 0xa000, 0x1000, CRC(2c9cee8a) SHA1(169045b4d840730cfbaa0b9a8a8d82907ea09d0c) )
|
||||
ROM_LOAD( "fxl8-10a.32", 0xb000, 0x1000, CRC(9b03938f) SHA1(af4c27b06a1f1be917316910b88d026b67cc60c0) )
|
||||
ROM_LOAD( "fxl8-9a.32", 0xc000, 0x1000, CRC(fb869f62) SHA1(cea6ff423c60662a1b36e9565940432707d5299b) )
|
||||
ROM_LOAD( "fxl8-8a.32", 0xd000, 0x1000, CRC(db3470bc) SHA1(7786f84ab41765ea91ab241d14a207044eda0e93) )
|
||||
ROM_LOAD( "fxl8-7a.32", 0xe000, 0x1000, CRC(1471fef5) SHA1(89308f3c2a0d7ea699e99622d37c5c95e3eaaf95) )
|
||||
ROM_LOAD( "fxl8-6a.32", 0xf000, 0x1000, CRC(812e39f3) SHA1(41c99f8483c69617f9c8dd82f979630ea9190454) )
|
||||
ROM_REGION( 0x40000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "fxl8-13a.32", 0x08000, 0x1000, CRC(8e30bf6b) SHA1(1fdf010da0258bc038554cf33c26e539a1f6b648) )
|
||||
ROM_LOAD( "fxl8-12a.32", 0x09000, 0x1000, CRC(60a41ff1) SHA1(1703dbedd09354d89c6014644d0ffe13ec657b8b) )
|
||||
ROM_LOAD( "fxl8-11a.32", 0x0a000, 0x1000, CRC(2c9cee8a) SHA1(169045b4d840730cfbaa0b9a8a8d82907ea09d0c) )
|
||||
ROM_LOAD( "fxl8-10a.32", 0x0b000, 0x1000, CRC(9b03938f) SHA1(af4c27b06a1f1be917316910b88d026b67cc60c0) )
|
||||
ROM_LOAD( "fxl8-9a.32", 0x0c000, 0x1000, CRC(fb869f62) SHA1(cea6ff423c60662a1b36e9565940432707d5299b) )
|
||||
ROM_LOAD( "fxl8-8a.32", 0x0d000, 0x1000, CRC(db3470bc) SHA1(7786f84ab41765ea91ab241d14a207044eda0e93) )
|
||||
ROM_LOAD( "fxl8-7a.32", 0x0e000, 0x1000, CRC(1471fef5) SHA1(89308f3c2a0d7ea699e99622d37c5c95e3eaaf95) )
|
||||
ROM_LOAD( "fxl8-6a.32", 0x0f000, 0x1000, CRC(812e39f3) SHA1(41c99f8483c69617f9c8dd82f979630ea9190454) )
|
||||
/* Banks of question ROMs */
|
||||
ROM_LOAD( "fxd-1c.64", 0x10000, 0x2000, CRC(fd7e3137) SHA1(6fda53737cd7c886c66c60436ae3ed5c62e6b178) )
|
||||
ROM_LOAD( "fxd-2c.64", 0x12000, 0x2000, CRC(e78cb16f) SHA1(d58dfa2385368ccf00ecfbaeccaf5ba82ef7da9b) )
|
||||
ROM_LOAD( "fxd-3c.64", 0x14000, 0x2000, CRC(57a94c6f) SHA1(fc27fe805c4cc29f797bfc0e4cd13a570ac5c1ec) )
|
||||
ROM_LOAD( "fxd-4c.64", 0x16000, 0x2000, CRC(9036c5a2) SHA1(b7a01e4002f615702cb691764cfae93707bf3c0f) )
|
||||
ROM_LOAD( "fxd-5c.64", 0x18000, 0x2000, CRC(38c03405) SHA1(c490252825dc3c4bf91255c7cb70a5ead92de85b) )
|
||||
ROM_LOAD( "fxd-6c.64", 0x1a000, 0x2000, CRC(f48fc308) SHA1(bfaf43e57a4d92b593d51d8cd61fe4d5c06e836c) )
|
||||
ROM_LOAD( "fxd-7c.64", 0x1c000, 0x2000, CRC(cf93b924) SHA1(892e6e6aa33bbcd271f5e0a63c1e8393df62f360) )
|
||||
ROM_LOAD( "fxd-8c.64", 0x1e000, 0x2000, CRC(607b48da) SHA1(6c8f2f207f3dd936c529b86cef917a0f0699a21c) )
|
||||
ROM_LOAD( "fxd-1b.64", 0x20000, 0x2000, CRC(62872d4f) SHA1(c020fdeae6c2e7d04c16048fdaa99ecf3e40af31) )
|
||||
ROM_LOAD( "fxd-2b.64", 0x22000, 0x2000, CRC(625778d0) SHA1(6c8d6b50653bff3774f5ccef0e000a2ef3f7030c) )
|
||||
ROM_LOAD( "fxd-3b.64", 0x24000, 0x2000, CRC(c3473dee) SHA1(8675f9b93bbbae4f5a5682c5b1623afeeacc0a4b) )
|
||||
ROM_LOAD( "fxd-4b.64", 0x26000, 0x2000, CRC(e39a15f5) SHA1(43b04cc2e4750b649116ade5b1004c2580293134) )
|
||||
ROM_LOAD( "fxd-5b.64", 0x28000, 0x2000, CRC(101a9d70) SHA1(2b839cd707e03b0e50037e1ffabcb8fe375dc4c0) )
|
||||
ROM_LOAD( "fxd-6b.64", 0x2a000, 0x2000, CRC(374a8f05) SHA1(ec41470932823242fff36ab6e6f158fa5c07d0a8) )
|
||||
ROM_LOAD( "fxd-7b.64", 0x2c000, 0x2000, CRC(f7e7f824) SHA1(1bed1ee07032b25675ace612a883cba4ab4b2f77) )
|
||||
ROM_LOAD( "fxd-8b.64", 0x2e000, 0x2000, CRC(8f1a5287) SHA1(a1102d49bacb25887eaa67ae64bcf64c8cad94fe) )
|
||||
ROM_LOAD( "fxd-1a.64", 0x30000, 0x2000, CRC(fc5e6344) SHA1(c61aad5100819f2fe98c3a159b64739fa6322d09) )
|
||||
ROM_LOAD( "fxd-2a.64", 0x32000, 0x2000, CRC(43cf60b3) SHA1(5169196d0a95450801b3a57703cb9f2861a25948) )
|
||||
ROM_LOAD( "fxd-3a.64", 0x34000, 0x2000, CRC(6b7d29cb) SHA1(fd4006efd24b33f8e2baf7f97d4b776d5ef90959) )
|
||||
ROM_LOAD( "fxd-4a.64", 0x36000, 0x2000, CRC(b9de3c2d) SHA1(229f9f0762d4d659acf516c2c1a42e70d2f98652) )
|
||||
ROM_LOAD( "fxd-5a.64", 0x38000, 0x2000, CRC(67285bc6) SHA1(f929c916fb19dbc91fc3a75dfed6375b63cb2043) )
|
||||
ROM_LOAD( "fxd-6a.64", 0x3a000, 0x2000, CRC(ba67b7b2) SHA1(12265f678b1e4dfc3b36a964f78b0103112753ee) )
|
||||
ROM_LOAD( "fxd-1c.64", 0x10000, 0x2000, CRC(fd7e3137) SHA1(6fda53737cd7c886c66c60436ae3ed5c62e6b178) )
|
||||
ROM_LOAD( "fxd-2c.64", 0x12000, 0x2000, CRC(e78cb16f) SHA1(d58dfa2385368ccf00ecfbaeccaf5ba82ef7da9b) )
|
||||
ROM_LOAD( "fxd-3c.64", 0x14000, 0x2000, CRC(57a94c6f) SHA1(fc27fe805c4cc29f797bfc0e4cd13a570ac5c1ec) )
|
||||
ROM_LOAD( "fxd-4c.64", 0x16000, 0x2000, CRC(9036c5a2) SHA1(b7a01e4002f615702cb691764cfae93707bf3c0f) )
|
||||
ROM_LOAD( "fxd-5c.64", 0x18000, 0x2000, CRC(38c03405) SHA1(c490252825dc3c4bf91255c7cb70a5ead92de85b) )
|
||||
ROM_LOAD( "fxd-6c.64", 0x1a000, 0x2000, CRC(f48fc308) SHA1(bfaf43e57a4d92b593d51d8cd61fe4d5c06e836c) )
|
||||
ROM_LOAD( "fxd-7c.64", 0x1c000, 0x2000, CRC(cf93b924) SHA1(892e6e6aa33bbcd271f5e0a63c1e8393df62f360) )
|
||||
ROM_LOAD( "fxd-8c.64", 0x1e000, 0x2000, CRC(607b48da) SHA1(6c8f2f207f3dd936c529b86cef917a0f0699a21c) )
|
||||
ROM_LOAD( "fxd-1b.64", 0x20000, 0x2000, CRC(62872d4f) SHA1(c020fdeae6c2e7d04c16048fdaa99ecf3e40af31) )
|
||||
ROM_LOAD( "fxd-2b.64", 0x22000, 0x2000, CRC(625778d0) SHA1(6c8d6b50653bff3774f5ccef0e000a2ef3f7030c) )
|
||||
ROM_LOAD( "fxd-3b.64", 0x24000, 0x2000, CRC(c3473dee) SHA1(8675f9b93bbbae4f5a5682c5b1623afeeacc0a4b) )
|
||||
ROM_LOAD( "fxd-4b.64", 0x26000, 0x2000, CRC(e39a15f5) SHA1(43b04cc2e4750b649116ade5b1004c2580293134) )
|
||||
ROM_LOAD( "fxd-5b.64", 0x28000, 0x2000, CRC(101a9d70) SHA1(2b839cd707e03b0e50037e1ffabcb8fe375dc4c0) )
|
||||
ROM_LOAD( "fxd-6b.64", 0x2a000, 0x2000, CRC(374a8f05) SHA1(ec41470932823242fff36ab6e6f158fa5c07d0a8) )
|
||||
ROM_LOAD( "fxd-7b.64", 0x2c000, 0x2000, CRC(f7e7f824) SHA1(1bed1ee07032b25675ace612a883cba4ab4b2f77) )
|
||||
ROM_LOAD( "fxd-8b.64", 0x2e000, 0x2000, CRC(8f1a5287) SHA1(a1102d49bacb25887eaa67ae64bcf64c8cad94fe) )
|
||||
ROM_LOAD( "fxd-1a.64", 0x30000, 0x2000, CRC(fc5e6344) SHA1(c61aad5100819f2fe98c3a159b64739fa6322d09) )
|
||||
ROM_LOAD( "fxd-2a.64", 0x32000, 0x2000, CRC(43cf60b3) SHA1(5169196d0a95450801b3a57703cb9f2861a25948) )
|
||||
ROM_LOAD( "fxd-3a.64", 0x34000, 0x2000, CRC(6b7d29cb) SHA1(fd4006efd24b33f8e2baf7f97d4b776d5ef90959) )
|
||||
ROM_LOAD( "fxd-4a.64", 0x36000, 0x2000, CRC(b9de3c2d) SHA1(229f9f0762d4d659acf516c2c1a42e70d2f98652) )
|
||||
ROM_LOAD( "fxd-5a.64", 0x38000, 0x2000, CRC(67285bc6) SHA1(f929c916fb19dbc91fc3a75dfed6375b63cb2043) )
|
||||
ROM_LOAD( "fxd-6a.64", 0x3a000, 0x2000, CRC(ba67b7b2) SHA1(12265f678b1e4dfc3b36a964f78b0103112753ee) )
|
||||
/* The last two ROM sockets were apparently never populated */
|
||||
// ROM_LOAD( "fxd-7a.64", 0x3c000, 0x2000, NO_DUMP )
|
||||
// ROM_LOAD( "fxd-8a.64", 0x3e000, 0x2000, NO_DUMP )
|
||||
// ROM_LOAD( "fxd-7a.64", 0x3c000, 0x2000, NO_DUMP )
|
||||
// ROM_LOAD( "fxd-8a.64", 0x3e000, 0x2000, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "fxa2-5a.16", 0x6800, 0x0800, CRC(7c525aec) SHA1(f3afd3bfc0ba4265106e6ca217d113d23ad66016) )
|
||||
ROM_LOAD( "fxa2-6a.16", 0x7000, 0x0800, CRC(2b3bfc44) SHA1(7e3b9133916c8121b2145942155601b3ade420da) )
|
||||
ROM_LOAD( "fxa2-7a.16", 0x7800, 0x0800, CRC(578c62b7) SHA1(1bcb987e8730c001b7339c3dfab2467bf76421c7) )
|
||||
@ -1311,16 +1334,17 @@ ROM_START( fax )
|
||||
ROM_LOAD( "fxl1-11d.32", 0x0000, 0x0800, CRC(62083db2) SHA1(0c6e90b73419bff53f991e66d4faa9495c7d8e09) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( fax2 )
|
||||
ROM_REGION( 0x40000, REGION_CPU1, 0 ) /* 64k for code + 192k for extra memory */
|
||||
ROM_LOAD( "fxl8-13a.32", 0x8000, 0x1000, CRC(8e30bf6b) SHA1(1fdf010da0258bc038554cf33c26e539a1f6b648) )
|
||||
ROM_LOAD( "fxl8-12a.32", 0x9000, 0x1000, CRC(60a41ff1) SHA1(1703dbedd09354d89c6014644d0ffe13ec657b8b) )
|
||||
ROM_LOAD( "fxl8-11a.32", 0xa000, 0x1000, CRC(2c9cee8a) SHA1(169045b4d840730cfbaa0b9a8a8d82907ea09d0c) )
|
||||
ROM_LOAD( "fxl8-10a.32", 0xb000, 0x1000, CRC(9b03938f) SHA1(af4c27b06a1f1be917316910b88d026b67cc60c0) )
|
||||
ROM_LOAD( "fxl8-9a.32", 0xc000, 0x1000, CRC(fb869f62) SHA1(cea6ff423c60662a1b36e9565940432707d5299b) )
|
||||
ROM_LOAD( "fxl8-8a.32", 0xd000, 0x1000, CRC(db3470bc) SHA1(7786f84ab41765ea91ab241d14a207044eda0e93) )
|
||||
ROM_LOAD( "fxl8-7a.32", 0xe000, 0x1000, CRC(1471fef5) SHA1(89308f3c2a0d7ea699e99622d37c5c95e3eaaf95) )
|
||||
ROM_LOAD( "fxl8-6a.32", 0xf000, 0x1000, CRC(812e39f3) SHA1(41c99f8483c69617f9c8dd82f979630ea9190454) )
|
||||
ROM_REGION( 0x40000, REGION_CPU1, 0 )
|
||||
ROM_LOAD( "fxl8-13a.32", 0x08000, 0x1000, CRC(8e30bf6b) SHA1(1fdf010da0258bc038554cf33c26e539a1f6b648) )
|
||||
ROM_LOAD( "fxl8-12a.32", 0x09000, 0x1000, CRC(60a41ff1) SHA1(1703dbedd09354d89c6014644d0ffe13ec657b8b) )
|
||||
ROM_LOAD( "fxl8-11a.32", 0x0a000, 0x1000, CRC(2c9cee8a) SHA1(169045b4d840730cfbaa0b9a8a8d82907ea09d0c) )
|
||||
ROM_LOAD( "fxl8-10a.32", 0x0b000, 0x1000, CRC(9b03938f) SHA1(af4c27b06a1f1be917316910b88d026b67cc60c0) )
|
||||
ROM_LOAD( "fxl8-9a.32", 0x0c000, 0x1000, CRC(fb869f62) SHA1(cea6ff423c60662a1b36e9565940432707d5299b) )
|
||||
ROM_LOAD( "fxl8-8a.32", 0x0d000, 0x1000, CRC(db3470bc) SHA1(7786f84ab41765ea91ab241d14a207044eda0e93) )
|
||||
ROM_LOAD( "fxl8-7a.32", 0x0e000, 0x1000, CRC(1471fef5) SHA1(89308f3c2a0d7ea699e99622d37c5c95e3eaaf95) )
|
||||
ROM_LOAD( "fxl8-6a.32", 0x0f000, 0x1000, CRC(812e39f3) SHA1(41c99f8483c69617f9c8dd82f979630ea9190454) )
|
||||
/* Banks of question ROMs */
|
||||
ROM_LOAD( "fxdb1-1c.bin", 0x10000, 0x2000, CRC(0e42a2a4) SHA1(f7021aad36b49338cdaae8e13638dbdd12327afc) )
|
||||
ROM_LOAD( "fxdb1-2c.bin", 0x12000, 0x2000, CRC(cef8d49a) SHA1(a3005ab21add22ffb4c6f4cb9843db8964fef49c) )
|
||||
@ -1347,13 +1371,13 @@ ROM_START( fax2 )
|
||||
ROM_LOAD( "fxdb1-7a.bin", 0x3c000, 0x2000, CRC(0f97b874) SHA1(5790d3ed9eed2ce05947bc28cc252f720a7f3aeb) )
|
||||
ROM_LOAD( "fxdb1-8a.bin", 0x3e000, 0x2000, CRC(1d055bea) SHA1(96531db0a3a36319bc0a28096e601302eb2eb115) )
|
||||
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 ) /* 32k for audio */
|
||||
ROM_LOAD( "fxa2-5a.16", 0x6800, 0x0800, CRC(7c525aec) SHA1(f3afd3bfc0ba4265106e6ca217d113d23ad66016) )
|
||||
ROM_LOAD( "fxa2-6a.16", 0x7000, 0x0800, CRC(2b3bfc44) SHA1(7e3b9133916c8121b2145942155601b3ade420da) )
|
||||
ROM_LOAD( "fxa2-7a.16", 0x7800, 0x0800, CRC(578c62b7) SHA1(1bcb987e8730c001b7339c3dfab2467bf76421c7) )
|
||||
ROM_REGION( 0x8000, REGION_CPU2, 0 )
|
||||
ROM_LOAD( "fxa2-5a.16", 0x6800, 0x0800, CRC(7c525aec) SHA1(f3afd3bfc0ba4265106e6ca217d113d23ad66016) )
|
||||
ROM_LOAD( "fxa2-6a.16", 0x7000, 0x0800, CRC(2b3bfc44) SHA1(7e3b9133916c8121b2145942155601b3ade420da) )
|
||||
ROM_LOAD( "fxa2-7a.16", 0x7800, 0x0800, CRC(578c62b7) SHA1(1bcb987e8730c001b7339c3dfab2467bf76421c7) )
|
||||
|
||||
ROM_REGION( 0x0800, REGION_GFX1, ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "fxl1-11d.32", 0x0000, 0x0800, CRC(62083db2) SHA1(0c6e90b73419bff53f991e66d4faa9495c7d8e09) )
|
||||
ROM_LOAD( "fxl1-11d.32", 0x0000, 0x0800, CRC(62083db2) SHA1(0c6e90b73419bff53f991e66d4faa9495c7d8e09) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -1367,7 +1391,6 @@ ROM_END
|
||||
static DRIVER_INIT( sidetrac )
|
||||
{
|
||||
exidy_video_config(0x00, 0x00, FALSE);
|
||||
targ_spec_flag = 0;
|
||||
|
||||
/* hard-coded palette controlled via 8x3 DIP switches on the board */
|
||||
exidy_color_latch[2] = 0xf8;
|
||||
@ -1379,7 +1402,6 @@ static DRIVER_INIT( sidetrac )
|
||||
static DRIVER_INIT( targ )
|
||||
{
|
||||
exidy_video_config(0x00, 0x00, FALSE);
|
||||
targ_spec_flag = 1;
|
||||
|
||||
/* hard-coded palette controlled via 8x3 DIP switches on the board */
|
||||
exidy_color_latch[2] = 0x5c;
|
||||
@ -1391,7 +1413,6 @@ static DRIVER_INIT( targ )
|
||||
static DRIVER_INIT( spectar )
|
||||
{
|
||||
exidy_video_config(0x00, 0x00, FALSE);
|
||||
targ_spec_flag = 0;
|
||||
|
||||
/* hard-coded palette controlled via 8x3 DIP switches on the board */
|
||||
exidy_color_latch[2] = 0x58;
|
||||
@ -1402,7 +1423,6 @@ static DRIVER_INIT( spectar )
|
||||
static DRIVER_INIT( rallys )
|
||||
{
|
||||
exidy_video_config(0x00, 0x00, FALSE);
|
||||
targ_spec_flag = 0;
|
||||
|
||||
/* hard-coded palette controlled via 8x3 DIP switches on the board */
|
||||
exidy_color_latch[2] = 0x58;
|
||||
@ -1413,7 +1433,6 @@ static DRIVER_INIT( rallys )
|
||||
static DRIVER_INIT( phantoma )
|
||||
{
|
||||
exidy_video_config(0x00, 0x00, FALSE);
|
||||
targ_spec_flag = 0;
|
||||
|
||||
/* hard-coded palette controlled via 8x3 DIP switches on the board */
|
||||
exidy_color_latch[2] = 0x58;
|
||||
@ -1429,35 +1448,30 @@ static DRIVER_INIT( phantoma )
|
||||
static DRIVER_INIT( mtrap )
|
||||
{
|
||||
exidy_video_config(0x14, 0x00, FALSE);
|
||||
targ_spec_flag = 0;
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( venture )
|
||||
{
|
||||
exidy_video_config(0x04, 0x04, FALSE);
|
||||
targ_spec_flag = 0;
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( teetert )
|
||||
{
|
||||
exidy_video_config(0x0c, 0x0c, FALSE);
|
||||
targ_spec_flag = 0;
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( pepper2 )
|
||||
{
|
||||
exidy_video_config(0x14, 0x04, TRUE);
|
||||
targ_spec_flag = 0;
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( fax )
|
||||
{
|
||||
exidy_video_config(0x04, 0x04, TRUE);
|
||||
targ_spec_flag = 0;
|
||||
|
||||
/* reset the ROM bank */
|
||||
fax_bank_select_w(0,0);
|
||||
@ -1471,11 +1485,11 @@ static DRIVER_INIT( fax )
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1979, sidetrac, 0, sidetrac, sidetrac, sidetrac, ROT0, "Exidy", "Side Trak", 0 )
|
||||
GAME( 1979, sidetrac, 0, sidetrac, sidetrac, sidetrac, ROT0, "Exidy", "Side Track", 0 )
|
||||
GAME( 1980, targ, 0, targ, targ, targ, ROT0, "Exidy", "Targ", 0 )
|
||||
GAME( 1980, targc, targ, targ, targ, targ, ROT0, "Exidy", "Targ (cocktail?)", 0 )
|
||||
GAME( 1980, spectar, 0, targ, spectar, spectar, ROT0, "Exidy", "Spectar (revision 3)", 0 )
|
||||
GAME( 1980, spectar1, spectar, targ, spectar, spectar, ROT0, "Exidy", "Spectar (revision 1?)", 0 )
|
||||
GAME( 1980, spectar, 0, spectar, spectar, spectar, ROT0, "Exidy", "Spectar (revision 3)", 0 )
|
||||
GAME( 1980, spectar1, spectar, spectar, spectar, spectar, ROT0, "Exidy", "Spectar (revision 1?)", 0 )
|
||||
GAME( 1980, rallys, spectar, rallys, rallys, rallys, ROT0, "Novar", "Rallys (bootleg?)", 0 )
|
||||
GAME( 1980, phantoma, spectar, rallys, phantoma, phantoma, ROT0, "Jeutel","Phantomas", 0 )
|
||||
|
||||
|
@ -78,7 +78,7 @@
|
||||
========================================================================
|
||||
CPU #2
|
||||
========================================================================
|
||||
0000-01FF R/W xxxxxxxx Program RAM
|
||||
0000-00FF R/W xxxxxxxx Program RAM
|
||||
1000-1FFF R/W xxxxxxxx 6532 RIOT timer and I/O
|
||||
2000-2FFF R/W xxxxxxxx 6821 PIA I/O
|
||||
3000-3FFF R/W xxxxxxxx 8253 timer
|
||||
@ -86,20 +86,17 @@
|
||||
6000-6FFF W ------xx Control bits
|
||||
W ------x- (6840 Channel 1 output enable)
|
||||
W -------x (sound effects noise frequency select)
|
||||
C000-FFFF R xxxxxxxx Program ROM
|
||||
B000-FFFF R xxxxxxxx Program ROM
|
||||
========================================================================
|
||||
Interrupts:
|
||||
INT generated by 6532 RIOT
|
||||
INT generated by 6821 PIA and 6532 RIOT
|
||||
========================================================================
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "driver.h"
|
||||
#include "exidy.h"
|
||||
#include "victory.h"
|
||||
#include "machine/6821pia.h"
|
||||
#include "sound/5220intf.h"
|
||||
|
||||
|
||||
|
||||
@ -141,33 +138,14 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( main_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_FLAGS( AMEF_ABITS(8) )
|
||||
AM_RANGE(0x00, 0x03) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x04, 0x07) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x00, 0x00) AM_MIRROR(0x03) AM_READ(input_port_0_r)
|
||||
AM_RANGE(0x04, 0x04) AM_MIRROR(0x03) AM_READ(input_port_1_r)
|
||||
AM_RANGE(0x08, 0x08) AM_READ(input_port_2_r)
|
||||
AM_RANGE(0x0a, 0x0a) AM_READ(input_port_3_r)
|
||||
AM_RANGE(0x0c, 0x0c) AM_READ(input_port_4_r)
|
||||
AM_RANGE(0x0e, 0x0e) AM_READ(input_port_5_r)
|
||||
AM_RANGE(0x10, 0x13) AM_WRITE(lamp_control_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Sound CPU memory handlers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static ADDRESS_MAP_START( audio_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x00ff) AM_MIRROR(0x0f00) AM_RAM
|
||||
AM_RANGE(0x1000, 0x107f) AM_MIRROR(0x0f80) AM_READWRITE(exidy_shriot_r, exidy_shriot_w)
|
||||
AM_RANGE(0x2000, 0x2003) AM_MIRROR(0x0ffc) AM_READWRITE(pia_1_r, pia_1_w)
|
||||
AM_RANGE(0x3000, 0x3003) AM_MIRROR(0x0ffc) AM_READWRITE(exidy_sh8253_r, exidy_sh8253_w)
|
||||
AM_RANGE(0x4000, 0x4fff) AM_NOP
|
||||
AM_RANGE(0x5000, 0x5007) AM_MIRROR(0x0ff8) AM_READWRITE(exidy_sh6840_r, exidy_sh6840_w)
|
||||
AM_RANGE(0x6000, 0x6003) AM_MIRROR(0x0ffc) AM_WRITE(exidy_sfxctrl_w)
|
||||
AM_RANGE(0x7000, 0xafff) AM_NOP
|
||||
AM_RANGE(0xb000, 0xffff) AM_ROM
|
||||
AM_RANGE(0x10, 0x10) AM_MIRROR(0x03) AM_WRITE(lamp_control_w)
|
||||
AM_RANGE(0x14, 0xff) AM_NOP
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -222,21 +200,6 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Sound definitions
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const struct CustomSound_interface custom_interface =
|
||||
{
|
||||
victory_sh_start,
|
||||
0,
|
||||
victory_sh_reset,
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Machine driver
|
||||
@ -251,10 +214,6 @@ static MACHINE_DRIVER_START( victory )
|
||||
MDRV_CPU_IO_MAP(main_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT(victory_vblank_interrupt,1)
|
||||
|
||||
/* audio CPU */
|
||||
MDRV_CPU_ADD(M6502, VICTORY_AUDIO_CPU_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(audio_map,0)
|
||||
|
||||
MDRV_NVRAM_HANDLER(generic_0fill)
|
||||
|
||||
/* video hardware */
|
||||
@ -267,14 +226,9 @@ static MACHINE_DRIVER_START( victory )
|
||||
MDRV_VIDEO_START(victory)
|
||||
MDRV_VIDEO_UPDATE(victory)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SOUND_ADD(CUSTOM, 0)
|
||||
MDRV_SOUND_CONFIG(custom_interface)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
/* audio hardware */
|
||||
MDRV_IMPORT_FROM(victory_audio)
|
||||
|
||||
MDRV_SOUND_ADD(TMS5220, 640000)
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
@ -358,5 +312,5 @@ ROM_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
GAME( 1982, victory, 0, victory, victory, 0, ROT0, "Exidy", "Victory", 0 )
|
||||
GAME( 1982, victorba, victory, victory, victory, 0, ROT0, "Exidy", "Victor Banana", 0 )
|
||||
GAME( 1982, victory, 0, victory, victory, 0, ROT0, "Exidy", "Victory", 0 )
|
||||
GAME( 1982, victorba, victory, victory, victory, 0, ROT0, "Exidy", "Victor Banana", 0 )
|
||||
|
@ -5,12 +5,4 @@
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#define BERZERK_MASTER_CLOCK (10000000)
|
||||
#define BERZERK_S14001A_CLOCK (BERZERK_MASTER_CLOCK / 2)
|
||||
|
||||
|
||||
/*----------- defined in audio/berzerk.c -----------*/
|
||||
|
||||
MACHINE_DRIVER_EXTERN( berzerk_audio );
|
||||
WRITE8_HANDLER( berzerk_audio_w );
|
||||
READ8_HANDLER( berzerk_audio_r );
|
||||
#define BERZERK_MASTER_CLOCK (XTAL_10MHz)
|
||||
|
@ -26,13 +26,6 @@
|
||||
|
||||
void *exidy_sh_start(int clock, const struct CustomSound_interface *config);
|
||||
void exidy_sh_reset(void *token);
|
||||
|
||||
void *victory_sh_start(int clock, const struct CustomSound_interface *config);
|
||||
void victory_sh_reset(void *token);
|
||||
|
||||
void *berzerk_sh_start(int clock, const struct CustomSound_interface *config);
|
||||
void berzerk_sh_reset(void *token);
|
||||
|
||||
WRITE8_HANDLER( exidy_shriot_w );
|
||||
WRITE8_HANDLER( exidy_sfxctrl_w );
|
||||
WRITE8_HANDLER( exidy_sh8253_w );
|
||||
@ -42,23 +35,19 @@ READ8_HANDLER( exidy_shriot_r );
|
||||
READ8_HANDLER( exidy_sh8253_r );
|
||||
READ8_HANDLER( exidy_sh6840_r );
|
||||
|
||||
MACHINE_DRIVER_EXTERN( victory_audio );
|
||||
READ8_HANDLER( victory_sound_response_r );
|
||||
READ8_HANDLER( victory_sound_status_r );
|
||||
WRITE8_HANDLER( victory_sound_command_w );
|
||||
|
||||
MACHINE_DRIVER_EXTERN( berzerk_audio );
|
||||
WRITE8_HANDLER( berzerk_audio_w );
|
||||
READ8_HANDLER( berzerk_audio_r );
|
||||
|
||||
WRITE8_HANDLER( mtrap_voiceio_w );
|
||||
READ8_HANDLER( mtrap_voiceio_r );
|
||||
|
||||
|
||||
/*----------- defined in audio/targ.c -----------*/
|
||||
|
||||
extern UINT8 targ_spec_flag;
|
||||
|
||||
void targ_sh_start(void);
|
||||
|
||||
WRITE8_HANDLER( targ_sh_w );
|
||||
|
||||
|
||||
/*----------- defined in video/exidy.c -----------*/
|
||||
|
||||
extern UINT8 *exidy_videoram;
|
||||
|
19
src/mame/includes/targ.h
Normal file
19
src/mame/includes/targ.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*************************************************************************
|
||||
|
||||
Targ hardware
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
|
||||
#define TARG_TONE_REGION (REGION_USER1)
|
||||
|
||||
|
||||
/*----------- defined in audio/targ.c -----------*/
|
||||
|
||||
WRITE8_HANDLER( targ_audio_1_w );
|
||||
WRITE8_HANDLER( targ_audio_2_w );
|
||||
WRITE8_HANDLER( spectar_audio_2_w );
|
||||
|
||||
MACHINE_DRIVER_EXTERN( spectar_audio );
|
||||
MACHINE_DRIVER_EXTERN( targ_audio );
|
||||
|
22
src/mame/includes/victory.h
Normal file
22
src/mame/includes/victory.h
Normal file
@ -0,0 +1,22 @@
|
||||
/***************************************************************************
|
||||
|
||||
Victory system
|
||||
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#define VICTORY_MAIN_CPU_CLOCK (XTAL_8MHz / 2)
|
||||
|
||||
|
||||
/*----------- defined in video/victory.c -----------*/
|
||||
|
||||
extern UINT8 *victory_videoram;
|
||||
extern UINT8 *victory_charram;
|
||||
|
||||
VIDEO_START( victory );
|
||||
VIDEO_UPDATE( victory );
|
||||
INTERRUPT_GEN( victory_vblank_interrupt );
|
||||
|
||||
READ8_HANDLER( victory_video_control_r );
|
||||
WRITE8_HANDLER( victory_video_control_w );
|
||||
WRITE8_HANDLER( victory_paletteram_w );
|
@ -5,7 +5,6 @@
|
||||
*************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "exidy.h"
|
||||
|
||||
|
||||
UINT8 *exidy_videoram;
|
||||
|
@ -43,6 +43,7 @@ static struct
|
||||
/* from what I can tell, this should be divided by 32, not 8 */
|
||||
/* but the interrupt test does some precise timing, and fails */
|
||||
/* if it's not 8 */
|
||||
#define VICTORY_MICRO_STATE_CLOCK (XTAL_11_289MHz)
|
||||
#define MICRO_STATE_CLOCK_PERIOD ATTOTIME_IN_HZ(VICTORY_MICRO_STATE_CLOCK / 8)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user