From 13a70d311857594b48f581943a832190b468809a Mon Sep 17 00:00:00 2001 From: AJR Date: Fri, 8 Dec 2017 18:44:23 -0500 Subject: [PATCH] m6809: Start resolving the great device type/clock divider mix-up --- src/devices/cpu/m6809/m6809.cpp | 43 ++++++++++++++- src/devices/cpu/m6809/m6809.h | 41 ++++++++++---- src/mame/audio/midway.cpp | 2 +- src/mame/audio/s11c_bg.cpp | 4 +- src/mame/audio/williams.cpp | 8 +-- src/mame/audio/wpcsnd.cpp | 2 +- src/mame/drivers/a6809.cpp | 2 +- src/mame/drivers/ajax.cpp | 4 +- src/mame/drivers/aristmk4.cpp | 2 +- src/mame/drivers/balsente.cpp | 2 +- src/mame/drivers/baraduke.cpp | 2 +- src/mame/drivers/barni.cpp | 13 +++-- src/mame/drivers/beezer.cpp | 4 +- src/mame/drivers/byvid.cpp | 6 +-- src/mame/drivers/capbowl.cpp | 6 +-- src/mame/drivers/chinagat.cpp | 8 +-- src/mame/drivers/contra.cpp | 2 +- src/mame/drivers/cswat.cpp | 2 +- src/mame/drivers/d400.cpp | 2 +- src/mame/drivers/d6809.cpp | 2 +- src/mame/drivers/ddragon.cpp | 8 +-- src/mame/drivers/ddribble.cpp | 6 +-- src/mame/drivers/de_2.cpp | 93 +++++++++++--------------------- src/mame/drivers/dec8.cpp | 16 +++--- src/mame/drivers/enmirage.cpp | 4 +- src/mame/drivers/esq1.cpp | 2 +- src/mame/drivers/exprraid.cpp | 2 +- src/mame/drivers/firefox.cpp | 2 +- src/mame/drivers/gaelco.cpp | 2 +- src/mame/drivers/gaplus.cpp | 8 +-- src/mame/drivers/gimix.cpp | 2 +- src/mame/drivers/gladiatr.cpp | 6 +-- src/mame/drivers/gng.cpp | 2 +- src/mame/drivers/halleys.cpp | 2 +- src/mame/drivers/icecold.cpp | 2 +- src/mame/drivers/irobot.cpp | 2 +- src/mame/drivers/ironhors.cpp | 4 +- src/mame/drivers/mappy.cpp | 18 +++---- src/mame/drivers/mikie.cpp | 2 +- src/mame/drivers/mkit09.cpp | 4 +- src/mame/drivers/namcos1.cpp | 8 +-- src/mame/drivers/namcos2.cpp | 14 ++--- src/mame/drivers/namcos21.cpp | 6 +-- src/mame/drivers/namcos86.cpp | 4 +- src/mame/drivers/nsg6809.cpp | 2 +- src/mame/drivers/overdriv.cpp | 2 +- src/mame/drivers/pacland.cpp | 2 +- src/mame/drivers/pandoras.cpp | 4 +- src/mame/drivers/pegasus.cpp | 2 +- src/mame/drivers/poly.cpp | 2 +- src/mame/drivers/qix.cpp | 6 +-- src/mame/drivers/s11.cpp | 2 +- src/mame/drivers/s11a.cpp | 4 +- src/mame/drivers/s11b.cpp | 2 +- src/mame/drivers/skykid.cpp | 4 +- src/mame/drivers/sonson.cpp | 4 +- src/mame/drivers/sothello.cpp | 23 ++++---- src/mame/drivers/spdodgeb.cpp | 2 +- src/mame/drivers/spiders.cpp | 2 +- src/mame/drivers/spy.cpp | 4 +- src/mame/drivers/squale.cpp | 2 +- src/mame/drivers/srumbler.cpp | 2 +- src/mame/drivers/starwars.cpp | 4 +- src/mame/drivers/swtpc09.cpp | 4 +- src/mame/drivers/tavernie.cpp | 2 +- src/mame/drivers/thomson.cpp | 4 +- src/mame/drivers/toypop.cpp | 4 +- src/mame/drivers/tp84.cpp | 4 +- src/mame/drivers/trackfld.cpp | 4 +- src/mame/drivers/tutankhm.cpp | 2 +- src/mame/drivers/v6809.cpp | 7 +-- src/mame/drivers/vectrex.cpp | 2 +- src/mame/drivers/wacky_gator.cpp | 2 +- src/mame/drivers/white_mod.cpp | 2 +- src/mame/drivers/whitestar.cpp | 2 +- src/mame/drivers/wico.cpp | 6 +-- src/mame/drivers/williams.cpp | 4 +- src/mame/drivers/yiear.cpp | 2 +- src/mame/video/decodmd2.cpp | 4 +- src/mame/video/qix.cpp | 6 +-- 80 files changed, 264 insertions(+), 248 deletions(-) diff --git a/src/devices/cpu/m6809/m6809.cpp b/src/devices/cpu/m6809/m6809.cpp index 42f64d5e5b2..521d4a113b7 100644 --- a/src/devices/cpu/m6809/m6809.cpp +++ b/src/devices/cpu/m6809/m6809.cpp @@ -77,6 +77,21 @@ March 2013 NPW: Removed unused jmp/jsr _slap functions from 6809ops.c, m6809_slapstick check moved into the opcode functions. +****************************************************************************** + + M6809 cycle timings are relative to a four-phase clock cycle defined by + the Q and E signals on pins 35 and 34. The Q clock must lead the E clock + by approximately half a cycle. On the MC6809E, Q and E are inputs, and + one 74LS74 wired as a two-stage Johnson counter is almost sufficient to + generate both (though E requires voltage levels above TTL). On the + MC6809, however, Q and E are output from an internal clock generator + which can be driven by a crystal oscillator connected to pins 38 and 39. + (The MC6809E reuses the same numbered pins for the unrelated TSC and LIC + functions.) The frequencies of Q and E on the MC6809 are that of the XTAL + divided by 4. MAME's emulation formerly assigned this internal clock + divider to the MC6809E and not to the MC6809; the confusion resulting + from this error is in the process of being straightened out. + *****************************************************************************/ #include "emu.h" @@ -104,8 +119,10 @@ March 2013 NPW: // DEVICE INTERFACE //************************************************************************** -DEFINE_DEVICE_TYPE(M6809, m6809_device, "m6809", "M6809") -DEFINE_DEVICE_TYPE(M6809E, m6809e_device, "m6809e", "M6809E") +DEFINE_DEVICE_TYPE(MC6809, mc6809_device, "mc6809", "MC6809") +DEFINE_DEVICE_TYPE(MC6809E, mc6809e_device, "mc6809e", "MC6809E") +DEFINE_DEVICE_TYPE(M6809, m6809_device, "m6809", "MC6809 (legacy)") +DEFINE_DEVICE_TYPE(M6809E, m6809e_device, "m6809e", "MC6809E (legacy)") //------------------------------------------------- @@ -577,6 +594,28 @@ void m6809_base_device::mi_default::write(uint16_t adr, uint8_t val) +//------------------------------------------------- +// mc6809_device +//------------------------------------------------- + +mc6809_device::mc6809_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : m6809_base_device(mconfig, tag, owner, clock, MC6809, 4) +{ +} + + + +//------------------------------------------------- +// mc6809e_device +//------------------------------------------------- + +mc6809e_device::mc6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : m6809_base_device(mconfig, tag, owner, clock, MC6809E, 1) +{ +} + + + //------------------------------------------------- // m6809_device //------------------------------------------------- diff --git a/src/devices/cpu/m6809/m6809.h b/src/devices/cpu/m6809/m6809.h index 759e37113a5..64d28a26316 100644 --- a/src/devices/cpu/m6809/m6809.h +++ b/src/devices/cpu/m6809/m6809.h @@ -19,6 +19,8 @@ //************************************************************************** // device type definition +DECLARE_DEVICE_TYPE(MC6809, mc6809_device) +DECLARE_DEVICE_TYPE(MC6809E, mc6809e_device) DECLARE_DEVICE_TYPE(M6809, m6809_device) DECLARE_DEVICE_TYPE(M6809E, m6809e_device) @@ -292,7 +294,33 @@ private: const char *inputnum_string(int inputnum); }; -// ======================> m6809_device +// ======================> mc6809_device + +class mc6809_device : public m6809_base_device +{ +public: + // construction/destruction + mc6809_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +}; + +// ======================> mc6809e_device + +// MC6809E has LIC line to indicate opcode/data fetch +#define MCFG_MC6809E_LIC_CB(_devcb) \ + devcb = &mc6809e_device::set_lic_cb(*device, DEVCB_##_devcb); + + +class mc6809e_device : public m6809_base_device +{ +public: + // construction/destruction + mc6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + + // static configuration helpers + template static devcb_base &set_lic_cb(device_t &device, _Object object) { return downcast(device).m_lic_func.set_callback(object); } +}; + +// ======================> m6809_device (LEGACY) class m6809_device : public m6809_base_device { @@ -301,20 +329,13 @@ public: m6809_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); }; -// ======================> m6809e_device - -#define MCFG_M6809E_LIC_CB(_devcb) \ - devcb = &m6809e_device::set_lic_cb(*device, DEVCB_##_devcb); - +// ======================> m6809e_device (LEGACY) class m6809e_device : public m6809_base_device { public: // construction/destruction m6809e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - // static configuration helpers - template static devcb_base &set_lic_cb(device_t &device, _Object object) { return downcast(device).m_lic_func.set_callback(object); } }; enum @@ -326,6 +347,4 @@ enum #define M6809_IRQ_LINE 0 /* IRQ line number */ #define M6809_FIRQ_LINE 1 /* FIRQ line number */ -/* M6809e has LIC line to indicate opcode/data fetch */ - #endif // MAME_CPU_M6809_M6809_H diff --git a/src/mame/audio/midway.cpp b/src/mame/audio/midway.cpp index 4752e177c72..0db7413b894 100644 --- a/src/mame/audio/midway.cpp +++ b/src/mame/audio/midway.cpp @@ -729,7 +729,7 @@ ADDRESS_MAP_END //------------------------------------------------- MACHINE_CONFIG_MEMBER(midway_turbo_cheap_squeak_device::device_add_mconfig) - MCFG_CPU_ADD("cpu", M6809E, TURBOCS_CLOCK) + MCFG_CPU_ADD("cpu", MC6809E, TURBOCS_CLOCK / 4) MCFG_CPU_PROGRAM_MAP(turbocs_map) MCFG_DEVICE_ADD("pia", PIA6821, 0) diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp index 742bc4e8985..fb80c7ad1f0 100644 --- a/src/mame/audio/s11c_bg.cpp +++ b/src/mame/audio/s11c_bg.cpp @@ -57,11 +57,11 @@ void s11c_bg_device::data_w(uint8_t data) } MACHINE_CONFIG_MEMBER( s11c_bg_device::device_add_mconfig ) - MCFG_CPU_ADD("bgcpu", M6809E, XTAL_8MHz) // MC68B09E (note: schematics show this as 8mhz/2, but games crash very quickly with that speed?) + MCFG_CPU_ADD("bgcpu", MC6809E, XTAL_8MHz / 4) // MC68B09E MCFG_CPU_PROGRAM_MAP(s11c_bg_map) MCFG_QUANTUM_TIME(attotime::from_hz(50)) - MCFG_YM2151_ADD("ym2151", 3580000) + MCFG_YM2151_ADD("ym2151", XTAL_3_579545MHz) // "3.58 MHz" on schematics and parts list MCFG_YM2151_IRQ_HANDLER(WRITELINE(s11c_bg_device, ym2151_irq_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.25) diff --git a/src/mame/audio/williams.cpp b/src/mame/audio/williams.cpp index 473dfe4ea96..6633556d258 100644 --- a/src/mame/audio/williams.cpp +++ b/src/mame/audio/williams.cpp @@ -175,7 +175,7 @@ ADDRESS_MAP_END //------------------------------------------------- MACHINE_CONFIG_MEMBER( williams_cvsd_sound_device::device_add_mconfig ) - MCFG_CPU_ADD("cpu", M6809E, CVSD_MASTER_CLOCK) + MCFG_CPU_ADD("cpu", MC6809E, CVSD_MASTER_CLOCK / 4) MCFG_CPU_PROGRAM_MAP(williams_cvsd_map) MCFG_DEVICE_ADD("pia", PIA6821, 0) @@ -493,10 +493,10 @@ ADDRESS_MAP_END MACHINE_CONFIG_MEMBER( williams_narc_sound_device::device_add_mconfig ) - MCFG_CPU_ADD("cpu0", M6809E, NARC_MASTER_CLOCK) + MCFG_CPU_ADD("cpu0", MC6809E, NARC_MASTER_CLOCK / 4) MCFG_CPU_PROGRAM_MAP(williams_narc_master_map) - MCFG_CPU_ADD("cpu1", M6809E, NARC_MASTER_CLOCK) + MCFG_CPU_ADD("cpu1", MC6809E, NARC_MASTER_CLOCK / 4) MCFG_CPU_PROGRAM_MAP(williams_narc_slave_map) MCFG_YM2151_ADD("ym2151", NARC_FM_CLOCK) @@ -746,7 +746,7 @@ ADDRESS_MAP_END //------------------------------------------------- MACHINE_CONFIG_MEMBER( williams_adpcm_sound_device::device_add_mconfig ) - MCFG_CPU_ADD("cpu", M6809E, ADPCM_MASTER_CLOCK) + MCFG_CPU_ADD("cpu", MC6809E, ADPCM_MASTER_CLOCK / 4) MCFG_CPU_PROGRAM_MAP(williams_adpcm_map) MCFG_YM2151_ADD("ym2151", ADPCM_FM_CLOCK) diff --git a/src/mame/audio/wpcsnd.cpp b/src/mame/audio/wpcsnd.cpp index a9cbf40611e..f8ce84bae3d 100644 --- a/src/mame/audio/wpcsnd.cpp +++ b/src/mame/audio/wpcsnd.cpp @@ -67,7 +67,7 @@ uint8_t wpcsnd_device::data_r() } MACHINE_CONFIG_MEMBER( wpcsnd_device::device_add_mconfig ) - MCFG_CPU_ADD("bgcpu", M6809E, XTAL_8MHz) // MC68B09E + MCFG_CPU_ADD("bgcpu", MC6809E, XTAL_8MHz / 4) // MC68B09E MCFG_CPU_PROGRAM_MAP(wpcsnd_map) MCFG_QUANTUM_TIME(attotime::from_hz(50)) diff --git a/src/mame/drivers/a6809.cpp b/src/mame/drivers/a6809.cpp index 84cbcef2303..3e67a43aad6 100644 --- a/src/mame/drivers/a6809.cpp +++ b/src/mame/drivers/a6809.cpp @@ -222,7 +222,7 @@ void a6809_state::kbd_put(u8 data) static MACHINE_CONFIG_START( a6809 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(a6809_mem) MCFG_CPU_IO_MAP(a6809_io) MCFG_MACHINE_RESET_OVERRIDE(a6809_state, a6809) diff --git a/src/mame/drivers/ajax.cpp b/src/mame/drivers/ajax.cpp index bd4db94f2be..f03b73e394e 100644 --- a/src/mame/drivers/ajax.cpp +++ b/src/mame/drivers/ajax.cpp @@ -17,7 +17,7 @@ #include "includes/konamipt.h" #include "cpu/z80/z80.h" -#include "cpu/m6809/m6809.h" +#include "cpu/m6809/hd6309.h" #include "cpu/m6809/konami.h" #include "sound/ym2151.h" #include "speaker.h" @@ -173,7 +173,7 @@ static MACHINE_CONFIG_START( ajax ) MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/2/4) /* 052001 12/4 MHz*/ MCFG_CPU_PROGRAM_MAP(ajax_main_map) - MCFG_CPU_ADD("sub", M6809, 3000000) /* ? */ + MCFG_CPU_ADD("sub", HD6309, 3000000) /* ? */ MCFG_CPU_PROGRAM_MAP(ajax_sub_map) MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.58 MHz */ diff --git a/src/mame/drivers/aristmk4.cpp b/src/mame/drivers/aristmk4.cpp index 329b6fcb240..cd3527f08da 100644 --- a/src/mame/drivers/aristmk4.cpp +++ b/src/mame/drivers/aristmk4.cpp @@ -1747,7 +1747,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(aristmk4_state::aristmk4_pf) static MACHINE_CONFIG_START( aristmk4 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8) // M68B09E @ 1.5 MHz + MCFG_CPU_ADD("maincpu", MC6809E, MAIN_CLOCK/8) // M68B09E @ 1.5 MHz MCFG_CPU_PROGRAM_MAP(aristmk4_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", aristmk4_state, irq0_line_hold) diff --git a/src/mame/drivers/balsente.cpp b/src/mame/drivers/balsente.cpp index 3ac9c893e11..04dcafcb0f0 100644 --- a/src/mame/drivers/balsente.cpp +++ b/src/mame/drivers/balsente.cpp @@ -1280,7 +1280,7 @@ INPUT_PORTS_END static MACHINE_CONFIG_START( balsente ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_20MHz/16) /* xtal verified but not speed */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_20MHz/16) /* xtal verified but not speed */ MCFG_CPU_PROGRAM_MAP(cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", balsente_state, balsente_update_analog_inputs) diff --git a/src/mame/drivers/baraduke.cpp b/src/mame/drivers/baraduke.cpp index b09899c44b6..4c64a2efa9a 100644 --- a/src/mame/drivers/baraduke.cpp +++ b/src/mame/drivers/baraduke.cpp @@ -373,7 +373,7 @@ GFXDECODE_END static MACHINE_CONFIG_START( baraduke ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_49_152MHz/32) + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_49_152MHz/32) // 68A09E MCFG_CPU_PROGRAM_MAP(baraduke_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", baraduke_state, irq0_line_assert) diff --git a/src/mame/drivers/barni.cpp b/src/mame/drivers/barni.cpp index 05dad500f51..96a328cb671 100644 --- a/src/mame/drivers/barni.cpp +++ b/src/mame/drivers/barni.cpp @@ -7,11 +7,10 @@ /* Hardware: -CPU: 2 x M6809, optional M6802 (what for?) +CPU: 2 x 6809E, optional MC6802 which may replace second 6809E INT: IRQ on CPU 0, FIRQ on CPU 1 -IO: DMA (Direct Memory Access/Address) - 2x PIA 6821 - 1x VIS 6522 +IO: 2x PIA 6821 + 1x VIA 6522 DISPLAY: 5x6 digit 7 or 16 segment display SOUND: basically the same as Bally's Squalk & Talk -61 board but missing AY8912 synth chip */ @@ -58,13 +57,13 @@ INPUT_PORTS_END static MACHINE_CONFIG_START( barni ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 2000000) + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_4MHz / 4) MCFG_CPU_PROGRAM_MAP(maincpu_map) - MCFG_CPU_ADD("subcpu", M6809, 2000000) + MCFG_CPU_ADD("subcpu", MC6809E, XTAL_4MHz / 4) MCFG_CPU_PROGRAM_MAP(subcpu_map) - MCFG_CPU_ADD("audiocpu", M6802, 2000000) + MCFG_CPU_ADD("audiocpu", M6802, 4000000) // uses own XTAL, but what is the value? MCFG_CPU_PROGRAM_MAP(audiocpu_map) /* video hardware */ diff --git a/src/mame/drivers/beezer.cpp b/src/mame/drivers/beezer.cpp index fd93de38b6b..7d24112dce6 100644 --- a/src/mame/drivers/beezer.cpp +++ b/src/mame/drivers/beezer.cpp @@ -461,7 +461,7 @@ void beezer_state::machine_reset() static MACHINE_CONFIG_START( beezer ) // basic machine hardware - MCFG_CPU_ADD("maincpu", M6809, XTAL_12MHz / 12) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_12MHz / 3) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_DEVICE_ADD("sysbank", ADDRESS_MAP_BANK, 0) @@ -497,7 +497,7 @@ static MACHINE_CONFIG_START( beezer ) MCFG_PALETTE_INIT_OWNER(beezer_state, beezer) // sound hardware - MCFG_CPU_ADD("audiocpu", M6809, XTAL_4MHz / 4) + MCFG_CPU_ADD("audiocpu", MC6809, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_INPUT_MERGER_ANY_HIGH("audio_irqs") diff --git a/src/mame/drivers/byvid.cpp b/src/mame/drivers/byvid.cpp index 6fda61bd054..31a38ca364d 100644 --- a/src/mame/drivers/byvid.cpp +++ b/src/mame/drivers/byvid.cpp @@ -120,7 +120,7 @@ private: bool m_u11_timer; virtual void machine_reset() override; required_device m_maincpu; - required_device m_videocpu; + required_device m_videocpu; required_device m_audiocpu; required_device m_pia_u7; required_device m_pia_u10; @@ -746,7 +746,7 @@ static MACHINE_CONFIG_START( babypac ) MCFG_CPU_ADD("maincpu", M6800, XTAL_3_579545MHz/4) // no xtal, just 2 chips MCFG_CPU_PROGRAM_MAP(main_map) - MCFG_CPU_ADD("videocpu", M6809E, XTAL_3_579545MHz) + MCFG_CPU_ADD("videocpu", MC6809, XTAL_3_579545MHz) MCFG_CPU_PROGRAM_MAP(video_map) MCFG_CPU_ADD("audiocpu", M6803, XTAL_3_579545MHz) @@ -807,7 +807,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( granny, babypac ) MCFG_DEVICE_REMOVE("videocpu") - MCFG_CPU_ADD("videocpu", M6809E, XTAL_8MHz) //?? + MCFG_CPU_ADD("videocpu", MC6809, XTAL_8MHz) // MC68B09P (XTAL value hard to read) MCFG_CPU_PROGRAM_MAP(granny_map) MCFG_DEVICE_REMOVE("screen") diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp index 4df238be4f8..891d66e0fef 100644 --- a/src/mame/drivers/capbowl.cpp +++ b/src/mame/drivers/capbowl.cpp @@ -316,14 +316,14 @@ void capbowl_state::machine_reset() static MACHINE_CONFIG_START( capbowl ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809E, MASTER_CLOCK) + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_CLOCK / 4) // MC68B09EP MCFG_CPU_PROGRAM_MAP(capbowl_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", capbowl_state, interrupt) MCFG_WATCHDOG_ADD("watchdog") MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_ASTABLE(100000.0, 100000.0, 0.1e-6) * 15.5) // ~0.3s - MCFG_CPU_ADD("audiocpu", M6809E, MASTER_CLOCK) + MCFG_CPU_ADD("audiocpu", MC6809E, MASTER_CLOCK / 4) // MC68B09EP MCFG_CPU_PROGRAM_MAP(sound_map) // MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_ASTABLE(100000.0, 100000.0, 0.1e-6) * 15.5) // TODO @@ -348,7 +348,7 @@ static MACHINE_CONFIG_START( capbowl ) MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_SOUND_ADD("ymsnd", YM2203, MASTER_CLOCK/2) + MCFG_SOUND_ADD("ymsnd", YM2203, MASTER_CLOCK / 2) MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", M6809_FIRQ_LINE)) MCFG_AY8910_PORT_A_READ_CB(DEVREADLINE("ticket", ticket_dispenser_device, line_r)) MCFG_DEVCB_BIT(7) MCFG_AY8910_PORT_B_WRITE_CB(DEVWRITELINE("ticket", ticket_dispenser_device, motor_w)) MCFG_DEVCB_BIT(7) /* Also a status LED. See memory map above */ diff --git a/src/mame/drivers/chinagat.cpp b/src/mame/drivers/chinagat.cpp index 08ea5ffac11..03d5ee93858 100644 --- a/src/mame/drivers/chinagat.cpp +++ b/src/mame/drivers/chinagat.cpp @@ -590,11 +590,11 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( saiyugoub1 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK / 8) /* 68B09EP 1.5 MHz (12MHz oscillator) */ + MCFG_CPU_ADD("maincpu", MC6809E, MAIN_CLOCK / 8) /* 68B09EP 1.5 MHz (12MHz oscillator) */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", chinagat_state, chinagat_scanline, "screen", 0, 1) - MCFG_CPU_ADD("sub", M6809, MAIN_CLOCK / 8) /* 68B09EP 1.5 MHz (12MHz oscillator) */ + MCFG_CPU_ADD("sub", MC6809E, MAIN_CLOCK / 8) /* 68B09EP 1.5 MHz (12MHz oscillator) */ MCFG_CPU_PROGRAM_MAP(sub_map) MCFG_CPU_ADD("soundcpu", Z80, XTAL_3_579545MHz) /* 3.579545 MHz oscillator */ @@ -646,11 +646,11 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( saiyugoub2 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK / 8) /* 1.5 MHz (12MHz oscillator) */ + MCFG_CPU_ADD("maincpu", MC6809E, MAIN_CLOCK / 8) /* 1.5 MHz (12MHz oscillator) */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", chinagat_state, chinagat_scanline, "screen", 0, 1) - MCFG_CPU_ADD("sub", M6809, MAIN_CLOCK / 8) /* 1.5 MHz (12MHz oscillator) */ + MCFG_CPU_ADD("sub", MC6809E, MAIN_CLOCK / 8) /* 1.5 MHz (12MHz oscillator) */ MCFG_CPU_PROGRAM_MAP(sub_map) MCFG_CPU_ADD("soundcpu", Z80, XTAL_3_579545MHz) /* 3.579545 MHz oscillator */ diff --git a/src/mame/drivers/contra.cpp b/src/mame/drivers/contra.cpp index d9f9440ad7c..449bf162341 100644 --- a/src/mame/drivers/contra.cpp +++ b/src/mame/drivers/contra.cpp @@ -202,7 +202,7 @@ static MACHINE_CONFIG_START( contra ) MCFG_CPU_PROGRAM_MAP(contra_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", contra_state, contra_interrupt) - MCFG_CPU_ADD("audiocpu", M6809, XTAL_24MHz/8) /* 3000000? */ + MCFG_CPU_ADD("audiocpu", MC6809E, XTAL_24MHz/8) /* 3000000? */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* enough for the sound CPU to read all commands */ diff --git a/src/mame/drivers/cswat.cpp b/src/mame/drivers/cswat.cpp index de9db256c95..58d5874398c 100644 --- a/src/mame/drivers/cswat.cpp +++ b/src/mame/drivers/cswat.cpp @@ -256,7 +256,7 @@ void cswat_state::machine_start() static MACHINE_CONFIG_START( cswat ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809E, XTAL_18_432MHz/3/4) // HD68A09EP, 1.5MHz? + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_18_432MHz/3/4) // HD68A09EP, 1.5MHz? MCFG_CPU_PROGRAM_MAP(cswat_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", cswat_state, irq0_line_assert) MCFG_CPU_PERIODIC_INT_DRIVER(cswat_state, nmi_handler, 300) // ? diff --git a/src/mame/drivers/d400.cpp b/src/mame/drivers/d400.cpp index d3d943d8eb0..4cd972bab2f 100644 --- a/src/mame/drivers/d400.cpp +++ b/src/mame/drivers/d400.cpp @@ -38,7 +38,7 @@ static INPUT_PORTS_START( d461 ) INPUT_PORTS_END static MACHINE_CONFIG_START( d461 ) - MCFG_CPU_ADD("maincpu", M6809, 4'000'000) + MCFG_CPU_ADD("maincpu", MC6809E, 4'000'000) // HD68B09EP MCFG_CPU_PROGRAM_MAP(mem_map) MCFG_DEVICE_ADD("novram", X2210, 0) diff --git a/src/mame/drivers/d6809.cpp b/src/mame/drivers/d6809.cpp index 8f3a08878c6..c3f05f44b22 100644 --- a/src/mame/drivers/d6809.cpp +++ b/src/mame/drivers/d6809.cpp @@ -149,7 +149,7 @@ void d6809_state::machine_reset() static MACHINE_CONFIG_START( d6809 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_14_7456MHz / 8) // MC68B09EP + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_14_7456MHz / 8) // MC68B09EP MCFG_CPU_PROGRAM_MAP(mem_map) MCFG_DEVICE_ADD("acia1", MOS6551, XTAL_14_7456MHz / 8) // uses Q clock diff --git a/src/mame/drivers/ddragon.cpp b/src/mame/drivers/ddragon.cpp index 39f15cc31b6..6af28a90358 100644 --- a/src/mame/drivers/ddragon.cpp +++ b/src/mame/drivers/ddragon.cpp @@ -946,7 +946,7 @@ static MACHINE_CONFIG_START( ddragon ) MCFG_CPU_ADD("sub", HD63701, MAIN_CLOCK / 2) /* 6 MHz / 4 internally */ MCFG_CPU_PROGRAM_MAP(sub_map) - MCFG_CPU_ADD("soundcpu", M6809, MAIN_CLOCK / 8) /* 1.5 MHz */ + MCFG_CPU_ADD("soundcpu", MC6809, MAIN_CLOCK / 2) /* 6 MHz / 4 internally */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */ @@ -1009,14 +1009,14 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( ddragon6809 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK / 8) /* 1.5 MHz */ + MCFG_CPU_ADD("maincpu", MC6809E, MAIN_CLOCK / 8) /* 1.5 MHz */ MCFG_CPU_PROGRAM_MAP(ddragon_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ddragon_state, ddragon_scanline, "screen", 0, 1) - MCFG_CPU_ADD("sub", M6809, MAIN_CLOCK / 8) /* 1.5 Mhz */ + MCFG_CPU_ADD("sub", MC6809E, MAIN_CLOCK / 8) /* 1.5 Mhz */ MCFG_CPU_PROGRAM_MAP(sub_map) - MCFG_CPU_ADD("soundcpu", M6809, MAIN_CLOCK / 8) /* 1.5 MHz */ + MCFG_CPU_ADD("soundcpu", MC6809E, MAIN_CLOCK / 8) /* 1.5 MHz */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_QUANTUM_TIME(attotime::from_hz(60000)) /* heavy interleaving to sync up sprite<->main CPUs */ diff --git a/src/mame/drivers/ddribble.cpp b/src/mame/drivers/ddribble.cpp index 89e9e55e985..b1c62fd855b 100644 --- a/src/mame/drivers/ddribble.cpp +++ b/src/mame/drivers/ddribble.cpp @@ -259,15 +259,15 @@ void ddribble_state::machine_reset() static MACHINE_CONFIG_START( ddribble ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12) /* verified on pcb */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_18_432MHz/12) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(cpu0_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", ddribble_state, ddribble_interrupt_0) - MCFG_CPU_ADD("cpu1", M6809, XTAL_18_432MHz/12) /* verified on pcb */ + MCFG_CPU_ADD("cpu1", MC6809E, XTAL_18_432MHz/12) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", ddribble_state, ddribble_interrupt_1) - MCFG_CPU_ADD("cpu2", M6809, XTAL_18_432MHz/12) /* verified on pcb */ + MCFG_CPU_ADD("cpu2", MC6809E, XTAL_18_432MHz/12) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(cpu2_map) MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */ diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp index 648cfdf89a4..c3e0dc5c1f5 100644 --- a/src/mame/drivers/de_2.cpp +++ b/src/mame/drivers/de_2.cpp @@ -3,8 +3,8 @@ /* DataEast/Sega Version 1 and 2 - Main CPU: 6808 @ 4MHz - Audio CPU: 68B09E @ 8MHz (internally divided by 4) + Main CPU: 6808 @ 4MHz (internally divided by 4) + Audio CPU: 68B09E @ 2MHz Audio: YM2151 @ 3.58MHz, MSM5205 @ 384kHz */ @@ -518,9 +518,26 @@ WRITE8_MEMBER(de_2_state::lamps_w) } +static MACHINE_CONFIG_START( de_bg_audio ) + /* sound CPU */ + MCFG_CPU_ADD("audiocpu", MC6809E, XTAL_8MHz / 4) // MC68B09E + MCFG_CPU_PROGRAM_MAP(de_2_audio_map) + + MCFG_SPEAKER_STANDARD_MONO("bg") + + MCFG_YM2151_ADD("ym2151", XTAL_3_579545MHz) + MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + + MCFG_SOUND_ADD("msm5205", MSM5205, XTAL_384kHz) + MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) + MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( de_type1 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE1_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE1_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -530,25 +547,13 @@ static MACHINE_CONFIG_START( de_type1 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END static MACHINE_CONFIG_START( de_type2 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE2_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE2_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -558,25 +563,13 @@ static MACHINE_CONFIG_START( de_type2 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END static MACHINE_CONFIG_START( de_type2_alpha3 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE2_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE2_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,type2alpha3_display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -586,25 +579,13 @@ static MACHINE_CONFIG_START( de_type2_alpha3 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2a3) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END static MACHINE_CONFIG_START( de_type3 ) /* basic machine hardware */ - MCFG_DECOCPU_TYPE3_ADD("decocpu",XTAL_8MHz / 2, ":maincpu") + MCFG_DECOCPU_TYPE3_ADD("decocpu", XTAL_8MHz / 2, ":maincpu") MCFG_DECOCPU_DISPLAY(READ8(de_2_state,display_r),WRITE8(de_2_state,alpha3_display_w)) MCFG_DECOCPU_SOUNDLATCH(WRITE8(de_2_state,sound_w)) MCFG_DECOCPU_SWITCH(READ8(de_2_state,switch_r),WRITE8(de_2_state,switch_w)) @@ -614,20 +595,8 @@ static MACHINE_CONFIG_START( de_type3 ) /* Video */ MCFG_DEFAULT_LAYOUT(layout_de2a3) - MCFG_FRAGMENT_ADD( genpin_audio ) - - /* sound CPU */ - MCFG_CPU_ADD("audiocpu", M6809E, 8000000) // MC68B09E - MCFG_CPU_PROGRAM_MAP(de_2_audio_map) - - MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) - MCFG_YM2151_IRQ_HANDLER(WRITELINE(de_2_state, ym2151_irq_w)) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) - MCFG_SOUND_ADD("msm5205", MSM5205, 384000) - MCFG_MSM5205_VCLK_CB(WRITELINE(de_2_state, msm5205_irq_w)) - MCFG_MSM5205_PRESCALER_SELECTOR(S96_4B) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) + MCFG_FRAGMENT_ADD(genpin_audio) + MCFG_FRAGMENT_ADD(de_bg_audio) MACHINE_CONFIG_END diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp index be1d52c24f3..986bcb68b2c 100644 --- a/src/mame/drivers/dec8.cpp +++ b/src/mame/drivers/dec8.cpp @@ -1957,10 +1957,10 @@ void dec8_state::machine_reset() static MACHINE_CONFIG_START( lastmisn ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 2000000) + MCFG_CPU_ADD("maincpu", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(lastmisn_map) - MCFG_CPU_ADD("sub", M6809, 2000000) + MCFG_CPU_ADD("sub", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(lastmisn_sub_map) MCFG_CPU_ADD("audiocpu", M6502, 1500000) @@ -2010,10 +2010,10 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( shackled ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 2000000) + MCFG_CPU_ADD("maincpu", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(shackled_map) - MCFG_CPU_ADD("sub", M6809, 2000000) + MCFG_CPU_ADD("sub", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(shackled_sub_map) MCFG_CPU_ADD("audiocpu", M6502, 1500000) @@ -2233,10 +2233,10 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( csilver ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_12MHz/8) /* verified on pcb */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_12MHz/8) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(csilver_map) - MCFG_CPU_ADD("sub", M6809, XTAL_12MHz/8) /* verified on pcb */ + MCFG_CPU_ADD("sub", MC6809E, XTAL_12MHz/8) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(csilver_sub_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, nmi_line_pulse) @@ -2350,7 +2350,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( srdarwin ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809,2000000) /* MC68A09EP */ + MCFG_CPU_ADD("maincpu", MC6809E, 2000000) /* MC68A09EP */ MCFG_CPU_PROGRAM_MAP(srdarwin_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, nmi_line_pulse) @@ -2400,7 +2400,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( cobracom ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 2000000) + MCFG_CPU_ADD("maincpu", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(cobra_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, nmi_line_pulse) diff --git a/src/mame/drivers/enmirage.cpp b/src/mame/drivers/enmirage.cpp index 1bec1447996..cd850283463 100644 --- a/src/mame/drivers/enmirage.cpp +++ b/src/mame/drivers/enmirage.cpp @@ -78,7 +78,7 @@ protected: virtual void machine_reset() override; virtual void video_start() override; - required_device m_maincpu; + required_device m_maincpu; required_device m_fdc; required_device m_via; @@ -208,7 +208,7 @@ WRITE8_MEMBER(enmirage_state::mirage_via_write_portb) } static MACHINE_CONFIG_START( mirage ) - MCFG_CPU_ADD("maincpu", M6809E, 4000000) + MCFG_CPU_ADD("maincpu", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(mirage_map) MCFG_DEFAULT_LAYOUT( layout_mirage ) diff --git a/src/mame/drivers/esq1.cpp b/src/mame/drivers/esq1.cpp index 600341203e9..eb3aac72dbe 100644 --- a/src/mame/drivers/esq1.cpp +++ b/src/mame/drivers/esq1.cpp @@ -579,7 +579,7 @@ INPUT_CHANGED_MEMBER(esq1_state::key_stroke) } static MACHINE_CONFIG_START( esq1 ) - MCFG_CPU_ADD("maincpu", M6809E, 4000000) // how fast is it? + MCFG_CPU_ADD("maincpu", MC6809, XTAL_8MHz) // XTAL not directly attached to CPU MCFG_CPU_PROGRAM_MAP(esq1_map) MCFG_DEVICE_ADD("duart", SCN2681, XTAL_8MHz / 2) diff --git a/src/mame/drivers/exprraid.cpp b/src/mame/drivers/exprraid.cpp index 97ee4be9c18..14ae38946c9 100644 --- a/src/mame/drivers/exprraid.cpp +++ b/src/mame/drivers/exprraid.cpp @@ -494,7 +494,7 @@ static MACHINE_CONFIG_START( exprraid ) MCFG_CPU_PROGRAM_MAP(master_map) MCFG_CPU_IO_MAP(master_io_map) - MCFG_CPU_ADD("slave", M6809, XTAL_12MHz / 8) + MCFG_CPU_ADD("slave", MC6809, XTAL_12MHz / 2) // MC68B09P MCFG_CPU_PROGRAM_MAP(slave_map) /* IRQs are caused by the YM3526 */ diff --git a/src/mame/drivers/firefox.cpp b/src/mame/drivers/firefox.cpp index bbbd02e35ae..07ed8cf4b65 100644 --- a/src/mame/drivers/firefox.cpp +++ b/src/mame/drivers/firefox.cpp @@ -724,7 +724,7 @@ GFXDECODE_END static MACHINE_CONFIG_START( firefox ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809E, MASTER_XTAL/2) + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_XTAL/8) // 68B09E MCFG_CPU_PROGRAM_MAP(main_map) /* interrupts count starting at end of VBLANK, which is 44, so add 44 */ MCFG_TIMER_DRIVER_ADD_SCANLINE("32v", firefox_state, video_timer_callback, "screen", 96+44, 128) diff --git a/src/mame/drivers/gaelco.cpp b/src/mame/drivers/gaelco.cpp index a61d51e855e..305b9d85a70 100644 --- a/src/mame/drivers/gaelco.cpp +++ b/src/mame/drivers/gaelco.cpp @@ -507,7 +507,7 @@ static MACHINE_CONFIG_START( bigkarnk ) MCFG_CPU_PROGRAM_MAP(bigkarnk_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) - MCFG_CPU_ADD("audiocpu", M6809, 8867000/4) /* 68B09, 2.21675 MHz? */ + MCFG_CPU_ADD("audiocpu", MC6809E, 8867000/4) /* 68B09EP, 2.21675 MHz? */ MCFG_CPU_PROGRAM_MAP(bigkarnk_snd_map) MCFG_QUANTUM_TIME(attotime::from_hz(600)) diff --git a/src/mame/drivers/gaplus.cpp b/src/mame/drivers/gaplus.cpp index 4646a889490..b9f839e7f98 100644 --- a/src/mame/drivers/gaplus.cpp +++ b/src/mame/drivers/gaplus.cpp @@ -515,15 +515,15 @@ void gaplus_state::machine_start() static MACHINE_CONFIG_START( gaplus ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 24576000/16) /* 1.536 MHz */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_24_576MHz/16) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", gaplus_state, vblank_main_irq) - MCFG_CPU_ADD("sub", M6809, 24576000/16) /* 1.536 MHz */ + MCFG_CPU_ADD("sub", MC6809E, XTAL_24_576MHz/16) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(cpu2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", gaplus_state, vblank_sub_irq) - MCFG_CPU_ADD("sub2", M6809, 24576000/16) /* 1.536 MHz */ + MCFG_CPU_ADD("sub2", MC6809E, XTAL_24_576MHz/16) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(cpu3_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", gaplus_state, vblank_sub2_irq) @@ -571,7 +571,7 @@ static MACHINE_CONFIG_START( gaplus ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("namco", NAMCO_15XX, 24576000/1024) + MCFG_SOUND_ADD("namco", NAMCO_15XX, XTAL_24_576MHz/1024) MCFG_NAMCO_AUDIO_VOICES(8) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) diff --git a/src/mame/drivers/gimix.cpp b/src/mame/drivers/gimix.cpp index 4467b925b56..be06ff87ecb 100644 --- a/src/mame/drivers/gimix.cpp +++ b/src/mame/drivers/gimix.cpp @@ -545,7 +545,7 @@ MCFG_ADDRESS_MAP_BANK_STRIDE(0x1000) static MACHINE_CONFIG_START( gimix ) // basic machine hardware - MCFG_CPU_ADD("maincpu", M6809E, XTAL_8MHz) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_8MHz) MCFG_CPU_PROGRAM_MAP(gimix_mem) MCFG_CPU_IO_MAP(gimix_io) diff --git a/src/mame/drivers/gladiatr.cpp b/src/mame/drivers/gladiatr.cpp index 6f8e32b0e9e..fa20baf2184 100644 --- a/src/mame/drivers/gladiatr.cpp +++ b/src/mame/drivers/gladiatr.cpp @@ -141,7 +141,7 @@ Address Dir Data Name Description --------111----- W xxxxxxxx ADCS command to 6809 -Third CPU (6809) +Third CPU (HD6809) ---------------- Address Dir Data Name Description @@ -946,7 +946,7 @@ static MACHINE_CONFIG_START( ppking ) MCFG_CPU_IO_MAP(ppking_cpu2_io) MCFG_CPU_PERIODIC_INT_DRIVER(ppking_state, irq0_line_assert, 60) - MCFG_CPU_ADD("audiocpu", M6809, XTAL_12MHz/16) /* verified on pcb */ + MCFG_CPU_ADD("audiocpu", MC6809, XTAL_12MHz/4) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(ppking_cpu3_map) MCFG_QUANTUM_TIME(attotime::from_hz(6000)) @@ -1010,7 +1010,7 @@ static MACHINE_CONFIG_START( gladiatr ) MCFG_CPU_PROGRAM_MAP(cpu2_map) MCFG_CPU_IO_MAP(gladiatr_cpu2_io) - MCFG_CPU_ADD("audiocpu", M6809, XTAL_12MHz/16) /* verified on pcb */ + MCFG_CPU_ADD("audiocpu", MC6809, XTAL_12MHz/4) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(gladiatr_cpu3_map) MCFG_MACHINE_RESET_OVERRIDE(gladiatr_state,gladiator) diff --git a/src/mame/drivers/gng.cpp b/src/mame/drivers/gng.cpp index 6dd73d4a42c..95c8874a3a7 100644 --- a/src/mame/drivers/gng.cpp +++ b/src/mame/drivers/gng.cpp @@ -357,7 +357,7 @@ void gng_state::machine_reset() static MACHINE_CONFIG_START( gng ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_12MHz/8) /* verified on pcb */ + MCFG_CPU_ADD("maincpu", MC6809, XTAL_12MHz/2) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(gng_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", gng_state, irq0_line_hold) diff --git a/src/mame/drivers/halleys.cpp b/src/mame/drivers/halleys.cpp index 63223fa0cff..75e1a646fea 100644 --- a/src/mame/drivers/halleys.cpp +++ b/src/mame/drivers/halleys.cpp @@ -1921,7 +1921,7 @@ void halleys_state::machine_reset() static MACHINE_CONFIG_START( halleys ) - MCFG_CPU_ADD("maincpu", M6809, XTAL_19_968MHz/12) /* verified on pcb */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_19_968MHz/12) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(halleys_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", halleys_state, halleys_scanline, "screen", 0, 1) diff --git a/src/mame/drivers/icecold.cpp b/src/mame/drivers/icecold.cpp index 523be013c23..96b81561513 100644 --- a/src/mame/drivers/icecold.cpp +++ b/src/mame/drivers/icecold.cpp @@ -333,7 +333,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(icecold_state::icecold_motors_timer) static MACHINE_CONFIG_START( icecold ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_6MHz/4) + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_6MHz/4) // 68A09E MCFG_CPU_PROGRAM_MAP(icecold_map) MCFG_DEVICE_ADD( "pia0", PIA6821, 0) diff --git a/src/mame/drivers/irobot.cpp b/src/mame/drivers/irobot.cpp index 8669ef200e7..6a297cb5a6e 100644 --- a/src/mame/drivers/irobot.cpp +++ b/src/mame/drivers/irobot.cpp @@ -301,7 +301,7 @@ GFXDECODE_END static MACHINE_CONFIG_START( irobot ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8) + MCFG_CPU_ADD("maincpu", MC6809E, MAIN_CLOCK/8) MCFG_CPU_PROGRAM_MAP(irobot_map) MCFG_NVRAM_ADD_0FILL("nvram") diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp index ee36c03d9c2..40f17548c69 100644 --- a/src/mame/drivers/ironhors.cpp +++ b/src/mame/drivers/ironhors.cpp @@ -363,11 +363,11 @@ void ironhors_state::machine_reset() static MACHINE_CONFIG_START( ironhors ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809,18432000/6) /* 3.072 MHz??? mod by Shingo Suzuki 1999/10/15 */ + MCFG_CPU_ADD("maincpu", MC6809E, 18432000/6) /* 3.072 MHz??? mod by Shingo Suzuki 1999/10/15 */ MCFG_CPU_PROGRAM_MAP(master_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ironhors_state, irq, "screen", 0, 1) - MCFG_CPU_ADD("soundcpu",Z80,18432000/6) /* 3.072 MHz */ + MCFG_CPU_ADD("soundcpu", Z80, 18432000/6) /* 3.072 MHz */ MCFG_CPU_PROGRAM_MAP(slave_map) MCFG_CPU_IO_MAP(slave_io_map) diff --git a/src/mame/drivers/mappy.cpp b/src/mame/drivers/mappy.cpp index b5935bd983b..733266fe340 100644 --- a/src/mame/drivers/mappy.cpp +++ b/src/mame/drivers/mappy.cpp @@ -195,7 +195,7 @@ PCB Number: 22109611 (22109631) | 0773 1502 | | PAL GR1-3.3M | | 8148 VOL | - | 6809 8148 | + | 68A09EP 8148 | | | | GR1-4.1K | | --| @@ -217,7 +217,7 @@ PCB Number: 22109611 (22109631) | 5604 | | GR2-1.1B | | PAL 1603 DSWA | - | 6809 | + | 68A09EP | | 18.432MHz | |---------------------------------| @@ -1315,11 +1315,11 @@ void mappy_state::machine_start() static MACHINE_CONFIG_START( superpac_common ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ + MCFG_CPU_ADD("maincpu", MC6809E, PIXEL_CLOCK/4) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(superpac_cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, main_vblank_irq) // also update the custom I/O chips - MCFG_CPU_ADD("sub", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ + MCFG_CPU_ADD("sub", MC6809E, PIXEL_CLOCK/4) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(superpac_cpu2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub_vblank_irq) @@ -1427,15 +1427,15 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( phozon ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4) /* MAIN CPU */ + MCFG_CPU_ADD("maincpu", MC6809E, PIXEL_CLOCK/4) /* MAIN CPU */ MCFG_CPU_PROGRAM_MAP(phozon_cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, main_vblank_irq) // also update the custom I/O chips - MCFG_CPU_ADD("sub", M6809, PIXEL_CLOCK/4) /* SOUND CPU */ + MCFG_CPU_ADD("sub", MC6809E, PIXEL_CLOCK/4) /* SOUND CPU */ MCFG_CPU_PROGRAM_MAP(phozon_cpu2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub_vblank_irq) - MCFG_CPU_ADD("sub2", M6809, PIXEL_CLOCK/4) /* SUB CPU */ + MCFG_CPU_ADD("sub2", MC6809E, PIXEL_CLOCK/4) /* SUB CPU */ MCFG_CPU_PROGRAM_MAP(phozon_cpu3_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub2_vblank_irq) @@ -1495,11 +1495,11 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( mappy_common ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ + MCFG_CPU_ADD("maincpu", MC6809E, PIXEL_CLOCK/4) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(mappy_cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, main_vblank_irq) // also update the custom I/O chips - MCFG_CPU_ADD("sub", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ + MCFG_CPU_ADD("sub", MC6809E, PIXEL_CLOCK/4) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(mappy_cpu2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub_vblank_irq) diff --git a/src/mame/drivers/mikie.cpp b/src/mame/drivers/mikie.cpp index d0974d3508e..38118603465 100644 --- a/src/mame/drivers/mikie.cpp +++ b/src/mame/drivers/mikie.cpp @@ -259,7 +259,7 @@ INTERRUPT_GEN_MEMBER(mikie_state::vblank_irq) static MACHINE_CONFIG_START( mikie ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, OSC/12) // 9A (surface scratched) + MCFG_CPU_ADD("maincpu", MC6809E, OSC/12) // 9A (surface scratched) MCFG_CPU_PROGRAM_MAP(mikie_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", mikie_state, vblank_irq) diff --git a/src/mame/drivers/mkit09.cpp b/src/mame/drivers/mkit09.cpp index b38fe364f34..c87a6aef112 100644 --- a/src/mame/drivers/mkit09.cpp +++ b/src/mame/drivers/mkit09.cpp @@ -191,7 +191,7 @@ WRITE8_MEMBER( mkit09_state::pb_w ) static MACHINE_CONFIG_START( mkit09 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(mkit09_mem) MCFG_CPU_IO_MAP(mkit09_io) @@ -217,7 +217,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( mkit09a ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(mkit09a_mem) MCFG_CPU_IO_MAP(mkit09_io) diff --git a/src/mame/drivers/namcos1.cpp b/src/mame/drivers/namcos1.cpp index 98c7e79c05c..e4669a3f24f 100644 --- a/src/mame/drivers/namcos1.cpp +++ b/src/mame/drivers/namcos1.cpp @@ -1015,19 +1015,19 @@ GFXDECODE_END static MACHINE_CONFIG_START( ns1 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809,XTAL_49_152MHz/32) + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) - MCFG_CPU_ADD("subcpu", M6809,XTAL_49_152MHz/32) + MCFG_CPU_ADD("subcpu", MC6809E, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(sub_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) - MCFG_CPU_ADD("audiocpu", M6809,XTAL_49_152MHz/32) + MCFG_CPU_ADD("audiocpu", MC6809E, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) - MCFG_CPU_ADD("mcu",HD63701,XTAL_49_152MHz/8) + MCFG_CPU_ADD("mcu", HD63701, XTAL_49_152MHz/8) MCFG_CPU_PROGRAM_MAP(mcu_map) MCFG_CPU_IO_MAP(mcu_port_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) diff --git a/src/mame/drivers/namcos2.cpp b/src/mame/drivers/namcos2.cpp index 0b1e3264f74..043fe7c7bfc 100644 --- a/src/mame/drivers/namcos2.cpp +++ b/src/mame/drivers/namcos2.cpp @@ -1721,7 +1721,7 @@ static MACHINE_CONFIG_START( default ) MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ MCFG_CPU_PROGRAM_MAP(slave_default_am) - MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ + MCFG_CPU_ADD("audiocpu", MC6809E, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ MCFG_CPU_PROGRAM_MAP(sound_default_am) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) @@ -1798,7 +1798,7 @@ static MACHINE_CONFIG_START( gollygho ) MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ MCFG_CPU_PROGRAM_MAP(slave_default_am) - MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ + MCFG_CPU_ADD("audiocpu", MC6809E, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ MCFG_CPU_PROGRAM_MAP(sound_default_am) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) @@ -1848,7 +1848,7 @@ static MACHINE_CONFIG_START( finallap ) MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ MCFG_CPU_PROGRAM_MAP(slave_finallap_am) - MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ + MCFG_CPU_ADD("audiocpu", MC6809E, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ MCFG_CPU_PROGRAM_MAP(sound_default_am) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) @@ -1903,7 +1903,7 @@ static MACHINE_CONFIG_START( sgunner ) MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ MCFG_CPU_PROGRAM_MAP(slave_sgunner_am) - MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ + MCFG_CPU_ADD("audiocpu", MC6809E, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ MCFG_CPU_PROGRAM_MAP(sound_default_am) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) @@ -1955,7 +1955,7 @@ static MACHINE_CONFIG_START( sgunner2 ) MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ MCFG_CPU_PROGRAM_MAP(slave_sgunner_am) - MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ + MCFG_CPU_ADD("audiocpu", MC6809E, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ MCFG_CPU_PROGRAM_MAP(sound_default_am) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) @@ -2012,7 +2012,7 @@ static MACHINE_CONFIG_START( luckywld ) MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ MCFG_CPU_PROGRAM_MAP(slave_luckywld_am) - MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ + MCFG_CPU_ADD("audiocpu", MC6809E, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ MCFG_CPU_PROGRAM_MAP(sound_default_am) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) @@ -2067,7 +2067,7 @@ static MACHINE_CONFIG_START( metlhawk ) MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ MCFG_CPU_PROGRAM_MAP(slave_metlhawk_am) - MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ + MCFG_CPU_ADD("audiocpu", MC6809E, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ MCFG_CPU_PROGRAM_MAP(sound_default_am) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp index 8c0e249eb63..234e436a57d 100644 --- a/src/mame/drivers/namcos21.cpp +++ b/src/mame/drivers/namcos21.cpp @@ -1889,7 +1889,7 @@ static MACHINE_CONFIG_START( namcos21 ) MCFG_CPU_ADD("slave", M68000,12288000) /* Slave */ MCFG_CPU_PROGRAM_MAP(slave_map) - MCFG_CPU_ADD("audiocpu", M6809,3072000) /* Sound */ + MCFG_CPU_ADD("audiocpu", MC6809E, 3072000) /* Sound */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq1_line_hold, 120) @@ -1956,7 +1956,7 @@ static MACHINE_CONFIG_START( driveyes ) MCFG_CPU_ADD("slave", M68000,12288000) /* Slave */ MCFG_CPU_PROGRAM_MAP(driveyes_slave_map) - MCFG_CPU_ADD("audiocpu", M6809,3072000) /* Sound */ + MCFG_CPU_ADD("audiocpu", MC6809E, 3072000) /* Sound */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq1_line_hold, 120) @@ -2016,7 +2016,7 @@ static MACHINE_CONFIG_START( winrun ) MCFG_CPU_ADD("slave", M68000,12288000) /* Slave */ MCFG_CPU_PROGRAM_MAP(winrun_slave_map) - MCFG_CPU_ADD("audiocpu", M6809,3072000) /* Sound */ + MCFG_CPU_ADD("audiocpu", MC6809E, 3072000) /* Sound */ MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq0_line_hold, 2*60) MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq1_line_hold, 120) diff --git a/src/mame/drivers/namcos86.cpp b/src/mame/drivers/namcos86.cpp index 0f2f82b1b7d..c459f2af3bc 100644 --- a/src/mame/drivers/namcos86.cpp +++ b/src/mame/drivers/namcos86.cpp @@ -1050,11 +1050,11 @@ GFXDECODE_END static MACHINE_CONFIG_START( hopmappy ) /* basic machine hardware */ - MCFG_CPU_ADD("cpu1", M6809, XTAL_49_152MHz/32) + MCFG_CPU_ADD("cpu1", MC6809E, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_assert) - MCFG_CPU_ADD("cpu2", M6809, XTAL_49_152MHz/32) + MCFG_CPU_ADD("cpu2", MC6809E, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(hopmappy_cpu2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_assert) diff --git a/src/mame/drivers/nsg6809.cpp b/src/mame/drivers/nsg6809.cpp index ca5d9fbd95f..8c35fe32daa 100644 --- a/src/mame/drivers/nsg6809.cpp +++ b/src/mame/drivers/nsg6809.cpp @@ -62,7 +62,7 @@ static INPUT_PORTS_START( pitchhit ) INPUT_PORTS_END static MACHINE_CONFIG_START( pitchhit ) - MCFG_CPU_ADD("maincpu", M6809, XTAL_4MHz / 4) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_4MHz) // clock buffered through 74HC4060 MCFG_CPU_PROGRAM_MAP(main_map) MCFG_DEVICE_ADD("via", VIA6522, XTAL_4MHz / 4) diff --git a/src/mame/drivers/overdriv.cpp b/src/mame/drivers/overdriv.cpp index 29d8c152187..094afd7b69f 100644 --- a/src/mame/drivers/overdriv.cpp +++ b/src/mame/drivers/overdriv.cpp @@ -332,7 +332,7 @@ static MACHINE_CONFIG_START( overdriv ) /* IRQ 5 and 6 are generated by the main CPU. */ /* IRQ 5 is used only in test mode, to request the checksums of the gfx ROMs. */ - MCFG_CPU_ADD("audiocpu", M6809, XTAL_3_579545MHz) /* 1.789 MHz?? This might be the right speed, but ROM testing */ + MCFG_CPU_ADD("audiocpu", MC6809E, XTAL_3_579545MHz) /* 1.789 MHz?? This might be the right speed, but ROM testing */ MCFG_CPU_PROGRAM_MAP(overdriv_sound_map) /* takes a little too much (the counter wraps from 0000 to 9999). */ /* This might just mean that the video refresh rate is less than */ /* 60 fps, that's how I fixed it for now. */ diff --git a/src/mame/drivers/pacland.cpp b/src/mame/drivers/pacland.cpp index acd5b3ed015..92d77f5738e 100644 --- a/src/mame/drivers/pacland.cpp +++ b/src/mame/drivers/pacland.cpp @@ -429,7 +429,7 @@ INTERRUPT_GEN_MEMBER(pacland_state::mcu_vblank_irq) static MACHINE_CONFIG_START( pacland ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_49_152MHz/32) /* 1.536 MHz */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_49_152MHz/32) /* 1.536 MHz */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", pacland_state, main_vblank_irq) diff --git a/src/mame/drivers/pandoras.cpp b/src/mame/drivers/pandoras.cpp index 8a9fc121dfa..6ce65d76df4 100644 --- a/src/mame/drivers/pandoras.cpp +++ b/src/mame/drivers/pandoras.cpp @@ -308,11 +308,11 @@ READ8_MEMBER(pandoras_state::pandoras_portB_r) static MACHINE_CONFIG_START( pandoras ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6) /* CPU A */ + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_CLOCK/6) /* CPU A */ MCFG_CPU_PROGRAM_MAP(pandoras_master_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", pandoras_state, pandoras_master_interrupt) - MCFG_CPU_ADD("sub", M6809, MASTER_CLOCK/6) /* CPU B */ + MCFG_CPU_ADD("sub", MC6809E, MASTER_CLOCK/6) /* CPU B */ MCFG_CPU_PROGRAM_MAP(pandoras_slave_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", pandoras_state, pandoras_slave_interrupt) diff --git a/src/mame/drivers/pegasus.cpp b/src/mame/drivers/pegasus.cpp index 4d767d9e4b9..2ac3e43b3ff 100644 --- a/src/mame/drivers/pegasus.cpp +++ b/src/mame/drivers/pegasus.cpp @@ -480,7 +480,7 @@ DRIVER_INIT_MEMBER(pegasus_state, pegasus) static MACHINE_CONFIG_START( pegasus ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809E, XTAL_4MHz) // actually a 6809C - 4MHZ clock coming in, 1MHZ internally + MCFG_CPU_ADD("maincpu", MC6809, XTAL_4MHz) // actually a 6809C - 4MHZ clock coming in, 1MHZ internally MCFG_CPU_PROGRAM_MAP(pegasus_mem) MCFG_TIMER_DRIVER_ADD_PERIODIC("pegasus_firq", pegasus_state, pegasus_firq, attotime::from_hz(400)) diff --git a/src/mame/drivers/poly.cpp b/src/mame/drivers/poly.cpp index eed42548906..6a8adcc1bb5 100644 --- a/src/mame/drivers/poly.cpp +++ b/src/mame/drivers/poly.cpp @@ -152,7 +152,7 @@ WRITE8_MEMBER(poly_state::baud_rate_w) static MACHINE_CONFIG_START( poly ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809E, XTAL_12_0576MHz / 3) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_12_0576MHz / 3) // nominally 4 MHz MCFG_CPU_PROGRAM_MAP(poly_mem) /* video hardware */ diff --git a/src/mame/drivers/qix.cpp b/src/mame/drivers/qix.cpp index 28dbbf459e8..3032ca89512 100644 --- a/src/mame/drivers/qix.cpp +++ b/src/mame/drivers/qix.cpp @@ -601,7 +601,7 @@ INPUT_PORTS_END static MACHINE_CONFIG_START( qix_base ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK_OSC/4/4) /* 1.25 MHz */ + MCFG_CPU_ADD("maincpu", MC6809E, MAIN_CLOCK_OSC/4/4) /* 1.25 MHz */ MCFG_CPU_PROGRAM_MAP(main_map) /* high interleave needed to ensure correct text in service mode */ @@ -632,9 +632,9 @@ static MACHINE_CONFIG_DERIVED( qix, qix_base ) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( kram3, qix ) - MCFG_CPU_REPLACE("maincpu", M6809E, MAIN_CLOCK_OSC/4) /* 1.25 MHz */ + MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(kram3_main_map) - MCFG_M6809E_LIC_CB(WRITELINE(qix_state,kram3_lic_maincpu_changed)) + MCFG_MC6809E_LIC_CB(WRITELINE(qix_state, kram3_lic_maincpu_changed)) MCFG_FRAGMENT_ADD(kram3_video) MACHINE_CONFIG_END diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp index f574e3b9c71..8c299d7178f 100644 --- a/src/mame/drivers/s11.cpp +++ b/src/mame/drivers/s11.cpp @@ -463,7 +463,7 @@ static MACHINE_CONFIG_START( s11 ) MCFG_PIA_IRQB_HANDLER(INPUTLINE("audiocpu", M6808_IRQ_LINE)) /* Add the background music card */ - MCFG_CPU_ADD("bgcpu", M6809E, 8000000) // MC68B09E + MCFG_CPU_ADD("bgcpu", MC6809E, 8000000 / 4) // MC68B09E MCFG_CPU_PROGRAM_MAP(s11_bg_map) MCFG_SPEAKER_STANDARD_MONO("bg") diff --git a/src/mame/drivers/s11a.cpp b/src/mame/drivers/s11a.cpp index 48ba3c9d55b..3d761646231 100644 --- a/src/mame/drivers/s11a.cpp +++ b/src/mame/drivers/s11a.cpp @@ -254,11 +254,11 @@ static MACHINE_CONFIG_START( s11a ) MCFG_PIA_IRQB_HANDLER(INPUTLINE("audiocpu", M6802_IRQ_LINE)) /* Add the background music card */ - MCFG_CPU_ADD("bgcpu", M6809E, 8000000) // MC68B09E + MCFG_CPU_ADD("bgcpu", MC6809E, XTAL_8MHz / 4) // MC68B09E MCFG_CPU_PROGRAM_MAP(s11a_bg_map) MCFG_SPEAKER_STANDARD_MONO("bg") - MCFG_YM2151_ADD("ym2151", 3580000) + MCFG_YM2151_ADD("ym2151", XTAL_3_579545MHz) MCFG_YM2151_IRQ_HANDLER(WRITELINE(s11a_state, ym2151_irq_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "bg", 0.50) diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp index c2807788671..c48ee63939b 100644 --- a/src/mame/drivers/s11b.cpp +++ b/src/mame/drivers/s11b.cpp @@ -329,7 +329,7 @@ static MACHINE_CONFIG_START( s11b ) MCFG_PIA_IRQB_HANDLER(INPUTLINE("audiocpu", M6802_IRQ_LINE)) /* Add the background music card */ - MCFG_CPU_ADD("bgcpu", M6809E, XTAL_8MHz) // MC68B09E (note: schematics show this as 8mhz/2, but games crash very quickly with that speed?) + MCFG_CPU_ADD("bgcpu", MC6809E, XTAL_8MHz / 4) // MC68B09E MCFG_CPU_PROGRAM_MAP(s11b_bg_map) MCFG_QUANTUM_TIME(attotime::from_hz(50)) diff --git a/src/mame/drivers/skykid.cpp b/src/mame/drivers/skykid.cpp index 5373dd50605..6f28a46a259 100644 --- a/src/mame/drivers/skykid.cpp +++ b/src/mame/drivers/skykid.cpp @@ -438,11 +438,11 @@ INTERRUPT_GEN_MEMBER(skykid_state::mcu_vblank_irq) static MACHINE_CONFIG_START( skykid ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809,49152000/32) + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_49_152MHz/32) MCFG_CPU_PROGRAM_MAP(skykid_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", skykid_state, main_vblank_irq) - MCFG_CPU_ADD("mcu", HD63701,49152000/8) /* or compatible 6808 with extra instructions */ + MCFG_CPU_ADD("mcu", HD63701, XTAL_49_152MHz/8) /* or compatible 6808 with extra instructions */ MCFG_CPU_PROGRAM_MAP(mcu_map) MCFG_CPU_IO_MAP(mcu_port_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", skykid_state, mcu_vblank_irq) diff --git a/src/mame/drivers/sonson.cpp b/src/mame/drivers/sonson.cpp index 9c35e66cd07..f7cc802a1c2 100644 --- a/src/mame/drivers/sonson.cpp +++ b/src/mame/drivers/sonson.cpp @@ -226,11 +226,11 @@ GFXDECODE_END static MACHINE_CONFIG_START( sonson ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_12MHz/8) /* 1.5 MHz */ + MCFG_CPU_ADD("maincpu", MC6809, XTAL_12MHz/2) // HD68B09P (/4 internally) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", sonson_state, irq0_line_hold) - MCFG_CPU_ADD("audiocpu", M6809, XTAL_12MHz/8) /* 1.5 MHz */ + MCFG_CPU_ADD("audiocpu", MC6809, XTAL_12MHz/2) // HD68B09P (/4 internally) MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(sonson_state, irq0_line_hold, 4*60) /* FIRQs are triggered by the main CPU */ diff --git a/src/mame/drivers/sothello.cpp b/src/mame/drivers/sothello.cpp index ff48bcdb680..33b5b2e3af4 100644 --- a/src/mame/drivers/sothello.cpp +++ b/src/mame/drivers/sothello.cpp @@ -30,7 +30,7 @@ | | +---------------------------------------------------------------------------------+ -CPU : Z80A(x2) 68B09 +CPU : Z80A(x2) HD68B09P Sound: YM2203?(surface scratched) + M5205 OSC : 8.0000MHz(X1) 21.477 MHz(X2) 384kHz(X3) @@ -97,12 +97,7 @@ private: #define VDP_MEM 0x40000 -#define MAIN_CLOCK (XTAL_21_4772MHz) -#define MAINCPU_CLOCK (XTAL_21_4772MHz/6) -#define SOUNDCPU_CLOCK (XTAL_21_4772MHz/6) -#define YM_CLOCK (XTAL_21_4772MHz/12) -#define MSM_CLOCK (XTAL_384kHz) -#define SUBCPU_CLOCK (XTAL_8MHz/4) + /* main Z80 */ @@ -352,30 +347,30 @@ void sothello_state::machine_reset() static MACHINE_CONFIG_START( sothello ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", Z80, MAINCPU_CLOCK) + MCFG_CPU_ADD("maincpu", Z80, XTAL_21_4772MHz / 6) MCFG_CPU_PROGRAM_MAP(maincpu_mem_map) MCFG_CPU_IO_MAP(maincpu_io_map) - MCFG_CPU_ADD("soundcpu", Z80, SOUNDCPU_CLOCK) + MCFG_CPU_ADD("soundcpu", Z80, XTAL_21_4772MHz / 6) MCFG_CPU_PROGRAM_MAP(soundcpu_mem_map) MCFG_CPU_IO_MAP(soundcpu_io_map) - MCFG_CPU_ADD("subcpu", M6809, SUBCPU_CLOCK) + MCFG_CPU_ADD("subcpu", MC6809, XTAL_8MHz) // divided by 4 internally MCFG_CPU_PROGRAM_MAP(subcpu_mem_map) MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* video hardware */ - MCFG_V9938_ADD("v9938", "screen", VDP_MEM, MAIN_CLOCK) + MCFG_V9938_ADD("v9938", "screen", VDP_MEM, XTAL_21_4772MHz) MCFG_V99X8_INTERRUPT_CALLBACK(INPUTLINE("maincpu", 0)) - MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", MAIN_CLOCK) + MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", XTAL_21_4772MHz) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_GENERIC_LATCH_8_ADD("soundlatch") - MCFG_SOUND_ADD("ymsnd", YM2203, YM_CLOCK) + MCFG_SOUND_ADD("ymsnd", YM2203, XTAL_21_4772MHz / 12) MCFG_YM2203_IRQ_HANDLER(INPUTLINE("subcpu", 0)) MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSWA")) MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSWB")) @@ -386,7 +381,7 @@ static MACHINE_CONFIG_START( sothello ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) - MCFG_SOUND_ADD("msm", MSM5205, MSM_CLOCK) + MCFG_SOUND_ADD("msm", MSM5205, XTAL_384kHz) MCFG_MSM5205_VCLK_CB(WRITELINE(sothello_state, adpcm_int)) /* interrupt function */ MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* changed on the fly */ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) diff --git a/src/mame/drivers/spdodgeb.cpp b/src/mame/drivers/spdodgeb.cpp index 3190bdc168d..a4591ce96a7 100644 --- a/src/mame/drivers/spdodgeb.cpp +++ b/src/mame/drivers/spdodgeb.cpp @@ -410,7 +410,7 @@ static MACHINE_CONFIG_START( spdodgeb ) MCFG_CPU_PROGRAM_MAP(spdodgeb_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", spdodgeb_state, interrupt, "screen", 0, 1) /* 1 IRQ every 8 visible scanlines, plus NMI for vblank */ - MCFG_CPU_ADD("audiocpu", M6809, XTAL_12MHz/6) /* 2MHz ? */ + MCFG_CPU_ADD("audiocpu", MC6809, XTAL_12MHz/2) // HD68A09P (1.5MHz internally) MCFG_CPU_PROGRAM_MAP(spdodgeb_sound_map) /* video hardware */ diff --git a/src/mame/drivers/spiders.cpp b/src/mame/drivers/spiders.cpp index c28978e00fe..617c3afc1f8 100644 --- a/src/mame/drivers/spiders.cpp +++ b/src/mame/drivers/spiders.cpp @@ -539,7 +539,7 @@ INPUT_PORTS_END static MACHINE_CONFIG_START( spiders ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 2800000) + MCFG_CPU_ADD("maincpu", MC6809, 2800000) MCFG_CPU_PROGRAM_MAP(spiders_main_map) MCFG_CPU_PERIODIC_INT_DRIVER(spiders_state, update_pia_1, 25) diff --git a/src/mame/drivers/spy.cpp b/src/mame/drivers/spy.cpp index 87e27afd992..fccb56cd6dc 100644 --- a/src/mame/drivers/spy.cpp +++ b/src/mame/drivers/spy.cpp @@ -495,11 +495,11 @@ void spy_state::machine_reset() static MACHINE_CONFIG_START( spy ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 3000000) /* ? */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_24MHz / 8) // 3 MHz? (divided by 051961) MCFG_CPU_PROGRAM_MAP(spy_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", spy_state, spy_interrupt) - MCFG_CPU_ADD("audiocpu", Z80, 3579545) + MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) MCFG_CPU_PROGRAM_MAP(spy_sound_map) /* nmi by the sound chip */ MCFG_WATCHDOG_ADD("watchdog") diff --git a/src/mame/drivers/squale.cpp b/src/mame/drivers/squale.cpp index 76b2028ba34..3e37cfceb16 100644 --- a/src/mame/drivers/squale.cpp +++ b/src/mame/drivers/squale.cpp @@ -780,7 +780,7 @@ void squale_state::machine_reset() static MACHINE_CONFIG_START( squale ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu",M6809E, CPU_CLOCK) // 12/2015 : Should be set to M6809 but it actually have the wrong clock divisor (1 instead of 4) and working 4 times too fast... + MCFG_CPU_ADD("maincpu", MC6809, CPU_CLOCK) MCFG_CPU_PROGRAM_MAP(squale_mem) MCFG_CPU_IO_MAP(squale_io) diff --git a/src/mame/drivers/srumbler.cpp b/src/mame/drivers/srumbler.cpp index b1350b3cfa9..8a8eff46f4d 100644 --- a/src/mame/drivers/srumbler.cpp +++ b/src/mame/drivers/srumbler.cpp @@ -246,7 +246,7 @@ GFXDECODE_END static MACHINE_CONFIG_START( srumbler ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 1500000) /* 1.5 MHz (?) */ + MCFG_CPU_ADD("maincpu", MC6809, 6000000) /* HD68B09P at 6 MHz (?) */ MCFG_CPU_PROGRAM_MAP(srumbler_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", srumbler_state, interrupt, "screen", 0, 1) diff --git a/src/mame/drivers/starwars.cpp b/src/mame/drivers/starwars.cpp index 67ce17a2358..3166c409202 100644 --- a/src/mame/drivers/starwars.cpp +++ b/src/mame/drivers/starwars.cpp @@ -302,14 +302,14 @@ INPUT_PORTS_END static MACHINE_CONFIG_START( starwars ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 8) + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_CLOCK / 8) MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_PERIODIC_INT_DRIVER(starwars_state, irq0_line_assert, CLOCK_3KHZ / 12) MCFG_WATCHDOG_ADD("watchdog") MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(CLOCK_3KHZ / 128)) - MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK / 8) + MCFG_CPU_ADD("audiocpu", MC6809E, MASTER_CLOCK / 8) MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_DEVICE_ADD("riot", RIOT6532, MASTER_CLOCK / 8) diff --git a/src/mame/drivers/swtpc09.cpp b/src/mame/drivers/swtpc09.cpp index 2ef045486fa..4f94d66128c 100644 --- a/src/mame/drivers/swtpc09.cpp +++ b/src/mame/drivers/swtpc09.cpp @@ -161,7 +161,7 @@ SLOT_INTERFACE_END /* MPU09, MPID, MPS2 DMF2 */ static MACHINE_CONFIG_START( swtpc09_base ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 1000000) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(mp09_mem) MCFG_DEVICE_ADD("bankdev", ADDRESS_MAP_BANK, 0) @@ -232,7 +232,7 @@ MACHINE_CONFIG_END /* MPU09, MPID, MPS2 DMF3 */ static MACHINE_CONFIG_DERIVED( swtpc09d3, swtpc09_base ) MCFG_CPU_MODIFY("maincpu") - MCFG_CPU_CLOCK(2000000) + MCFG_CPU_CLOCK(XTAL_8MHz) MCFG_DEVICE_MODIFY("pia") MCFG_DEVICE_CLOCK(2000000) diff --git a/src/mame/drivers/tavernie.cpp b/src/mame/drivers/tavernie.cpp index afa3ca22b92..9a0f0477f1a 100644 --- a/src/mame/drivers/tavernie.cpp +++ b/src/mame/drivers/tavernie.cpp @@ -288,7 +288,7 @@ void tavernie_state::kbd_put(u8 data) static MACHINE_CONFIG_START( cpu09 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu",M6809E, XTAL_4MHz) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_4MHz) MCFG_CPU_PROGRAM_MAP(cpu09_mem) MCFG_MACHINE_RESET_OVERRIDE(tavernie_state, cpu09) diff --git a/src/mame/drivers/thomson.cpp b/src/mame/drivers/thomson.cpp index 8b5e9086f6d..3195b00baff 100644 --- a/src/mame/drivers/thomson.cpp +++ b/src/mame/drivers/thomson.cpp @@ -623,8 +623,8 @@ static MACHINE_CONFIG_START( to7 ) MCFG_MACHINE_RESET_OVERRIDE( thomson_state, to7 ) /* cpu */ - MCFG_CPU_ADD ( "maincpu", M6809, 1000000 ) - MCFG_CPU_PROGRAM_MAP ( to7) + MCFG_CPU_ADD("maincpu", MC6809E, 1000000) + MCFG_CPU_PROGRAM_MAP(to7) MCFG_INPUT_MERGER_ANY_HIGH("mainirq") MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("maincpu", M6809_IRQ_LINE)) diff --git a/src/mame/drivers/toypop.cpp b/src/mame/drivers/toypop.cpp index 285facb2257..20dbcc9b7ae 100644 --- a/src/mame/drivers/toypop.cpp +++ b/src/mame/drivers/toypop.cpp @@ -653,7 +653,7 @@ INTERRUPT_GEN_MEMBER(namcos16_state::slave_vblank_irq) } static MACHINE_CONFIG_START( liblrabl ) - MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_CLOCK/4) MCFG_CPU_PROGRAM_MAP(master_liblrabl_map) MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", namcos16_state, master_scanline, "screen", 0, 1) @@ -661,7 +661,7 @@ static MACHINE_CONFIG_START( liblrabl ) MCFG_CPU_PROGRAM_MAP(slave_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos16_state, slave_vblank_irq) - MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK/4) + MCFG_CPU_ADD("audiocpu", MC6809E, MASTER_CLOCK/4) MCFG_CPU_PROGRAM_MAP(sound_map) MCFG_CPU_PERIODIC_INT_DRIVER(namcos16_state, irq0_line_hold, 60) diff --git a/src/mame/drivers/tp84.cpp b/src/mame/drivers/tp84.cpp index ef213ea248a..b0cb4e71096 100644 --- a/src/mame/drivers/tp84.cpp +++ b/src/mame/drivers/tp84.cpp @@ -331,11 +331,11 @@ INTERRUPT_GEN_MEMBER(tp84_state::sub_vblank_irq) static MACHINE_CONFIG_START( tp84 ) /* basic machine hardware */ - MCFG_CPU_ADD("cpu1",M6809, XTAL_18_432MHz/12) /* verified on pcb */ + MCFG_CPU_ADD("cpu1", MC6809E, XTAL_18_432MHz/12) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(tp84_cpu1_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", tp84_state, main_vblank_irq) - MCFG_CPU_ADD("sub", M6809, XTAL_18_432MHz/12) /* verified on pcb */ + MCFG_CPU_ADD("sub", MC6809E, XTAL_18_432MHz/12) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(cpu2_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", tp84_state, sub_vblank_irq) diff --git a/src/mame/drivers/trackfld.cpp b/src/mame/drivers/trackfld.cpp index 89f355859f2..462be54bfc8 100644 --- a/src/mame/drivers/trackfld.cpp +++ b/src/mame/drivers/trackfld.cpp @@ -963,7 +963,7 @@ INTERRUPT_GEN_MEMBER(trackfld_state::yieartf_timer_irq) static MACHINE_CONFIG_START( yieartf ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6/2) /* a guess for now */ + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_CLOCK/6/2) /* a guess for now */ MCFG_CPU_PROGRAM_MAP(yieartf_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_irq) MCFG_CPU_PERIODIC_INT_DRIVER(trackfld_state, yieartf_timer_irq, 480) @@ -1047,7 +1047,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( mastkin, trackfld ) /* basic machine hardware */ - MCFG_CPU_REPLACE("maincpu", M6809, MASTER_CLOCK/6/2) /* a guess for now */ + MCFG_CPU_REPLACE("maincpu", MC6809E, MASTER_CLOCK/6/2) /* a guess for now */ MCFG_CPU_PROGRAM_MAP(mastkin_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_irq) diff --git a/src/mame/drivers/tutankhm.cpp b/src/mame/drivers/tutankhm.cpp index 50507d7aba8..5bf8cd01d1f 100644 --- a/src/mame/drivers/tutankhm.cpp +++ b/src/mame/drivers/tutankhm.cpp @@ -225,7 +225,7 @@ MACHINE_RESET_MEMBER(tutankhm_state,tutankhm) static MACHINE_CONFIG_START( tutankhm ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12) /* 1.5 MHz ??? */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_18_432MHz/12) /* 1.5 MHz ??? */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", tutankhm_state, tutankhm_interrupt) diff --git a/src/mame/drivers/v6809.cpp b/src/mame/drivers/v6809.cpp index c9a27f1ea2f..c09bd486b81 100644 --- a/src/mame/drivers/v6809.cpp +++ b/src/mame/drivers/v6809.cpp @@ -127,10 +127,6 @@ static ADDRESS_MAP_START(v6809_mem, AS_PROGRAM, 8, v6809_state) AM_RANGE(0xf800, 0xffff) AM_ROM ADDRESS_MAP_END -static ADDRESS_MAP_START(v6809_io, AS_PROGRAM, 8, v6809_state) - AM_RANGE(0x0064, 0x0064) AM_WRITENOP -ADDRESS_MAP_END - /* Input ports */ static INPUT_PORTS_START( v6809 ) @@ -280,9 +276,8 @@ SLOT_INTERFACE_END static MACHINE_CONFIG_START( v6809 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_16MHz / 4) + MCFG_CPU_ADD("maincpu", MC6809, XTAL_16MHz / 4) // divided by 4 again internally MCFG_CPU_PROGRAM_MAP(v6809_mem) - MCFG_CPU_IO_MAP(v6809_io) MCFG_MACHINE_RESET_OVERRIDE(v6809_state, v6809) /* video hardware */ diff --git a/src/mame/drivers/vectrex.cpp b/src/mame/drivers/vectrex.cpp index 446d36edff6..e6cfc5927bc 100644 --- a/src/mame/drivers/vectrex.cpp +++ b/src/mame/drivers/vectrex.cpp @@ -97,7 +97,7 @@ SLOT_INTERFACE_END static MACHINE_CONFIG_START( vectrex ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, XTAL_6MHz / 4) // 68A09 + MCFG_CPU_ADD("maincpu", MC6809, XTAL_6MHz) // 68A09 MCFG_CPU_PROGRAM_MAP(vectrex_map) /* video hardware */ diff --git a/src/mame/drivers/wacky_gator.cpp b/src/mame/drivers/wacky_gator.cpp index 1922c4b5bb2..ded61a8c7af 100644 --- a/src/mame/drivers/wacky_gator.cpp +++ b/src/mame/drivers/wacky_gator.cpp @@ -273,7 +273,7 @@ ADDRESS_MAP_END static MACHINE_CONFIG_START( wackygtr ) - MCFG_CPU_ADD("maincpu", M6809E, XTAL_3_579545MHz) // HD68B09P + MCFG_CPU_ADD("maincpu", MC6809, XTAL_3_579545MHz) // HD68B09P MCFG_CPU_PROGRAM_MAP(program_map) MCFG_CPU_PERIODIC_INT_DRIVER(wackygtr_state, irq0_line_assert, 50) // FIXME diff --git a/src/mame/drivers/white_mod.cpp b/src/mame/drivers/white_mod.cpp index e39d9801121..6722aaa2a45 100644 --- a/src/mame/drivers/white_mod.cpp +++ b/src/mame/drivers/white_mod.cpp @@ -45,7 +45,7 @@ DRIVER_INIT_MEMBER(whitestar_mod_state,whitestar_mod) static MACHINE_CONFIG_START( whitestar_mod ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 2000000) + MCFG_CPU_ADD("maincpu", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(whitestar_mod_map) MACHINE_CONFIG_END diff --git a/src/mame/drivers/whitestar.cpp b/src/mame/drivers/whitestar.cpp index 2136791f2b0..f10b1317953 100644 --- a/src/mame/drivers/whitestar.cpp +++ b/src/mame/drivers/whitestar.cpp @@ -115,7 +115,7 @@ INTERRUPT_GEN_MEMBER(whitestar_state::whitestar_firq_interrupt) static MACHINE_CONFIG_START( whitestar ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, 2000000) + MCFG_CPU_ADD("maincpu", MC6809E, 2000000) MCFG_CPU_PROGRAM_MAP(whitestar_map) MCFG_CPU_PERIODIC_INT_DRIVER(whitestar_state, whitestar_firq_interrupt, 976) // value taken from PinMAME diff --git a/src/mame/drivers/wico.cpp b/src/mame/drivers/wico.cpp index 149c4d56a3d..98f66c27363 100644 --- a/src/mame/drivers/wico.cpp +++ b/src/mame/drivers/wico.cpp @@ -430,9 +430,9 @@ void wico_state::machine_reset() static MACHINE_CONFIG_START( wico ) /* basic machine hardware */ - MCFG_CPU_ADD("ccpu", M6809, 10000000 / 8) + MCFG_CPU_ADD("ccpu", MC6809E, XTAL_10MHz / 8) // MC68A09EP @ U51 MCFG_CPU_PROGRAM_MAP(ccpu_map) - MCFG_CPU_ADD("hcpu", M6809, 10000000 / 8) + MCFG_CPU_ADD("hcpu", MC6809E, XTAL_10MHz / 8) // MC68A09EP @ U24 MCFG_CPU_PROGRAM_MAP(hcpu_map) MCFG_TIMER_DRIVER_ADD_PERIODIC("irq", wico_state, irq_housekeeping, attotime::from_hz(120)) // zero crossing MCFG_TIMER_DRIVER_ADD_PERIODIC("firq", wico_state, firq_housekeeping, attotime::from_hz(750)) // time generator @@ -444,7 +444,7 @@ static MACHINE_CONFIG_START( wico ) /* Sound */ MCFG_FRAGMENT_ADD( genpin_audio ) MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("sn76494", SN76494, 10000000 / 64) + MCFG_SOUND_ADD("sn76494", SN76494, XTAL_10MHz / 64) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) MACHINE_CONFIG_END diff --git a/src/mame/drivers/williams.cpp b/src/mame/drivers/williams.cpp index b3e40bbdb90..7f0a071dd53 100644 --- a/src/mame/drivers/williams.cpp +++ b/src/mame/drivers/williams.cpp @@ -1436,7 +1436,7 @@ GFXDECODE_END static MACHINE_CONFIG_START( williams ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/3/4) + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_CLOCK/3/4) MCFG_CPU_PROGRAM_MAP(williams_map) MCFG_CPU_ADD("soundcpu", M6808, SOUND_CLOCK) // internal clock divider of 4, effective frequency is 894.886kHz @@ -1650,7 +1650,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( williams2 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/3/4) + MCFG_CPU_ADD("maincpu", MC6809E, MASTER_CLOCK/3/4) MCFG_CPU_PROGRAM_MAP(williams2_d000_ram_map) MCFG_CPU_ADD("soundcpu", M6808, MASTER_CLOCK/3) /* yes, this is different from the older games */ diff --git a/src/mame/drivers/yiear.cpp b/src/mame/drivers/yiear.cpp index b6c36d83338..94b76900587 100644 --- a/src/mame/drivers/yiear.cpp +++ b/src/mame/drivers/yiear.cpp @@ -281,7 +281,7 @@ void yiear_state::machine_reset() static MACHINE_CONFIG_START( yiear ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", M6809,XTAL_18_432MHz/12) /* verified on pcb */ + MCFG_CPU_ADD("maincpu", MC6809E, XTAL_18_432MHz/12) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(main_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", yiear_state, yiear_vblank_interrupt) MCFG_CPU_PERIODIC_INT_DRIVER(yiear_state, yiear_nmi_interrupt, 480) /* music tempo (correct frequency unknown) */ diff --git a/src/mame/video/decodmd2.cpp b/src/mame/video/decodmd2.cpp index 05ba816709c..32310a4f9fd 100644 --- a/src/mame/video/decodmd2.cpp +++ b/src/mame/video/decodmd2.cpp @@ -4,7 +4,7 @@ * Data East Pinball Dot Matrix Display * * Type 2: 128x32 - * 68B09E @ 8MHz + * 68B09E @ 2MHz * 68B45 CRTC */ @@ -130,7 +130,7 @@ ADDRESS_MAP_END MACHINE_CONFIG_MEMBER( decodmd_type2_device::device_add_mconfig ) /* basic machine hardware */ - MCFG_CPU_ADD("dmdcpu", M6809E, XTAL_8MHz) + MCFG_CPU_ADD("dmdcpu", MC6809E, XTAL_8MHz / 4) MCFG_CPU_PROGRAM_MAP(decodmd2_map) MCFG_QUANTUM_TIME(attotime::from_hz(60)) diff --git a/src/mame/video/qix.cpp b/src/mame/video/qix.cpp index 7f62213aa08..c23022245a4 100644 --- a/src/mame/video/qix.cpp +++ b/src/mame/video/qix.cpp @@ -377,7 +377,7 @@ ADDRESS_MAP_END *************************************/ MACHINE_CONFIG_START( qix_video ) - MCFG_CPU_ADD("videocpu", M6809, MAIN_CLOCK_OSC/4/4) /* 1.25 MHz */ + MCFG_CPU_ADD("videocpu", MC6809E, MAIN_CLOCK_OSC/4/4) /* 1.25 MHz */ MCFG_CPU_PROGRAM_MAP(qix_video_map) MCFG_VIDEO_START_OVERRIDE(qix_state,qix) @@ -397,9 +397,9 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START( kram3_video ) - MCFG_CPU_REPLACE("videocpu", M6809E, MAIN_CLOCK_OSC/4) /* 1.25 MHz */ + MCFG_CPU_MODIFY("videocpu") MCFG_CPU_PROGRAM_MAP(kram3_video_map) - MCFG_M6809E_LIC_CB(WRITELINE(qix_state,kram3_lic_videocpu_changed)) + MCFG_MC6809E_LIC_CB(WRITELINE(qix_state, kram3_lic_videocpu_changed)) MACHINE_CONFIG_END