Cleaned up leland clocks a little.

Fixed alleymas0119u3gre (with a pointer from RansAckeR)
Added missing multipliers to the h8 and i960 cores.
Made the i186 divide-by-2 clock internal.
This commit is contained in:
Aaron Giles 2008-01-15 08:29:13 +00:00
parent 3459571adc
commit ddca20f72a
6 changed files with 26 additions and 6 deletions

View File

@ -3828,6 +3828,8 @@ void h8_3002_get_info(UINT32 state, cpuinfo *info)
case CPUINFO_STR_CORE_FILE: strcpy(info->s, __FILE__); break;
case CPUINFO_STR_FLAGS: strcpy(info->s, h8_get_ccr_str()); break;
case CPUINFO_INT_ENDIANNESS: info->i = CPU_IS_BE; break;
case CPUINFO_INT_CLOCK_MULTIPLIER: info->i = 1; break;
case CPUINFO_INT_CLOCK_DIVIDER: info->i = 1; break;
case CPUINFO_INT_INPUT_LINES: info->i = 16; break;
case CPUINFO_INT_DEFAULT_IRQ_VECTOR: info->i = -1; break;

View File

@ -522,6 +522,10 @@ void i80186_get_info(UINT32 state, cpuinfo *info)
{
switch (state)
{
/* --- the following bits of info are returned as 64-bit signed integers --- */
case CPUINFO_INT_CLOCK_MULTIPLIER: info->i = 1; break;
case CPUINFO_INT_CLOCK_DIVIDER: info->i = 2; break;
/* --- the following bits of info are returned as pointers to data or functions --- */
case CPUINFO_PTR_EXECUTE: info->execute = i80186_execute; break;

View File

@ -2152,6 +2152,8 @@ void i960_get_info(UINT32 state, cpuinfo *info)
case CPUINFO_INT_ENDIANNESS: info->i = CPU_IS_LE; break;
case CPUINFO_INT_INPUT_LINES: info->i = 4; break;
case CPUINFO_INT_DEFAULT_IRQ_VECTOR: info->i = -1; break;
case CPUINFO_INT_CLOCK_MULTIPLIER: info->i = 1; break;
case CPUINFO_INT_CLOCK_DIVIDER: info->i = 1; break;
// CPU main state
case CPUINFO_INT_PC: info->i = i960.IP; break;

View File

@ -33,6 +33,10 @@
#include "sound/custom.h"
#define MASTER_CLOCK XTAL_28_63636MHz
#define MCU_CLOCK XTAL_16MHz
/*************************************
*
@ -334,7 +338,7 @@ static MACHINE_DRIVER_START( ataxx )
MDRV_CPU_PROGRAM_MAP(slave_map_program,0)
MDRV_CPU_IO_MAP(slave_map_io,0)
MDRV_CPU_ADD_TAG("sound", I80186, 16000000/2)
MDRV_CPU_ADD_TAG("sound", I80186, XTAL_16MHz)
/* audio CPU */
MDRV_CPU_PROGRAM_MAP(leland_80186_map_program,0)
MDRV_CPU_IO_MAP(ataxx_80186_map_io,0)

View File

@ -47,6 +47,12 @@
#include "sound/custom.h"
#define MASTER_CLOCK XTAL_12MHz
#define VIDEO_CLOCK XTAL_14_31818MHz
#define MCU_CLOCK XTAL_16MHz
/*************************************
*
* Master CPU memory handlers
@ -733,12 +739,12 @@ static const struct CustomSound_interface redline_custom_interface =
static MACHINE_DRIVER_START( leland )
/* basic machine hardware */
MDRV_CPU_ADD_TAG("master", Z80, 6000000)
MDRV_CPU_ADD_TAG("master", Z80, MASTER_CLOCK/2)
MDRV_CPU_PROGRAM_MAP(master_map_program,0)
MDRV_CPU_IO_MAP(master_map_io,0)
MDRV_CPU_VBLANK_INT(leland_master_interrupt,1)
MDRV_CPU_ADD_TAG("slave", Z80, 6000000)
MDRV_CPU_ADD_TAG("slave", Z80, MASTER_CLOCK/2)
MDRV_CPU_PROGRAM_MAP(slave_small_map_program,0)
MDRV_CPU_IO_MAP(slave_map_io,0)
@ -781,8 +787,8 @@ static MACHINE_DRIVER_START( redline )
/* basic machine hardware */
MDRV_IMPORT_FROM(leland)
MDRV_CPU_ADD_TAG("sound", I80186, 16000000/2)
/* audio CPU */
MDRV_CPU_ADD_TAG("sound", I80186, MCU_CLOCK)
MDRV_CPU_PROGRAM_MAP(leland_80186_map_program,0)
MDRV_CPU_IO_MAP(redline_80186_map_io,0)
@ -797,6 +803,7 @@ static MACHINE_DRIVER_START( quarterb )
/* basic machine hardware */
MDRV_IMPORT_FROM(redline)
MDRV_CPU_MODIFY("sound")
MDRV_CPU_IO_MAP(leland_80186_map_io,0)
@ -811,6 +818,7 @@ static MACHINE_DRIVER_START( lelandi )
/* basic machine hardware */
MDRV_IMPORT_FROM(quarterb)
MDRV_CPU_MODIFY("slave")
MDRV_CPU_PROGRAM_MAP(slave_large_map_program,0)
MACHINE_DRIVER_END

View File

@ -155,7 +155,7 @@ WRITE8_HANDLER( alleymas_joystick_kludge )
{
/* catch the case where they clear this memory location at PC $1827 and change */
/* the value written to be a 1 */
if (safe_activecpu_get_pc() == 0x1827)
if (activecpu_get_previouspc() == 0x1827)
*alleymas_kludge_mem = 1;
else
*alleymas_kludge_mem = data;