diff options
author | Aaron Giles <aaron@aarongiles.com> | 2008-01-15 08:29:13 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2008-01-15 08:29:13 +0000 |
commit | ddca20f72ae92e539d2e94188a3b7ec5e66fc2fb (patch) | |
tree | 6acba6b99c6c46949b8779a3f1c39018fe6b14db | |
parent | 3459571adc2ae94db3e8b64c6f9746ff4b9acc7a (diff) |
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.
-rw-r--r-- | src/emu/cpu/h83002/h83002.c | 2 | ||||
-rw-r--r-- | src/emu/cpu/i86/i86.c | 4 | ||||
-rw-r--r-- | src/emu/cpu/i960/i960.c | 2 | ||||
-rw-r--r-- | src/mame/drivers/ataxx.c | 6 | ||||
-rw-r--r-- | src/mame/drivers/leland.c | 16 | ||||
-rw-r--r-- | src/mame/machine/leland.c | 2 |
6 files changed, 26 insertions, 6 deletions
diff --git a/src/emu/cpu/h83002/h83002.c b/src/emu/cpu/h83002/h83002.c index b0e01bfc0ff..a71bab1b741 100644 --- a/src/emu/cpu/h83002/h83002.c +++ b/src/emu/cpu/h83002/h83002.c @@ -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; diff --git a/src/emu/cpu/i86/i86.c b/src/emu/cpu/i86/i86.c index a412e28bfed..08af0624c67 100644 --- a/src/emu/cpu/i86/i86.c +++ b/src/emu/cpu/i86/i86.c @@ -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; diff --git a/src/emu/cpu/i960/i960.c b/src/emu/cpu/i960/i960.c index 9471fac4b45..9879042ee20 100644 --- a/src/emu/cpu/i960/i960.c +++ b/src/emu/cpu/i960/i960.c @@ -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; diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c index dd96d4900fb..fc8e0e28998 100644 --- a/src/mame/drivers/ataxx.c +++ b/src/mame/drivers/ataxx.c @@ -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) diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c index 77136e3c04d..eb47a47ed7b 100644 --- a/src/mame/drivers/leland.c +++ b/src/mame/drivers/leland.c @@ -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 diff --git a/src/mame/machine/leland.c b/src/mame/machine/leland.c index fb62d16167b..af5dfa01ce1 100644 --- a/src/mame/machine/leland.c +++ b/src/mame/machine/leland.c @@ -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; |