mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
Most of this descriptions taken directly from an e-mail by Aaron:
- Define a new MDRV_CPU_VBLANK_INT_HACK() (ZV: defined in deprecat.h) which is a copy of the current MDRV_CPU_VBLANK_INT() - Find all the places where VBLANK_INT is used with something other than 1 interrupt per frame and change it to the new macro - Remove the "# per frame" parameter from the MDRV_SCREEN_VBLANK_INT() and add a screen tag in its place; updated all callers appropriately. - ZV: Added some validation of the interrupt setup to validate.c The idea behind this is that using a VBLANK interrupt with more than one interrupt per frame in conceptually wrong. The screen tag will allow us to move the interrupt timing code from cpuexec.c to video.c, where it really belongs.
This commit is contained in:
parent
51a3a9eb01
commit
f126c9fc26
@ -261,6 +261,7 @@ struct _cpu_config
|
||||
construct_map_t construct_map[ADDRESS_SPACES][2]; /* 2 memory maps per address space */
|
||||
void (*vblank_interrupt)(running_machine *machine, int cpunum); /* for interrupts tied to VBLANK */
|
||||
int vblank_interrupts_per_frame;/* usually 1 */
|
||||
const char * vblank_interrupt_screen; /* the screen that causes the VBLANK interrupt */
|
||||
void (*timed_interrupt)(running_machine *machine, int cpunum); /* for interrupts not tied to VBLANK */
|
||||
attoseconds_t timed_interrupt_period; /* period for periodic interrupts */
|
||||
const void * reset_param; /* parameter for cpu_reset */
|
||||
|
@ -32,6 +32,26 @@ extern running_machine *Machine;
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Old way of allowing "VBLANK"
|
||||
* interrupts to fire more than once
|
||||
* a frame.
|
||||
*
|
||||
* These should be replaced with
|
||||
* scanline based interrupts as
|
||||
* it makes no sense to have more
|
||||
* than one VBLANK interrupt
|
||||
* per frame.
|
||||
*
|
||||
*************************************/
|
||||
|
||||
#define MDRV_CPU_VBLANK_INT_HACK(_func, _rate) \
|
||||
TOKEN_UINT32_PACK2(MCONFIG_TOKEN_CPU_VBLANK_INT_HACK, 8, _rate, 24), \
|
||||
TOKEN_PTR(interrupt, _func),
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Video timing
|
||||
|
@ -366,6 +366,15 @@ static void machine_config_detokenize(machine_config *config, const machine_conf
|
||||
break;
|
||||
|
||||
case MCONFIG_TOKEN_CPU_VBLANK_INT:
|
||||
assert(cpu != NULL);
|
||||
TOKEN_UNGET_UINT32(tokens);
|
||||
TOKEN_GET_UINT32_UNPACK1(tokens, entrytype, 8);
|
||||
cpu->vblank_interrupt_screen = TOKEN_GET_STRING(tokens);
|
||||
cpu->vblank_interrupt = TOKEN_GET_PTR(tokens, interrupt);
|
||||
cpu->vblank_interrupts_per_frame = 1;
|
||||
break;
|
||||
|
||||
case MCONFIG_TOKEN_CPU_VBLANK_INT_HACK:
|
||||
assert(cpu != NULL);
|
||||
TOKEN_UNGET_UINT32(tokens);
|
||||
TOKEN_GET_UINT32_UNPACK2(tokens, entrytype, 8, cpu->vblank_interrupts_per_frame, 24);
|
||||
|
@ -48,6 +48,7 @@ enum
|
||||
MCONFIG_TOKEN_CPU_DATA_MAP,
|
||||
MCONFIG_TOKEN_CPU_IO_MAP,
|
||||
MCONFIG_TOKEN_CPU_VBLANK_INT,
|
||||
MCONFIG_TOKEN_CPU_VBLANK_INT_HACK,
|
||||
MCONFIG_TOKEN_CPU_PERIODIC_INT,
|
||||
|
||||
MCONFIG_TOKEN_DRIVER_DATA,
|
||||
@ -284,8 +285,9 @@ union _machine_config_token
|
||||
TOKEN_PTR(voidptr, construct_map_##_map1), \
|
||||
TOKEN_PTR(voidptr, construct_map_##_map2), \
|
||||
|
||||
#define MDRV_CPU_VBLANK_INT(_func, _rate) \
|
||||
TOKEN_UINT32_PACK2(MCONFIG_TOKEN_CPU_VBLANK_INT, 8, _rate, 24), \
|
||||
#define MDRV_CPU_VBLANK_INT(_tag, _func) \
|
||||
TOKEN_UINT32_PACK1(MCONFIG_TOKEN_CPU_VBLANK_INT, 8), \
|
||||
TOKEN_STRING(_tag), \
|
||||
TOKEN_PTR(interrupt, _func),
|
||||
|
||||
#define MDRV_CPU_PERIODIC_INT(_func, _rate) \
|
||||
|
@ -759,6 +759,59 @@ static int validate_cpu(int drivnum, const machine_config *config, const UINT32
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* validate the interrupts */
|
||||
if (cpu->vblank_interrupt != NULL)
|
||||
{
|
||||
if (cpu->vblank_interrupts_per_frame == 0)
|
||||
{
|
||||
mame_printf_error("%s: %s cpu #%d has a VBLANK interrupt handler with 0 interrupts!\n", driver->source_file, driver->name, cpunum);
|
||||
error = TRUE;
|
||||
}
|
||||
else if (cpu->vblank_interrupts_per_frame == 1)
|
||||
{
|
||||
if (cpu->vblank_interrupt_screen == NULL)
|
||||
{
|
||||
mame_printf_error("%s: %s cpu #%d has a valid VBLANK interrupt handler with no screen tag supplied!\n", driver->source_file, driver->name, cpunum);
|
||||
error = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
int screen_tag_found = FALSE;
|
||||
const device_config *device;
|
||||
|
||||
/* loop over screens looking for the tag */
|
||||
for (device = video_screen_first(config); device != NULL; device = video_screen_next(device))
|
||||
if (strcmp(device->tag, cpu->vblank_interrupt_screen) == 0)
|
||||
{
|
||||
screen_tag_found = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!screen_tag_found)
|
||||
{
|
||||
mame_printf_error("%s: %s cpu #%d VBLANK interrupt with a non-existant screen tag (%s)!\n", driver->source_file, driver->name, cpunum, cpu->vblank_interrupt_screen);
|
||||
error = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (cpu->vblank_interrupts_per_frame != 0)
|
||||
{
|
||||
mame_printf_error("%s: %s cpu #%d has no VBLANK interrupt handler but a non-0 interrupt count is given!\n", driver->source_file, driver->name, cpunum);
|
||||
error = TRUE;
|
||||
}
|
||||
|
||||
if ((cpu->timed_interrupt != NULL) && (cpu->timed_interrupt_period == 0))
|
||||
{
|
||||
mame_printf_error("%s: %s cpu #%d has a timer interrupt handler with 0 period!\n", driver->source_file, driver->name, cpunum);
|
||||
error = TRUE;
|
||||
}
|
||||
else if ((cpu->timed_interrupt == NULL) && (cpu->timed_interrupt_period != 0))
|
||||
{
|
||||
mame_printf_error("%s: %s cpu #%d has a no timer interrupt handler but has a non-0 period given!\n", driver->source_file, driver->name, cpunum);
|
||||
error = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1358,11 +1358,11 @@ MACHINE_DRIVER_START( dkong3_audio )
|
||||
|
||||
MDRV_CPU_ADD_TAG("n2a03a", N2A03,N2A03_DEFAULTCLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(dkong3_sound1_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
MDRV_CPU_ADD_TAG("n2a03b", N2A03,N2A03_DEFAULTCLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(dkong3_sound2_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SOUND_ADD(NES, N2A03_DEFAULTCLOCK)
|
||||
|
@ -932,7 +932,7 @@ MACHINE_DRIVER_START( exidy440_audio )
|
||||
|
||||
MDRV_CPU_ADD(M6809, EXIDY440_AUDIO_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(exidy440_audio_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_assert,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_assert)
|
||||
|
||||
MDRV_SPEAKER_STANDARD_STEREO("left", "right")
|
||||
|
||||
|
@ -37,13 +37,13 @@ static const struct C352interface namcoc7x_c352_interface = \
|
||||
MDRV_CPU_ADD_TAG("mcu", M37702, clock) \
|
||||
MDRV_CPU_PROGRAM_MAP(namcoc7x_mcu_map, 0) \
|
||||
MDRV_CPU_IO_MAP(namcoc7x_mcu_io, 0) \
|
||||
MDRV_CPU_VBLANK_INT(namcoc7x_interrupt, 2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(namcoc7x_interrupt, 2)
|
||||
|
||||
#define NAMCO_C7X_MCU_SHARED(clock) \
|
||||
MDRV_CPU_ADD_TAG("mcu", M37702, clock) \
|
||||
MDRV_CPU_PROGRAM_MAP(namcoc7x_mcu_share_map, 0) \
|
||||
MDRV_CPU_IO_MAP(namcoc7x_mcu_io, 0) \
|
||||
MDRV_CPU_VBLANK_INT(namcoc7x_interrupt, 2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(namcoc7x_interrupt, 2)
|
||||
|
||||
#define NAMCO_C7X_SOUND(clock) \
|
||||
MDRV_SPEAKER_STANDARD_STEREO("left", "right") \
|
||||
|
@ -268,11 +268,11 @@ static MACHINE_DRIVER_START( 1942 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(c1942_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(c1942_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(c1942_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3000000) /* 3 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,4)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,4)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_GFXDECODE(1942)
|
||||
|
@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/2203intf.h"
|
||||
|
||||
@ -251,12 +252,12 @@ static MACHINE_DRIVER_START( 1943 )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD(Z80, 6000000) // 6 MHz
|
||||
MDRV_CPU_PROGRAM_MAP(c1943_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3000000) // 3 MHz
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 4)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold, 4)
|
||||
|
||||
// video hardware
|
||||
|
||||
|
@ -246,7 +246,7 @@ GFXDECODE_END
|
||||
static MACHINE_DRIVER_START( k3 )
|
||||
MDRV_CPU_ADD(M68000, 16000000)
|
||||
MDRV_CPU_PROGRAM_MAP(k3_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
|
||||
|
||||
MDRV_GFXDECODE(1945kiii)
|
||||
|
||||
|
@ -291,7 +291,7 @@ static MACHINE_DRIVER_START( 20pacgal )
|
||||
MDRV_CPU_ADD(Z180, MAIN_CPU_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(20pacgal_map,0)
|
||||
MDRV_CPU_IO_MAP(20pacgal_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_assert,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_assert)
|
||||
|
||||
MDRV_NVRAM_HANDLER(eeprom)
|
||||
|
||||
|
@ -195,7 +195,7 @@ static const struct YM2610interface ym2610_interface =
|
||||
static MACHINE_DRIVER_START( drill )
|
||||
MDRV_CPU_ADD_TAG("main", M68000, 16000000 )
|
||||
MDRV_CPU_PROGRAM_MAP(drill_map,0)
|
||||
MDRV_CPU_VBLANK_INT(drill_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", drill_interrupt)
|
||||
MDRV_GFXDECODE(2mindril)
|
||||
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -1098,12 +1098,12 @@ static MACHINE_DRIVER_START( 40love )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* OK */
|
||||
MDRV_CPU_PROGRAM_MAP(40love_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2)
|
||||
/* audio CPU */ /* OK */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,2) /* source/number of IRQs is unknown */
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2) /* source/number of IRQs is unknown */
|
||||
|
||||
MDRV_CPU_ADD(M68705,18432000/6) /* OK */
|
||||
MDRV_CPU_PROGRAM_MAP(mcu_map,0)
|
||||
@ -1145,12 +1145,12 @@ static MACHINE_DRIVER_START( undoukai )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80,8000000/2)
|
||||
MDRV_CPU_PROGRAM_MAP(undoukai_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2)
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,2) /* source/number of IRQs is unknown */
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2) /* source/number of IRQs is unknown */
|
||||
|
||||
// MDRV_CPU_ADD(M68705,18432000/6)
|
||||
// MDRV_CPU_PROGRAM_MAP(mcu_map,0)
|
||||
|
@ -49,6 +49,7 @@ Sound :
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
@ -161,7 +162,7 @@ static MACHINE_DRIVER_START( 4enraya )
|
||||
MDRV_CPU_ADD(Z80,8000000/2)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_IO_MAP(main_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,4)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,4)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -1535,7 +1535,7 @@ static MACHINE_DRIVER_START( sflush )
|
||||
MDRV_IMPORT_FROM(mw8080bw_root)
|
||||
MDRV_CPU_REPLACE("main",M6800,2000000) /* ?? */
|
||||
MDRV_CPU_PROGRAM_MAP(sflush_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_pulse,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_pulse,2)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_UPDATE(sflush)
|
||||
@ -1775,7 +1775,7 @@ static MACHINE_DRIVER_START( polaris )
|
||||
MDRV_CPU_PROGRAM_MAP(schaser_map,0)
|
||||
MDRV_CPU_IO_MAP(polaris_io_map,0)
|
||||
MDRV_WATCHDOG_VBLANK_INIT(255)
|
||||
MDRV_CPU_VBLANK_INT(polaris_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", polaris_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_UPDATE(polaris)
|
||||
@ -2515,7 +2515,7 @@ static MACHINE_DRIVER_START( darthvdr )
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(darthvdr_map,0)
|
||||
MDRV_CPU_IO_MAP(darthvdr_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_MACHINE_START(darthvdr)
|
||||
MDRV_MACHINE_RESET(darthvdr)
|
||||
|
@ -279,7 +279,7 @@ static MACHINE_DRIVER_START( 88games )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(KONAMI, 3000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(k88games_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", k88games_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
@ -549,7 +549,7 @@ static MACHINE_DRIVER_START( acefruit )
|
||||
MDRV_CPU_PROGRAM_MAP(acefruit_map,0)
|
||||
MDRV_CPU_IO_MAP(acefruit_io,0)
|
||||
MDRV_GFXDECODE(acefruit)
|
||||
MDRV_CPU_VBLANK_INT(acefruit_vblank,1)
|
||||
MDRV_CPU_VBLANK_INT("main", acefruit_vblank)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -519,7 +519,7 @@ static MACHINE_DRIVER_START( acommand )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(acommand,0)
|
||||
MDRV_CPU_VBLANK_INT(acommand_irq,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(acommand_irq,2)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -352,7 +352,7 @@ static MACHINE_DRIVER_START( actfancr )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(H6280,21477200/3) /* Should be accurate */
|
||||
MDRV_CPU_PROGRAM_MAP(actfan_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1) /* VBL */
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* VBL */
|
||||
|
||||
MDRV_CPU_ADD(M6502, 1500000)
|
||||
/* audio CPU */ /* Should be accurate */
|
||||
@ -396,7 +396,7 @@ static MACHINE_DRIVER_START( triothep )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(H6280,XTAL_21_4772MHz/3) /* XIN=21.4772Mhz, verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(triothep_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1) /* VBL */
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* VBL */
|
||||
|
||||
MDRV_CPU_ADD(M6502, XTAL_12MHz/8) /* verified on pcb */
|
||||
/* audio CPU */ /* Should be accurate */
|
||||
|
@ -229,11 +229,11 @@ static MACHINE_DRIVER_START( formatz )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, XTAL_10MHz/8) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(aeroboto_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", aeroboto_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(M6809, XTAL_10MHz/16) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -1264,7 +1264,7 @@ static MACHINE_DRIVER_START( pspikes )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(pspikes_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -1303,7 +1303,7 @@ static MACHINE_DRIVER_START( pallavol )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(pallavol_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
/* + Z80 for sound */
|
||||
|
||||
@ -1334,7 +1334,7 @@ static MACHINE_DRIVER_START( pspikesb )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(pspikesb_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -1362,7 +1362,7 @@ static MACHINE_DRIVER_START( pspikesc )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(pspikesc_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -1390,7 +1390,7 @@ static MACHINE_DRIVER_START( karatblz )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(karatblz_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -1428,7 +1428,7 @@ static MACHINE_DRIVER_START( spinlbrk )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(spinlbrk_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* there are vectors for 3 and 4 too */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* there are vectors for 3 and 4 too */
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -1466,7 +1466,7 @@ static MACHINE_DRIVER_START( turbofrc )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (verified on pcb) */
|
||||
MDRV_CPU_PROGRAM_MAP(turbofrc_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
MDRV_CPU_ADD(Z80,5000000) /* 5 MHz (verified on pcb) */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -1504,7 +1504,7 @@ static MACHINE_DRIVER_START( aerofgtb )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(aerofgtb_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -1543,7 +1543,7 @@ static MACHINE_DRIVER_START( aerofgt )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (verified on pcb) */
|
||||
MDRV_CPU_PROGRAM_MAP(aerofgt_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
MDRV_CPU_ADD(Z80,5000000) /* 5 MHz (verified on pcb) */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -1582,7 +1582,7 @@ static MACHINE_DRIVER_START( aerfboot )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(aerfboot_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(aerfboot_sound_map,0)
|
||||
@ -1614,7 +1614,7 @@ static MACHINE_DRIVER_START( wbbc97 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000,20000000/2) /* 10 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(wbbc97_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* all irq vectors are the same */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* all irq vectors are the same */
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(wbbc97_sound_map,0)
|
||||
|
@ -599,17 +599,17 @@ static MACHINE_DRIVER_START( airbustr )
|
||||
MDRV_CPU_ADD(Z80, 6000000) // ???
|
||||
MDRV_CPU_PROGRAM_MAP(master_map, 0)
|
||||
MDRV_CPU_IO_MAP(master_io_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(master_interrupt, 2) // nmi caused by sub cpu?, ?
|
||||
MDRV_CPU_VBLANK_INT_HACK(master_interrupt, 2) // nmi caused by sub cpu?, ?
|
||||
|
||||
MDRV_CPU_ADD(Z80, 6000000) // ???
|
||||
MDRV_CPU_PROGRAM_MAP(slave_map, 0)
|
||||
MDRV_CPU_IO_MAP(slave_io_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(slave_interrupt, 2) // nmi caused by main cpu, ?
|
||||
MDRV_CPU_VBLANK_INT_HACK(slave_interrupt, 2) // nmi caused by main cpu, ?
|
||||
|
||||
MDRV_CPU_ADD(Z80, 6000000) // ???
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map, 0)
|
||||
MDRV_CPU_IO_MAP(sound_io_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1) // nmi are caused by sub cpu writing a sound command
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) // nmi are caused by sub cpu writing a sound command
|
||||
|
||||
MDRV_INTERLEAVE(100) // Palette RAM is filled by sub cpu with data supplied by main cpu
|
||||
// Maybe a high value is safer in order to avoid glitches
|
||||
|
@ -240,7 +240,7 @@ static MACHINE_DRIVER_START( ajax )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(KONAMI, 3000000) /* 12/4 MHz*/
|
||||
MDRV_CPU_PROGRAM_MAP(ajax_main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(ajax_interrupt,1) /* IRQs triggered by the 051960 */
|
||||
MDRV_CPU_VBLANK_INT("main", ajax_interrupt) /* IRQs triggered by the 051960 */
|
||||
|
||||
MDRV_CPU_ADD(M6809, 3000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(ajax_sub_map,0)
|
||||
|
@ -430,7 +430,7 @@ static MACHINE_DRIVER_START( aleck64 )
|
||||
MDRV_CPU_ADD(R4600BE, 93750000)
|
||||
MDRV_CPU_CONFIG(config)
|
||||
MDRV_CPU_PROGRAM_MAP(n64_map, 0)
|
||||
MDRV_CPU_VBLANK_INT( n64_vblank, 1 )
|
||||
MDRV_CPU_VBLANK_INT("main", n64_vblank)
|
||||
|
||||
MDRV_CPU_ADD(RSP, 62500000)
|
||||
MDRV_CPU_CONFIG(n64_rsp_config)
|
||||
|
@ -238,7 +238,7 @@ static MACHINE_DRIVER_START( aliens )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(KONAMI, 3000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(aliens_map,0)
|
||||
MDRV_CPU_VBLANK_INT(aliens_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", aliens_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
MDRV_CPU_PROGRAM_MAP(aliens_sound_map,0)
|
||||
|
@ -1986,14 +1986,14 @@ static MACHINE_DRIVER_START( sstingry )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 6000000) /* 24MHz/4? */
|
||||
MDRV_CPU_PROGRAM_MAP(kyros_map,0)
|
||||
MDRV_CPU_VBLANK_INT(alpha68k_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(alpha68k_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
/* audio CPU */ /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(sstingry_sound_map,0)
|
||||
MDRV_CPU_IO_MAP(kyros_sound_portmap,0)
|
||||
//AT
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold, 2)
|
||||
MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 4000)
|
||||
//ZT
|
||||
|
||||
@ -2036,14 +2036,14 @@ static MACHINE_DRIVER_START( kyros )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 6000000) /* 24MHz/4? */
|
||||
MDRV_CPU_PROGRAM_MAP(kyros_map,0)
|
||||
MDRV_CPU_VBLANK_INT(alpha68k_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(alpha68k_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
/* audio CPU */ /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(kyros_sound_map,0)
|
||||
MDRV_CPU_IO_MAP(kyros_sound_portmap,0)
|
||||
//AT
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold, 2)
|
||||
MDRV_CPU_PERIODIC_INT(nmi_line_pulse, 4000)
|
||||
//ZT
|
||||
|
||||
@ -2085,12 +2085,12 @@ static MACHINE_DRIVER_START( jongbou )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000)
|
||||
MDRV_CPU_PROGRAM_MAP(kyros_map,0)
|
||||
MDRV_CPU_VBLANK_INT(alpha68k_interrupt,17) // must be at least 4 for the controls to be smooth
|
||||
MDRV_CPU_VBLANK_INT_HACK(alpha68k_interrupt,17) // must be at least 4 for the controls to be smooth
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000)
|
||||
MDRV_CPU_PROGRAM_MAP(jongbou_sound_map,0)
|
||||
MDRV_CPU_IO_MAP(jongbou_sound_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 160) // guess, controls sound speed
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold, 160) // guess, controls sound speed
|
||||
|
||||
MDRV_MACHINE_RESET(common)
|
||||
|
||||
@ -2120,7 +2120,7 @@ static MACHINE_DRIVER_START( alpha68k_I )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 6000000) /* 24MHz/4? */
|
||||
MDRV_CPU_PROGRAM_MAP(alpha68k_I_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* VBL */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* VBL */
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) // 4Mhz seems to yield the correct tone
|
||||
MDRV_CPU_PROGRAM_MAP(alpha68k_I_s_map,0)
|
||||
@ -2152,7 +2152,7 @@ static MACHINE_DRIVER_START( alpha68k_II )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", M68000, 8000000) /* Correct */
|
||||
MDRV_CPU_PROGRAM_MAP(alpha68k_II_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq3_line_hold,1)/* VBL */
|
||||
MDRV_CPU_VBLANK_INT("main", irq3_line_hold)/* VBL */
|
||||
|
||||
MDRV_CPU_ADD(Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */
|
||||
/* audio CPU */ /* Correct?? */
|
||||
@ -2192,7 +2192,7 @@ MACHINE_DRIVER_END
|
||||
static MACHINE_DRIVER_START( btlfildb )
|
||||
MDRV_IMPORT_FROM(alpha68k_II)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_VBLANK_INT(alpha68k_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(alpha68k_interrupt,2)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
//AT
|
||||
@ -2201,7 +2201,7 @@ static MACHINE_DRIVER_START( alpha68k_II_gm )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000)
|
||||
MDRV_CPU_PROGRAM_MAP(alpha68k_II_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(alpha68k_interrupt, 4)
|
||||
MDRV_CPU_VBLANK_INT_HACK(alpha68k_interrupt, 4)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000*2)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -2243,7 +2243,7 @@ static MACHINE_DRIVER_START( alpha68k_V )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 10000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(alpha68k_V_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq3_line_hold,1)/* VBL */
|
||||
MDRV_CPU_VBLANK_INT("main", irq3_line_hold)/* VBL */
|
||||
|
||||
MDRV_CPU_ADD(Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -2284,7 +2284,7 @@ static MACHINE_DRIVER_START( alpha68k_V_sb )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 10000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(alpha68k_V_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq3_line_hold,1)/* VBL */
|
||||
MDRV_CPU_VBLANK_INT("main", irq3_line_hold)/* VBL */
|
||||
|
||||
MDRV_CPU_ADD(Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -2325,7 +2325,7 @@ static MACHINE_DRIVER_START( tnexspce )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 9000000) /* Confirmed 18 MHz/2 */
|
||||
MDRV_CPU_PROGRAM_MAP(tnexspce_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)/* VBL */
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)/* VBL */
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000)
|
||||
MDRV_CPU_PROGRAM_MAP(tnexspce_sound_map,0)
|
||||
|
@ -176,7 +176,7 @@ static MACHINE_DRIVER_START( ambush )
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4.00 MHz??? */
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_IO_MAP(main_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -257,7 +257,7 @@ static MACHINE_DRIVER_START( amspdwy )
|
||||
MDRV_CPU_ADD(Z80,3000000)
|
||||
MDRV_CPU_PROGRAM_MAP(amspdwy_map,0)
|
||||
MDRV_CPU_IO_MAP(amspdwy_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1) /* IRQ: 60Hz, NMI: retn */
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* IRQ: 60Hz, NMI: retn */
|
||||
|
||||
MDRV_CPU_ADD(Z80,3000000) /* Can't be disabled: the YM2151 timers must work */
|
||||
MDRV_CPU_PROGRAM_MAP(amspdwy_sound_map,0)
|
||||
|
@ -596,7 +596,7 @@ static MACHINE_DRIVER_START( angelkds )
|
||||
MDRV_CPU_ADD(Z80, 8000000) /* 8MHz? 6 seems too slow? */
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_IO_MAP(main_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 8 MHz? */
|
||||
MDRV_CPU_PROGRAM_MAP(sub_map,0)
|
||||
|
@ -216,7 +216,7 @@ static MACHINE_DRIVER_START( appoooh )
|
||||
MDRV_CPU_ADD(Z80,18432000/6) /* ??? the main xtal is 18.432 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_IO_MAP(main_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -418,7 +418,7 @@ static MACHINE_DRIVER_START( robowres )
|
||||
MDRV_CPU_ADD(Z80,18432000/6) /* ??? the main xtal is 18.432 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_IO_MAP(main_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -370,7 +370,7 @@ static MACHINE_DRIVER_START( aquarium )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 32000000/2)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 6000000)
|
||||
/* audio CPU */
|
||||
|
@ -353,7 +353,7 @@ static MACHINE_DRIVER_START( arabian )
|
||||
MDRV_CPU_ADD(Z80, MAIN_OSC/4)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_IO_MAP(main_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -347,7 +347,7 @@ static MACHINE_DRIVER_START( arcadecl )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, MASTER_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
|
||||
MDRV_CPU_VBLANK_INT("main", atarigen_video_int_gen)
|
||||
|
||||
MDRV_MACHINE_RESET(arcadecl)
|
||||
MDRV_NVRAM_HANDLER(atarigen)
|
||||
|
@ -773,7 +773,7 @@ static MACHINE_DRIVER_START( argus )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 5000000) /* 4 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(argus_readmem,argus_writemem)
|
||||
MDRV_CPU_VBLANK_INT(argus_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(argus_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 5000000)
|
||||
/* audio CPU */ /* 4 MHz */
|
||||
@ -811,7 +811,7 @@ static MACHINE_DRIVER_START( valtric )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 5000000) /* 5 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(valtric_readmem,valtric_writemem)
|
||||
MDRV_CPU_VBLANK_INT(argus_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(argus_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 5000000)
|
||||
/* audio CPU */ /* 5 MHz */
|
||||
@ -855,7 +855,7 @@ static MACHINE_DRIVER_START( butasan )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 5000000) /* 5 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(butasan_readmem,butasan_writemem)
|
||||
MDRV_CPU_VBLANK_INT(argus_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(argus_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 5000000)
|
||||
/* audio CPU */ /* 5 MHz */
|
||||
@ -899,7 +899,7 @@ static MACHINE_DRIVER_START( bombsa )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 5000000) /* 5 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(bombsa_readmem,bombsa_writemem)
|
||||
MDRV_CPU_VBLANK_INT(argus_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(argus_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 12000000 / 2)
|
||||
/* audio CPU */ /* 6 MHz */ /* maybe CPU speeds are reversed? Probably not (ajg) */
|
||||
|
@ -746,7 +746,7 @@ static MACHINE_DRIVER_START( arkanoid )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD_TAG("main", Z80, 6000000) /* 6 Mhz */
|
||||
MDRV_CPU_PROGRAM_MAP(arkanoid_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD_TAG("mcu", M68705, 3000000) /* 3 Mhz */
|
||||
MDRV_CPU_PROGRAM_MAP(mcu_map, 0)
|
||||
|
@ -762,13 +762,13 @@ static MACHINE_DRIVER_START( terraf )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(terraf_readmem,terraf_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(soundreadmem,soundwritemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
@ -804,13 +804,13 @@ static MACHINE_DRIVER_START( kodure )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(kodure_readmem,kodure_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(soundreadmem,soundwritemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
@ -846,13 +846,13 @@ static MACHINE_DRIVER_START( armedf )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(armedf_readmem,armedf_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(soundreadmem,soundwritemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
@ -888,13 +888,13 @@ static MACHINE_DRIVER_START( cclimbr2 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(cclimbr2_readmem,cclimbr2_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq2_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq2_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(cclimbr2_soundreadmem,cclimbr2_soundwritemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
@ -930,13 +930,13 @@ static MACHINE_DRIVER_START( legion )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(cclimbr2_readmem,legion_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq2_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq2_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(cclimbr2_soundreadmem,cclimbr2_soundwritemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
@ -972,13 +972,13 @@ static MACHINE_DRIVER_START( legiono )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(cclimbr2_readmem,legiono_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq2_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq2_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(cclimbr2_soundreadmem,cclimbr2_soundwritemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
|
@ -335,7 +335,7 @@ static MACHINE_DRIVER_START( ashnojoe )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz (verified on pcb) */
|
||||
MDRV_CPU_PROGRAM_MAP(ashnojoe_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz (verified on pcb) */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
@ -257,7 +257,7 @@ static MACHINE_DRIVER_START( asterix )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(asterix_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", asterix_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 8000000)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
@ -538,7 +538,7 @@ static MACHINE_DRIVER_START( spaceint )
|
||||
MDRV_CPU_ADD(Z80, MASTER_CLOCK) /* a guess */
|
||||
MDRV_CPU_PROGRAM_MAP(spaceint_map,0)
|
||||
MDRV_CPU_IO_MAP(spaceint_portmap,0)
|
||||
MDRV_CPU_VBLANK_INT(spaceint_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", spaceint_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_START(spaceint)
|
||||
|
@ -882,7 +882,7 @@ static MACHINE_DRIVER_START( base )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", M6502, MAIN_CPU_CLOCK)
|
||||
MDRV_CPU_VBLANK_INT(coin_nmi,1)
|
||||
MDRV_CPU_VBLANK_INT("main", coin_nmi)
|
||||
|
||||
MDRV_MACHINE_RESET(astrof)
|
||||
|
||||
|
@ -783,7 +783,7 @@ static MACHINE_DRIVER_START( bonzeadv )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* checked on PCB */
|
||||
MDRV_CPU_PROGRAM_MAP(bonzeadv_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,4000000) /* sound CPU, also required for test mode */
|
||||
MDRV_CPU_PROGRAM_MAP(bonzeadv_z80_map,0)
|
||||
@ -819,7 +819,7 @@ static MACHINE_DRIVER_START( asuka )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, XTAL_16MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(asuka_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, XTAL_16MHz/4) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(z80_map,0)
|
||||
@ -858,7 +858,7 @@ static MACHINE_DRIVER_START( cadash )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, XTAL_32MHz/2) /* 68000p12 running at 16Mhz, verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(cadash_map,0)
|
||||
MDRV_CPU_VBLANK_INT(cadash_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", cadash_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(Z80, XTAL_8MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(cadash_z80_map,0)
|
||||
@ -893,7 +893,7 @@ static MACHINE_DRIVER_START( mofflott )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(asuka_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(z80_map,0)
|
||||
@ -932,7 +932,7 @@ static MACHINE_DRIVER_START( galmedes )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(asuka_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(cadash_z80_map,0)
|
||||
@ -967,7 +967,7 @@ static MACHINE_DRIVER_START( eto )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(eto_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq5_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq5_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(cadash_z80_map,0)
|
||||
|
@ -103,6 +103,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "atarifb.h"
|
||||
#include "sound/discrete.h"
|
||||
|
||||
@ -561,7 +562,7 @@ static MACHINE_DRIVER_START( atarifb )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", M6502, 750000)
|
||||
MDRV_CPU_PROGRAM_MAP(atarifb_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,4)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,4)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -424,7 +424,7 @@ static MACHINE_DRIVER_START( atarig1 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
|
||||
MDRV_CPU_VBLANK_INT("main", atarigen_video_int_gen)
|
||||
|
||||
MDRV_MACHINE_START(atarig1)
|
||||
MDRV_MACHINE_RESET(atarig1)
|
||||
|
@ -518,7 +518,7 @@ static MACHINE_DRIVER_START( atarig42 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
|
||||
MDRV_CPU_VBLANK_INT("main", atarigen_video_int_gen)
|
||||
|
||||
/* ASIC65 */
|
||||
MDRV_IMPORT_FROM(asic65)
|
||||
|
@ -807,7 +807,7 @@ static MACHINE_DRIVER_START( atarigt )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68EC020, ATARI_CLOCK_50MHz/2)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
|
||||
MDRV_CPU_VBLANK_INT("main", atarigen_video_int_gen)
|
||||
MDRV_CPU_PERIODIC_INT(atarigen_scanline_int_gen, 250)
|
||||
|
||||
MDRV_MACHINE_RESET(atarigt)
|
||||
|
@ -1433,7 +1433,7 @@ static MACHINE_DRIVER_START( atarigx2 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68EC020, ATARI_CLOCK_14MHz)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
|
||||
MDRV_CPU_VBLANK_INT("main", atarigen_video_int_gen)
|
||||
|
||||
MDRV_MACHINE_RESET(atarigx2)
|
||||
MDRV_NVRAM_HANDLER(atarigen)
|
||||
|
@ -740,7 +740,7 @@ static MACHINE_DRIVER_START( atarisy1 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68010, ATARI_CLOCK_14MHz/2)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
|
||||
MDRV_CPU_VBLANK_INT("main", atarigen_video_int_gen)
|
||||
|
||||
MDRV_CPU_ADD(M6502, ATARI_CLOCK_14MHz/8)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
@ -1353,7 +1353,7 @@ static MACHINE_DRIVER_START( atarisy2 )
|
||||
MDRV_CPU_ADD_TAG("main", T11, MASTER_CLOCK/2)
|
||||
MDRV_CPU_CONFIG(t11_data)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(vblank_int,1)
|
||||
MDRV_CPU_VBLANK_INT("main", vblank_int)
|
||||
|
||||
MDRV_CPU_ADD_TAG("sound", M6502, SOUND_CLOCK/8)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
@ -28,6 +28,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "sound/discrete.h"
|
||||
#include "avalnche.h"
|
||||
|
||||
@ -235,7 +236,7 @@ static MACHINE_DRIVER_START( avalnche )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6502,12096000/16) /* clock input is the "2H" signal divided by two */
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(avalnche_interrupt,8)
|
||||
MDRV_CPU_VBLANK_INT_HACK(avalnche_interrupt,8)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_UPDATE(avalnche)
|
||||
|
@ -150,7 +150,7 @@ static MACHINE_DRIVER_START( aztarac )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 8000000)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 2000000)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
@ -489,7 +489,7 @@ static MACHINE_DRIVER_START( backfire )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(ARM, 28000000/4) /* Unconfirmed */
|
||||
MDRV_CPU_PROGRAM_MAP(backfire_map,0)
|
||||
MDRV_CPU_VBLANK_INT(deco32_vbl_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("left", deco32_vbl_interrupt) /* or is it "right?" */
|
||||
|
||||
MDRV_NVRAM_HANDLER(93C46)
|
||||
|
||||
|
@ -440,7 +440,7 @@ static MACHINE_DRIVER_START( badlands )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz/2)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(vblank_int,1)
|
||||
MDRV_CPU_VBLANK_INT("main", vblank_int)
|
||||
|
||||
MDRV_CPU_ADD(M6502, ATARI_CLOCK_14MHz/8)
|
||||
MDRV_CPU_PROGRAM_MAP(audio_map,0)
|
||||
|
@ -565,7 +565,7 @@ static MACHINE_DRIVER_START( bagman )
|
||||
MDRV_CPU_ADD(Z80, 3072000) /* 3.072 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_MACHINE_RESET(bagman)
|
||||
|
||||
@ -601,7 +601,7 @@ static MACHINE_DRIVER_START( pickin )
|
||||
MDRV_CPU_ADD(Z80, 3072000) /* 3.072 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(pickin_readmem,pickin_writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_MACHINE_RESET(bagman)
|
||||
|
||||
@ -651,7 +651,7 @@ static MACHINE_DRIVER_START( botanic )
|
||||
MDRV_CPU_ADD(Z80, 3072000) /* 3.072 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(pickin_readmem,pickin_writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_MACHINE_RESET(bagman)
|
||||
|
||||
|
@ -1670,7 +1670,7 @@ static MACHINE_DRIVER_START( balsente )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, 5000000/4)
|
||||
MDRV_CPU_PROGRAM_MAP(cpu1_map,0)
|
||||
MDRV_CPU_VBLANK_INT(balsente_update_analog_inputs,1)
|
||||
MDRV_CPU_VBLANK_INT("main", balsente_update_analog_inputs)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000)
|
||||
/* audio CPU */
|
||||
|
@ -275,7 +275,7 @@ static MACHINE_DRIVER_START( bankp )
|
||||
MDRV_CPU_ADD(Z80, BANKP_CPU_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(bankp_map, 0)
|
||||
MDRV_CPU_IO_MAP(bankp_io_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -438,12 +438,12 @@ static MACHINE_DRIVER_START( baraduke )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809,49152000/32)
|
||||
MDRV_CPU_PROGRAM_MAP(baraduke_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_assert,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_assert)
|
||||
|
||||
MDRV_CPU_ADD(HD63701,49152000/8)
|
||||
MDRV_CPU_PROGRAM_MAP(mcu_map,0)
|
||||
MDRV_CPU_IO_MAP(mcu_port_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_INTERLEAVE(100) /* we need heavy synch */
|
||||
|
||||
|
@ -258,7 +258,7 @@ static MACHINE_DRIVER_START( battlane )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, 1250000) /* 1.25 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(battlane_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(battlane_cpu1_interrupt, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", battlane_cpu1_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(M6809, 1250000) /* 1.25 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(battlane_map, 0)
|
||||
|
@ -274,7 +274,7 @@ static MACHINE_DRIVER_START( battlera )
|
||||
MDRV_CPU_ADD(H6280,21477200/3)
|
||||
MDRV_CPU_PROGRAM_MAP(battlera_readmem,battlera_writemem)
|
||||
MDRV_CPU_IO_MAP(0,battlera_portwrite)
|
||||
MDRV_CPU_VBLANK_INT(battlera_interrupt,256) /* 8 prelines, 232 lines, 16 vblank? */
|
||||
MDRV_CPU_VBLANK_INT_HACK(battlera_interrupt,256) /* 8 prelines, 232 lines, 16 vblank? */
|
||||
|
||||
MDRV_CPU_ADD(H6280,21477200/3)
|
||||
/* audio CPU */
|
||||
|
@ -41,6 +41,7 @@ XTAL: 10.0 MHz
|
||||
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
|
||||
@ -210,7 +211,7 @@ static MACHINE_DRIVER_START( battlex )
|
||||
MDRV_CPU_ADD(Z80,10000000/2 ) /* 10 MHz, divided ? (Z80A CPU) */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,8) /* controls game speed? */
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,8) /* controls game speed? */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -336,7 +336,7 @@ static MACHINE_DRIVER_START( battlnts )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(HD6309, 3000000*4) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(battlnts_readmem,battlnts_writemem)
|
||||
MDRV_CPU_VBLANK_INT(battlnts_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", battlnts_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
/* audio CPU */ /* ? */
|
||||
|
@ -695,7 +695,7 @@ static MACHINE_DRIVER_START( bbusters )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(bbuster_readmem,bbuster_writemem)
|
||||
MDRV_CPU_VBLANK_INT(bbuster,4)
|
||||
MDRV_CPU_VBLANK_INT_HACK(bbuster,4)
|
||||
|
||||
MDRV_CPU_ADD(Z80,4000000) /* Accurate */
|
||||
/* audio CPU */
|
||||
@ -739,7 +739,7 @@ static MACHINE_DRIVER_START( mechatt )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(mechatt_readmem,mechatt_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq4_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,4000000) /* Accurate */
|
||||
/* audio CPU */
|
||||
|
@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "sound/dac.h"
|
||||
@ -92,7 +93,7 @@ static MACHINE_DRIVER_START( beezer )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, 1000000) /* 1 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(beezer_interrupt,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(beezer_interrupt,128)
|
||||
|
||||
MDRV_CPU_ADD(M6809, 1000000) /* 1 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_sound,writemem_sound)
|
||||
|
@ -315,7 +315,7 @@ GFXDECODE_END
|
||||
static MACHINE_DRIVER_START( bestleag )
|
||||
MDRV_CPU_ADD(M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(bestleag_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq6_line_hold)
|
||||
|
||||
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -1497,7 +1497,7 @@ static MACHINE_DRIVER_START( bfcobra )
|
||||
MDRV_CPU_ADD(Z80, Z80_XTAL)
|
||||
MDRV_CPU_PROGRAM_MAP(z80_prog_map, 0)
|
||||
MDRV_CPU_IO_MAP(z80_io_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(vblank_gen, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", vblank_gen)
|
||||
|
||||
MDRV_CPU_ADD(M6809, M6809_XTAL)
|
||||
MDRV_CPU_PROGRAM_MAP(m6809_prog_map, 0)
|
||||
|
@ -3000,7 +3000,7 @@ static MACHINE_DRIVER_START( scorpion2_vid )
|
||||
|
||||
MDRV_CPU_ADD_TAG("adder2", M6809, MASTER_CLOCK/4 ) // adder2 board 6809 CPU at 2 Mhz
|
||||
MDRV_CPU_PROGRAM_MAP(adder2_memmap,0) // setup adder2 board memorymap
|
||||
MDRV_CPU_VBLANK_INT(adder2_vbl, 1) // board has a VBL IRQ
|
||||
MDRV_CPU_VBLANK_INT("ADDER", adder2_vbl) // board has a VBL IRQ
|
||||
|
||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||
MDRV_SOUND_ADD(UPD7759, UPD7759_STANDARD_CLOCK)
|
||||
|
@ -479,17 +479,17 @@ static MACHINE_DRIVER_START( bigevglf )
|
||||
MDRV_CPU_ADD(Z80,10000000/2) /* 5 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_IO_MAP(bigevglf_readport,bigevglf_writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1) /* vblank */
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* vblank */
|
||||
|
||||
MDRV_CPU_ADD(Z80,10000000/2) /* 5 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_sub,writemem_sub)
|
||||
MDRV_CPU_IO_MAP(bigevglf_sub_readport,bigevglf_sub_writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1) /* vblank */
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) /* vblank */
|
||||
|
||||
MDRV_CPU_ADD(Z80,8000000/2)
|
||||
/* audio CPU */ /* 4 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,2) /* IRQ generated by ???;
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,2) /* IRQ generated by ???;
|
||||
2 irqs/frame give good music tempo but also SOUND ERROR in test mode,
|
||||
4 irqs/frame give SOUND OK in test mode but music seems to be running too fast */
|
||||
|
||||
|
@ -421,13 +421,13 @@ static MACHINE_DRIVER_START( bigfghtr )
|
||||
MDRV_CPU_ADD(M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(mainmem,0)
|
||||
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz???? */
|
||||
MDRV_CPU_PROGRAM_MAP(soundmem,0)
|
||||
MDRV_CPU_IO_MAP(soundport,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,128)
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,128)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
|
@ -224,7 +224,7 @@ GFXDECODE_END
|
||||
static MACHINE_DRIVER_START( bigstrkb )
|
||||
MDRV_CPU_ADD(M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(bigstrkb_readmem,bigstrkb_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq6_line_hold)
|
||||
|
||||
MDRV_GFXDECODE(bigstrkb)
|
||||
|
||||
|
@ -347,7 +347,7 @@ static MACHINE_DRIVER_START( bionicc )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, MASTER_CLOCK / 2) /* 12 MHz - verified in schematics */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(bionicc_interrupt,8)
|
||||
MDRV_CPU_VBLANK_INT_HACK(bionicc_interrupt,8)
|
||||
|
||||
/* audio CPU */
|
||||
MDRV_CPU_ADD(Z80, EXO3_F0_CLK / 4) /* EXO3 C,B=GND, A=5V ==> Divisor 2^2 */
|
||||
@ -356,7 +356,7 @@ static MACHINE_DRIVER_START( bionicc )
|
||||
* schematics indicate that nmi_line is set on M680000 access with AB1=1
|
||||
* and IOCS=0 (active low), see pages A-1/10, A-4/10 in schematics
|
||||
*/
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,4)
|
||||
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,4)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_BUFFERS_SPRITERAM)
|
||||
|
@ -268,7 +268,7 @@ static MACHINE_DRIVER_START( bishi )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", M68000, 16000000)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(bishi_interrupt, 2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(bishi_interrupt, 2)
|
||||
|
||||
MDRV_MACHINE_START(bishi)
|
||||
MDRV_MACHINE_RESET(bishi)
|
||||
|
@ -442,7 +442,7 @@ static INTERRUPT_GEN( bishjan_interrupt )
|
||||
static MACHINE_DRIVER_START( bishjan )
|
||||
MDRV_CPU_ADD(H83044, 44100000/3)
|
||||
MDRV_CPU_PROGRAM_MAP( bishjan_map, 0 )
|
||||
MDRV_CPU_VBLANK_INT(bishjan_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(bishjan_interrupt,2)
|
||||
|
||||
MDRV_NVRAM_HANDLER(generic_0fill)
|
||||
|
||||
|
@ -444,7 +444,7 @@ static MACHINE_DRIVER_START( bking )
|
||||
MDRV_CPU_ADD_TAG("main_cpu", Z80, XTAL_12MHz/4) /* 3 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(bking_map,0)
|
||||
MDRV_CPU_IO_MAP(bking_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, XTAL_6MHz/2) /* 3 MHz */
|
||||
/* audio CPU */
|
||||
|
@ -434,7 +434,7 @@ static MACHINE_DRIVER_START( bladestl )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(HD6309, 24000000/2) /* 24MHz/2 (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(bladestl_readmem,bladestl_writemem)
|
||||
MDRV_CPU_VBLANK_INT(bladestl_interrupt,2) /* (1 IRQ + 1 NMI) */
|
||||
MDRV_CPU_VBLANK_INT_HACK(bladestl_interrupt,2) /* (1 IRQ + 1 NMI) */
|
||||
|
||||
MDRV_CPU_ADD(M6809, 2000000)
|
||||
/* audio CPU */ /* ? */
|
||||
|
@ -255,7 +255,7 @@ static MACHINE_DRIVER_START( blktiger )
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz (?) */
|
||||
MDRV_CPU_PROGRAM_MAP(mem_map, 0)
|
||||
MDRV_CPU_IO_MAP(port_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3000000)
|
||||
/* audio CPU */
|
||||
|
@ -386,7 +386,7 @@ static MACHINE_DRIVER_START( blmbycar )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 10000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(blmbycar_readmem,blmbycar_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -416,7 +416,7 @@ static MACHINE_DRIVER_START( watrball )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 10000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(watrball_readmem,watrball_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -458,7 +458,7 @@ static MACHINE_DRIVER_START( blockade )
|
||||
MDRV_CPU_ADD(8080, 2079000)
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_IO_MAP(readport,writeport)
|
||||
MDRV_CPU_VBLANK_INT(blockade_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", blockade_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -222,7 +222,7 @@ static MACHINE_DRIVER_START( blockhl )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(KONAMI,3000000) /* Konami custom 052526 */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(blockhl_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", blockhl_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
/* audio CPU */ /* ? */
|
||||
|
@ -318,7 +318,7 @@ static MACHINE_DRIVER_START( blockout )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 10000000) /* MRH - 8.76 makes gfx/adpcm samples sync better -- but 10 is correct speed*/
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(blockout_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(blockout_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
/* audio CPU */ /* 3.579545 MHz */
|
||||
|
@ -528,7 +528,7 @@ static MACHINE_DRIVER_START( bloodbro )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD_TAG("main", M68000, XTAL_20MHz/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(bloodbro_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq4_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq4_line_hold)
|
||||
|
||||
SEIBU_SOUND_SYSTEM_CPU(XTAL_7_15909MHz/2) /* verified on pcb */
|
||||
|
||||
@ -558,7 +558,7 @@ static MACHINE_DRIVER_START( weststry )
|
||||
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(weststry_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq6_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq6_line_hold)
|
||||
|
||||
MDRV_GFXDECODE(weststry)
|
||||
MDRV_PALETTE_LENGTH(1024)
|
||||
@ -570,7 +570,7 @@ static MACHINE_DRIVER_START( skysmash )
|
||||
MDRV_IMPORT_FROM(bloodbro)
|
||||
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_VBLANK_INT(irq2_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq2_line_hold)
|
||||
|
||||
MDRV_VIDEO_UPDATE(skysmash)
|
||||
MACHINE_DRIVER_END
|
||||
|
@ -197,7 +197,7 @@ static MACHINE_DRIVER_START( blstroid )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz/2)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(atarigen_video_int_gen,1)
|
||||
MDRV_CPU_VBLANK_INT("main", atarigen_video_int_gen)
|
||||
|
||||
MDRV_MACHINE_RESET(blstroid)
|
||||
MDRV_NVRAM_HANDLER(atarigen)
|
||||
|
@ -297,11 +297,11 @@ static MACHINE_DRIVER_START( blueprnt )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD(Z80, 7000000/2) // 3.5 MHz
|
||||
MDRV_CPU_PROGRAM_MAP(blueprnt_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 10000000/2/2/2) // 1.25 MHz (2H)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 4) // IRQs connected to 32V
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold, 4) // IRQs connected to 32V
|
||||
// NMIs are caused by the main CPU
|
||||
// video hardware
|
||||
|
||||
|
@ -495,7 +495,7 @@ static INTERRUPT_GEN( bmc_interrupt )
|
||||
static MACHINE_DRIVER_START( bmcbowl )
|
||||
MDRV_CPU_ADD_TAG("main", M68000, 21477270/2 )
|
||||
MDRV_CPU_PROGRAM_MAP(bmcbowl_mem,0)
|
||||
MDRV_CPU_VBLANK_INT(bmc_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(bmc_interrupt,2)
|
||||
|
||||
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -1339,7 +1339,7 @@ static MACHINE_DRIVER_START( bnstars )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(V70, 20000000) // 20MHz
|
||||
MDRV_CPU_PROGRAM_MAP(bnstars_map,0)
|
||||
MDRV_CPU_VBLANK_INT(ms32_interrupt,32)
|
||||
MDRV_CPU_VBLANK_INT_HACK(ms32_interrupt,32)
|
||||
|
||||
// MDRV_CPU_ADD(Z80, 4000000) /* audio CPU */
|
||||
// MDRV_CPU_PROGRAM_MAP(bnstars_z80_map, 0)
|
||||
|
@ -9,6 +9,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
#include "sound/ay8910.h"
|
||||
extern UINT8 *bogeyman_videoram2, *bogeyman_colorram2;
|
||||
@ -227,7 +228,7 @@ static MACHINE_DRIVER_START( bogeyman )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD(M6502, 2000000) // 12 MHz clock on board
|
||||
MDRV_CPU_PROGRAM_MAP(bogeyman_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 16) // Controls sound
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold, 16) // Controls sound
|
||||
|
||||
// video hardware
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||
|
@ -333,13 +333,13 @@ static MACHINE_DRIVER_START( bombjack )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3072000)
|
||||
/* audio CPU */ /* 3.072 MHz????? */
|
||||
MDRV_CPU_PROGRAM_MAP(bombjack_sound_readmem,bombjack_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(0,bombjack_sound_writeport)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
MDRV_MACHINE_START(bombjack)
|
||||
|
||||
|
@ -305,7 +305,7 @@ static MACHINE_DRIVER_START( boogwing )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 14000000) /* DE102 */
|
||||
MDRV_CPU_PROGRAM_MAP(boogwing_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq6_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq6_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(H6280,32220000/4)
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem, sound_writemem)
|
||||
|
@ -403,12 +403,12 @@ static MACHINE_DRIVER_START( bottom9 )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, 2000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(bottom9_readmem,bottom9_writemem)
|
||||
MDRV_CPU_VBLANK_INT(bottom9_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", bottom9_interrupt)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579545)
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(bottom9_sound_readmem,bottom9_sound_writemem)
|
||||
MDRV_CPU_VBLANK_INT(bottom9_sound_interrupt,8) /* irq is triggered by the main CPU */
|
||||
MDRV_CPU_VBLANK_INT_HACK(bottom9_sound_interrupt,8) /* irq is triggered by the main CPU */
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS)
|
||||
|
@ -402,7 +402,7 @@ static MACHINE_DRIVER_START( brkthru )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(brkthru_map,0)
|
||||
MDRV_CPU_VBLANK_INT(brkthru_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(brkthru_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -440,7 +440,7 @@ static MACHINE_DRIVER_START( darwin )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(darwin_map,0)
|
||||
MDRV_CPU_VBLANK_INT(brkthru_interrupt,2)
|
||||
MDRV_CPU_VBLANK_INT_HACK(brkthru_interrupt,2)
|
||||
|
||||
MDRV_CPU_ADD(M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
|
@ -22,6 +22,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "driver.h"
|
||||
#include "deprecat.h"
|
||||
#include "bsktball.h"
|
||||
#include "sound/discrete.h"
|
||||
|
||||
@ -210,7 +211,7 @@ static MACHINE_DRIVER_START( bsktball )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6502,750000)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(bsktball_interrupt,8)
|
||||
MDRV_CPU_VBLANK_INT_HACK(bsktball_interrupt,8)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
@ -1296,12 +1296,12 @@ static MACHINE_DRIVER_START( btime )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", M6502, 1500000)
|
||||
MDRV_CPU_PROGRAM_MAP(btime_readmem,btime_writemem)
|
||||
MDRV_CPU_VBLANK_INT(btime_irq_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", btime_irq_interrupt)
|
||||
|
||||
MDRV_CPU_ADD_TAG("sound", M6502, 500000)
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,16)
|
||||
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,16)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
@ -1335,7 +1335,7 @@ static MACHINE_DRIVER_START( cookrace )
|
||||
MDRV_IMPORT_FROM(btime)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(cookrace_readmem,cookrace_writemem)
|
||||
MDRV_CPU_VBLANK_INT(btime_nmi_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", btime_nmi_interrupt)
|
||||
|
||||
MDRV_CPU_MODIFY("sound")
|
||||
MDRV_CPU_PROGRAM_MAP(sound_map,0)
|
||||
@ -1354,10 +1354,10 @@ static MACHINE_DRIVER_START( lnc )
|
||||
MDRV_IMPORT_FROM(btime)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(lnc_readmem,lnc_writemem)
|
||||
MDRV_CPU_VBLANK_INT(btime_nmi_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", btime_nmi_interrupt)
|
||||
|
||||
MDRV_CPU_MODIFY("sound")
|
||||
MDRV_CPU_VBLANK_INT(lnc_sound_interrupt,16)
|
||||
MDRV_CPU_VBLANK_INT_HACK(lnc_sound_interrupt,16)
|
||||
|
||||
MDRV_MACHINE_RESET(lnc)
|
||||
|
||||
@ -1375,7 +1375,7 @@ static MACHINE_DRIVER_START( wtennis )
|
||||
/* basic machine hardware */
|
||||
MDRV_IMPORT_FROM(lnc)
|
||||
MDRV_CPU_MODIFY("sound")
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,16)
|
||||
MDRV_CPU_VBLANK_INT_HACK(nmi_line_pulse,16)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_VIDEO_UPDATE(eggs)
|
||||
@ -1397,7 +1397,7 @@ static MACHINE_DRIVER_START( bnj )
|
||||
MDRV_IMPORT_FROM(btime)
|
||||
MDRV_CPU_REPLACE("main", M6502, 750000)
|
||||
MDRV_CPU_PROGRAM_MAP(bnj_readmem,bnj_writemem)
|
||||
MDRV_CPU_VBLANK_INT(btime_nmi_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", btime_nmi_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_GFXDECODE(bnj)
|
||||
@ -1414,7 +1414,7 @@ static MACHINE_DRIVER_START( zoar )
|
||||
MDRV_IMPORT_FROM(btime)
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(zoar_readmem,zoar_writemem)
|
||||
MDRV_CPU_VBLANK_INT(zoar_irq_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", zoar_irq_interrupt)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_GFXDECODE(zoar)
|
||||
|
@ -736,11 +736,11 @@ static MACHINE_DRIVER_START( tokio )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/4) // 6 MHz
|
||||
MDRV_CPU_PROGRAM_MAP(tokio_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/4) // 6 MHz
|
||||
MDRV_CPU_PROGRAM_MAP(tokio_slave_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/8)
|
||||
/* audio CPU */ // 3 MHz
|
||||
@ -781,7 +781,7 @@ static MACHINE_DRIVER_START( bublbobl )
|
||||
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/4) // 6 MHz
|
||||
MDRV_CPU_PROGRAM_MAP(slave_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, MAIN_XTAL/8)
|
||||
/* audio CPU */ // 3 MHz
|
||||
@ -789,7 +789,7 @@ static MACHINE_DRIVER_START( bublbobl )
|
||||
|
||||
MDRV_CPU_ADD_TAG("mcu", M6801, 4000000) // actually 6801U4 // xtal is 4MHz, divided by 4 internally
|
||||
MDRV_CPU_PROGRAM_MAP(mcu_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_pulse, 1) // comes from the same clock that latches the INT pin on the second Z80
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_pulse) // comes from the same clock that latches the INT pin on the second Z80
|
||||
|
||||
MDRV_INTERLEAVE(100) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs
|
||||
|
||||
@ -825,7 +825,7 @@ static MACHINE_DRIVER_START( boblbobl )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_MODIFY("main")
|
||||
MDRV_CPU_PROGRAM_MAP(bootleg_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1) // interrupt mode 1, unlike Bubble Bobble
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold) // interrupt mode 1, unlike Bubble Bobble
|
||||
|
||||
MDRV_CPU_REMOVE("mcu")
|
||||
MACHINE_DRIVER_END
|
||||
@ -837,7 +837,7 @@ static MACHINE_DRIVER_START( bub68705 )
|
||||
|
||||
MDRV_CPU_ADD_TAG("mcu", M68705, 4000000) // xtal is 4MHz, divided by 4 internally
|
||||
MDRV_CPU_PROGRAM_MAP(bootlegmcu_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(bublbobl_m68705_interrupt, 2) // ??? should come from the same clock which latches the INT pin on the second Z80
|
||||
MDRV_CPU_VBLANK_INT_HACK(bublbobl_m68705_interrupt, 2) // ??? should come from the same clock which latches the INT pin on the second Z80
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
|
||||
|
@ -432,12 +432,12 @@ static MACHINE_DRIVER_START( buggychl )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz??? */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem,writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000)
|
||||
/* audio CPU */ /* 4 MHz??? */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_readmem,sound_writemem)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,60) /* irq is timed, tied to the cpu clock and not to vblank */
|
||||
MDRV_CPU_VBLANK_INT_HACK(irq0_line_hold,60) /* irq is timed, tied to the cpu clock and not to vblank */
|
||||
/* nmi is caused by the main cpu */
|
||||
|
||||
MDRV_CPU_ADD(M68705,8000000/2) /* 4 MHz */
|
||||
|
@ -392,11 +392,11 @@ static MACHINE_DRIVER_START( bwing )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD(M6809, 2000000)
|
||||
MDRV_CPU_PROGRAM_MAP(bwp1_readmem, bwp1_writemem)
|
||||
MDRV_CPU_VBLANK_INT(bwp1_interrupt, 3)
|
||||
MDRV_CPU_VBLANK_INT_HACK(bwp1_interrupt, 3)
|
||||
|
||||
MDRV_CPU_ADD(M6809, 2000000)
|
||||
MDRV_CPU_PROGRAM_MAP(bwp2_readmem, bwp2_writemem)
|
||||
// MDRV_CPU_VBLANK_INT(irq1_line_assert, 1) // vblank triggers FIRQ on CPU2 by design (unused)
|
||||
// MDRV_CPU_VBLANK_INT("main", irq1_line_assert) // vblank triggers FIRQ on CPU2 by design (unused)
|
||||
|
||||
MDRV_CPU_ADD(DECO16, 2000000)
|
||||
/* audio CPU */
|
||||
|
@ -540,7 +540,7 @@ static MACHINE_DRIVER_START( cabal )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 20000000/2) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(readmem_cpu,writemem_cpu)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 3579580) /* verified on pcb */
|
||||
/* audio CPU */
|
||||
@ -585,7 +585,7 @@ static MACHINE_DRIVER_START( cabalbl )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M68000, 12000000) /* 12 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(cabalbl_readmem_cpu,cabalbl_writemem_cpu)
|
||||
MDRV_CPU_VBLANK_INT(irq1_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq1_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 4000000)
|
||||
MDRV_CPU_PROGRAM_MAP(cabalbl_readmem_sound,cabalbl_writemem_sound)
|
||||
|
@ -1150,7 +1150,7 @@ static MACHINE_DRIVER_START( sys903 )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD_TAG("main", M6502, MASTER_CLOCK/16) /* confirmed */
|
||||
MDRV_CPU_PROGRAM_MAP(sys903_map, 0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_NVRAM_HANDLER(generic_0fill)
|
||||
|
||||
|
@ -362,7 +362,7 @@ static MACHINE_DRIVER_START( calorie )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80,4000000) /* 4 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(calorie_map,0)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD(Z80,3000000) /* 3 MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(calorie_sound_map,0)
|
||||
|
@ -237,7 +237,7 @@ static MACHINE_DRIVER_START( canyon )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(M6502, 12096000 / 16)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map,0)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse, 1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
MDRV_WATCHDOG_VBLANK_INIT(8)
|
||||
|
||||
/* video hardware */
|
||||
|
@ -352,7 +352,7 @@ static MACHINE_DRIVER_START( capbowl )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD_TAG("main", M6809E, MASTER_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(capbowl_map,0)
|
||||
MDRV_CPU_VBLANK_INT(capbowl_interrupt,1)
|
||||
MDRV_CPU_VBLANK_INT("main", capbowl_interrupt)
|
||||
|
||||
/* audio CPU */
|
||||
MDRV_CPU_ADD(M6809E, MASTER_CLOCK)
|
||||
|
@ -186,13 +186,13 @@ static MACHINE_DRIVER_START( carjmbre )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD(Z80,18432000/6)
|
||||
MDRV_CPU_PROGRAM_MAP(carjmbre_readmem,carjmbre_writemem)
|
||||
MDRV_CPU_VBLANK_INT(nmi_line_pulse,1)
|
||||
MDRV_CPU_VBLANK_INT("main", nmi_line_pulse)
|
||||
|
||||
MDRV_CPU_ADD(Z80, 1500000)
|
||||
/* audio CPU */
|
||||
MDRV_CPU_PROGRAM_MAP(carjmbre_sound_readmem,carjmbre_sound_writemem)
|
||||
MDRV_CPU_IO_MAP(carjmbre_sound_readport,carjmbre_sound_writeport)
|
||||
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
|
||||
MDRV_CPU_VBLANK_INT("main", irq0_line_hold)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("main", RASTER)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user