diff options
author | 2018-05-13 12:51:03 -0400 | |
---|---|---|
committer | 2018-05-13 12:51:03 -0400 | |
commit | 5b316c6d231e8ed95ea23317a897042930e1791e (patch) | |
tree | 9defe025da21bbb332691193911b7bde74bc56db /src | |
parent | 48b45768a0e452f055ed52249ec0f3161a7370bc (diff) |
nes: CPU clock (well, phase 2 clock) also received by cartridge slot (nw)
Diffstat (limited to 'src')
-rw-r--r-- | src/devices/bus/nes/bandai.cpp | 6 | ||||
-rw-r--r-- | src/devices/bus/nes/bootleg.cpp | 14 | ||||
-rw-r--r-- | src/devices/bus/nes/cony.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/nes/datach.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/nes/disksys.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/event.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/ggenie.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/irem.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/jaleco.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/jy.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/kaiser.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/nes/konami.cpp | 6 | ||||
-rw-r--r-- | src/devices/bus/nes/legacy.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/namcot.cpp | 6 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_slot.cpp | 8 | ||||
-rw-r--r-- | src/devices/bus/nes/nes_slot.h | 12 | ||||
-rw-r--r-- | src/devices/bus/nes/pirate.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/sunsoft.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/nes/sunsoft_dcs.cpp | 2 | ||||
-rw-r--r-- | src/devices/bus/nes/tengen.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/nes.cpp | 8 |
21 files changed, 47 insertions, 49 deletions
diff --git a/src/devices/bus/nes/bandai.cpp b/src/devices/bus/nes/bandai.cpp index 22f1655521b..7d1027a39ae 100644 --- a/src/devices/bus/nes/bandai.cpp +++ b/src/devices/bus/nes/bandai.cpp @@ -126,7 +126,7 @@ void nes_fcg_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -147,7 +147,7 @@ void nes_lz93d50_24c01_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -170,7 +170,7 @@ void nes_fjump2_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_reg)); } diff --git a/src/devices/bus/nes/bootleg.cpp b/src/devices/bus/nes/bootleg.cpp index 42f08033bfb..ed62193f06c 100644 --- a/src/devices/bus/nes/bootleg.cpp +++ b/src/devices/bus/nes/bootleg.cpp @@ -214,7 +214,7 @@ void nes_mbaby_device::device_start() common_start(); irq_timer = timer_alloc(TIMER_IRQ); irq_timer->reset(); - timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(24576); + timer_freq = clocks_to_attotime(24576); save_item(NAME(m_irq_enable)); save_item(NAME(m_latch)); @@ -249,7 +249,7 @@ void nes_smb3p_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -303,7 +303,7 @@ void nes_smb2j_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -326,7 +326,7 @@ void nes_smb2ja_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -349,7 +349,7 @@ void nes_smb2jb_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -435,7 +435,7 @@ void nes_lh53_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -516,7 +516,7 @@ void nes_shuiguan_device::device_start() common_start(); irq_timer = timer_alloc(TIMER_IRQ); // always running and checking for IRQ every 114 cycles? or resetting every frame? - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(114)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(114)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); diff --git a/src/devices/bus/nes/cony.cpp b/src/devices/bus/nes/cony.cpp index 552941a6ac9..d0c61db0e9b 100644 --- a/src/devices/bus/nes/cony.cpp +++ b/src/devices/bus/nes/cony.cpp @@ -67,7 +67,7 @@ void nes_cony_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -103,7 +103,7 @@ void nes_yoko_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); diff --git a/src/devices/bus/nes/datach.cpp b/src/devices/bus/nes/datach.cpp index 34d615c4504..1d8b22a87ba 100644 --- a/src/devices/bus/nes/datach.cpp +++ b/src/devices/bus/nes/datach.cpp @@ -233,8 +233,8 @@ void nes_datach_device::device_start() common_start(); irq_timer = timer_alloc(TIMER_IRQ); serial_timer = timer_alloc(TIMER_SERIAL); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); - serial_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1000)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); + serial_timer->adjust(attotime::zero, 0, clocks_to_attotime(1000)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); diff --git a/src/devices/bus/nes/disksys.cpp b/src/devices/bus/nes/disksys.cpp index 1d1643e7e59..4b10af9d9ac 100644 --- a/src/devices/bus/nes/disksys.cpp +++ b/src/devices/bus/nes/disksys.cpp @@ -117,7 +117,7 @@ void nes_disksys_device::device_start() m_disk->floppy_install_unload_proc(nes_disksys_device::unload_proc); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_fds_motor_on)); save_item(NAME(m_fds_door_closed)); diff --git a/src/devices/bus/nes/event.cpp b/src/devices/bus/nes/event.cpp index 3f6065f449d..6fd85256f7e 100644 --- a/src/devices/bus/nes/event.cpp +++ b/src/devices/bus/nes/event.cpp @@ -52,7 +52,7 @@ void nes_event_device::device_start() common_start(); event_timer = timer_alloc(TIMER_EVENT); event_timer->adjust(attotime::never); - timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(1); + timer_freq = clocks_to_attotime(1); save_item(NAME(m_latch)); save_item(NAME(m_count)); diff --git a/src/devices/bus/nes/ggenie.cpp b/src/devices/bus/nes/ggenie.cpp index 993fef98387..dc58fbf8205 100644 --- a/src/devices/bus/nes/ggenie.cpp +++ b/src/devices/bus/nes/ggenie.cpp @@ -259,6 +259,6 @@ READ8_MEMBER(nes_ggenie_device::nt_r) //------------------------------------------------- MACHINE_CONFIG_START(nes_ggenie_device::device_add_mconfig) - MCFG_NES_CARTRIDGE_ADD("gg_slot", nes_cart, nullptr) + MCFG_NES_CARTRIDGE_ADD("gg_slot", DERIVED_CLOCK(1, 1), nes_cart, nullptr) MCFG_NES_CARTRIDGE_NOT_MANDATORY MACHINE_CONFIG_END diff --git a/src/devices/bus/nes/irem.cpp b/src/devices/bus/nes/irem.cpp index 17fd84643b7..07ac824c5be 100644 --- a/src/devices/bus/nes/irem.cpp +++ b/src/devices/bus/nes/irem.cpp @@ -130,7 +130,7 @@ void nes_h3001_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); diff --git a/src/devices/bus/nes/jaleco.cpp b/src/devices/bus/nes/jaleco.cpp index 4ea0ea6dba5..7065b9b7139 100644 --- a/src/devices/bus/nes/jaleco.cpp +++ b/src/devices/bus/nes/jaleco.cpp @@ -210,7 +210,7 @@ void nes_ss88006_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_mmc_prg_bank)); save_item(NAME(m_mmc_vrom_bank)); diff --git a/src/devices/bus/nes/jy.cpp b/src/devices/bus/nes/jy.cpp index 191892ef544..00f43a1b2f7 100644 --- a/src/devices/bus/nes/jy.cpp +++ b/src/devices/bus/nes/jy.cpp @@ -76,7 +76,7 @@ void nes_jy_typea_device::device_start() common_start(); irq_timer = timer_alloc(TIMER_IRQ); irq_timer->reset(); - timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(1); + timer_freq = clocks_to_attotime(1); save_item(NAME(m_mul)); save_item(NAME(m_latch)); diff --git a/src/devices/bus/nes/kaiser.cpp b/src/devices/bus/nes/kaiser.cpp index 5ec2355dba6..0d02aecdfd0 100644 --- a/src/devices/bus/nes/kaiser.cpp +++ b/src/devices/bus/nes/kaiser.cpp @@ -150,7 +150,7 @@ void nes_ks7032_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_latch)); save_item(NAME(m_irq_enable)); @@ -176,7 +176,7 @@ void nes_ks7017_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_latch)); save_item(NAME(m_irq_enable)); diff --git a/src/devices/bus/nes/konami.cpp b/src/devices/bus/nes/konami.cpp index 4f1a4de66e2..75b540b72f2 100644 --- a/src/devices/bus/nes/konami.cpp +++ b/src/devices/bus/nes/konami.cpp @@ -126,7 +126,7 @@ void nes_konami_vrc3_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_mode)); save_item(NAME(m_irq_enable)); @@ -154,7 +154,7 @@ void nes_konami_vrc4_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_mode)); save_item(NAME(m_irq_prescale)); @@ -195,7 +195,7 @@ void nes_konami_vrc7_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_mode)); save_item(NAME(m_irq_prescale)); diff --git a/src/devices/bus/nes/legacy.cpp b/src/devices/bus/nes/legacy.cpp index 73528ede404..a89991776bc 100644 --- a/src/devices/bus/nes/legacy.cpp +++ b/src/devices/bus/nes/legacy.cpp @@ -78,7 +78,7 @@ void nes_ffe4_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_exram)); save_item(NAME(m_exram_enabled)); diff --git a/src/devices/bus/nes/namcot.cpp b/src/devices/bus/nes/namcot.cpp index 59778cbbaea..b9f594de75d 100644 --- a/src/devices/bus/nes/namcot.cpp +++ b/src/devices/bus/nes/namcot.cpp @@ -145,7 +145,7 @@ void nes_namcot340_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -171,7 +171,7 @@ void nes_namcot175_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); @@ -199,7 +199,7 @@ void nes_namcot163_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_count)); diff --git a/src/devices/bus/nes/nes_slot.cpp b/src/devices/bus/nes/nes_slot.cpp index 2676ad357a7..5f6615c01fd 100644 --- a/src/devices/bus/nes/nes_slot.cpp +++ b/src/devices/bus/nes/nes_slot.cpp @@ -111,7 +111,9 @@ device_nes_cart_interface::device_nes_cart_interface(const machine_config &mconf , m_ciram(nullptr) , m_prg_size(0) , m_vrom_size(0) - , m_maincpu(nullptr) + // HACK: to reduce tagmap lookups for PPU-related IRQs, we add a hook to the + // main NES CPU here, even if it does not belong to this device. + , m_maincpu(*this, ":maincpu") , m_mapper_sram(nullptr) , m_mapper_sram_size(0) , m_ce_mask(0) @@ -671,10 +673,6 @@ WRITE8_MEMBER(device_nes_cart_interface::write_h) void device_nes_cart_interface::pcb_start(running_machine &machine, uint8_t *ciram_ptr, bool cart_mounted) { - // HACK: to reduce tagmap lookups for PPU-related IRQs, we add a hook to the - // main NES CPU here, even if it does not belong to this device. - m_maincpu = machine.device<cpu_device>("maincpu"); - if (cart_mounted) // disksys expansion can arrive here without the memory banks! { // Setup PRG diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h index 088c402803c..989f7e93d68 100644 --- a/src/devices/bus/nes/nes_slot.h +++ b/src/devices/bus/nes/nes_slot.h @@ -245,7 +245,7 @@ protected: // HACK: to reduce tagmap lookups for PPU-related IRQs, we add a hook to the // main NES CPU here, even if it does not belong to this device. - cpu_device *m_maincpu; + required_device<cpu_device> m_maincpu; // these are specific of some boards but must be accessible from the driver // E.g. additional save ram for HKROM, X1-005 & X1-017 boards, or ExRAM for MMC5 @@ -414,18 +414,12 @@ DECLARE_DEVICE_TYPE(NES_CART_SLOT, nes_cart_slot_device) #define NESSLOT_CHRROM_REGION_TAG ":cart:chr_rom" -#define MCFG_NES_CARTRIDGE_ADD(_tag, _slot_intf, _def_slot) \ - MCFG_DEVICE_ADD(_tag, NES_CART_SLOT, 0) \ +#define MCFG_NES_CARTRIDGE_ADD(_tag, _clock, _slot_intf, _def_slot) \ + MCFG_DEVICE_ADD(_tag, NES_CART_SLOT, _clock) \ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) #define MCFG_NES_CARTRIDGE_NOT_MANDATORY \ static_cast<nes_cart_slot_device *>(device)->set_must_be_loaded(false); -// Hacky configuration to add a slot with fixed disksys interface -#define MCFG_DISKSYS_ADD(_tag, _slot_intf, _def_slot) \ - MCFG_DEVICE_ADD(_tag, NES_CART_SLOT, 0) \ - MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, true) \ - MCFG_NES_CARTRIDGE_NOT_MANDATORY - #endif // MAME_BUS_NES_NES_SLOT_H diff --git a/src/devices/bus/nes/pirate.cpp b/src/devices/bus/nes/pirate.cpp index 88226aeed31..b280b8281b7 100644 --- a/src/devices/bus/nes/pirate.cpp +++ b/src/devices/bus/nes/pirate.cpp @@ -383,7 +383,7 @@ void nes_cityfight_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_prg_reg)); save_item(NAME(m_prg_mode)); diff --git a/src/devices/bus/nes/sunsoft.cpp b/src/devices/bus/nes/sunsoft.cpp index 2b3b3169f5d..2e4325ddc1a 100644 --- a/src/devices/bus/nes/sunsoft.cpp +++ b/src/devices/bus/nes/sunsoft.cpp @@ -124,7 +124,7 @@ void nes_sunsoft_3_device::device_start() { common_start(); irq_timer = timer_alloc(TIMER_IRQ); - irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); + irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_irq_enable)); save_item(NAME(m_irq_toggle)); @@ -170,7 +170,7 @@ void nes_sunsoft_fme7_device::device_start() irq_timer = timer_alloc(TIMER_IRQ); // this has to be hardcoded because some some scanline code only suits NTSC... it will be fixed with PPU rewrite irq_timer->adjust(attotime::zero, 0, attotime::from_hz((21477272.724 / 12))); -// irq_timer->adjust(attotime::zero, 0, machine().device<cpu_device>("maincpu")->cycles_to_attotime(1)); +// irq_timer->adjust(attotime::zero, 0, clocks_to_attotime(1)); save_item(NAME(m_wram_bank)); save_item(NAME(m_latch)); diff --git a/src/devices/bus/nes/sunsoft_dcs.cpp b/src/devices/bus/nes/sunsoft_dcs.cpp index a933fdcfb5b..5df2c6557d2 100644 --- a/src/devices/bus/nes/sunsoft_dcs.cpp +++ b/src/devices/bus/nes/sunsoft_dcs.cpp @@ -169,7 +169,7 @@ void nes_sunsoft_dcs_device::device_start() common_start(); ntb_enable_timer = timer_alloc(TIMER_PROTECT); ntb_enable_timer->reset(); - timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(107520); + timer_freq = clocks_to_attotime(107520); save_item(NAME(m_latch1)); save_item(NAME(m_latch2)); diff --git a/src/devices/bus/nes/tengen.cpp b/src/devices/bus/nes/tengen.cpp index 7b171e77311..532dd9010d6 100644 --- a/src/devices/bus/nes/tengen.cpp +++ b/src/devices/bus/nes/tengen.cpp @@ -83,7 +83,7 @@ void nes_tengen032_device::device_start() common_start(); irq_timer = timer_alloc(TIMER_IRQ); irq_timer->reset(); - timer_freq = machine().device<cpu_device>("maincpu")->cycles_to_attotime(4); + timer_freq = clocks_to_attotime(4); save_item(NAME(m_mmc_prg_bank)); save_item(NAME(m_mmc_vrom_bank)); diff --git a/src/mame/drivers/nes.cpp b/src/mame/drivers/nes.cpp index 9648e08b2fe..a6cc9a51b5d 100644 --- a/src/mame/drivers/nes.cpp +++ b/src/mame/drivers/nes.cpp @@ -79,7 +79,7 @@ MACHINE_CONFIG_START(nes_state::nes) MCFG_NES_CONTROL_PORT_ADD("ctrl2", nes_control_port2_devices, "joypad") MCFG_NESCTRL_BRIGHTPIXEL_CB(nes_state, bright_pixel) - MCFG_NES_CARTRIDGE_ADD("nes_slot", nes_cart, nullptr) + MCFG_NES_CARTRIDGE_ADD("nes_slot", NTSC_APU_CLOCK, nes_cart, nullptr) MCFG_SOFTWARE_LIST_ADD("cart_list", "nes") MCFG_SOFTWARE_LIST_ADD("ade_list", "nes_ade") // Camerica/Codemasters Aladdin Deck Enhancer mini-carts MCFG_SOFTWARE_LIST_ADD("ntb_list", "nes_ntbrom") // Sunsoft Nantettate! Baseball mini-carts @@ -99,6 +99,9 @@ MACHINE_CONFIG_START(nes_state::nespal) MCFG_PPU2C0X_CPU("maincpu") MCFG_PPU2C0X_INT_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) + MCFG_DEVICE_MODIFY("nes_slot") + MCFG_DEVICE_CLOCK(PAL_APU_CLOCK) + /* video hardware */ MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_REFRESH_RATE(50.0070) @@ -132,6 +135,9 @@ MACHINE_CONFIG_START(nes_state::nespalc) MCFG_PPU2C0X_CPU("maincpu") MCFG_PPU2C0X_INT_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) + MCFG_DEVICE_MODIFY("nes_slot") + MCFG_DEVICE_CLOCK(PALC_APU_CLOCK) + /* video hardware */ MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_REFRESH_RATE(50.0070) |