m6809: Start resolving the great device type/clock divider mix-up

This commit is contained in:
AJR 2017-12-08 18:44:23 -05:00
parent 86de1bea06
commit 13a70d3118
80 changed files with 264 additions and 248 deletions

View File

@ -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
//-------------------------------------------------

View File

@ -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<class _Object> static devcb_base &set_lic_cb(device_t &device, _Object object) { return downcast<mc6809e_device &>(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<class _Object> static devcb_base &set_lic_cb(device_t &device, _Object object) { return downcast<m6809e_device &>(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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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 */

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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 */

View File

@ -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")

View File

@ -120,7 +120,7 @@ private:
bool m_u11_timer;
virtual void machine_reset() override;
required_device<m6800_cpu_device> m_maincpu;
required_device<m6809e_device> m_videocpu;
required_device<mc6809_device> m_videocpu;
required_device<m6803_cpu_device> m_audiocpu;
required_device<pia6821_device> m_pia_u7;
required_device<pia6821_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")

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */

View File

@ -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) // ?

View File

@ -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)

View File

@ -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

View File

@ -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 */

View File

@ -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 */

View File

@ -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

View File

@ -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)

View File

@ -78,7 +78,7 @@ protected:
virtual void machine_reset() override;
virtual void video_start() override;
required_device<m6809e_device> m_maincpu;
required_device<mc6809e_device> m_maincpu;
required_device<wd1772_device> m_fdc;
required_device<via6522_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 )

View File

@ -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)

View File

@ -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 */

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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")

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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. */

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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 */

View File

@ -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

View File

@ -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")

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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 */

View File

@ -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)

View File

@ -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 */

View File

@ -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)

View File

@ -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")

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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))

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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 */

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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) */

View File

@ -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))

View File

@ -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