From 0ba652e723036746aa1b1ac665411bee83771654 Mon Sep 17 00:00:00 2001 From: AJR Date: Fri, 18 May 2018 13:32:56 -0400 Subject: diexec: Interrupt API changes (nw) - PULSE_LINE is no longer a value. Existing uses have been changed to pulse_input_line with attotime::zero as the second argument. - Formerly only INPUT_LINE_NMI and INPUT_LINE_RESET were allowed with PULSE_LINE. INPUT_LINE_NMI no longer receives special handling; instead, CPU devices must specify which of their input lines are edge-triggered and thus may be used with zero-width pulses by overriding the execute_input_edge_triggered predicate. INPUT_LINE_RESET is still special-cased, however. - execute_default_irq_vector now allows a different default vector to be specified for each input line. This added flexibility may or may not prove useful. --- src/devices/bus/a2bus/a2applicard.cpp | 2 +- src/devices/bus/centronics/epson_lx810l.cpp | 2 +- src/devices/bus/cpc/transtape.cpp | 2 +- src/devices/bus/isa/isa.cpp | 2 +- src/devices/bus/isa/sb16.cpp | 2 +- src/devices/bus/isa/stereo_fx.cpp | 2 +- src/devices/cpu/cp1610/cp1610.cpp | 2 +- src/devices/cpu/cp1610/cp1610.h | 1 + src/devices/cpu/dsp56k/dsp56k.h | 2 +- src/devices/cpu/h6280/h6280.cpp | 11 +++++ src/devices/cpu/h6280/h6280.h | 1 + src/devices/cpu/h8/h8.cpp | 5 ++ src/devices/cpu/h8/h8.h | 1 + src/devices/cpu/hphybrid/hphybrid.h | 2 +- src/devices/cpu/i386/i386.cpp | 2 +- src/devices/cpu/i386/i386.h | 2 + src/devices/cpu/i8085/i8085.h | 3 +- src/devices/cpu/i86/i86.h | 1 + src/devices/cpu/i960/i960.h | 1 - src/devices/cpu/lh5801/lh5801.h | 2 +- src/devices/cpu/m37710/m37710op.h | 1 - src/devices/cpu/m6502/m6502.cpp | 5 ++ src/devices/cpu/m6502/m6502.h | 1 + src/devices/cpu/m6800/m6800.h | 2 +- src/devices/cpu/m6800/m6801.h | 1 - src/devices/cpu/m68000/m68000.h | 38 +-------------- src/devices/cpu/m6805/m6805.h | 2 + src/devices/cpu/m6805/m68hc05.cpp | 4 +- src/devices/cpu/m6809/m6809.h | 1 + src/devices/cpu/mc68hc11/mc68hc11.h | 1 - src/devices/cpu/mcs48/mcs48.h | 1 - src/devices/cpu/mcs51/mcs51.h | 1 - src/devices/cpu/nanoprocessor/nanoprocessor.h | 2 +- src/devices/cpu/nec/nec.h | 6 +-- src/devices/cpu/nec/v25.h | 3 +- src/devices/cpu/pic16c5x/pic16c5x.h | 2 +- src/devices/cpu/pic16c62x/pic16c62x.h | 1 - src/devices/cpu/pps4/pps4.h | 1 - src/devices/cpu/rsp/rsp.h | 1 - src/devices/cpu/s2650/s2650.h | 2 +- src/devices/cpu/se3208/se3208.h | 1 + src/devices/cpu/sh/sh2.h | 3 +- src/devices/cpu/sh/sh4.h | 1 + src/devices/cpu/spc700/spc700.h | 1 + src/devices/cpu/t11/t11.h | 2 +- src/devices/cpu/tlcs870/tlcs870.h | 2 +- src/devices/cpu/tlcs90/tlcs90.h | 2 +- src/devices/cpu/tlcs900/tlcs900.h | 1 + src/devices/cpu/upd7810/upd7810.h | 1 + src/devices/cpu/v30mz/v30mz.h | 1 + src/devices/cpu/v60/v60.h | 1 + src/devices/cpu/z180/z180.h | 3 +- src/devices/cpu/z8/z8.h | 1 + src/devices/cpu/z80/z80.h | 3 +- src/devices/cpu/z8000/z8000.h | 3 +- src/devices/machine/s2636.cpp | 2 +- src/devices/machine/z80scc.cpp | 2 +- src/devices/machine/z80sio.cpp | 4 +- src/emu/diexec.cpp | 67 ++++++++++++++++++--------- src/emu/diexec.h | 9 ++-- src/emu/driver.cpp | 2 +- src/mame/audio/cchasm.cpp | 2 +- src/mame/audio/dcs.cpp | 2 +- src/mame/audio/gottlieb.cpp | 2 +- src/mame/audio/rax.cpp | 2 +- src/mame/audio/redalert.cpp | 4 +- src/mame/audio/s11c_bg.cpp | 2 +- src/mame/audio/starwars.cpp | 2 +- src/mame/audio/wpcsnd.cpp | 4 +- src/mame/drivers/4enlinea.cpp | 2 +- src/mame/drivers/aces1.cpp | 2 +- src/mame/drivers/adam.cpp | 2 +- src/mame/drivers/aerofgt.cpp | 2 +- src/mame/drivers/agat.cpp | 2 +- src/mame/drivers/airbustr.cpp | 2 +- src/mame/drivers/alpha68k.cpp | 4 +- src/mame/drivers/amaticmg.cpp | 2 +- src/mame/drivers/appoooh.cpp | 2 +- src/mame/drivers/ashnojoe.cpp | 2 +- src/mame/drivers/atari_s1.cpp | 2 +- src/mame/drivers/atom.cpp | 2 +- src/mame/drivers/bankp.cpp | 2 +- src/mame/drivers/battlane.cpp | 8 ++-- src/mame/drivers/bbusters.cpp | 2 +- src/mame/drivers/berzerk.cpp | 2 +- src/mame/drivers/bingoc.cpp | 2 +- src/mame/drivers/bladestl.cpp | 2 +- src/mame/drivers/blockade.cpp | 2 +- src/mame/drivers/blueprnt.cpp | 2 +- src/mame/drivers/bottom9.cpp | 2 +- src/mame/drivers/brkthru.cpp | 2 +- src/mame/drivers/by6803.cpp | 2 +- src/mame/drivers/byvid.cpp | 6 +-- src/mame/drivers/bzone.cpp | 2 +- src/mame/drivers/cabal.cpp | 2 +- src/mame/drivers/cabaret.cpp | 4 +- src/mame/drivers/capbowl.cpp | 2 +- src/mame/drivers/cave.cpp | 2 +- src/mame/drivers/cclimber.cpp | 2 +- src/mame/drivers/cheekyms.cpp | 2 +- src/mame/drivers/chessmst.cpp | 2 +- src/mame/drivers/cntsteer.cpp | 2 +- src/mame/drivers/cocoloco.cpp | 2 +- src/mame/drivers/coleco.cpp | 2 +- src/mame/drivers/cswat.cpp | 2 +- src/mame/drivers/darius.cpp | 2 +- src/mame/drivers/dbz.cpp | 2 +- src/mame/drivers/de_2.cpp | 2 +- src/mame/drivers/deco_ld.cpp | 2 +- src/mame/drivers/destroyr.cpp | 2 +- src/mame/drivers/djboy.cpp | 2 +- src/mame/drivers/drmicro.cpp | 2 +- src/mame/drivers/dynax.cpp | 4 +- src/mame/drivers/espial.cpp | 2 +- src/mame/drivers/ettrivia.cpp | 2 +- src/mame/drivers/exterm.cpp | 6 +-- src/mame/drivers/exzisus.cpp | 2 +- src/mame/drivers/fantland.cpp | 4 +- src/mame/drivers/fastfred.cpp | 2 +- src/mame/drivers/fastlane.cpp | 2 +- src/mame/drivers/fcrash.cpp | 2 +- src/mame/drivers/finalizr.cpp | 2 +- src/mame/drivers/firefox.cpp | 2 +- src/mame/drivers/firetrap.cpp | 2 +- src/mame/drivers/firetrk.cpp | 2 +- src/mame/drivers/flipjack.cpp | 2 +- src/mame/drivers/flower.cpp | 2 +- src/mame/drivers/fm7.cpp | 2 +- src/mame/drivers/fromanc2.cpp | 4 +- src/mame/drivers/fromance.cpp | 2 +- src/mame/drivers/funtech.cpp | 2 +- src/mame/drivers/fuukifg2.cpp | 2 +- src/mame/drivers/galaxian.cpp | 6 +-- src/mame/drivers/galspnbl.cpp | 2 +- src/mame/drivers/gei.cpp | 2 +- src/mame/drivers/goal92.cpp | 2 +- src/mame/drivers/gpworld.cpp | 2 +- src/mame/drivers/gsword.cpp | 6 +-- src/mame/drivers/halleys.cpp | 6 +-- src/mame/drivers/highvdeo.cpp | 2 +- src/mame/drivers/himesiki.cpp | 2 +- src/mame/drivers/hunter2.cpp | 2 +- src/mame/drivers/hvyunit.cpp | 2 +- src/mame/drivers/igs009.cpp | 2 +- src/mame/drivers/igs017.cpp | 2 +- src/mame/drivers/igspoker.cpp | 2 +- src/mame/drivers/imolagp.cpp | 5 +- src/mame/drivers/inder.cpp | 2 +- src/mame/drivers/iqblock.cpp | 2 +- src/mame/drivers/ironhors.cpp | 4 +- src/mame/drivers/jack.cpp | 2 +- src/mame/drivers/jackal.cpp | 2 +- src/mame/drivers/jackie.cpp | 2 +- src/mame/drivers/jaguar.cpp | 2 +- src/mame/drivers/jailbrek.cpp | 2 +- src/mame/drivers/jeutel.cpp | 2 +- src/mame/drivers/joctronic.cpp | 2 +- src/mame/drivers/jp.cpp | 2 +- src/mame/drivers/kangaroo.cpp | 2 +- src/mame/drivers/kas89.cpp | 4 +- src/mame/drivers/kchamp.cpp | 3 +- src/mame/drivers/kingpin.cpp | 2 +- src/mame/drivers/kncljoe.cpp | 2 +- src/mame/drivers/konamim2.cpp | 2 +- src/mame/drivers/konblands.cpp | 2 +- src/mame/drivers/kyugo.cpp | 2 +- src/mame/drivers/labyrunr.cpp | 2 +- src/mame/drivers/ladyfrog.cpp | 4 +- src/mame/drivers/laserbas.cpp | 2 +- src/mame/drivers/lgp.cpp | 2 +- src/mame/drivers/lordgun.cpp | 2 +- src/mame/drivers/ltd.cpp | 2 +- src/mame/drivers/luckgrln.cpp | 2 +- src/mame/drivers/lucky74.cpp | 2 +- src/mame/drivers/lwings.cpp | 2 +- src/mame/drivers/m63.cpp | 2 +- src/mame/drivers/m72.cpp | 2 +- src/mame/drivers/magictg.cpp | 2 +- src/mame/drivers/mainevt.cpp | 2 +- src/mame/drivers/marineb.cpp | 2 +- src/mame/drivers/mastboy.cpp | 2 +- src/mame/drivers/megadriv.cpp | 2 +- src/mame/drivers/megaplay.cpp | 2 +- src/mame/drivers/mephisto.cpp | 4 +- src/mame/drivers/metro.cpp | 2 +- src/mame/drivers/mgolf.cpp | 2 +- src/mame/drivers/mirax.cpp | 2 +- src/mame/drivers/model2.cpp | 2 +- src/mame/drivers/monty.cpp | 2 +- src/mame/drivers/ms32.cpp | 2 +- src/mame/drivers/msisaac.cpp | 4 +- src/mame/drivers/mz2000.cpp | 2 +- src/mame/drivers/mz2500.cpp | 2 +- src/mame/drivers/namcos21.cpp | 4 +- src/mame/drivers/nc.cpp | 2 +- src/mame/drivers/ngen.cpp | 6 +-- src/mame/drivers/ngp.cpp | 2 +- src/mame/drivers/nightgal.cpp | 2 +- src/mame/drivers/nmg5.cpp | 2 +- src/mame/drivers/nss.cpp | 2 +- src/mame/drivers/ojankohs.cpp | 2 +- src/mame/drivers/pacman.cpp | 2 +- src/mame/drivers/pasogo.cpp | 2 +- src/mame/drivers/pc9801.cpp | 2 +- src/mame/drivers/pcd.cpp | 4 +- src/mame/drivers/pcktgal.cpp | 2 +- src/mame/drivers/pcw.cpp | 2 +- src/mame/drivers/pcw16.cpp | 2 +- src/mame/drivers/pgm.cpp | 4 +- src/mame/drivers/photon2.cpp | 2 +- src/mame/drivers/pingpong.cpp | 4 +- src/mame/drivers/playch10.cpp | 4 +- src/mame/drivers/pokechmp.cpp | 2 +- src/mame/drivers/polgar.cpp | 2 +- src/mame/drivers/polyplay.cpp | 2 +- src/mame/drivers/prehisle.cpp | 2 +- src/mame/drivers/psion.cpp | 2 +- src/mame/drivers/pv2000.cpp | 2 +- src/mame/drivers/quizpun2.cpp | 2 +- src/mame/drivers/rad_eu3a05.cpp | 2 +- src/mame/drivers/rainbow.cpp | 2 +- src/mame/drivers/rbmk.cpp | 2 +- src/mame/drivers/redalert.cpp | 2 +- src/mame/drivers/redclash.cpp | 2 +- src/mame/drivers/renegade.cpp | 4 +- src/mame/drivers/rollrace.cpp | 2 +- src/mame/drivers/rowamet.cpp | 2 +- src/mame/drivers/royalmah.cpp | 4 +- src/mame/drivers/s11.cpp | 4 +- src/mame/drivers/s11b.cpp | 4 +- src/mame/drivers/s11c.cpp | 2 +- src/mame/drivers/s3.cpp | 4 +- src/mame/drivers/s4.cpp | 4 +- src/mame/drivers/s6.cpp | 4 +- src/mame/drivers/s6a.cpp | 4 +- src/mame/drivers/s7.cpp | 4 +- src/mame/drivers/s8.cpp | 4 +- src/mame/drivers/s8a.cpp | 4 +- src/mame/drivers/s9.cpp | 4 +- src/mame/drivers/scorpion.cpp | 2 +- src/mame/drivers/segag80r.cpp | 2 +- src/mame/drivers/segag80v.cpp | 2 +- src/mame/drivers/segaorun.cpp | 2 +- src/mame/drivers/segas16b.cpp | 2 +- src/mame/drivers/segas24.cpp | 2 +- src/mame/drivers/segaufo.cpp | 2 +- src/mame/drivers/segaxbd.cpp | 2 +- src/mame/drivers/seicross.cpp | 2 +- src/mame/drivers/seta.cpp | 6 +-- src/mame/drivers/sf.cpp | 2 +- src/mame/drivers/shaolins.cpp | 2 +- src/mame/drivers/simple_st0016.cpp | 2 +- src/mame/drivers/skydiver.cpp | 2 +- src/mame/drivers/skylncr.cpp | 2 +- src/mame/drivers/slapfght.cpp | 2 +- src/mame/drivers/snk68.cpp | 2 +- src/mame/drivers/solomon.cpp | 4 +- src/mame/drivers/sothello.cpp | 2 +- src/mame/drivers/spectra.cpp | 2 +- src/mame/drivers/sprcros2.cpp | 4 +- src/mame/drivers/sprint2.cpp | 2 +- src/mame/drivers/sprint4.cpp | 2 +- src/mame/drivers/ssozumo.cpp | 2 +- src/mame/drivers/st_mp100.cpp | 2 +- src/mame/drivers/st_mp200.cpp | 2 +- src/mame/drivers/stadhero.cpp | 2 +- src/mame/drivers/starfire.cpp | 2 +- src/mame/drivers/stratos.cpp | 2 +- src/mame/drivers/suna8.cpp | 4 +- src/mame/drivers/superqix.cpp | 2 +- src/mame/drivers/suprgolf.cpp | 2 +- src/mame/drivers/suprridr.cpp | 2 +- src/mame/drivers/svision.cpp | 2 +- src/mame/drivers/system16.cpp | 8 ++-- src/mame/drivers/tagteam.cpp | 2 +- src/mame/drivers/tankbatt.cpp | 2 +- src/mame/drivers/tatsumi.cpp | 2 +- src/mame/drivers/tbowl.cpp | 2 +- src/mame/drivers/tehkanwc.cpp | 4 +- src/mame/drivers/toaplan2.cpp | 2 +- src/mame/drivers/toki.cpp | 2 +- src/mame/drivers/trucocl.cpp | 2 +- src/mame/drivers/tsamurai.cpp | 7 +-- src/mame/drivers/ttchamp.cpp | 2 +- src/mame/drivers/ultratnk.cpp | 2 +- src/mame/drivers/univac.cpp | 2 +- src/mame/drivers/vastar.cpp | 2 +- src/mame/drivers/vcombat.cpp | 2 +- src/mame/drivers/vicdual.cpp | 2 +- src/mame/drivers/vis.cpp | 2 +- src/mame/drivers/vsnes.cpp | 2 +- src/mame/drivers/vt240.cpp | 4 +- src/mame/drivers/wacky_gator.cpp | 2 +- src/mame/drivers/wc90b.cpp | 2 +- src/mame/drivers/wicat.cpp | 2 +- src/mame/drivers/wiz.cpp | 4 +- src/mame/drivers/wolfpack.cpp | 2 +- src/mame/drivers/wyvernf0.cpp | 4 +- src/mame/drivers/yiear.cpp | 2 +- src/mame/drivers/yunsun16.cpp | 2 +- src/mame/drivers/zaxxon.cpp | 2 +- src/mame/machine/asteroid.cpp | 6 +-- src/mame/machine/atarigen.cpp | 2 +- src/mame/machine/bsktball.cpp | 2 +- src/mame/machine/bublbobl.cpp | 2 +- src/mame/machine/c117.cpp | 2 +- src/mame/machine/decopincpu.cpp | 2 +- src/mame/machine/docastle.cpp | 2 +- src/mame/machine/harddriv.cpp | 2 +- src/mame/machine/hec2hrp.cpp | 8 ++-- src/mame/machine/hng64_net.cpp | 2 +- src/mame/machine/lisa.cpp | 4 +- src/mame/machine/m20_8086.cpp | 4 +- src/mame/machine/m24_z8000.cpp | 2 +- src/mame/machine/mcr.cpp | 2 +- src/mame/machine/megadriv.cpp | 2 +- src/mame/machine/mhavoc.cpp | 2 +- src/mame/machine/microtan.cpp | 2 +- src/mame/machine/midyunit.cpp | 2 +- src/mame/machine/namco06.cpp | 2 +- src/mame/machine/nb1413m3.cpp | 2 +- src/mame/machine/ondra.cpp | 2 +- src/mame/machine/primo.cpp | 2 +- src/mame/machine/sms.cpp | 2 +- src/mame/machine/subs.cpp | 2 +- src/mame/machine/tnzs.cpp | 2 +- src/mame/machine/toaplan1.cpp | 2 +- src/mame/machine/trs80.cpp | 2 +- src/mame/machine/xavix.cpp | 2 +- src/mame/machine/xevious.cpp | 10 ++-- src/mame/machine/z80ne.cpp | 4 +- src/mame/video/antic.cpp | 4 +- src/mame/video/decodmd1.cpp | 4 +- src/mame/video/decodmd2.cpp | 2 +- src/mame/video/decodmd3.cpp | 2 +- src/mame/video/fm7.cpp | 2 +- src/mame/video/ginganin.cpp | 2 +- src/mame/video/maria.cpp | 2 +- src/mame/video/sidearms.cpp | 2 +- src/mame/video/spdodgeb.cpp | 2 +- 340 files changed, 484 insertions(+), 459 deletions(-) diff --git a/src/devices/bus/a2bus/a2applicard.cpp b/src/devices/bus/a2bus/a2applicard.cpp index f74aa9706c5..db2e76b3608 100644 --- a/src/devices/bus/a2bus/a2applicard.cpp +++ b/src/devices/bus/a2bus/a2applicard.cpp @@ -144,7 +144,7 @@ uint8_t a2bus_applicard_device::read_c0nx(uint8_t offset) fatalerror("Applicard: Z80 IRQ not supported yet\n"); case 7: // NMI on Z80 (direct) - m_z80->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_z80->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; } diff --git a/src/devices/bus/centronics/epson_lx810l.cpp b/src/devices/bus/centronics/epson_lx810l.cpp index 4da390513c5..b13c346b8ea 100644 --- a/src/devices/bus/centronics/epson_lx810l.cpp +++ b/src/devices/bus/centronics/epson_lx810l.cpp @@ -526,7 +526,7 @@ WRITE8_MEMBER( epson_lx810l_device::cr_stepper ) WRITE_LINE_MEMBER( epson_lx810l_device::e05a30_ready ) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/devices/bus/cpc/transtape.cpp b/src/devices/bus/cpc/transtape.cpp index fbbe3bc464c..625bd5983e2 100644 --- a/src/devices/bus/cpc/transtape.cpp +++ b/src/devices/bus/cpc/transtape.cpp @@ -103,7 +103,7 @@ INPUT_CHANGED_MEMBER(cpc_transtape_device::button_red_w) { m_output |= 0x1f; map_enable(); - m_cpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/devices/bus/isa/isa.cpp b/src/devices/bus/isa/isa.cpp index 89ede2bfbfb..ebeae9916ef 100644 --- a/src/devices/bus/isa/isa.cpp +++ b/src/devices/bus/isa/isa.cpp @@ -376,7 +376,7 @@ void isa8_device::nmi() { if (m_nmi_enabled) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE ); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } else diff --git a/src/devices/bus/isa/sb16.cpp b/src/devices/bus/isa/sb16.cpp index 97aa2b1527d..d368d215b01 100644 --- a/src/devices/bus/isa/sb16.cpp +++ b/src/devices/bus/isa/sb16.cpp @@ -602,7 +602,7 @@ WRITE8_MEMBER( sb16_lle_device::dsp_reset_w ) if(data & 1) { device_reset(); - m_cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } } diff --git a/src/devices/bus/isa/stereo_fx.cpp b/src/devices/bus/isa/stereo_fx.cpp index 96986c8bc0c..f1fb692174a 100644 --- a/src/devices/bus/isa/stereo_fx.cpp +++ b/src/devices/bus/isa/stereo_fx.cpp @@ -168,7 +168,7 @@ void stereo_fx_device::dack_w(int line, uint8_t data) WRITE8_MEMBER( stereo_fx_device::dsp_reset_w ) { device_reset(); - m_cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } READ8_MEMBER( stereo_fx_device::dsp_wbuf_status_r ) diff --git a/src/devices/cpu/cp1610/cp1610.cpp b/src/devices/cpu/cp1610/cp1610.cpp index 784281f71d8..f9b77df991e 100644 --- a/src/devices/cpu/cp1610/cp1610.cpp +++ b/src/devices/cpu/cp1610/cp1610.cpp @@ -3369,7 +3369,7 @@ void cp1610_cpu_device::device_start() void cp1610_cpu_device::device_reset() { /* This is how we set the reset vector */ - set_input_line(CP1610_RESET, PULSE_LINE); + pulse_input_line(CP1610_RESET, attotime::zero); } void cp1610_cpu_device::execute_set_input(int irqline, int state) diff --git a/src/devices/cpu/cp1610/cp1610.h b/src/devices/cpu/cp1610/cp1610.h index 86b22e43f70..d2ab4fa18bf 100644 --- a/src/devices/cpu/cp1610/cp1610.h +++ b/src/devices/cpu/cp1610/cp1610.h @@ -50,6 +50,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 7; } virtual uint32_t execute_input_lines() const override { return 2; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == CP1610_RESET || inputnum == CP1610_INT_INTR; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/dsp56k/dsp56k.h b/src/devices/cpu/dsp56k/dsp56k.h index e13b160c8a4..bee7c335b03 100644 --- a/src/devices/cpu/dsp56k/dsp56k.h +++ b/src/devices/cpu/dsp56k/dsp56k.h @@ -226,7 +226,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 8; } virtual uint32_t execute_input_lines() const override { return 4; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == DSP56K_IRQ_RESET; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/h6280/h6280.cpp b/src/devices/cpu/h6280/h6280.cpp index 2a38aed615f..4fb069d5390 100644 --- a/src/devices/cpu/h6280/h6280.cpp +++ b/src/devices/cpu/h6280/h6280.cpp @@ -2264,6 +2264,17 @@ uint32_t h6280_device::execute_input_lines() const } +//------------------------------------------------- +// execute_input_edge_triggered - return true if +// the input line has an asynchronous edge trigger +//------------------------------------------------- + +bool h6280_device::execute_input_edge_triggered(int inputnum) const +{ + return inputnum == H6280_NMI_STATE; +} + + //------------------------------------------------- // execute_set_input - act on a changed input/ // interrupt line diff --git a/src/devices/cpu/h6280/h6280.h b/src/devices/cpu/h6280/h6280.h index 22155e0edb6..7c73187ab36 100644 --- a/src/devices/cpu/h6280/h6280.h +++ b/src/devices/cpu/h6280/h6280.h @@ -81,6 +81,7 @@ protected: virtual uint32_t execute_min_cycles() const override; virtual uint32_t execute_max_cycles() const override; virtual uint32_t execute_input_lines() const override; + virtual bool execute_input_edge_triggered(int inputnum) const override; virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/h8/h8.cpp b/src/devices/cpu/h8/h8.cpp index 3863407c64c..e0214a6ea38 100644 --- a/src/devices/cpu/h8/h8.cpp +++ b/src/devices/cpu/h8/h8.cpp @@ -177,6 +177,11 @@ uint32_t h8_device::execute_input_lines() const return 0; } +bool h8_device::execute_input_edge_triggered(int inputnum) const +{ + return inputnum == INPUT_LINE_NMI; +} + void h8_device::recompute_bcount(uint64_t event_time) { if(!event_time || event_time >= total_cycles() + icount) { diff --git a/src/devices/cpu/h8/h8.h b/src/devices/cpu/h8/h8.h index 598e033fa87..698d21b26cc 100644 --- a/src/devices/cpu/h8/h8.h +++ b/src/devices/cpu/h8/h8.h @@ -97,6 +97,7 @@ protected: virtual uint32_t execute_min_cycles() const override; virtual uint32_t execute_max_cycles() const override; virtual uint32_t execute_input_lines() const override; + virtual bool execute_input_edge_triggered(int inputnum) const override; virtual void execute_run() override; // device_memory_interface overrides diff --git a/src/devices/cpu/hphybrid/hphybrid.h b/src/devices/cpu/hphybrid/hphybrid.h index 700a2e09894..404100a8115 100644 --- a/src/devices/cpu/hphybrid/hphybrid.h +++ b/src/devices/cpu/hphybrid/hphybrid.h @@ -69,7 +69,7 @@ protected: // device_execute_interface overrides virtual uint32_t execute_min_cycles() const override { return 6; } virtual uint32_t execute_input_lines() const override { return 2; } - virtual uint32_t execute_default_irq_vector() const override { return 0xffff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/i386/i386.cpp b/src/devices/cpu/i386/i386.cpp index bfcebd533b2..d0bb0c8e396 100644 --- a/src/devices/cpu/i386/i386.cpp +++ b/src/devices/cpu/i386/i386.cpp @@ -773,7 +773,7 @@ void i386_device::i386_trap(int irq, int irq_gate, int trap_level) if(trap_level >= 3) { logerror("IRQ: Triple fault. CPU reset.\n"); - set_input_line(INPUT_LINE_RESET, PULSE_LINE); + pulse_input_line(INPUT_LINE_RESET, attotime::zero); return; } diff --git a/src/devices/cpu/i386/i386.h b/src/devices/cpu/i386/i386.h index 4112aaf61e1..c6039009209 100644 --- a/src/devices/cpu/i386/i386.h +++ b/src/devices/cpu/i386/i386.h @@ -60,6 +60,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 40; } virtual uint32_t execute_input_lines() const override { return 32; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; @@ -1475,6 +1476,7 @@ public: protected: pentium_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock); + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI || inputnum == INPUT_LINE_SMI; } virtual void execute_set_input(int inputnum, int state) override; virtual void device_start() override; virtual void device_reset() override; diff --git a/src/devices/cpu/i8085/i8085.h b/src/devices/cpu/i8085/i8085.h index 9d94e850580..8c70aa03d71 100644 --- a/src/devices/cpu/i8085/i8085.h +++ b/src/devices/cpu/i8085/i8085.h @@ -85,7 +85,8 @@ protected: virtual u32 execute_min_cycles() const override { return 4; } virtual u32 execute_max_cycles() const override { return 16; } virtual u32 execute_input_lines() const override { return 4; } - virtual u32 execute_default_irq_vector() const override { return 0xff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == I8085_RST75_LINE; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; virtual u64 execute_clocks_to_cycles(u64 clocks) const override { return (clocks + 2 - 1) / 2; } diff --git a/src/devices/cpu/i86/i86.h b/src/devices/cpu/i86/i86.h index 5c7af40f92b..2631003c576 100644 --- a/src/devices/cpu/i86/i86.h +++ b/src/devices/cpu/i86/i86.h @@ -138,6 +138,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 50; } virtual void execute_set_input(int inputnum, int state) override; + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } // device_disasm_interface overrides virtual std::unique_ptr create_disassembler() override; diff --git a/src/devices/cpu/i960/i960.h b/src/devices/cpu/i960/i960.h index a17a52c401b..3b6e7758f13 100644 --- a/src/devices/cpu/i960/i960.h +++ b/src/devices/cpu/i960/i960.h @@ -90,7 +90,6 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } /* ???? TODO: Exact timing unknown */ virtual uint32_t execute_max_cycles() const override { return 1; } /* ???? TODO: Exact timing unknown */ virtual uint32_t execute_input_lines() const override { return 4; } - virtual uint32_t execute_default_irq_vector() const override { return 0xffffffff; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/lh5801/lh5801.h b/src/devices/cpu/lh5801/lh5801.h index fbdb54a0f31..1d004105a9c 100644 --- a/src/devices/cpu/lh5801/lh5801.h +++ b/src/devices/cpu/lh5801/lh5801.h @@ -82,7 +82,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 2; } virtual uint32_t execute_max_cycles() const override { return 19; } virtual uint32_t execute_input_lines() const override { return 2; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == LH5801_LINE_MI || inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/m37710/m37710op.h b/src/devices/cpu/m37710/m37710op.h index 52eeaee19c2..c751be0fc7e 100644 --- a/src/devices/cpu/m37710/m37710op.h +++ b/src/devices/cpu/m37710/m37710op.h @@ -2523,7 +2523,6 @@ TABLE_FUNCTION(void, set_line, (int line, int state)) break; case ASSERT_LINE: - case PULSE_LINE: case HOLD_LINE: LINE_IRQ |= (1 << line); if (m37710_irq_levels[line]) diff --git a/src/devices/cpu/m6502/m6502.cpp b/src/devices/cpu/m6502/m6502.cpp index 9ed8d4b63f0..333f0e7dfa5 100644 --- a/src/devices/cpu/m6502/m6502.cpp +++ b/src/devices/cpu/m6502/m6502.cpp @@ -140,6 +140,11 @@ uint32_t m6502_device::execute_input_lines() const return NMI_LINE+1; } +bool m6502_device::execute_input_edge_triggered(int inputnum) const +{ + return inputnum == NMI_LINE; +} + void m6502_device::do_adc_d(uint8_t val) { uint8_t c = P & F_C ? 1 : 0; diff --git a/src/devices/cpu/m6502/m6502.h b/src/devices/cpu/m6502/m6502.h index 18e7f54a920..c16757581f3 100644 --- a/src/devices/cpu/m6502/m6502.h +++ b/src/devices/cpu/m6502/m6502.h @@ -96,6 +96,7 @@ protected: virtual uint32_t execute_input_lines() const override; virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; + virtual bool execute_input_edge_triggered(int inputnum) const override; // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; diff --git a/src/devices/cpu/m6800/m6800.h b/src/devices/cpu/m6800/m6800.h index 018280813fb..72fc1ada619 100644 --- a/src/devices/cpu/m6800/m6800.h +++ b/src/devices/cpu/m6800/m6800.h @@ -55,7 +55,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 12; } virtual uint32_t execute_input_lines() const override { return 2; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/m6800/m6801.h b/src/devices/cpu/m6800/m6801.h index c31248f18fc..8c8c98d8104 100644 --- a/src/devices/cpu/m6800/m6801.h +++ b/src/devices/cpu/m6800/m6801.h @@ -16,7 +16,6 @@ enum /* Active eddge is selecrable by internal reg. */ /* raise eddge : CLEAR_LINE -> ASSERT_LINE */ /* fall eddge : ASSERT_LINE -> CLEAR_LINE */ - /* it is usuali to use PULSE_LINE state */ M6801_SC1_LINE }; diff --git a/src/devices/cpu/m68000/m68000.h b/src/devices/cpu/m68000/m68000.h index f2f0995196e..a147a78bf64 100644 --- a/src/devices/cpu/m68000/m68000.h +++ b/src/devices/cpu/m68000/m68000.h @@ -117,6 +117,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 4; }; virtual uint32_t execute_max_cycles() const override { return 158; }; virtual uint32_t execute_input_lines() const override { return 8; }; // number of input lines + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return M68K_INT_ACK_AUTOVECTOR; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == M68K_IRQ_7; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; @@ -352,8 +354,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 4; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; @@ -375,8 +375,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 4; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -395,8 +393,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 4; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -412,8 +408,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 4; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -429,8 +423,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 4; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -446,8 +438,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -463,8 +453,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -480,8 +468,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -497,8 +483,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -514,8 +498,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - virtual bool memory_translate(int space, int intention, offs_t &address) override; // device-level overrides @@ -533,8 +515,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -550,8 +530,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -567,8 +545,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -584,8 +560,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -601,8 +575,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -618,8 +590,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 4; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; }; @@ -638,8 +608,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; @@ -661,8 +629,6 @@ public: virtual uint32_t execute_min_cycles() const override { return 2; }; virtual uint32_t execute_max_cycles() const override { return 158; }; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; - // device-level overrides virtual void device_start() override; diff --git a/src/devices/cpu/m6805/m6805.h b/src/devices/cpu/m6805/m6805.h index ad3b2ca61ec..e4114e5b0ab 100644 --- a/src/devices/cpu/m6805/m6805.h +++ b/src/devices/cpu/m6805/m6805.h @@ -114,6 +114,7 @@ protected: virtual void execute_set_input(int inputnum, int state) override; virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const override; virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const override; + virtual bool execute_input_edge_triggered(int inputnum) const override { return true; } // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; @@ -319,6 +320,7 @@ protected: virtual void device_reset() override; virtual void execute_set_input(int inputnum, int state) override; + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void interrupt_vector() override; virtual bool test_il() override { return m_nmi_state != CLEAR_LINE; } diff --git a/src/devices/cpu/m6805/m68hc05.cpp b/src/devices/cpu/m6805/m68hc05.cpp index e794a7f476d..ba75e7853c4 100644 --- a/src/devices/cpu/m6805/m68hc05.cpp +++ b/src/devices/cpu/m6805/m68hc05.cpp @@ -618,7 +618,7 @@ void m68hc05_device::burn_cycles(unsigned count) { LOGCOP("PCOP reset\n"); m_copcr |= 0x10; - set_input_line(INPUT_LINE_RESET, PULSE_LINE); + pulse_input_line(INPUT_LINE_RESET, attotime::zero); } m_pcop_cnt = (m_pcop_cnt + count) & ((u32(1) << 21) - 1); @@ -626,7 +626,7 @@ void m68hc05_device::burn_cycles(unsigned count) m_ncop_cnt += count; if ((u32(1) << 17) <= m_ncop_cnt) { - set_input_line(INPUT_LINE_RESET, PULSE_LINE); + pulse_input_line(INPUT_LINE_RESET, attotime::zero); LOGCOP("NCOP reset\n"); } m_ncop_cnt &= (u32(1) << 17) - 1; diff --git a/src/devices/cpu/m6809/m6809.h b/src/devices/cpu/m6809/m6809.h index 6886dcbb3d3..6451a3074ca 100644 --- a/src/devices/cpu/m6809/m6809.h +++ b/src/devices/cpu/m6809/m6809.h @@ -65,6 +65,7 @@ protected: virtual uint32_t execute_input_lines() const override; virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const override; virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const override; diff --git a/src/devices/cpu/mc68hc11/mc68hc11.h b/src/devices/cpu/mc68hc11/mc68hc11.h index f2d834b7ad4..df8b05a4b27 100644 --- a/src/devices/cpu/mc68hc11/mc68hc11.h +++ b/src/devices/cpu/mc68hc11/mc68hc11.h @@ -59,7 +59,6 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 41; } virtual uint32_t execute_input_lines() const override { return 2; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/mcs48/mcs48.h b/src/devices/cpu/mcs48/mcs48.h index 35b2feec29b..ae26c1a2d62 100644 --- a/src/devices/cpu/mcs48/mcs48.h +++ b/src/devices/cpu/mcs48/mcs48.h @@ -176,7 +176,6 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 3; } virtual uint32_t execute_input_lines() const override { return 2; } - virtual uint32_t execute_default_irq_vector() const override { return MCS48_INPUT_IRQ; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/mcs51/mcs51.h b/src/devices/cpu/mcs51/mcs51.h index 32425cdc0f3..1001d355bc1 100644 --- a/src/devices/cpu/mcs51/mcs51.h +++ b/src/devices/cpu/mcs51/mcs51.h @@ -119,7 +119,6 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 20; } virtual uint32_t execute_input_lines() const override { return 6; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/nanoprocessor/nanoprocessor.h b/src/devices/cpu/nanoprocessor/nanoprocessor.h index 145ec5e2e5b..a4de6b661fb 100644 --- a/src/devices/cpu/nanoprocessor/nanoprocessor.h +++ b/src/devices/cpu/nanoprocessor/nanoprocessor.h @@ -82,7 +82,7 @@ public: // 3 cycles is for int. acknowledge + 1 instruction virtual uint32_t execute_max_cycles() const override { return 3; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; diff --git a/src/devices/cpu/nec/nec.h b/src/devices/cpu/nec/nec.h index 2124d0814f9..5d8e2ad3338 100644 --- a/src/devices/cpu/nec/nec.h +++ b/src/devices/cpu/nec/nec.h @@ -7,9 +7,6 @@ #pragma once -#define NEC_INPUT_LINE_INTP0 10 -#define NEC_INPUT_LINE_INTP1 11 -#define NEC_INPUT_LINE_INTP2 12 #define NEC_INPUT_LINE_POLL 20 enum @@ -35,7 +32,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 80; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/nec/v25.h b/src/devices/cpu/nec/v25.h index 27a63b739b0..9deaa0951ae 100644 --- a/src/devices/cpu/nec/v25.h +++ b/src/devices/cpu/nec/v25.h @@ -80,7 +80,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 80; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI || (inputnum >= NEC_INPUT_LINE_INTP0 && inputnum <= NEC_INPUT_LINE_INTP2); } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/pic16c5x/pic16c5x.h b/src/devices/cpu/pic16c5x/pic16c5x.h index 0cff2843715..f83e2a420b4 100644 --- a/src/devices/cpu/pic16c5x/pic16c5x.h +++ b/src/devices/cpu/pic16c5x/pic16c5x.h @@ -122,7 +122,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 2; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == PIC16C5x_RTCC; } virtual void execute_run() override; virtual void execute_set_input(int line, int state) override; diff --git a/src/devices/cpu/pic16c62x/pic16c62x.h b/src/devices/cpu/pic16c62x/pic16c62x.h index 0d228b4b8fd..52a38b65696 100644 --- a/src/devices/cpu/pic16c62x/pic16c62x.h +++ b/src/devices/cpu/pic16c62x/pic16c62x.h @@ -67,7 +67,6 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 2; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } virtual void execute_run() override; // device_memory_interface overrides diff --git a/src/devices/cpu/pps4/pps4.h b/src/devices/cpu/pps4/pps4.h index f551cf2c0be..d74621890b3 100644 --- a/src/devices/cpu/pps4/pps4.h +++ b/src/devices/cpu/pps4/pps4.h @@ -72,7 +72,6 @@ protected: virtual u32 execute_min_cycles() const override { return 1; } virtual u32 execute_max_cycles() const override { return 3; } virtual u32 execute_input_lines() const override { return 0; } - virtual u32 execute_default_irq_vector() const override { return 0; } virtual void execute_run() override; // device_memory_interface overrides diff --git a/src/devices/cpu/rsp/rsp.h b/src/devices/cpu/rsp/rsp.h index a4a3b239c1b..4c4c315e111 100644 --- a/src/devices/cpu/rsp/rsp.h +++ b/src/devices/cpu/rsp/rsp.h @@ -145,7 +145,6 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 1; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override { } diff --git a/src/devices/cpu/s2650/s2650.h b/src/devices/cpu/s2650/s2650.h index fd0a7d29286..eed957ee828 100644 --- a/src/devices/cpu/s2650/s2650.h +++ b/src/devices/cpu/s2650/s2650.h @@ -56,7 +56,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 5; } virtual uint32_t execute_max_cycles() const override { return 13; } virtual uint32_t execute_input_lines() const override { return 2; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/se3208/se3208.h b/src/devices/cpu/se3208/se3208.h index b62470c987f..d0528b8208d 100644 --- a/src/devices/cpu/se3208/se3208.h +++ b/src/devices/cpu/se3208/se3208.h @@ -29,6 +29,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 1; } virtual uint32_t execute_input_lines() const override { return 1; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/sh/sh2.h b/src/devices/cpu/sh/sh2.h index c5693ca9ebd..2fd53b05e93 100644 --- a/src/devices/cpu/sh/sh2.h +++ b/src/devices/cpu/sh/sh2.h @@ -99,7 +99,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 4; } virtual uint32_t execute_input_lines() const override { return 16; } - virtual uint32_t execute_default_irq_vector() const override { return 0; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/sh/sh4.h b/src/devices/cpu/sh/sh4.h index 8d6af845820..eb84a9128f9 100644 --- a/src/devices/cpu/sh/sh4.h +++ b/src/devices/cpu/sh/sh4.h @@ -309,6 +309,7 @@ protected: virtual uint32_t execute_input_lines() const override { return 5; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; diff --git a/src/devices/cpu/spc700/spc700.h b/src/devices/cpu/spc700/spc700.h index 9050bdfe981..7e95c09765d 100644 --- a/src/devices/cpu/spc700/spc700.h +++ b/src/devices/cpu/spc700/spc700.h @@ -21,6 +21,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 2; } virtual uint32_t execute_max_cycles() const override { return 8; } virtual uint32_t execute_input_lines() const override { return 1; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/t11/t11.h b/src/devices/cpu/t11/t11.h index 371f05780c7..a6e12b51518 100644 --- a/src/devices/cpu/t11/t11.h +++ b/src/devices/cpu/t11/t11.h @@ -57,7 +57,7 @@ protected: virtual uint32_t execute_input_lines() const override { return 4; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; - virtual uint32_t execute_default_irq_vector() const override { return -1; }; + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return -1; } // device_memory_interface overrides virtual space_config_vector memory_space_config() const override; diff --git a/src/devices/cpu/tlcs870/tlcs870.h b/src/devices/cpu/tlcs870/tlcs870.h index d0ab90221c5..42ca4b1c6c6 100644 --- a/src/devices/cpu/tlcs870/tlcs870.h +++ b/src/devices/cpu/tlcs870/tlcs870.h @@ -93,7 +93,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 2; } virtual uint32_t execute_max_cycles() const override { return 26; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/tlcs90/tlcs90.h b/src/devices/cpu/tlcs90/tlcs90.h index 3d5a27a25b9..9fb16ad5bd4 100644 --- a/src/devices/cpu/tlcs90/tlcs90.h +++ b/src/devices/cpu/tlcs90/tlcs90.h @@ -112,7 +112,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 2; } virtual uint32_t execute_max_cycles() const override { return 26; } virtual uint32_t execute_input_lines() const override { return 1; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; virtual void execute_burn(int32_t cycles) override; diff --git a/src/devices/cpu/tlcs900/tlcs900.h b/src/devices/cpu/tlcs900/tlcs900.h index 5bddc3ead85..0da3f597a61 100644 --- a/src/devices/cpu/tlcs900/tlcs900.h +++ b/src/devices/cpu/tlcs900/tlcs900.h @@ -63,6 +63,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } /* FIXME */ virtual uint32_t execute_max_cycles() const override { return 1; } /* FIXME */ virtual uint32_t execute_input_lines() const override { return 6; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; // device_memory_interface overrides diff --git a/src/devices/cpu/upd7810/upd7810.h b/src/devices/cpu/upd7810/upd7810.h index bde0a6c6a7f..a609707f1d9 100644 --- a/src/devices/cpu/upd7810/upd7810.h +++ b/src/devices/cpu/upd7810/upd7810.h @@ -220,6 +220,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 40; } virtual uint32_t execute_input_lines() const override { return 2; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return true; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/v30mz/v30mz.h b/src/devices/cpu/v30mz/v30mz.h index 90eddd0f842..8a9ebbb2797 100644 --- a/src/devices/cpu/v30mz/v30mz.h +++ b/src/devices/cpu/v30mz/v30mz.h @@ -37,6 +37,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 80; } virtual uint32_t execute_input_lines() const override { return 1; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/v60/v60.h b/src/devices/cpu/v60/v60.h index a0c7ebe6e7e..14a0ca62615 100644 --- a/src/devices/cpu/v60/v60.h +++ b/src/devices/cpu/v60/v60.h @@ -99,6 +99,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 1; } virtual uint32_t execute_input_lines() const override { return 1; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/z180/z180.h b/src/devices/cpu/z180/z180.h index ae1476762a6..ad5d1589717 100644 --- a/src/devices/cpu/z180/z180.h +++ b/src/devices/cpu/z180/z180.h @@ -143,7 +143,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 1; } virtual uint32_t execute_max_cycles() const override { return 16; } virtual uint32_t execute_input_lines() const override { return 5; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_burn(int32_t cycles) override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/z8/z8.h b/src/devices/cpu/z8/z8.h index ff37f5f2edd..f0f135296e4 100644 --- a/src/devices/cpu/z8/z8.h +++ b/src/devices/cpu/z8/z8.h @@ -75,6 +75,7 @@ protected: virtual uint32_t execute_min_cycles() const override { return 6; } virtual uint32_t execute_max_cycles() const override { return 27; } virtual uint32_t execute_input_lines() const override { return 4; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return true; } virtual uint64_t execute_clocks_to_cycles(uint64_t clocks) const override { return (clocks + 2 - 1) / 2; } virtual uint64_t execute_cycles_to_clocks(uint64_t cycles) const override { return (cycles * 2); } virtual void execute_run() override; diff --git a/src/devices/cpu/z80/z80.h b/src/devices/cpu/z80/z80.h index a1482fc10a4..9e7471c9826 100644 --- a/src/devices/cpu/z80/z80.h +++ b/src/devices/cpu/z80/z80.h @@ -57,7 +57,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 2; } virtual uint32_t execute_max_cycles() const override { return 16; } virtual uint32_t execute_input_lines() const override { return 4; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/cpu/z8000/z8000.h b/src/devices/cpu/z8000/z8000.h index 46cd26200d1..93cab12a193 100644 --- a/src/devices/cpu/z8000/z8000.h +++ b/src/devices/cpu/z8000/z8000.h @@ -53,7 +53,8 @@ protected: virtual uint32_t execute_min_cycles() const override { return 2; } virtual uint32_t execute_max_cycles() const override { return 744; } virtual uint32_t execute_input_lines() const override { return 2; } - virtual uint32_t execute_default_irq_vector() const override { return 0xff; } + virtual uint32_t execute_default_irq_vector(int inputnum) const override { return 0xff; } + virtual bool execute_input_edge_triggered(int inputnum) const override { return inputnum == INPUT_LINE_NMI; } virtual void execute_run() override; virtual void execute_set_input(int inputnum, int state) override; diff --git a/src/devices/machine/s2636.cpp b/src/devices/machine/s2636.cpp index c8b1adb62e0..3d29e76b099 100644 --- a/src/devices/machine/s2636.cpp +++ b/src/devices/machine/s2636.cpp @@ -436,7 +436,7 @@ WRITE8_MEMBER( s2636_device::write_data ) WRITE_LINE_MEMBER( s2636_device::write_intack ) { - assert((ASSERT_LINE == state) || (HOLD_LINE == state) || (CLEAR_LINE == state) || (PULSE_LINE == state)); + assert((ASSERT_LINE == state) || (HOLD_LINE == state) || (CLEAR_LINE == state)); // pretend interrupt acknowledge is handled instantaneously m_intack = state; diff --git a/src/devices/machine/z80scc.cpp b/src/devices/machine/z80scc.cpp index f98de82ae43..0bcefeb8913 100644 --- a/src/devices/machine/z80scc.cpp +++ b/src/devices/machine/z80scc.cpp @@ -635,7 +635,7 @@ int z80scc_device::z80daisy_irq_ack() if (ret == -1 && m_cputag != nullptr) { // default irq vector is -1 for 68000 but 0 for z80 for example... - ret = owner()->subdevice(m_cputag)->default_irq_vector(); + ret = owner()->subdevice(m_cputag)->default_irq_vector(INPUT_LINE_IRQ0); LOGINT(" - failed to find an interrupt to ack, returning default IRQ vector: %02x\n", ret ); logerror("z80sio_irq_ack: failed to find an interrupt to ack!\n"); } diff --git a/src/devices/machine/z80sio.cpp b/src/devices/machine/z80sio.cpp index 4f236814857..c52a29983b5 100644 --- a/src/devices/machine/z80sio.cpp +++ b/src/devices/machine/z80sio.cpp @@ -491,7 +491,7 @@ int z80sio_device::z80daisy_irq_ack() { // default irq vector is -1 for 68000 but 0 for z80 for example... // FIXME: use an optional_device or something - int const ret = owner()->subdevice(m_cputag)->default_irq_vector(); + int const ret = owner()->subdevice(m_cputag)->default_irq_vector(INPUT_LINE_IRQ0); LOGINT(" - failed to find an interrupt to ack [%s], returning default IRQ vector: %02x\n", m_cputag, ret); return ret; } @@ -560,7 +560,7 @@ int i8274_new_device::z80daisy_irq_ack() { // default irq vector is -1 for 68000 but 0 for z80 for example... // FIXME: use an optional_device or something - int const ret = owner()->subdevice(m_cputag)->default_irq_vector(); + int const ret = owner()->subdevice(m_cputag)->default_irq_vector(INPUT_LINE_IRQ0); LOGINT(" - failed to find an interrupt to ack [%s], returning default IRQ vector: %02x\n", m_cputag, ret); return ret; } diff --git a/src/emu/diexec.cpp b/src/emu/diexec.cpp index 3cae100162e..203ed8825b8 100644 --- a/src/emu/diexec.cpp +++ b/src/emu/diexec.cpp @@ -296,12 +296,23 @@ u32 device_execute_interface::execute_input_lines() const // IRQ vector when an acknowledge is processed //------------------------------------------------- -u32 device_execute_interface::execute_default_irq_vector() const +u32 device_execute_interface::execute_default_irq_vector(int linenum) const { return 0; } +//------------------------------------------------- +// execute_input_edge_triggered - return true if +// the input line has an asynchronous edge trigger +//------------------------------------------------- + +bool device_execute_interface::execute_input_edge_triggered(int linenum) const +{ + return false; +} + + //------------------------------------------------- // execute_burn - called after we consume a bunch // of cycles for artifical reasons (such as @@ -580,11 +591,22 @@ TIMER_CALLBACK_MEMBER(device_execute_interface::trigger_periodic_interrupt) void device_execute_interface::pulse_input_line(int irqline, const attotime &duration) { - assert(duration > attotime::zero); - set_input_line(irqline, ASSERT_LINE); + // treat instantaneous pulses as ASSERT+CLEAR + if (duration == attotime::zero) + { + if (irqline != INPUT_LINE_RESET && !input_edge_triggered(irqline)) + throw emu_fatalerror("device '%s': zero-width pulse is not allowed for input line %d\n", device().tag(), irqline); + + set_input_line(irqline, ASSERT_LINE); + set_input_line(irqline, CLEAR_LINE); + } + else + { + set_input_line(irqline, ASSERT_LINE); - attotime target_time = local_time() + duration; - m_scheduler->timer_set(target_time - m_scheduler->time(), timer_expired_delegate(FUNC(device_execute_interface::irq_pulse_clear), this), irqline); + attotime target_time = local_time() + duration; + m_scheduler->timer_set(target_time - m_scheduler->time(), timer_expired_delegate(FUNC(device_execute_interface::irq_pulse_clear), this), irqline); + } } @@ -596,11 +618,22 @@ void device_execute_interface::pulse_input_line(int irqline, const attotime &dur void device_execute_interface::pulse_input_line_and_vector(int irqline, int vector, const attotime &duration) { - assert(duration > attotime::zero); - set_input_line_and_vector(irqline, ASSERT_LINE, vector); + // treat instantaneous pulses as ASSERT+CLEAR + if (duration == attotime::zero) + { + if (irqline != INPUT_LINE_RESET && !input_edge_triggered(irqline)) + throw emu_fatalerror("device '%s': zero-width pulse is not allowed for input line %d\n", device().tag(), irqline); + + set_input_line_and_vector(irqline, ASSERT_LINE, vector); + set_input_line_and_vector(irqline, CLEAR_LINE, vector); + } + else + { + set_input_line_and_vector(irqline, ASSERT_LINE, vector); - attotime target_time = local_time() + duration; - m_scheduler->timer_set(target_time - m_scheduler->time(), timer_expired_delegate(FUNC(device_execute_interface::irq_pulse_clear), this), irqline); + attotime target_time = local_time() + duration; + m_scheduler->timer_set(target_time - m_scheduler->time(), timer_expired_delegate(FUNC(device_execute_interface::irq_pulse_clear), this), irqline); + } } @@ -650,7 +683,7 @@ void device_execute_interface::device_input::start(device_execute_interface *exe void device_execute_interface::device_input::reset() { - m_curvector = m_stored_vector = m_execute->default_irq_vector(); + m_curvector = m_stored_vector = m_execute->default_irq_vector(m_linenum); m_qindex = 0; } @@ -665,19 +698,7 @@ void device_execute_interface::device_input::set_state_synced(int state, int vec LOG(("set_state_synced('%s',%d,%d,%02x)\n", m_execute->device().tag(), m_linenum, state, vector)); if (TEMPLOG) printf("setline(%s,%d,%d,%d)\n", m_execute->device().tag(), m_linenum, state, (vector == USE_STORED_VECTOR) ? 0 : vector); - assert(state == ASSERT_LINE || state == HOLD_LINE || state == CLEAR_LINE || state == PULSE_LINE); - - // treat PULSE_LINE as ASSERT+CLEAR - if (state == PULSE_LINE) - { - // catch errors where people use PULSE_LINE for devices that don't support it - if (m_linenum != INPUT_LINE_NMI && m_linenum != INPUT_LINE_RESET) - throw emu_fatalerror("device '%s': PULSE_LINE can only be used for NMI and RESET lines\n", m_execute->device().tag()); - - set_state_synced(ASSERT_LINE, vector); - set_state_synced(CLEAR_LINE, vector); - return; - } + assert(state == ASSERT_LINE || state == HOLD_LINE || state == CLEAR_LINE); // if we're full of events, flush the queue and log a message int event_index = m_qindex++; diff --git a/src/emu/diexec.h b/src/emu/diexec.h index 90351a3b4d9..3c9d754434e 100644 --- a/src/emu/diexec.h +++ b/src/emu/diexec.h @@ -35,8 +35,7 @@ enum line_state { CLEAR_LINE = 0, // clear (a fired or held) line ASSERT_LINE, // assert an interrupt immediately - HOLD_LINE, // hold interrupt line until acknowledged - PULSE_LINE // pulse interrupt line instantaneously (only for NMI, RESET) + HOLD_LINE // hold interrupt line until acknowledged }; @@ -136,7 +135,8 @@ public: attotime cycles_to_attotime(u64 cycles) const { return device().clocks_to_attotime(cycles_to_clocks(cycles)); } u64 attotime_to_cycles(const attotime &duration) const { return clocks_to_cycles(device().attotime_to_clocks(duration)); } u32 input_lines() const { return execute_input_lines(); } - u32 default_irq_vector() const { return execute_default_irq_vector(); } + u32 default_irq_vector(int linenum) const { return execute_default_irq_vector(linenum); } + bool input_edge_triggered(int linenum) const { return execute_input_edge_triggered(linenum); } // inline configuration helpers void set_disable() { m_disabled = true; } @@ -203,7 +203,8 @@ protected: // input line information getters virtual u32 execute_input_lines() const; - virtual u32 execute_default_irq_vector() const; + virtual u32 execute_default_irq_vector(int linenum) const; + virtual bool execute_input_edge_triggered(int linenum) const; // optional operation overrides virtual void execute_run() = 0; diff --git a/src/emu/driver.cpp b/src/emu/driver.cpp index 415872d4989..53a4280b493 100644 --- a/src/emu/driver.cpp +++ b/src/emu/driver.cpp @@ -288,7 +288,7 @@ void driver_device::device_reset_after_children() // NMI callbacks //------------------------------------------------- -INTERRUPT_GEN_MEMBER( driver_device::nmi_line_pulse ) { device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); } +INTERRUPT_GEN_MEMBER( driver_device::nmi_line_pulse ) { device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER( driver_device::nmi_line_assert ) { device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); } diff --git a/src/mame/audio/cchasm.cpp b/src/mame/audio/cchasm.cpp index 48dd6b8abe2..f72a19ac0e5 100644 --- a/src/mame/audio/cchasm.cpp +++ b/src/mame/audio/cchasm.cpp @@ -67,7 +67,7 @@ WRITE16_MEMBER(cchasm_state::io_w) m_sound_flags |= 0x80; m_soundlatch2->write(space, offset, data); m_ctc->trg2(1); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; case 2: //led = data; diff --git a/src/mame/audio/dcs.cpp b/src/mame/audio/dcs.cpp index 34207213b53..667e83bdee6 100644 --- a/src/mame/audio/dcs.cpp +++ b/src/mame/audio/dcs.cpp @@ -1875,7 +1875,7 @@ WRITE16_MEMBER(dcs_audio_device:: adsp_control_w ) if ((data & 0x0200) && !(m_rev == REV_DSIO || m_rev == REV_DENV)) { logerror("%s Rebooting DCS due to SYSCONTROL write = %04X\n", machine().describe_context(), data); - m_cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); dcs_boot(); m_control_regs[SYSCONTROL_REG] = 0; } diff --git a/src/mame/audio/gottlieb.cpp b/src/mame/audio/gottlieb.cpp index be53f582c66..58cbd11cedb 100644 --- a/src/mame/audio/gottlieb.cpp +++ b/src/mame/audio/gottlieb.cpp @@ -101,7 +101,7 @@ INPUT_CHANGED_MEMBER( gottlieb_sound_r0_device::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/audio/rax.cpp b/src/mame/audio/rax.cpp index 71f6a04e222..4b16f6b1975 100644 --- a/src/mame/audio/rax.cpp +++ b/src/mame/audio/rax.cpp @@ -225,7 +225,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( acclaim_rax_device::dma_timer_callback ) m_control_regs[BDMA_CONTROL_REG] |= ((param >> 14) & 0xff) << 8; if (m_control_regs[BDMA_CONTROL_REG] & 8) - m_cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); else m_cpu->pulse_input_line(ADSP2181_BDMA, m_cpu->minimum_quantum_time()); diff --git a/src/mame/audio/redalert.cpp b/src/mame/audio/redalert.cpp index 9f39dd49205..fa569553689 100644 --- a/src/mame/audio/redalert.cpp +++ b/src/mame/audio/redalert.cpp @@ -73,7 +73,7 @@ WRITE8_MEMBER(redalert_state::redalert_audio_command_w) /* D7 is also connected to the NMI input of the CPU - the NMI is actually toggled by a 74121 (R1=27K, C10=330p) */ if ((data & 0x80) == 0x00) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } @@ -254,7 +254,7 @@ WRITE8_MEMBER(redalert_state::demoneye_audio_command_w) { /* the byte is connected to port A of the AY8910 */ m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/audio/s11c_bg.cpp b/src/mame/audio/s11c_bg.cpp index 6a140ded447..14fae6244c1 100644 --- a/src/mame/audio/s11c_bg.cpp +++ b/src/mame/audio/s11c_bg.cpp @@ -95,7 +95,7 @@ void s11c_bg_device::device_reset() m_cpubank->configure_entries(0, 8, &ROM[0x10000], 0x8000); m_cpubank->set_entry(0); // reset the CPU again, so that the CPU are starting with the right vectors (otherwise sound may die on reset) - m_cpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } WRITE_LINE_MEMBER( s11c_bg_device::ym2151_irq_w) diff --git a/src/mame/audio/starwars.cpp b/src/mame/audio/starwars.cpp index 817749a5e10..d6ca9a8f0bd 100644 --- a/src/mame/audio/starwars.cpp +++ b/src/mame/audio/starwars.cpp @@ -75,5 +75,5 @@ WRITE8_MEMBER(starwars_state::starwars_soundrst_w) m_mainlatch->acknowledge_w(space, 0, 0); /* reset sound CPU here */ - m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } diff --git a/src/mame/audio/wpcsnd.cpp b/src/mame/audio/wpcsnd.cpp index 470790492bc..8f918353b49 100644 --- a/src/mame/audio/wpcsnd.cpp +++ b/src/mame/audio/wpcsnd.cpp @@ -48,7 +48,7 @@ void wpcsnd_device::wpcsnd_map(address_map &map) void wpcsnd_device::ctrl_w(uint8_t data) { - m_cpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } void wpcsnd_device::data_w(uint8_t data) @@ -102,7 +102,7 @@ void wpcsnd_device::device_reset() m_fixedbank->set_entry(0); // reset the CPU again, so that the CPU is starting with the right vectors (otherwise sound may die on reset) - m_cpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_reply_available = false; } diff --git a/src/mame/drivers/4enlinea.cpp b/src/mame/drivers/4enlinea.cpp index 8d736d07da0..06d2190a9e6 100644 --- a/src/mame/drivers/4enlinea.cpp +++ b/src/mame/drivers/4enlinea.cpp @@ -485,7 +485,7 @@ INTERRUPT_GEN_MEMBER(_4enlinea_state::_4enlinea_irq) { if(m_irq_count == 0) { - //device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + //device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } else device.execute().set_input_line(0, HOLD_LINE); diff --git a/src/mame/drivers/aces1.cpp b/src/mame/drivers/aces1.cpp index d4a01596885..af6ca6f0db0 100644 --- a/src/mame/drivers/aces1.cpp +++ b/src/mame/drivers/aces1.cpp @@ -252,7 +252,7 @@ TIMER_CALLBACK_MEMBER(aces1_state::m_aces1_irq_timer_callback) TIMER_CALLBACK_MEMBER(aces1_state::m_aces1_nmi_timer_callback) { // printf("nmi\n"); - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); aces1_reset_nmi_timer(); } diff --git a/src/mame/drivers/adam.cpp b/src/mame/drivers/adam.cpp index 689ff80bd95..9a410eeecb7 100644 --- a/src/mame/drivers/adam.cpp +++ b/src/mame/drivers/adam.cpp @@ -942,7 +942,7 @@ WRITE_LINE_MEMBER( adam_state::vdc_int_w ) { if (state && !m_vdp_nmi) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } m_vdp_nmi = state; diff --git a/src/mame/drivers/aerofgt.cpp b/src/mame/drivers/aerofgt.cpp index 47045783352..645f16eae0a 100644 --- a/src/mame/drivers/aerofgt.cpp +++ b/src/mame/drivers/aerofgt.cpp @@ -77,7 +77,7 @@ Verification still needed for the other PCBs. WRITE8_MEMBER(aerofgt_state::karatblzbl_soundlatch_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(aerofgt_state::pending_command_r) diff --git a/src/mame/drivers/agat.cpp b/src/mame/drivers/agat.cpp index f26d42dee5f..471364e7ddd 100644 --- a/src/mame/drivers/agat.cpp +++ b/src/mame/drivers/agat.cpp @@ -849,7 +849,7 @@ INTERRUPT_GEN_MEMBER(agat7_state::agat_vblank) { if (m_agat7_interrupts) { - m_maincpu->set_input_line(M6502_NMI_LINE, PULSE_LINE); + m_maincpu->pulse_input_line(M6502_NMI_LINE, attotime::zero); } } diff --git a/src/mame/drivers/airbustr.cpp b/src/mame/drivers/airbustr.cpp index cb01ba195da..4f841869de4 100644 --- a/src/mame/drivers/airbustr.cpp +++ b/src/mame/drivers/airbustr.cpp @@ -264,7 +264,7 @@ READ8_MEMBER(airbustr_state::devram_r) WRITE8_MEMBER(airbustr_state::master_nmi_trigger_w) { - m_slave->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_slave->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(airbustr_state::master_bankswitch_w) diff --git a/src/mame/drivers/alpha68k.cpp b/src/mame/drivers/alpha68k.cpp index 0bc0bff7e8d..0003ad7557b 100644 --- a/src/mame/drivers/alpha68k.cpp +++ b/src/mame/drivers/alpha68k.cpp @@ -293,7 +293,7 @@ WRITE8_MEMBER(alpha68k_state::paddlema_soundlatch_w) WRITE8_MEMBER(alpha68k_state::tnextspc_soundlatch_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } //ZT /******************************************************************************/ @@ -2102,7 +2102,7 @@ MACHINE_CONFIG_END INTERRUPT_GEN_MEMBER(alpha68k_state::alpha68k_sound_nmi) { if(m_sound_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(alpha68k_state::alpha68k_II) diff --git a/src/mame/drivers/amaticmg.cpp b/src/mame/drivers/amaticmg.cpp index 56c1974777c..92f9ab708ea 100644 --- a/src/mame/drivers/amaticmg.cpp +++ b/src/mame/drivers/amaticmg.cpp @@ -891,7 +891,7 @@ MACHINE_CONFIG_END WRITE_LINE_MEMBER(amaticmg_state::amaticmg2_irq) { if (state && m_nmi_mask) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/appoooh.cpp b/src/mame/drivers/appoooh.cpp index 516a9be71c9..87f5f2ce41d 100644 --- a/src/mame/drivers/appoooh.cpp +++ b/src/mame/drivers/appoooh.cpp @@ -416,7 +416,7 @@ void appoooh_state::machine_reset() INTERRUPT_GEN_MEMBER(appoooh_state::vblank_irq) { if(m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(appoooh_state::appoooh_common) diff --git a/src/mame/drivers/ashnojoe.cpp b/src/mame/drivers/ashnojoe.cpp index 254cdd2d52b..5e408bb80cb 100644 --- a/src/mame/drivers/ashnojoe.cpp +++ b/src/mame/drivers/ashnojoe.cpp @@ -285,7 +285,7 @@ WRITE_LINE_MEMBER(ashnojoe_state::ashnojoe_vclk_cb) else { m_msm->data_w(m_adpcm_byte & 0xf); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } m_msm5205_vclk_toggle ^= 1; diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp index a5c5de43dce..037996c9080 100644 --- a/src/mame/drivers/atari_s1.cpp +++ b/src/mame/drivers/atari_s1.cpp @@ -380,7 +380,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( atari_s1_state::nmi ) static const uint8_t patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0, 0, 0, 0, 0, 0 }; // 4511 m_bit6++; if (m_t_c > 0x40) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); else m_t_c++; diff --git a/src/mame/drivers/atom.cpp b/src/mame/drivers/atom.cpp index 01535891b23..1b452e43cb3 100644 --- a/src/mame/drivers/atom.cpp +++ b/src/mame/drivers/atom.cpp @@ -597,7 +597,7 @@ WRITE_LINE_MEMBER( atom_state::atom_8271_interrupt_callback ) { /* I'll pulse it because if I used hold-line I'm not sure it would clear - to be checked */ - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/bankp.cpp b/src/mame/drivers/bankp.cpp index 7b6e8f65a66..c28e2021951 100644 --- a/src/mame/drivers/bankp.cpp +++ b/src/mame/drivers/bankp.cpp @@ -290,7 +290,7 @@ void bankp_state::machine_reset() INTERRUPT_GEN_MEMBER(bankp_state::vblank_irq) { if(m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(bankp_state::bankp) diff --git a/src/mame/drivers/battlane.cpp b/src/mame/drivers/battlane.cpp index 933d7da9073..948c1217769 100644 --- a/src/mame/drivers/battlane.cpp +++ b/src/mame/drivers/battlane.cpp @@ -53,8 +53,8 @@ WRITE8_MEMBER(battlane_state::battlane_cpu_command_w) /* if (~m_cpu_control & 0x08) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } */ @@ -88,8 +88,8 @@ INTERRUPT_GEN_MEMBER(battlane_state::battlane_cpu1_interrupt) /* See note in battlane_cpu_command_w */ if (~m_cpu_control & 0x08) { - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/bbusters.cpp b/src/mame/drivers/bbusters.cpp index 68dd8354f95..299e590e5f6 100644 --- a/src/mame/drivers/bbusters.cpp +++ b/src/mame/drivers/bbusters.cpp @@ -258,7 +258,7 @@ WRITE16_MEMBER(bbusters_state::sound_cpu_w) if (ACCESSING_BITS_0_7) { m_soundlatch->write(space, 0, data&0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/berzerk.cpp b/src/mame/drivers/berzerk.cpp index 1f640a2bfec..0bb7fda4b02 100644 --- a/src/mame/drivers/berzerk.cpp +++ b/src/mame/drivers/berzerk.cpp @@ -312,7 +312,7 @@ TIMER_CALLBACK_MEMBER(berzerk_state::nmi_callback) /* pulse the NMI line if enabled */ if (m_nmi_enabled) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); /* set up for next interrupt */ next_nmi_number = (nmi_number + 1) % NMIS_PER_FRAME; diff --git a/src/mame/drivers/bingoc.cpp b/src/mame/drivers/bingoc.cpp index 6c75ace3c38..c4cf571d919 100644 --- a/src/mame/drivers/bingoc.cpp +++ b/src/mame/drivers/bingoc.cpp @@ -109,7 +109,7 @@ READ8_MEMBER(bingoc_state::sound_test_r) WRITE16_MEMBER(bingoc_state::main_sound_latch_w) { m_soundlatch->write(space,0,data&0xff); - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } #endif diff --git a/src/mame/drivers/bladestl.cpp b/src/mame/drivers/bladestl.cpp index 8305cc9fca4..de4b2bcbca7 100644 --- a/src/mame/drivers/bladestl.cpp +++ b/src/mame/drivers/bladestl.cpp @@ -48,7 +48,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(bladestl_state::bladestl_scanline) m_maincpu->set_input_line(HD6309_FIRQ_LINE, HOLD_LINE); if(scanline == 0) // vblank-in or timer irq - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /************************************* diff --git a/src/mame/drivers/blockade.cpp b/src/mame/drivers/blockade.cpp index bcac7543fd3..c63d1321f9b 100644 --- a/src/mame/drivers/blockade.cpp +++ b/src/mame/drivers/blockade.cpp @@ -326,7 +326,7 @@ INPUT_CHANGED_MEMBER( blockade_state::coin_inserted ) m_coin_inserted = newval; if (newval) - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } CUSTOM_INPUT_MEMBER( blockade_state::coin_r ) diff --git a/src/mame/drivers/blueprnt.cpp b/src/mame/drivers/blueprnt.cpp index e0d9debbdfd..00a0da13646 100644 --- a/src/mame/drivers/blueprnt.cpp +++ b/src/mame/drivers/blueprnt.cpp @@ -86,7 +86,7 @@ READ8_MEMBER(blueprnt_state::grasspin_sh_dipsw_r) WRITE8_MEMBER(blueprnt_state::blueprnt_sound_command_w) { m_soundlatch->write(space, offset, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(blueprnt_state::blueprnt_coin_counter_w) diff --git a/src/mame/drivers/bottom9.cpp b/src/mame/drivers/bottom9.cpp index 73c39de8224..b2396317327 100644 --- a/src/mame/drivers/bottom9.cpp +++ b/src/mame/drivers/bottom9.cpp @@ -137,7 +137,7 @@ WRITE8_MEMBER(bottom9_state::bottom9_sh_irqtrigger_w) INTERRUPT_GEN_MEMBER(bottom9_state::bottom9_sound_interrupt) { if (m_nmienable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(bottom9_state::nmi_enable_w) diff --git a/src/mame/drivers/brkthru.cpp b/src/mame/drivers/brkthru.cpp index 4253dde6cbc..3bf37c22fe1 100644 --- a/src/mame/drivers/brkthru.cpp +++ b/src/mame/drivers/brkthru.cpp @@ -370,7 +370,7 @@ void brkthru_state::machine_reset() WRITE_LINE_MEMBER(brkthru_state::vblank_irq) { if (state && m_nmi_mask) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(brkthru_state::brkthru) diff --git a/src/mame/drivers/by6803.cpp b/src/mame/drivers/by6803.cpp index 7b830110d4e..54cb7a4fcb1 100644 --- a/src/mame/drivers/by6803.cpp +++ b/src/mame/drivers/by6803.cpp @@ -164,7 +164,7 @@ INPUT_PORTS_END INPUT_CHANGED_MEMBER( by6803_state::activity_test ) { if(newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( by6803_state::self_test ) diff --git a/src/mame/drivers/byvid.cpp b/src/mame/drivers/byvid.cpp index be54bb23b40..b668fbce13a 100644 --- a/src/mame/drivers/byvid.cpp +++ b/src/mame/drivers/byvid.cpp @@ -202,19 +202,19 @@ void by133_state::sound_portmap(address_map &map) INPUT_CHANGED_MEMBER( by133_state::video_test ) { if(newval) - m_videocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_videocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( by133_state::sound_test ) { if(newval) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( by133_state::activity_test ) { if(newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( by133_state::self_test ) diff --git a/src/mame/drivers/bzone.cpp b/src/mame/drivers/bzone.cpp index 15338222d13..57109982e1f 100644 --- a/src/mame/drivers/bzone.cpp +++ b/src/mame/drivers/bzone.cpp @@ -252,7 +252,7 @@ void redbaron_state::machine_start() INTERRUPT_GEN_MEMBER(bzone_state::bzone_interrupt) { if (ioport("IN0")->read() & 0x10) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/cabal.cpp b/src/mame/drivers/cabal.cpp index 54627c02063..2f7397ea6da 100644 --- a/src/mame/drivers/cabal.cpp +++ b/src/mame/drivers/cabal.cpp @@ -97,7 +97,7 @@ WRITE16_MEMBER(cabal_state::sound_irq_trigger_word_w) WRITE16_MEMBER(cabal_state::cabalbl_sound_irq_trigger_word_w) { - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE ); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/cabaret.cpp b/src/mame/drivers/cabaret.cpp index 44ba9efefab..d03e1eda02b 100644 --- a/src/mame/drivers/cabaret.cpp +++ b/src/mame/drivers/cabaret.cpp @@ -353,8 +353,8 @@ void cabaret_state::machine_reset() INTERRUPT_GEN_MEMBER(cabaret_state::cabaret_interrupt) { - if (m_nmi_enable & 0x80) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (m_nmi_enable & 0x80) + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(cabaret_state::cabaret) diff --git a/src/mame/drivers/capbowl.cpp b/src/mame/drivers/capbowl.cpp index e2b14a88fc9..c062a90e76c 100644 --- a/src/mame/drivers/capbowl.cpp +++ b/src/mame/drivers/capbowl.cpp @@ -111,7 +111,7 @@ INTERRUPT_GEN_MEMBER(capbowl_state::interrupt) { if (ioport("SERVICE")->read() & 1) /* get status of the F2 key */ - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); /* trigger self test */ + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); /* trigger self test */ } diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp index 0fd48df444a..653034015b0 100644 --- a/src/mame/drivers/cave.cpp +++ b/src/mame/drivers/cave.cpp @@ -2745,7 +2745,7 @@ MACHINE_CONFIG_END TIMER_DEVICE_CALLBACK_MEMBER( cave_state::sailormn_startup ) { - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } MACHINE_RESET_MEMBER(cave_state,sailormn) diff --git a/src/mame/drivers/cclimber.cpp b/src/mame/drivers/cclimber.cpp index 7482e77bbb8..eccd68e34b3 100644 --- a/src/mame/drivers/cclimber.cpp +++ b/src/mame/drivers/cclimber.cpp @@ -1100,7 +1100,7 @@ GFXDECODE_END WRITE_LINE_MEMBER(cclimber_state::vblank_irq) { if (state && m_nmi_mask) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(cclimber_state::bagmanf_vblank_irq) diff --git a/src/mame/drivers/cheekyms.cpp b/src/mame/drivers/cheekyms.cpp index 5023905be72..b3a5c2af1bd 100644 --- a/src/mame/drivers/cheekyms.cpp +++ b/src/mame/drivers/cheekyms.cpp @@ -16,7 +16,7 @@ INPUT_CHANGED_MEMBER(cheekyms_state::coin_inserted) { /* this starts a 556 one-shot timer (and triggers a sound effect) */ if (newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/chessmst.cpp b/src/mame/drivers/chessmst.cpp index 58eed3150d0..e63e47e64e8 100644 --- a/src/mame/drivers/chessmst.cpp +++ b/src/mame/drivers/chessmst.cpp @@ -136,7 +136,7 @@ INPUT_CHANGED_MEMBER(chessmst_state::view_monitor_button) // pressing both VIEW and MONITOR buttons causes a reset if ((m_extra->read() & 0x03) == 0x03) { - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); machine_reset(); } } diff --git a/src/mame/drivers/cntsteer.cpp b/src/mame/drivers/cntsteer.cpp index 91b0b5f2be1..5e3b8a3cbe7 100644 --- a/src/mame/drivers/cntsteer.cpp +++ b/src/mame/drivers/cntsteer.cpp @@ -655,7 +655,7 @@ WRITE_LINE_MEMBER(cntsteer_state::subcpu_vblank_irq) INTERRUPT_GEN_MEMBER(cntsteer_state::sound_interrupt) { if (!m_nmimask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void cntsteer_state::sound_map(address_map &map) diff --git a/src/mame/drivers/cocoloco.cpp b/src/mame/drivers/cocoloco.cpp index 041674d3cda..63244a41b4c 100644 --- a/src/mame/drivers/cocoloco.cpp +++ b/src/mame/drivers/cocoloco.cpp @@ -455,7 +455,7 @@ void cocoloco_state::cocoloco_map(address_map &map) INPUT_CHANGED_MEMBER(cocoloco_state::coin_inserted) { if(newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } static INPUT_PORTS_START( cocoloco ) diff --git a/src/mame/drivers/coleco.cpp b/src/mame/drivers/coleco.cpp index 6a46634309b..870ff27c54d 100644 --- a/src/mame/drivers/coleco.cpp +++ b/src/mame/drivers/coleco.cpp @@ -170,7 +170,7 @@ WRITE_LINE_MEMBER(coleco_state::coleco_vdp_interrupt) { // NMI on rising edge if (state && !m_last_nmi_state) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_last_nmi_state = state; } diff --git a/src/mame/drivers/cswat.cpp b/src/mame/drivers/cswat.cpp index 8c19667adf7..dfe60925d24 100644 --- a/src/mame/drivers/cswat.cpp +++ b/src/mame/drivers/cswat.cpp @@ -243,7 +243,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(cswat_state::nmi_handler) { if (m_nmi_enabled) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void cswat_state::machine_reset() diff --git a/src/mame/drivers/darius.cpp b/src/mame/drivers/darius.cpp index 776edc89044..59c22b8b937 100644 --- a/src/mame/drivers/darius.cpp +++ b/src/mame/drivers/darius.cpp @@ -450,7 +450,7 @@ void darius_state::darius_sound2_map(address_map &map) WRITE_LINE_MEMBER(darius_state::darius_adpcm_int) { if (m_nmi_enable) - m_adpcm->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_adpcm->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(darius_state::adpcm_command_read) diff --git a/src/mame/drivers/dbz.cpp b/src/mame/drivers/dbz.cpp index 6dee5557436..ad93902728a 100644 --- a/src/mame/drivers/dbz.cpp +++ b/src/mame/drivers/dbz.cpp @@ -102,7 +102,7 @@ WRITE16_MEMBER(dbz_state::dbz_sound_command_w) WRITE16_MEMBER(dbz_state::dbz_sound_cause_nmi) { - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/de_2.cpp b/src/mame/drivers/de_2.cpp index f3ebd7b7907..5b46b8b0858 100644 --- a/src/mame/drivers/de_2.cpp +++ b/src/mame/drivers/de_2.cpp @@ -249,7 +249,7 @@ WRITE_LINE_MEMBER(de_2_state::msm5205_irq_w) if(m_more_data) { if(m_nmi_enable) - m_audiocpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); // generate NMI when we need more data + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // generate NMI when we need more data m_more_data = false; } else diff --git a/src/mame/drivers/deco_ld.cpp b/src/mame/drivers/deco_ld.cpp index 517faaa9292..884ceba0f97 100644 --- a/src/mame/drivers/deco_ld.cpp +++ b/src/mame/drivers/deco_ld.cpp @@ -303,7 +303,7 @@ WRITE8_MEMBER(deco_ld_state::nmimask_w) INTERRUPT_GEN_MEMBER(deco_ld_state::sound_interrupt) { - if (!m_nmimask) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (!m_nmimask) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/destroyr.cpp b/src/mame/drivers/destroyr.cpp index 7d2f3ea1e21..b0fcf048548 100644 --- a/src/mame/drivers/destroyr.cpp +++ b/src/mame/drivers/destroyr.cpp @@ -189,7 +189,7 @@ TIMER_CALLBACK_MEMBER(destroyr_state::dial_callback) if (m_potmask[dial]) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/djboy.cpp b/src/mame/drivers/djboy.cpp index d8fa3f97c98..d69ac528123 100644 --- a/src/mame/drivers/djboy.cpp +++ b/src/mame/drivers/djboy.cpp @@ -160,7 +160,7 @@ READ8_MEMBER(djboy_state::beast_status_r) WRITE8_MEMBER(djboy_state::trigger_nmi_on_mastercpu) { - m_mastercpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_mastercpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(djboy_state::mastercpu_bankswitch_w) diff --git a/src/mame/drivers/drmicro.cpp b/src/mame/drivers/drmicro.cpp index 1b2776403b3..833217702ce 100644 --- a/src/mame/drivers/drmicro.cpp +++ b/src/mame/drivers/drmicro.cpp @@ -31,7 +31,7 @@ Quite similar to Appoooh INTERRUPT_GEN_MEMBER(drmicro_state::drmicro_interrupt) { if (m_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(drmicro_state::nmi_enable_w) diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp index 047c731126f..cedc763c4e4 100644 --- a/src/mame/drivers/dynax.cpp +++ b/src/mame/drivers/dynax.cpp @@ -325,7 +325,7 @@ WRITE_LINE_MEMBER(dynax_state::adpcm_int) if (m_toggle) { if (m_resetkludge) // don't know what's wrong, but NMIs when the 5205 is reset make the game crash - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } @@ -338,7 +338,7 @@ WRITE_LINE_MEMBER(dynax_state::adpcm_int_cpu1) if (m_toggle_cpu1) { if (m_resetkludge) // don't know what's wrong, but NMIs when the 5205 is reset make the game crash - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); // cpu1 + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // cpu1 } } diff --git a/src/mame/drivers/espial.cpp b/src/mame/drivers/espial.cpp index 6ad84cbc12a..d0322648551 100644 --- a/src/mame/drivers/espial.cpp +++ b/src/mame/drivers/espial.cpp @@ -80,7 +80,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(espial_state::espial_scanline) int scanline = param; if(scanline == 240 && m_main_nmi_enabled) // vblank-out irq - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); if(scanline == 16) // timer irq, checks soundlatch port then updates some sound related work RAM buffers m_maincpu->set_input_line(0, HOLD_LINE); diff --git a/src/mame/drivers/ettrivia.cpp b/src/mame/drivers/ettrivia.cpp index 633ea6cc70f..772edc2382b 100644 --- a/src/mame/drivers/ettrivia.cpp +++ b/src/mame/drivers/ettrivia.cpp @@ -289,7 +289,7 @@ uint32_t ettrivia_state::screen_update_ettrivia(screen_device &screen, bitmap_in INTERRUPT_GEN_MEMBER(ettrivia_state::ettrivia_interrupt) { if( ioport("COIN")->read() & 0x01 ) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); else device.execute().set_input_line(0, HOLD_LINE); } diff --git a/src/mame/drivers/exterm.cpp b/src/mame/drivers/exterm.cpp index fe5bd21d39f..f98cea76542 100644 --- a/src/mame/drivers/exterm.cpp +++ b/src/mame/drivers/exterm.cpp @@ -173,7 +173,7 @@ WRITE16_MEMBER(exterm_state::exterm_output_port_0_w) { /* Bit 13 = Resets the slave CPU */ if ((data & 0x2000) && !(m_last & 0x2000)) - m_slave->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_slave->pulse_input_line(INPUT_LINE_RESET, attotime::zero); /* Bits 14-15 = Coin counters */ machine().bookkeeping().coin_counter_w(0, data & 0x8000); @@ -203,7 +203,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(exterm_state::master_sound_nmi_callback) { /* bit 0 of the sound control determines if the NMI is actually delivered */ if (m_sound_control & 0x01) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } @@ -229,7 +229,7 @@ WRITE8_MEMBER(exterm_state::sound_nmi_rate_w) READ8_MEMBER(exterm_state::sound_nmi_to_slave_r) { /* a read from here triggers an NMI pulse to the slave */ - m_audioslave->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audioslave->pulse_input_line(INPUT_LINE_NMI, attotime::zero); return 0xff; } diff --git a/src/mame/drivers/exzisus.cpp b/src/mame/drivers/exzisus.cpp index c1c20817150..7cee3c3dbea 100644 --- a/src/mame/drivers/exzisus.cpp +++ b/src/mame/drivers/exzisus.cpp @@ -75,7 +75,7 @@ WRITE8_MEMBER(exzisus_state::coincounter_w) // is it ok that cpub_reset refers to cpuc? WRITE8_MEMBER(exzisus_state::cpub_reset_w) { - m_cpuc->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_cpuc->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } #if 0 diff --git a/src/mame/drivers/fantland.cpp b/src/mame/drivers/fantland.cpp index 07ebcc37039..390480ff650 100644 --- a/src/mame/drivers/fantland.cpp +++ b/src/mame/drivers/fantland.cpp @@ -81,7 +81,7 @@ WRITE16_MEMBER(fantland_state::fantland_nmi_enable_16_w) WRITE8_MEMBER(fantland_state::fantland_soundlatch_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE16_MEMBER(fantland_state::fantland_soundlatch_16_w) @@ -840,7 +840,7 @@ MACHINE_RESET_MEMBER(fantland_state,fantland) WRITE_LINE_MEMBER(fantland_state::fantland_irq) { if (state && BIT(m_nmi_enable, 3)) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER(fantland_state::fantland_sound_irq) diff --git a/src/mame/drivers/fastfred.cpp b/src/mame/drivers/fastfred.cpp index 8b0c2f545b2..8ee6b93d0bb 100644 --- a/src/mame/drivers/fastfred.cpp +++ b/src/mame/drivers/fastfred.cpp @@ -629,7 +629,7 @@ WRITE_LINE_MEMBER(fastfred_state::vblank_irq) INTERRUPT_GEN_MEMBER(fastfred_state::sound_timer_irq) { if(m_sound_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(fastfred_state::fastfred) diff --git a/src/mame/drivers/fastlane.cpp b/src/mame/drivers/fastlane.cpp index 38039063592..29047e0c1dc 100644 --- a/src/mame/drivers/fastlane.cpp +++ b/src/mame/drivers/fastlane.cpp @@ -28,7 +28,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(fastlane_state::fastlane_scanline) if(scanline == 240 && m_k007121->ctrlram_r(7) & 0x02) // vblank irq m_maincpu->set_input_line(HD6309_IRQ_LINE, HOLD_LINE); else if(((scanline % 32) == 0) && m_k007121->ctrlram_r(7) & 0x01) // timer irq - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/fcrash.cpp b/src/mame/drivers/fcrash.cpp index cad66bbc9a8..945246f6eb1 100644 --- a/src/mame/drivers/fcrash.cpp +++ b/src/mame/drivers/fcrash.cpp @@ -149,7 +149,7 @@ WRITE_LINE_MEMBER(cps_state::m5205_int1) m_sample_buffer1 >>= 4; m_sample_select1 ^= 1; if (m_sample_select1 == 0) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(cps_state::m5205_int2) diff --git a/src/mame/drivers/finalizr.cpp b/src/mame/drivers/finalizr.cpp index cc4c0a6f53e..f796b7b47af 100644 --- a/src/mame/drivers/finalizr.cpp +++ b/src/mame/drivers/finalizr.cpp @@ -36,7 +36,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(finalizr_state::finalizr_scanline) if (scanline == 240 && m_irq_enable) // vblank irq m_maincpu->set_input_line(M6809_IRQ_LINE, HOLD_LINE); else if (((scanline % 32) == 0) && m_nmi_enable) // timer irq - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/firefox.cpp b/src/mame/drivers/firefox.cpp index 462ef5d8e2a..5dc9f062f2e 100644 --- a/src/mame/drivers/firefox.cpp +++ b/src/mame/drivers/firefox.cpp @@ -424,7 +424,7 @@ WRITE8_MEMBER(firefox_state::main_firq_clear_w) WRITE8_MEMBER(firefox_state::self_reset_w) { - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE ); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } diff --git a/src/mame/drivers/firetrap.cpp b/src/mame/drivers/firetrap.cpp index c63962e76ca..e7cc9e506eb 100644 --- a/src/mame/drivers/firetrap.cpp +++ b/src/mame/drivers/firetrap.cpp @@ -569,7 +569,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(firetrap_state::firetrap_irq) { if (m_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/firetrk.cpp b/src/mame/drivers/firetrk.cpp index e36460d565c..0b476d75245 100644 --- a/src/mame/drivers/firetrk.cpp +++ b/src/mame/drivers/firetrk.cpp @@ -62,7 +62,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(firetrk_state::firetrk_scanline) // vblank interrupt // NMIs are disabled during service mode if (!m_in_service_mode && scanline == 240) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/flipjack.cpp b/src/mame/drivers/flipjack.cpp index 37a4d3b0eb0..d772daceb0e 100644 --- a/src/mame/drivers/flipjack.cpp +++ b/src/mame/drivers/flipjack.cpp @@ -301,7 +301,7 @@ WRITE8_MEMBER(flipjack_state::flipjack_portc_w) INPUT_CHANGED_MEMBER(flipjack_state::flipjack_coin) { if (newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/flower.cpp b/src/mame/drivers/flower.cpp index 81153a88514..3763dd21c46 100644 --- a/src/mame/drivers/flower.cpp +++ b/src/mame/drivers/flower.cpp @@ -315,7 +315,7 @@ WRITE8_MEMBER(flower_state::sound_command_w) { m_soundlatch->write(space, 0, data & 0xff); if(m_audio_nmi_enable == true) - m_audiocpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(flower_state::audio_nmi_mask_w) diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp index d0690be9bb7..f7a80cb4a5a 100644 --- a/src/mame/drivers/fm7.cpp +++ b/src/mame/drivers/fm7.cpp @@ -1267,7 +1267,7 @@ TIMER_CALLBACK_MEMBER(fm7_state::fm7_timer_irq) TIMER_CALLBACK_MEMBER(fm7_state::fm7_subtimer_irq) { if(m_video.nmi_mask == 0 && m_video.sub_halt == 0) - m_sub->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_sub->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } // When a key is pressed or released (in scan mode only), an IRQ is generated on the main CPU, diff --git a/src/mame/drivers/fromanc2.cpp b/src/mame/drivers/fromanc2.cpp index dbc11f96a48..e8ecc854cbc 100644 --- a/src/mame/drivers/fromanc2.cpp +++ b/src/mame/drivers/fromanc2.cpp @@ -40,7 +40,7 @@ WRITE16_MEMBER(fromanc2_state::sndcmd_w) m_soundlatch->write(space, offset, (data >> 8) & 0xff); // 1P (LEFT) m_soundlatch2->write(space, offset, data & 0xff); // 2P (RIGHT) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_sndcpu_nmi_flag = 0; } @@ -103,7 +103,7 @@ WRITE16_MEMBER(fromanc2_state::subcpu_w) READ16_MEMBER(fromanc2_state::subcpu_r) { - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_subcpu_nmi_flag = 0; return (m_datalatch_2h << 8) | m_datalatch_2l; diff --git a/src/mame/drivers/fromance.cpp b/src/mame/drivers/fromance.cpp index 5303b683ad3..64b7fe0dc00 100644 --- a/src/mame/drivers/fromance.cpp +++ b/src/mame/drivers/fromance.cpp @@ -169,7 +169,7 @@ WRITE_LINE_MEMBER(fromance_state::fromance_adpcm_int) /* generate an NMI if we're out of data */ if (!m_vclk_left) - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/funtech.cpp b/src/mame/drivers/funtech.cpp index 837aa2727fb..7ff36da7d1c 100644 --- a/src/mame/drivers/funtech.cpp +++ b/src/mame/drivers/funtech.cpp @@ -241,7 +241,7 @@ uint32_t fun_tech_corp_state::screen_update(screen_device &screen, bitmap_ind16 INTERRUPT_GEN_MEMBER(fun_tech_corp_state::vblank_interrupt) { // if (m_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/fuukifg2.cpp b/src/mame/drivers/fuukifg2.cpp index 9b95d99b465..8a508869e38 100644 --- a/src/mame/drivers/fuukifg2.cpp +++ b/src/mame/drivers/fuukifg2.cpp @@ -78,7 +78,7 @@ WRITE16_MEMBER(fuuki16_state::vregs_w) WRITE8_MEMBER( fuuki16_state::sound_command_w ) { m_soundlatch->write(space,0,data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // m_maincpu->spin_until_time(attotime::from_usec(50)); // Allow the other CPU to reply machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50)); // Fixes glitching in rasters } diff --git a/src/mame/drivers/galaxian.cpp b/src/mame/drivers/galaxian.cpp index af674ad60e1..079c59139b6 100644 --- a/src/mame/drivers/galaxian.cpp +++ b/src/mame/drivers/galaxian.cpp @@ -696,7 +696,7 @@ INTERRUPT_GEN_MEMBER(galaxian_state::fakechange_interrupt_gen) m_tenspot_current_game++; m_tenspot_current_game%=10; tenspot_set_game_bank(m_tenspot_current_game, 1); - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } } @@ -1242,7 +1242,7 @@ INPUT_CHANGED_MEMBER(galaxian_state::gmgalax_game_changed) galaxian_stars_enable_w(space, 0, 0); /* reset the CPU */ - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } @@ -1422,7 +1422,7 @@ READ8_MEMBER(galaxian_state::jumpbug_protection_r) WRITE8_MEMBER(galaxian_state::checkman_sound_command_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/galspnbl.cpp b/src/mame/drivers/galspnbl.cpp index 1fbaf92515f..29e559516c1 100644 --- a/src/mame/drivers/galspnbl.cpp +++ b/src/mame/drivers/galspnbl.cpp @@ -52,7 +52,7 @@ WRITE16_MEMBER(galspnbl_state::soundcommand_w) if (ACCESSING_BITS_0_7) { m_soundlatch->write(space,offset,data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/gei.cpp b/src/mame/drivers/gei.cpp index 8e9dc14219c..5f3a38cc471 100644 --- a/src/mame/drivers/gei.cpp +++ b/src/mame/drivers/gei.cpp @@ -966,7 +966,7 @@ INPUT_PORTS_END INTERRUPT_GEN_MEMBER(gei_state::vblank_irq) { if (m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/goal92.cpp b/src/mame/drivers/goal92.cpp index 00a3b61dda3..4a0f3d872c4 100644 --- a/src/mame/drivers/goal92.cpp +++ b/src/mame/drivers/goal92.cpp @@ -228,7 +228,7 @@ WRITE_LINE_MEMBER(goal92_state::goal92_adpcm_int) m_adpcm_toggle^= 1; if (m_adpcm_toggle) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } static const gfx_layout layout_8x8x4 = diff --git a/src/mame/drivers/gpworld.cpp b/src/mame/drivers/gpworld.cpp index fd7e0cebd1f..582f591f03f 100644 --- a/src/mame/drivers/gpworld.cpp +++ b/src/mame/drivers/gpworld.cpp @@ -469,7 +469,7 @@ INTERRUPT_GEN_MEMBER(gpworld_state::vblank_callback) { m_laserdisc->data_w(m_ldp_write_latch); m_ldp_read_latch = m_laserdisc->status_r(); - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /* The time the IRQ line stays high is set just long enough to happen after the NMI - hacky? */ diff --git a/src/mame/drivers/gsword.cpp b/src/mame/drivers/gsword.cpp index afd1972ec9f..f2b8e84b8a3 100644 --- a/src/mame/drivers/gsword.cpp +++ b/src/mame/drivers/gsword.cpp @@ -259,7 +259,7 @@ WRITE8_MEMBER(gsword_state::nmi_set_w) WRITE8_MEMBER(gsword_state::sound_command_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(gsword_state::adpcm_data_w) @@ -305,7 +305,7 @@ READ8_MEMBER(gsword_state::i8741_3_r ) INTERRUPT_GEN_MEMBER(gsword_state::sound_interrupt) { if (m_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void gsword_state::init_gsword() @@ -412,7 +412,7 @@ WRITE8_MEMBER(josvolly_state::mcu1_p2_w) // this is just a hacky guess at how it works if (m_cpu2_nmi_enable && (data & (data ^ m_mcu1_p2) & 0x01)) { - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_cpu2_nmi_enable = false; } diff --git a/src/mame/drivers/halleys.cpp b/src/mame/drivers/halleys.cpp index 79a5961bfbb..0e1c9069de5 100644 --- a/src/mame/drivers/halleys.cpp +++ b/src/mame/drivers/halleys.cpp @@ -1538,7 +1538,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(halleys_state::halleys_scanline) // In Halley's Comet, NMI is used exclusively to handle coin input case 56*3: - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; // FIRQ drives gameplay; we need both types of NMI each frame. @@ -1564,7 +1564,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(halleys_state::benberob_scanline) break; case 56*3: - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; case 56*2: @@ -1601,7 +1601,7 @@ WRITE8_MEMBER(halleys_state::soundcommand_w) { m_io_ram[0x8a] = data; m_soundlatch->write(space,offset,data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/highvdeo.cpp b/src/mame/drivers/highvdeo.cpp index 8d24389d687..6b40faa1962 100644 --- a/src/mame/drivers/highvdeo.cpp +++ b/src/mame/drivers/highvdeo.cpp @@ -1194,7 +1194,7 @@ INTERRUPT_GEN_MEMBER(highvdeo_state::vblank_irq) INTERRUPT_GEN_MEMBER(highvdeo_state::vblank_irq_80186) { - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void highvdeo_state::ramdac_map(address_map &map) diff --git a/src/mame/drivers/himesiki.cpp b/src/mame/drivers/himesiki.cpp index 2533e56898d..9f8552140f9 100644 --- a/src/mame/drivers/himesiki.cpp +++ b/src/mame/drivers/himesiki.cpp @@ -118,7 +118,7 @@ WRITE8_MEMBER(himesiki_state::himesiki_rombank_w) WRITE8_MEMBER(himesiki_state::himesiki_sound_w) { m_soundlatch->write(space, offset, data); - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /****************************************************************************/ diff --git a/src/mame/drivers/hunter2.cpp b/src/mame/drivers/hunter2.cpp index 5a2f7705306..150fba474f4 100644 --- a/src/mame/drivers/hunter2.cpp +++ b/src/mame/drivers/hunter2.cpp @@ -348,7 +348,7 @@ PALETTE_INIT_MEMBER(hunter2_state, hunter2) WRITE_LINE_MEMBER(hunter2_state::timer0_out) { if(state == ASSERT_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(hunter2_state::timer1_out) diff --git a/src/mame/drivers/hvyunit.cpp b/src/mame/drivers/hvyunit.cpp index f016a94d9de..adb9199daa9 100644 --- a/src/mame/drivers/hvyunit.cpp +++ b/src/mame/drivers/hvyunit.cpp @@ -242,7 +242,7 @@ WRITE_LINE_MEMBER(hvyunit_state::screen_vblank) WRITE8_MEMBER(hvyunit_state::trigger_nmi_on_slave_cpu) { - m_slavecpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_slavecpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(hvyunit_state::master_bankswitch_w) diff --git a/src/mame/drivers/igs009.cpp b/src/mame/drivers/igs009.cpp index e3e5d7a036e..f9b2b3d7a72 100644 --- a/src/mame/drivers/igs009.cpp +++ b/src/mame/drivers/igs009.cpp @@ -813,7 +813,7 @@ void igs009_state::machine_reset() WRITE_LINE_MEMBER(igs009_state::vblank_irq) { if (state && BIT(m_nmi_enable, 7)) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(igs009_state::jingbell) diff --git a/src/mame/drivers/igs017.cpp b/src/mame/drivers/igs017.cpp index 90dddeddb60..b8459e7d0f8 100644 --- a/src/mame/drivers/igs017.cpp +++ b/src/mame/drivers/igs017.cpp @@ -3544,7 +3544,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(igs017_state::iqblocka_interrupt) m_maincpu->set_input_line(0, HOLD_LINE); if(scanline == 0 && m_igs017_igs031->get_nmi_enable()) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_RESET_MEMBER(igs017_state,iqblocka) diff --git a/src/mame/drivers/igspoker.cpp b/src/mame/drivers/igspoker.cpp index ee4b8732a24..736fbc20eb7 100644 --- a/src/mame/drivers/igspoker.cpp +++ b/src/mame/drivers/igspoker.cpp @@ -171,7 +171,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(igspoker_state::igs_interrupt) m_maincpu->set_input_line(0, ASSERT_LINE); if((scanline % 64) == 0 && m_nmi_enable) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/imolagp.cpp b/src/mame/drivers/imolagp.cpp index 8d4eefeeb6e..ab4ceaf93c0 100644 --- a/src/mame/drivers/imolagp.cpp +++ b/src/mame/drivers/imolagp.cpp @@ -224,7 +224,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(imolagp_state::imolagp_pot_callback) const int base = 6500; const int range = 100000; m_steer_pot_timer->adjust(attotime::from_usec(base + range * (1.0 / (double)(steer & 0x7f)))); - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } else m_steer_pot_timer->adjust(attotime::from_msec(20)); @@ -265,7 +265,8 @@ READ8_MEMBER(imolagp_state::receive_data_r) READ8_MEMBER(imolagp_state::trigger_slave_nmi_r) { - m_slavecpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (!machine().side_effects_disabled()) + m_slavecpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); return 0; } diff --git a/src/mame/drivers/inder.cpp b/src/mame/drivers/inder.cpp index 0af70d3f320..7fef98159a1 100644 --- a/src/mame/drivers/inder.cpp +++ b/src/mame/drivers/inder.cpp @@ -1146,7 +1146,7 @@ WRITE8_MEMBER( inder_state::sn_w ) WRITE8_MEMBER( inder_state::sndcmd_lapbylap_w ) { m_sndcmd = data; - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( inder_state::sndcmd_w ) diff --git a/src/mame/drivers/iqblock.cpp b/src/mame/drivers/iqblock.cpp index 2e6738aa644..06addda8f76 100644 --- a/src/mame/drivers/iqblock.cpp +++ b/src/mame/drivers/iqblock.cpp @@ -86,7 +86,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(iqblock_state::irq) if((scanline % 32) == 16) m_maincpu->set_input_line(0, HOLD_LINE); else if ((scanline % 32) == 0) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/ironhors.cpp b/src/mame/drivers/ironhors.cpp index 624a97dde3e..02fed52fc59 100644 --- a/src/mame/drivers/ironhors.cpp +++ b/src/mame/drivers/ironhors.cpp @@ -37,7 +37,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(ironhors_state::irq) else if (((scanline+16) % 64) == 0) { if (*m_interrupt_enable & 1) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } @@ -435,7 +435,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(ironhors_state::farwest_irq) else if ((scanline % 2) == 0) { if (*m_interrupt_enable & 1) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/jack.cpp b/src/mame/drivers/jack.cpp index 4b2fcd553fb..d4953a3f7aa 100644 --- a/src/mame/drivers/jack.cpp +++ b/src/mame/drivers/jack.cpp @@ -976,7 +976,7 @@ MACHINE_CONFIG_END INTERRUPT_GEN_MEMBER(jack_state::joinem_vblank_irq) { if (m_joinem_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(jack_state::joinem) diff --git a/src/mame/drivers/jackal.cpp b/src/mame/drivers/jackal.cpp index 0f6a9b6ca85..7f29d8a154c 100644 --- a/src/mame/drivers/jackal.cpp +++ b/src/mame/drivers/jackal.cpp @@ -321,7 +321,7 @@ WRITE_LINE_MEMBER(jackal_state::vblank_irq) if (state && m_irq_enable) { m_mastercpu->set_input_line(0, HOLD_LINE); - m_slavecpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_slavecpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/jackie.cpp b/src/mame/drivers/jackie.cpp index f3bdf81bc59..199fa905b2b 100644 --- a/src/mame/drivers/jackie.cpp +++ b/src/mame/drivers/jackie.cpp @@ -597,7 +597,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(jackie_state::irq) if((scanline % 64) == 32 && m_irq_enable) m_maincpu->set_input_line(0, HOLD_LINE); else if ((scanline % 64) == 0 && m_nmi_enable) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(jackie_state::jackie) diff --git a/src/mame/drivers/jaguar.cpp b/src/mame/drivers/jaguar.cpp index 29b11e35080..ea72ee2615d 100644 --- a/src/mame/drivers/jaguar.cpp +++ b/src/mame/drivers/jaguar.cpp @@ -435,7 +435,7 @@ void jaguar_state::machine_reset() if (!m_is_r3000) { memcpy(m_shared_ram, m_rom_base, 0x400); // do not increase, or Doom breaks - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); if(m_is_jagcd) { diff --git a/src/mame/drivers/jailbrek.cpp b/src/mame/drivers/jailbrek.cpp index 24e7a29585d..0388df95d56 100644 --- a/src/mame/drivers/jailbrek.cpp +++ b/src/mame/drivers/jailbrek.cpp @@ -120,7 +120,7 @@ WRITE_LINE_MEMBER(jailbrek_state::vblank_irq) INTERRUPT_GEN_MEMBER(jailbrek_state::interrupt_nmi) { if (m_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/jeutel.cpp b/src/mame/drivers/jeutel.cpp index c323dfa43bf..7b81d56782f 100644 --- a/src/mame/drivers/jeutel.cpp +++ b/src/mame/drivers/jeutel.cpp @@ -189,7 +189,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( jeutel_state::timer_a ) m_timer_a ^= 1; m_cpu2->set_input_line(0, (m_timer_a) ? ASSERT_LINE : CLEAR_LINE); if (m_cpu2->state_int(Z80_HALT)) - m_cpu2->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_cpu2->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void jeutel_state::init_jeutel() diff --git a/src/mame/drivers/joctronic.cpp b/src/mame/drivers/joctronic.cpp index 359416bca18..7a7a91cf426 100644 --- a/src/mame/drivers/joctronic.cpp +++ b/src/mame/drivers/joctronic.cpp @@ -226,7 +226,7 @@ WRITE8_MEMBER(joctronic_state::soundlatch_nmi_w) WRITE8_MEMBER(joctronic_state::soundlatch_nmi_pulse_w) { - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_soundlatch = data; } diff --git a/src/mame/drivers/jp.cpp b/src/mame/drivers/jp.cpp index 689b45e58ea..1d6612742d1 100644 --- a/src/mame/drivers/jp.cpp +++ b/src/mame/drivers/jp.cpp @@ -326,7 +326,7 @@ void jp_state::machine_reset() { genpin_class::machine_reset(); - //m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + //m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_digits[96] = 0x3f; m_digits[97] = 0x3f; m_digits[98] = 0x3f; diff --git a/src/mame/drivers/kangaroo.cpp b/src/mame/drivers/kangaroo.cpp index 9ce4c4ee785..ef755d6b5ee 100644 --- a/src/mame/drivers/kangaroo.cpp +++ b/src/mame/drivers/kangaroo.cpp @@ -203,7 +203,7 @@ void kangaroo_state::machine_reset() /* the copy protection. */ /* Anyway, what I do here is just immediately generate the NMI, so the game */ /* properly starts. */ - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_mcu_clock = 0; } diff --git a/src/mame/drivers/kas89.cpp b/src/mame/drivers/kas89.cpp index 8578eff0a1e..675df3ddd29 100644 --- a/src/mame/drivers/kas89.cpp +++ b/src/mame/drivers/kas89.cpp @@ -323,12 +323,12 @@ READ8_MEMBER(kas89_state::mux_r) TIMER_DEVICE_CALLBACK_MEMBER(kas89_state::kas89_nmi_cb) { if (m_main_nmi_enable) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } TIMER_DEVICE_CALLBACK_MEMBER(kas89_state::kas89_sound_nmi_cb) { - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/kchamp.cpp b/src/mame/drivers/kchamp.cpp index 79f04132c26..648bf851283 100644 --- a/src/mame/drivers/kchamp.cpp +++ b/src/mame/drivers/kchamp.cpp @@ -152,7 +152,8 @@ void kchamp_state::kchampvs_sound_io_map(address_map &map) ********************/ READ8_MEMBER(kchamp_state::sound_reset_r) { - m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + if (!machine().side_effects_disabled()) + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); return 0; } diff --git a/src/mame/drivers/kingpin.cpp b/src/mame/drivers/kingpin.cpp index 58bfb50dd9c..043604b34bc 100644 --- a/src/mame/drivers/kingpin.cpp +++ b/src/mame/drivers/kingpin.cpp @@ -69,7 +69,7 @@ private: WRITE8_MEMBER(kingpin_state::sound_nmi_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void kingpin_state::kingpin_program_map(address_map &map) diff --git a/src/mame/drivers/kncljoe.cpp b/src/mame/drivers/kncljoe.cpp index a0ec56e592b..e386c5449a0 100644 --- a/src/mame/drivers/kncljoe.cpp +++ b/src/mame/drivers/kncljoe.cpp @@ -234,7 +234,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(kncljoe_state::sound_nmi) { - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void kncljoe_state::machine_start() diff --git a/src/mame/drivers/konamim2.cpp b/src/mame/drivers/konamim2.cpp index da5c9754d56..5321e6936aa 100644 --- a/src/mame/drivers/konamim2.cpp +++ b/src/mame/drivers/konamim2.cpp @@ -503,7 +503,7 @@ WRITE64_MEMBER(konamim2_state::reset_w) { if (data & 0x100000000U) { - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_unk3 = 0; } } diff --git a/src/mame/drivers/konblands.cpp b/src/mame/drivers/konblands.cpp index 7d71c4f8108..6dbb19fae0c 100644 --- a/src/mame/drivers/konblands.cpp +++ b/src/mame/drivers/konblands.cpp @@ -260,7 +260,7 @@ void konblands_state::machine_reset() INTERRUPT_GEN_MEMBER(konblands_state::vblank_irq) { if (m_nmi_enable == true) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER(konblands_state::timer_irq) diff --git a/src/mame/drivers/kyugo.cpp b/src/mame/drivers/kyugo.cpp index e0bf87b96c6..52ecf39a81d 100644 --- a/src/mame/drivers/kyugo.cpp +++ b/src/mame/drivers/kyugo.cpp @@ -515,7 +515,7 @@ void kyugo_state::machine_reset() INTERRUPT_GEN_MEMBER(kyugo_state::vblank_irq) { if(m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/labyrunr.cpp b/src/mame/drivers/labyrunr.cpp index 0fcfc09a5ca..29a7c3a4c24 100644 --- a/src/mame/drivers/labyrunr.cpp +++ b/src/mame/drivers/labyrunr.cpp @@ -30,7 +30,7 @@ WRITE_LINE_MEMBER(labyrunr_state::vblank_irq) INTERRUPT_GEN_MEMBER(labyrunr_state::labyrunr_timer_interrupt) { if (m_k007121->ctrlram_r(7) & 0x01) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/ladyfrog.cpp b/src/mame/drivers/ladyfrog.cpp index 917f124a246..eba1d1b127a 100644 --- a/src/mame/drivers/ladyfrog.cpp +++ b/src/mame/drivers/ladyfrog.cpp @@ -82,7 +82,7 @@ WRITE8_MEMBER(ladyfrog_state::sound_cpu_reset_w) TIMER_CALLBACK_MEMBER(ladyfrog_state::nmi_callback) { if (m_sound_nmi_enable) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); else m_pending_nmi = 1; } @@ -103,7 +103,7 @@ WRITE8_MEMBER(ladyfrog_state::nmi_enable_w) m_sound_nmi_enable = 1; if (m_pending_nmi) { - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_pending_nmi = 0; } } diff --git a/src/mame/drivers/laserbas.cpp b/src/mame/drivers/laserbas.cpp index 0918fa9ebe4..02a49cd1479 100644 --- a/src/mame/drivers/laserbas.cpp +++ b/src/mame/drivers/laserbas.cpp @@ -141,7 +141,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( laserbas_state::laserbas_scanline ) if(scanline == 240 && m_nmi) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/lgp.cpp b/src/mame/drivers/lgp.cpp index f5bc6c7587e..e847846911a 100644 --- a/src/mame/drivers/lgp.cpp +++ b/src/mame/drivers/lgp.cpp @@ -354,7 +354,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(lgp_state::vblank_callback_lgp) { // NMI - //device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + //device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); // IRQ device.execute().set_input_line(0, HOLD_LINE); diff --git a/src/mame/drivers/lordgun.cpp b/src/mame/drivers/lordgun.cpp index 58c8b250119..3bac30ec828 100644 --- a/src/mame/drivers/lordgun.cpp +++ b/src/mame/drivers/lordgun.cpp @@ -275,7 +275,7 @@ WRITE16_MEMBER(lordgun_state::lordgun_soundlatch_w) if (ACCESSING_BITS_0_7) m_soundlatch->write(space, 0, (data >> 0) & 0xff); if (ACCESSING_BITS_8_15) m_soundlatch2->write(space, 0, (data >> 8) & 0xff); - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void lordgun_state::lordgun_map(address_map &map) diff --git a/src/mame/drivers/ltd.cpp b/src/mame/drivers/ltd.cpp index 4866351b5fe..cf9cbe80696 100644 --- a/src/mame/drivers/ltd.cpp +++ b/src/mame/drivers/ltd.cpp @@ -249,7 +249,7 @@ INPUT_PORTS_END INPUT_CHANGED_MEMBER( ltd_state::ficha ) { if(newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } // switches diff --git a/src/mame/drivers/luckgrln.cpp b/src/mame/drivers/luckgrln.cpp index ecd80c965b3..c4506d4fdd8 100644 --- a/src/mame/drivers/luckgrln.cpp +++ b/src/mame/drivers/luckgrln.cpp @@ -971,7 +971,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(luckgrln_state::luckgrln_irq) { if(m_nmi_enable) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(luckgrln_state::luckgrln) diff --git a/src/mame/drivers/lucky74.cpp b/src/mame/drivers/lucky74.cpp index b8fdc2d13b1..e790e3c94a6 100644 --- a/src/mame/drivers/lucky74.cpp +++ b/src/mame/drivers/lucky74.cpp @@ -917,7 +917,7 @@ INTERRUPT_GEN_MEMBER(lucky74_state::nmi_interrupt) { if ((m_ym2149_portb & 0x10) == 0) /* ym2149 portB bit 4 trigger the NMI */ { - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/lwings.cpp b/src/mame/drivers/lwings.cpp index 06ec4209d51..5f78a914cc0 100644 --- a/src/mame/drivers/lwings.cpp +++ b/src/mame/drivers/lwings.cpp @@ -107,7 +107,7 @@ INTERRUPT_GEN_MEMBER(lwings_state::lwings_interrupt) INTERRUPT_GEN_MEMBER(lwings_state::avengers_interrupt) { if(m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/m63.cpp b/src/mame/drivers/m63.cpp index 66c2556fae9..09aa631b405 100644 --- a/src/mame/drivers/m63.cpp +++ b/src/mame/drivers/m63.cpp @@ -749,7 +749,7 @@ MACHINE_RESET_MEMBER(m63_state,m63) INTERRUPT_GEN_MEMBER(m63_state::vblank_irq) { if(m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(m63_state::m63) diff --git a/src/mame/drivers/m72.cpp b/src/mame/drivers/m72.cpp index 030e082e482..5a60b4766d8 100644 --- a/src/mame/drivers/m72.cpp +++ b/src/mame/drivers/m72.cpp @@ -400,7 +400,7 @@ READ8_MEMBER(m72_state::mcu_snd_r) WRITE8_MEMBER(m72_state::mcu_port1_w) { m_mcu_sample_latch = data; - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(m72_state::mcu_port3_w) diff --git a/src/mame/drivers/magictg.cpp b/src/mame/drivers/magictg.cpp index ecac0eeae81..b6c97ab2dcf 100644 --- a/src/mame/drivers/magictg.cpp +++ b/src/mame/drivers/magictg.cpp @@ -826,7 +826,7 @@ WRITE16_MEMBER( magictg_state::adsp_control_w ) m_adsp_regs.bdma_control |= ((src_addr >> 14) & 0xff) << 8; if (m_adsp_regs.bdma_control & 8) - m_adsp->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_adsp->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } break; } diff --git a/src/mame/drivers/mainevt.cpp b/src/mame/drivers/mainevt.cpp index 7d8211fc120..b4733986c33 100644 --- a/src/mame/drivers/mainevt.cpp +++ b/src/mame/drivers/mainevt.cpp @@ -401,7 +401,7 @@ void mainevt_state::machine_reset() INTERRUPT_GEN_MEMBER(mainevt_state::mainevt_sound_timer_irq) { if(m_sound_irq_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER(mainevt_state::devstors_sound_timer_irq) diff --git a/src/mame/drivers/marineb.cpp b/src/mame/drivers/marineb.cpp index ea3c9ffaeec..d547539313b 100644 --- a/src/mame/drivers/marineb.cpp +++ b/src/mame/drivers/marineb.cpp @@ -529,7 +529,7 @@ GFXDECODE_END WRITE_LINE_MEMBER(marineb_state::marineb_vblank_irq) { if (state && m_irq_mask) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(marineb_state::wanted_vblank_irq) diff --git a/src/mame/drivers/mastboy.cpp b/src/mame/drivers/mastboy.cpp index ffd9b143e06..e69eaa5d0b9 100644 --- a/src/mame/drivers/mastboy.cpp +++ b/src/mame/drivers/mastboy.cpp @@ -599,7 +599,7 @@ WRITE_LINE_MEMBER(mastboy_state::adpcm_int) m_m5205_part ^= 1; if(!m_m5205_part) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/megadriv.cpp b/src/mame/drivers/megadriv.cpp index 1b316f407da..23cd65299fa 100644 --- a/src/mame/drivers/megadriv.cpp +++ b/src/mame/drivers/megadriv.cpp @@ -357,7 +357,7 @@ MACHINE_RESET_MEMBER(md_cons_state, ms_megadriv) WRITE_LINE_MEMBER(md_cons_state::screen_vblank_console) { if (m_io_reset.read_safe(0) & 0x01) - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); // rising edge if (state) diff --git a/src/mame/drivers/megaplay.cpp b/src/mame/drivers/megaplay.cpp index 55d41d991ec..3a88ac0995a 100644 --- a/src/mame/drivers/megaplay.cpp +++ b/src/mame/drivers/megaplay.cpp @@ -544,7 +544,7 @@ READ8_MEMBER(mplay_state::bios_6404_r) WRITE8_MEMBER(mplay_state::bios_6404_w) { if(((m_bios_6404 & 0x0c) == 0x00) && ((data & 0x0c) == 0x0c)) - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_bios_6404 = data; // logerror("BIOS: 0x6404 write: 0x%02x\n", data); diff --git a/src/mame/drivers/mephisto.cpp b/src/mame/drivers/mephisto.cpp index a15e5b67e82..646a466c365 100644 --- a/src/mame/drivers/mephisto.cpp +++ b/src/mame/drivers/mephisto.cpp @@ -239,14 +239,14 @@ TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi) if (m_allowNMI) { m_allowNMI = 0; - m_maincpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } m_beep->set_state(m_outlatch->q6_r() ? 1 : 0); } TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi_r5) { - m_maincpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_beep->set_state(m_outlatch->q6_r() ? 1 : 0); } diff --git a/src/mame/drivers/metro.cpp b/src/mame/drivers/metro.cpp index ece5421b8ac..7edb300b20f 100644 --- a/src/mame/drivers/metro.cpp +++ b/src/mame/drivers/metro.cpp @@ -300,7 +300,7 @@ WRITE16_MEMBER(metro_state::metro_soundlatch_w) if (ACCESSING_BITS_0_7) { m_soundlatch->write(space, 0, data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); // seen metro_rxd_r + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // seen metro_rxd_r m_maincpu->spin_until_interrupt(); m_busy_sndcpu = 1; } diff --git a/src/mame/drivers/mgolf.cpp b/src/mame/drivers/mgolf.cpp index 81de74c27cd..9c7abf433b7 100644 --- a/src/mame/drivers/mgolf.cpp +++ b/src/mame/drivers/mgolf.cpp @@ -135,7 +135,7 @@ void mgolf_state::update_plunger( ) m_time_released = machine().time(); if (!m_mask) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } else m_time_pushed = machine().time(); diff --git a/src/mame/drivers/mirax.cpp b/src/mame/drivers/mirax.cpp index 881ebfa5716..e61bea4ec94 100644 --- a/src/mame/drivers/mirax.cpp +++ b/src/mame/drivers/mirax.cpp @@ -293,7 +293,7 @@ WRITE_LINE_MEMBER(mirax_state::nmi_mask_w) WRITE8_MEMBER(mirax_state::sound_cmd_w) { m_soundlatch->write(space, 0, data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp index edbb3c4babe..0aede45d5d0 100644 --- a/src/mame/drivers/model2.cpp +++ b/src/mame/drivers/model2.cpp @@ -598,7 +598,7 @@ void model2_tgp_state::copro_halt() void model2_tgp_state::copro_boot() { m_copro_tgp->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_copro_tgp->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_copro_tgp->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } READ32_MEMBER(model2_tgp_state::copro_fifo_r) diff --git a/src/mame/drivers/monty.cpp b/src/mame/drivers/monty.cpp index 3104ed39635..53f614a0363 100644 --- a/src/mame/drivers/monty.cpp +++ b/src/mame/drivers/monty.cpp @@ -228,7 +228,7 @@ WRITE_LINE_MEMBER( monty_state::halt_changed ) WRITE_LINE_MEMBER( monty_state::key_pressed ) { if (!state && m_halt) - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } diff --git a/src/mame/drivers/ms32.cpp b/src/mame/drivers/ms32.cpp index bc8d75ee1ee..1ad68ff584a 100644 --- a/src/mame/drivers/ms32.cpp +++ b/src/mame/drivers/ms32.cpp @@ -535,7 +535,7 @@ READ32_MEMBER(ms32_state::ms32_sound_r) WRITE32_MEMBER(ms32_state::reset_sub_w) { - if(data) m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); // 0 too ? + if(data) m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); // 0 too ? } diff --git a/src/mame/drivers/msisaac.cpp b/src/mame/drivers/msisaac.cpp index da5a749b4e5..bc0892aadd6 100644 --- a/src/mame/drivers/msisaac.cpp +++ b/src/mame/drivers/msisaac.cpp @@ -29,7 +29,7 @@ TO DO: TIMER_CALLBACK_MEMBER(msisaac_state::nmi_callback) { if (m_sound_nmi_enable) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); else m_pending_nmi = 1; } @@ -50,7 +50,7 @@ WRITE8_MEMBER(msisaac_state::nmi_enable_w) m_sound_nmi_enable = 1; if (m_pending_nmi) { - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_pending_nmi = 0; } } diff --git a/src/mame/drivers/mz2000.cpp b/src/mame/drivers/mz2000.cpp index aa7e9062b39..286957358c8 100644 --- a/src/mame/drivers/mz2000.cpp +++ b/src/mame/drivers/mz2000.cpp @@ -822,7 +822,7 @@ WRITE8_MEMBER(mz2000_state::mz2000_portc_w) { m_ipl_enable = 0; /* correct? */ - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } m_beeper->set_state(data & 0x04); diff --git a/src/mame/drivers/mz2500.cpp b/src/mame/drivers/mz2500.cpp index 3775cb9155b..bad45c115c5 100644 --- a/src/mame/drivers/mz2500.cpp +++ b/src/mame/drivers/mz2500.cpp @@ -1936,7 +1936,7 @@ WRITE8_MEMBER(mz2500_state::mz2500_portc_w) { mz2500_reset(this, WRAM_RESET); /* correct? */ - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } /* bit 2 is speaker */ diff --git a/src/mame/drivers/namcos21.cpp b/src/mame/drivers/namcos21.cpp index 2256fca5db3..2df4b1835a2 100644 --- a/src/mame/drivers/namcos21.cpp +++ b/src/mame/drivers/namcos21.cpp @@ -748,7 +748,7 @@ void namcos21_kickstart(running_machine &machine, int internal) state->m_mpDspState->masterFinished = 0; state->m_mpDspState->slaveActive = 0; state->m_dspmaster->set_input_line(0, HOLD_LINE); - state->m_dspslave->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + state->m_dspslave->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } uint16_t namcos21_state::read_word_from_slave_input() @@ -1407,7 +1407,7 @@ WRITE16_MEMBER(namcos21_state::winrun_dsp_complete_w) if( data ) { winrun_flush_poly(); - m_dsp->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_dsp->pulse_input_line(INPUT_LINE_RESET, attotime::zero); clear_poly_framebuffer(); } } diff --git a/src/mame/drivers/nc.cpp b/src/mame/drivers/nc.cpp index 12bc9a93002..2a0bbb4b3dd 100644 --- a/src/mame/drivers/nc.cpp +++ b/src/mame/drivers/nc.cpp @@ -408,7 +408,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(nc_state::dummy_timer_callback) { case NC_TYPE_1xx: LOG("nmi triggered\n"); - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; case NC_TYPE_200: diff --git a/src/mame/drivers/ngen.cpp b/src/mame/drivers/ngen.cpp index 6bb092232bb..e85e6269254 100644 --- a/src/mame/drivers/ngen.cpp +++ b/src/mame/drivers/ngen.cpp @@ -446,7 +446,7 @@ WRITE16_MEMBER(ngen_state::xbus_w) io.install_readwrite_handler(addr,addr+0xff,read16_delegate(FUNC(ngen_state::hfd_r),this),write16_delegate(FUNC(ngen_state::hfd_w),this),0xffffffff); break; default: - cpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); // reached end of the modules + cpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // reached end of the modules break; } if(addr != 0) @@ -470,9 +470,9 @@ READ16_MEMBER(ngen_state::xbus_r) break; default: if(m_maincpu) - m_maincpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); // reached the end of the modules + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // reached the end of the modules else - m_i386cpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_i386cpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); ret = 0x0080; break; } diff --git a/src/mame/drivers/ngp.cpp b/src/mame/drivers/ngp.cpp index 31ce01a9987..f777414384e 100644 --- a/src/mame/drivers/ngp.cpp +++ b/src/mame/drivers/ngp.cpp @@ -321,7 +321,7 @@ WRITE8_MEMBER( ngp_state::ngp_io_w ) break; case 0x3a: /* Trigger Z80 NMI */ - m_z80->set_input_line(INPUT_LINE_NMI, PULSE_LINE ); + m_z80->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; } m_io_reg[offset] = data; diff --git a/src/mame/drivers/nightgal.cpp b/src/mame/drivers/nightgal.cpp index 819cfd2adae..cd75d0f996a 100644 --- a/src/mame/drivers/nightgal.cpp +++ b/src/mame/drivers/nightgal.cpp @@ -410,7 +410,7 @@ WRITE8_MEMBER(nightgal_state::sexygal_audioff_w) WRITE8_MEMBER(nightgal_state::sexygal_audionmi_w) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // doesn't seem to be any way around this blatant hack m_audiocpu->reset(); diff --git a/src/mame/drivers/nmg5.cpp b/src/mame/drivers/nmg5.cpp index 839837a9003..5b53c299e5e 100644 --- a/src/mame/drivers/nmg5.cpp +++ b/src/mame/drivers/nmg5.cpp @@ -325,7 +325,7 @@ WRITE16_MEMBER(nmg5_state::nmg5_soundlatch_w) if (ACCESSING_BITS_0_7) { m_soundlatch->write(space, 0, data & 0xff); - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/nss.cpp b/src/mame/drivers/nss.cpp index 060d178c720..1646407a31f 100644 --- a/src/mame/drivers/nss.cpp +++ b/src/mame/drivers/nss.cpp @@ -807,7 +807,7 @@ INPUT_PORTS_END WRITE_LINE_MEMBER(nss_state::nss_vblank_irq) { if (state && m_nmi_enable) - m_bioscpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_bioscpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void nss_state::machine_reset() diff --git a/src/mame/drivers/ojankohs.cpp b/src/mame/drivers/ojankohs.cpp index ee2dcb778b1..d4bd26d9d8b 100644 --- a/src/mame/drivers/ojankohs.cpp +++ b/src/mame/drivers/ojankohs.cpp @@ -83,7 +83,7 @@ WRITE_LINE_MEMBER(ojankohs_state::ojankohs_adpcm_int) /* generate an NMI if we're out of data */ if (!m_vclk_left) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(ojankohs_state::ojankoc_ctrl_w) diff --git a/src/mame/drivers/pacman.cpp b/src/mame/drivers/pacman.cpp index 091fee90b95..f37da78bd8a 100644 --- a/src/mame/drivers/pacman.cpp +++ b/src/mame/drivers/pacman.cpp @@ -429,7 +429,7 @@ INTERRUPT_GEN_MEMBER(pacman_state::periodic_irq) WRITE_LINE_MEMBER(pacman_state::vblank_nmi) { if (state && m_irq_mask) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(pacman_state::irq_mask_w) diff --git a/src/mame/drivers/pasogo.cpp b/src/mame/drivers/pasogo.cpp index 75bec100662..3db925ca713 100644 --- a/src/mame/drivers/pasogo.cpp +++ b/src/mame/drivers/pasogo.cpp @@ -523,7 +523,7 @@ uint32_t pasogo_state::screen_update_pasogo(screen_device &screen, bitmap_ind16 INTERRUPT_GEN_MEMBER(pasogo_state::pasogo_interrupt) { -// m_maincpu->set_input_line(UPD7810_INTFE1, PULSE_LINE); +// m_maincpu->pulse_input_line(UPD7810_INTFE1, attotime::zero); } void pasogo_state::machine_reset() diff --git a/src/mame/drivers/pc9801.cpp b/src/mame/drivers/pc9801.cpp index a4bd94cb1db..29eeb82eee0 100644 --- a/src/mame/drivers/pc9801.cpp +++ b/src/mame/drivers/pc9801.cpp @@ -786,7 +786,7 @@ WRITE8_MEMBER(pc9801_state::a20_ctrl_w) por = machine().device("ppi8255_sys")->read(space, 2) & ~0x20; machine().device("ppi8255_sys")->write(space, 2,por); m_maincpu->set_input_line(INPUT_LINE_A20, CLEAR_LINE); - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_gate_a20 = 0; } diff --git a/src/mame/drivers/pcd.cpp b/src/mame/drivers/pcd.cpp index 06e09d2decb..45452b56df2 100644 --- a/src/mame/drivers/pcd.cpp +++ b/src/mame/drivers/pcd.cpp @@ -172,7 +172,7 @@ READ8_MEMBER( pcd_state::nmi_io_r ) return 0; logerror("%s: unmapped %s %04x\n", machine().describe_context(), space.name(), offset); m_stat |= 0xfd; - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); return 0; } @@ -182,7 +182,7 @@ WRITE8_MEMBER( pcd_state::nmi_io_w ) return; logerror("%s: unmapped %s %04x\n", machine().describe_context(), space.name(), offset); m_stat |= 0xfd; - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER( pcd_state::rtc_r ) diff --git a/src/mame/drivers/pcktgal.cpp b/src/mame/drivers/pcktgal.cpp index b7741b94436..4fb105d5f6f 100644 --- a/src/mame/drivers/pcktgal.cpp +++ b/src/mame/drivers/pcktgal.cpp @@ -44,7 +44,7 @@ WRITE8_MEMBER(pcktgal_state::sound_bank_w) WRITE8_MEMBER(pcktgal_state::sound_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/pcw.cpp b/src/mame/drivers/pcw.cpp index 44e85eb55f9..67da35c8070 100644 --- a/src/mame/drivers/pcw.cpp +++ b/src/mame/drivers/pcw.cpp @@ -425,7 +425,7 @@ WRITE8_MEMBER(pcw_state::pcw_system_control_w) /* reboot */ case 1: { - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); popmessage("SYS: Reboot"); } break; diff --git a/src/mame/drivers/pcw16.cpp b/src/mame/drivers/pcw16.cpp index 50cf454a176..558d1742888 100644 --- a/src/mame/drivers/pcw16.cpp +++ b/src/mame/drivers/pcw16.cpp @@ -750,7 +750,7 @@ void pcw16_state::trigger_fdc_int() { /* I'll pulse it because if I used hold-line I'm not sure it would clear - to be checked */ - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } } diff --git a/src/mame/drivers/pgm.cpp b/src/mame/drivers/pgm.cpp index 1f20b8eca9c..e4c3ae7e645 100644 --- a/src/mame/drivers/pgm.cpp +++ b/src/mame/drivers/pgm.cpp @@ -260,7 +260,7 @@ WRITE16_MEMBER(pgm_state::z80_reset_w) { m_ics->reset(); m_soundcpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_soundcpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } else { @@ -283,7 +283,7 @@ WRITE16_MEMBER(pgm_state::m68k_l1_w) if (PGMLOGERROR) logerror("SL 1 m68.w %02x (%06x) IRQ\n", data & 0xff, m_maincpu->pc()); m_soundlatch->write(space, 0, data); - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE ); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/photon2.cpp b/src/mame/drivers/photon2.cpp index 091010e320c..71ea701d102 100644 --- a/src/mame/drivers/photon2.cpp +++ b/src/mame/drivers/photon2.cpp @@ -339,7 +339,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(photon2_state::spec_interrupt_hack) { if ( m_nmi_enable ) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } } diff --git a/src/mame/drivers/pingpong.cpp b/src/mame/drivers/pingpong.cpp index 25d41aa794e..77e88f34224 100644 --- a/src/mame/drivers/pingpong.cpp +++ b/src/mame/drivers/pingpong.cpp @@ -71,7 +71,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(pingpong_state::pingpong_interrupt) } else if ((scanline % 32) == 0) { - if (m_intenable & 0x08) m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (m_intenable & 0x08) m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } @@ -85,7 +85,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(pingpong_state::merlinmm_interrupt) } else if (scanline == 0) { - if (m_intenable & 0x08) m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (m_intenable & 0x08) m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/playch10.cpp b/src/mame/drivers/playch10.cpp index 235b73b9e70..e7f6487ce03 100644 --- a/src/mame/drivers/playch10.cpp +++ b/src/mame/drivers/playch10.cpp @@ -638,9 +638,9 @@ WRITE_LINE_MEMBER(playch10_state::vblank_irq) { /* LS161A, Sheet 1 - bottom left of Z80 */ if (!m_pc10_dog_di && !m_pc10_nmi_enable) - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); else if (m_pc10_nmi_enable) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/pokechmp.cpp b/src/mame/drivers/pokechmp.cpp index 8b8e78bec4a..200f33f49ef 100644 --- a/src/mame/drivers/pokechmp.cpp +++ b/src/mame/drivers/pokechmp.cpp @@ -75,7 +75,7 @@ WRITE8_MEMBER(pokechmp_state::pokechmp_sound_bank_w) WRITE8_MEMBER(pokechmp_state::pokechmp_sound_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/polgar.cpp b/src/mame/drivers/polgar.cpp index 397197eeb3f..f719fb4f0df 100644 --- a/src/mame/drivers/polgar.cpp +++ b/src/mame/drivers/polgar.cpp @@ -353,7 +353,7 @@ void mephisto_modena_state::modena_mem(address_map &map) INTERRUPT_GEN_MEMBER(mephisto_academy_state::academy_irq) { if (m_enable_nmi) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(mephisto_academy_state::academy_nmi_w) diff --git a/src/mame/drivers/polyplay.cpp b/src/mame/drivers/polyplay.cpp index 45d9e92b971..1764734f1e3 100644 --- a/src/mame/drivers/polyplay.cpp +++ b/src/mame/drivers/polyplay.cpp @@ -155,7 +155,7 @@ static const z80_daisy_config daisy_chain_zrepp[] = INTERRUPT_GEN_MEMBER(polyplay_state::nmi_handler) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /* I/O Port handling */ diff --git a/src/mame/drivers/prehisle.cpp b/src/mame/drivers/prehisle.cpp index f2f7a58a51a..a2193eef5a3 100644 --- a/src/mame/drivers/prehisle.cpp +++ b/src/mame/drivers/prehisle.cpp @@ -25,7 +25,7 @@ WRITE16_MEMBER(prehisle_state::soundcmd_w) { m_soundlatch->write(space, 0, data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /*******************************************************************************/ diff --git a/src/mame/drivers/psion.cpp b/src/mame/drivers/psion.cpp index 75a4d96a852..e12d16c55f5 100644 --- a/src/mame/drivers/psion.cpp +++ b/src/mame/drivers/psion.cpp @@ -32,7 +32,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(psion_state::nmi_timer) { if (m_enable_nmi) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } uint8_t psion_state::kb_read() diff --git a/src/mame/drivers/pv2000.cpp b/src/mame/drivers/pv2000.cpp index b90d83052c1..33cb16e55a9 100644 --- a/src/mame/drivers/pv2000.cpp +++ b/src/mame/drivers/pv2000.cpp @@ -320,7 +320,7 @@ WRITE_LINE_MEMBER( pv2000_state::pv2000_vdp_interrupt ) { // only if it goes up if (state && !m_last_state) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_last_state = state; diff --git a/src/mame/drivers/quizpun2.cpp b/src/mame/drivers/quizpun2.cpp index 34694684ee9..63ef7a58f28 100644 --- a/src/mame/drivers/quizpun2.cpp +++ b/src/mame/drivers/quizpun2.cpp @@ -320,7 +320,7 @@ WRITE8_MEMBER(quizpun2_state::irq_ack) WRITE8_MEMBER(quizpun2_state::soundlatch_w) { m_soundlatch->write(space, 0, data ^ 0x80); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void quizpun2_state::quizpun2_map(address_map &map) diff --git a/src/mame/drivers/rad_eu3a05.cpp b/src/mame/drivers/rad_eu3a05.cpp index 78c130473c7..bffc9763077 100644 --- a/src/mame/drivers/rad_eu3a05.cpp +++ b/src/mame/drivers/rad_eu3a05.cpp @@ -1142,7 +1142,7 @@ INTERRUPT_GEN_MEMBER(radica_eu3a05_state::interrupt) m_custom_nmi = 1; m_custom_nmi_vector = 0xffd4; - m_maincpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); */ } diff --git a/src/mame/drivers/rainbow.cpp b/src/mame/drivers/rainbow.cpp index 4cb768fdd90..bb7026014ad 100644 --- a/src/mame/drivers/rainbow.cpp +++ b/src/mame/drivers/rainbow.cpp @@ -1542,7 +1542,7 @@ WRITE8_MEMBER(rainbow_state::ext_ram_w) #ifndef OLD_RAM_BOARD_PRESENT if(m_diagnostic & 0x08) if( (offset + 0x10000) >= (MOTHERBOARD_RAM + 1)) - m_i8088->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_i8088->pulse_input_line(INPUT_LINE_NMI, attotime::zero); #endif } diff --git a/src/mame/drivers/rbmk.cpp b/src/mame/drivers/rbmk.cpp index 00ef653133a..47b8cbdb426 100644 --- a/src/mame/drivers/rbmk.cpp +++ b/src/mame/drivers/rbmk.cpp @@ -563,7 +563,7 @@ uint32_t rbmk_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, INTERRUPT_GEN_MEMBER(rbmk_state::mcu_irq) { - m_mcu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_mcu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(rbmk_state::rbmk) diff --git a/src/mame/drivers/redalert.cpp b/src/mame/drivers/redalert.cpp index ba23977412e..fcd5b50a598 100644 --- a/src/mame/drivers/redalert.cpp +++ b/src/mame/drivers/redalert.cpp @@ -113,7 +113,7 @@ INTERRUPT_GEN_MEMBER(redalert_state::redalert_vblank_interrupt) { if( ioport("COIN")->read() ) /* the service coin as conntected to the CPU's RDY pin as well */ - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); device.execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE); } diff --git a/src/mame/drivers/redclash.cpp b/src/mame/drivers/redclash.cpp index 38ab186ff5c..f5a08f7c239 100644 --- a/src/mame/drivers/redclash.cpp +++ b/src/mame/drivers/redclash.cpp @@ -97,7 +97,7 @@ INPUT_CHANGED_MEMBER( redclash_state::left_coin_inserted ) INPUT_CHANGED_MEMBER( redclash_state::right_coin_inserted ) { if(newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } static INPUT_PORTS_START( redclash ) diff --git a/src/mame/drivers/renegade.cpp b/src/mame/drivers/renegade.cpp index e651a0ea5d3..eeef8e8be16 100644 --- a/src/mame/drivers/renegade.cpp +++ b/src/mame/drivers/renegade.cpp @@ -159,7 +159,7 @@ WRITE_LINE_MEMBER(renegade_state::adpcm_int) { m_msm->reset_w(1); m_adpcm_playing = false; - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } else { @@ -221,7 +221,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(renegade_state::interrupt) int scanline = param; if (scanline == 112) // ??? - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); else if(scanline == 240) m_maincpu->set_input_line(0, HOLD_LINE); } diff --git a/src/mame/drivers/rollrace.cpp b/src/mame/drivers/rollrace.cpp index 74f7d9bab0c..e95c9b896b3 100644 --- a/src/mame/drivers/rollrace.cpp +++ b/src/mame/drivers/rollrace.cpp @@ -246,7 +246,7 @@ WRITE_LINE_MEMBER(rollrace_state::vblank_irq) INTERRUPT_GEN_MEMBER(rollrace_state::sound_timer_irq) { if(m_sound_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(rollrace_state::rollrace) diff --git a/src/mame/drivers/rowamet.cpp b/src/mame/drivers/rowamet.cpp index 5e04c5fd376..653d039887c 100644 --- a/src/mame/drivers/rowamet.cpp +++ b/src/mame/drivers/rowamet.cpp @@ -196,7 +196,7 @@ WRITE8_MEMBER( rowamet_state::io_w ) if (cmd != m_sndcmd) { m_sndcmd = cmd; - m_cpu2->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_cpu2->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } } diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp index 3bf999a76b2..fe53a445651 100644 --- a/src/mame/drivers/royalmah.cpp +++ b/src/mame/drivers/royalmah.cpp @@ -920,7 +920,7 @@ READ8_MEMBER(royalmah_state::jansou_6405_r) WRITE8_MEMBER(royalmah_state::jansou_sound_w) { m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void royalmah_state::jansou_map(address_map &map) @@ -3601,7 +3601,7 @@ MACHINE_CONFIG_END INTERRUPT_GEN_MEMBER(royalmah_state::suzume_irq) { if ( m_suzume_bank & 0x40 ) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(royalmah_state::suzume) diff --git a/src/mame/drivers/s11.cpp b/src/mame/drivers/s11.cpp index 6ae7b96f16b..530a9aa1e71 100644 --- a/src/mame/drivers/s11.cpp +++ b/src/mame/drivers/s11.cpp @@ -177,7 +177,7 @@ INPUT_CHANGED_MEMBER( s11_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s11_state::audio_nmi ) @@ -185,7 +185,7 @@ INPUT_CHANGED_MEMBER( s11_state::audio_nmi ) // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) if(m_audiocpu) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER( s11_state::pia_irq ) diff --git a/src/mame/drivers/s11b.cpp b/src/mame/drivers/s11b.cpp index bf5b0226458..90a39295130 100644 --- a/src/mame/drivers/s11b.cpp +++ b/src/mame/drivers/s11b.cpp @@ -151,9 +151,9 @@ MACHINE_RESET_MEMBER( s11b_state, s11b ) membank("bank1")->set_entry(0); membank("bgbank")->set_entry(0); // reset the CPUs again, so that the CPUs are starting with the right vectors (otherwise sound may die on reset) - m_audiocpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); if(m_bgcpu) - m_bgcpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_bgcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } WRITE8_MEMBER( s11b_state::bg_speech_clock_w ) diff --git a/src/mame/drivers/s11c.cpp b/src/mame/drivers/s11c.cpp index 69b05ae1131..aef00f5caf8 100644 --- a/src/mame/drivers/s11c.cpp +++ b/src/mame/drivers/s11c.cpp @@ -139,7 +139,7 @@ MACHINE_RESET_MEMBER( s11c_state, s11c ) { // membank("bgbank")->set_entry(0); // reset the CPUs again, so that the CPUs are starting with the right vectors (otherwise sound may die on reset) -// m_bgcpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); +// m_bgcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } void s11c_state::init_s11c() diff --git a/src/mame/drivers/s3.cpp b/src/mame/drivers/s3.cpp index e39fddbab10..b7b1d229d27 100644 --- a/src/mame/drivers/s3.cpp +++ b/src/mame/drivers/s3.cpp @@ -289,14 +289,14 @@ INPUT_CHANGED_MEMBER( s3_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s3_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if ((newval==CLEAR_LINE) && !m_chimes) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( s3_state::sol0_w ) diff --git a/src/mame/drivers/s4.cpp b/src/mame/drivers/s4.cpp index e72e341b30e..eb31f6a1dae 100644 --- a/src/mame/drivers/s4.cpp +++ b/src/mame/drivers/s4.cpp @@ -283,14 +283,14 @@ INPUT_CHANGED_MEMBER( s4_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s4_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if ((newval==CLEAR_LINE) && !m_chimes) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( s4_state::sol0_w ) diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp index 3f4a59d8c2d..e6d4b3f301a 100644 --- a/src/mame/drivers/s6.cpp +++ b/src/mame/drivers/s6.cpp @@ -248,14 +248,14 @@ INPUT_CHANGED_MEMBER( s6_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s6_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( s6_state::sol0_w ) diff --git a/src/mame/drivers/s6a.cpp b/src/mame/drivers/s6a.cpp index 9ee583a01af..c3229e084d4 100644 --- a/src/mame/drivers/s6a.cpp +++ b/src/mame/drivers/s6a.cpp @@ -231,14 +231,14 @@ INPUT_CHANGED_MEMBER( s6a_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s6a_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( s6a_state::sol0_w ) diff --git a/src/mame/drivers/s7.cpp b/src/mame/drivers/s7.cpp index c9e13954582..9f987107892 100644 --- a/src/mame/drivers/s7.cpp +++ b/src/mame/drivers/s7.cpp @@ -263,14 +263,14 @@ INPUT_CHANGED_MEMBER( s7_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s7_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s7_state::diag_coin ) diff --git a/src/mame/drivers/s8.cpp b/src/mame/drivers/s8.cpp index 5f2eb552595..ddf0fab4492 100644 --- a/src/mame/drivers/s8.cpp +++ b/src/mame/drivers/s8.cpp @@ -190,14 +190,14 @@ INPUT_CHANGED_MEMBER( s8_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s8_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( s8_state::sol3_w ) diff --git a/src/mame/drivers/s8a.cpp b/src/mame/drivers/s8a.cpp index d72096f0cea..bcec8dd5f3c 100644 --- a/src/mame/drivers/s8a.cpp +++ b/src/mame/drivers/s8a.cpp @@ -162,14 +162,14 @@ INPUT_CHANGED_MEMBER( s8a_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s8a_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( s8a_state::sol3_w ) diff --git a/src/mame/drivers/s9.cpp b/src/mame/drivers/s9.cpp index 21806f9c001..2ea48175ff3 100644 --- a/src/mame/drivers/s9.cpp +++ b/src/mame/drivers/s9.cpp @@ -206,14 +206,14 @@ INPUT_CHANGED_MEMBER( s9_state::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( s9_state::audio_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER( s9_state::sound_w ) diff --git a/src/mame/drivers/scorpion.cpp b/src/mame/drivers/scorpion.cpp index be9647505ab..56857c2d965 100644 --- a/src/mame/drivers/scorpion.cpp +++ b/src/mame/drivers/scorpion.cpp @@ -123,7 +123,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(scorpion_state::nmi_check_callback) { m_port_1ffd_data |= 0x02; scorpion_update_memory(); - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/segag80r.cpp b/src/mame/drivers/segag80r.cpp index be37f361ced..41a860015c5 100644 --- a/src/mame/drivers/segag80r.cpp +++ b/src/mame/drivers/segag80r.cpp @@ -147,7 +147,7 @@ INPUT_CHANGED_MEMBER(segag80r_state::service_switch) { /* pressing the service switch sends an NMI */ if (newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/segag80v.cpp b/src/mame/drivers/segag80v.cpp index 27065dcb57c..dac56b18f40 100644 --- a/src/mame/drivers/segag80v.cpp +++ b/src/mame/drivers/segag80v.cpp @@ -165,7 +165,7 @@ INPUT_CHANGED_MEMBER(segag80v_state::service_switch) { /* pressing the service switch sends an NMI */ if (newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/segaorun.cpp b/src/mame/drivers/segaorun.cpp index 6bbaf7a90b4..01498313c36 100644 --- a/src/mame/drivers/segaorun.cpp +++ b/src/mame/drivers/segaorun.cpp @@ -830,7 +830,7 @@ void segaorun_state::update_main_irqs() WRITE_LINE_MEMBER(segaorun_state::m68k_reset_callback) { - m_subcpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } diff --git a/src/mame/drivers/segas16b.cpp b/src/mame/drivers/segas16b.cpp index 6c4a88a3ff3..10d0ba89b8a 100644 --- a/src/mame/drivers/segas16b.cpp +++ b/src/mame/drivers/segas16b.cpp @@ -1237,7 +1237,7 @@ READ8_MEMBER( segas16b_state::upd7759_status_r ) WRITE_LINE_MEMBER(segas16b_state::upd7759_generate_nmi) { if (state) - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/segas24.cpp b/src/mame/drivers/segas24.cpp index 199bf4af88f..9cf80e97063 100644 --- a/src/mame/drivers/segas24.cpp +++ b/src/mame/drivers/segas24.cpp @@ -636,7 +636,7 @@ WRITE_LINE_MEMBER(segas24_state::cnt1) if (state) { m_subcpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_subcpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); //osd_printf_debug("enable 2nd cpu!\n"); //machine().debug_break(); if (m_gground_hack_timer) diff --git a/src/mame/drivers/segaufo.cpp b/src/mame/drivers/segaufo.cpp index 8684d51bcb7..c248b6d6bf3 100644 --- a/src/mame/drivers/segaufo.cpp +++ b/src/mame/drivers/segaufo.cpp @@ -212,7 +212,7 @@ WRITE_LINE_MEMBER(ufo_state::pit_out1) { // NMI? if (state) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(ufo_state::pit_out2) diff --git a/src/mame/drivers/segaxbd.cpp b/src/mame/drivers/segaxbd.cpp index 1c243ca9a26..38aafc5c7ed 100644 --- a/src/mame/drivers/segaxbd.cpp +++ b/src/mame/drivers/segaxbd.cpp @@ -866,7 +866,7 @@ void segaxbd_state::update_main_irqs() WRITE_LINE_MEMBER(segaxbd_state::m68k_reset_callback) { - m_subcpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100)); } diff --git a/src/mame/drivers/seicross.cpp b/src/mame/drivers/seicross.cpp index d7fbb93b285..5ef9492b100 100644 --- a/src/mame/drivers/seicross.cpp +++ b/src/mame/drivers/seicross.cpp @@ -97,7 +97,7 @@ WRITE8_MEMBER(seicross_state::portB_w) if (((m_portb & 4) == 0) && (data & 4)) { /* reset and start the protection mcu */ - m_mcu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_mcu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_mcu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); } diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp index 06a360aa8cb..76b5e104105 100644 --- a/src/mame/drivers/seta.cpp +++ b/src/mame/drivers/seta.cpp @@ -1569,7 +1569,7 @@ WRITE16_MEMBER(seta_state::sub_ctrl_w) if (ACCESSING_BITS_0_7) { if ( !(m_sub_ctrl_data & 1) && (data & 1) ) - m_subcpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_sub_ctrl_data = data; } break; @@ -7790,7 +7790,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(seta_state::seta_sub_interrupt) int scanline = param; if(scanline == 240) - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); if(scanline == 112) m_subcpu->set_input_line(0, HOLD_LINE); @@ -7806,7 +7806,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(seta_state::tndrcade_sub_interrupt) int scanline = param; if(scanline == 240) - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); if((scanline % 16) == 0) m_subcpu->set_input_line(0, HOLD_LINE); diff --git a/src/mame/drivers/sf.cpp b/src/mame/drivers/sf.cpp index f58350c62c7..6f8697c0f98 100644 --- a/src/mame/drivers/sf.cpp +++ b/src/mame/drivers/sf.cpp @@ -135,7 +135,7 @@ WRITE8_MEMBER(sf_state::coin_w) WRITE8_MEMBER(sf_state::soundcmd_w) { m_soundlatch->write(space, offset, data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(sf_state::sound2_bank_w) diff --git a/src/mame/drivers/shaolins.cpp b/src/mame/drivers/shaolins.cpp index 713de8cd929..035ebf9e0f9 100644 --- a/src/mame/drivers/shaolins.cpp +++ b/src/mame/drivers/shaolins.cpp @@ -27,7 +27,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(shaolins_state::interrupt) if(scanline == 240) m_maincpu->set_input_line(0, HOLD_LINE); else if((scanline % 32) == 0) - if (m_nmi_enable & 0x02) m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (m_nmi_enable & 0x02) m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp index 1260aa81686..b2ff9e8f8b2 100644 --- a/src/mame/drivers/simple_st0016.cpp +++ b/src/mame/drivers/simple_st0016.cpp @@ -449,7 +449,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(st0016_state::st0016_int) m_maincpu->set_input_line(0,HOLD_LINE); else if((scanline % 64) == 0) if(m_maincpu->state_int(Z80_IFF1)) /* dirty hack ... */ - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE ); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/skydiver.cpp b/src/mame/drivers/skydiver.cpp index 42093745d5b..bb35dc56928 100644 --- a/src/mame/drivers/skydiver.cpp +++ b/src/mame/drivers/skydiver.cpp @@ -161,7 +161,7 @@ INTERRUPT_GEN_MEMBER(skydiver_state::interrupt) m_discrete->write(space, SKYDIVER_NOISE_DATA, m_videoram[0x396] & 0x0f); // NAM - Noise Amplitude if (m_nmion) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/skylncr.cpp b/src/mame/drivers/skylncr.cpp index 2812e715fbc..48d9b3c83f7 100644 --- a/src/mame/drivers/skylncr.cpp +++ b/src/mame/drivers/skylncr.cpp @@ -1626,7 +1626,7 @@ INPUT_PORTS_END // It runs in IM 0, thus needs an opcode on the data bus INTERRUPT_GEN_MEMBER(skylncr_state::skylncr_vblank_interrupt) { - if (m_nmi_enable) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (m_nmi_enable) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/slapfght.cpp b/src/mame/drivers/slapfght.cpp index cdceb753451..feacfbb9e97 100644 --- a/src/mame/drivers/slapfght.cpp +++ b/src/mame/drivers/slapfght.cpp @@ -438,7 +438,7 @@ void slapfght_state::getstarb2_io_map(address_map &map) INTERRUPT_GEN_MEMBER(slapfght_state::sound_nmi) { if (m_sound_nmi_enabled) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(slapfght_state::sound_nmi_enable_w) diff --git a/src/mame/drivers/snk68.cpp b/src/mame/drivers/snk68.cpp index 23cec980956..fe939fefc62 100644 --- a/src/mame/drivers/snk68.cpp +++ b/src/mame/drivers/snk68.cpp @@ -99,7 +99,7 @@ WRITE16_MEMBER(snk68_state::protection_w) WRITE8_MEMBER(snk68_state::sound_w) { m_soundlatch->write(space, 0, data); - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); // caused by 74123 + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // caused by 74123 } /*******************************************************************************/ diff --git a/src/mame/drivers/solomon.cpp b/src/mame/drivers/solomon.cpp index 9f3c5d9e3ab..cb6588ee33d 100644 --- a/src/mame/drivers/solomon.cpp +++ b/src/mame/drivers/solomon.cpp @@ -20,7 +20,7 @@ driver by Mirko Buffoni WRITE8_MEMBER(solomon_state::solomon_sh_command_w) { m_soundlatch->write(space, offset, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /* this is checked on the title screen and when you reach certain scores in the game @@ -204,7 +204,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(solomon_state::vblank_irq) { if(m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/sothello.cpp b/src/mame/drivers/sothello.cpp index 2ef3f836a6a..463955471fc 100644 --- a/src/mame/drivers/sothello.cpp +++ b/src/mame/drivers/sothello.cpp @@ -138,7 +138,7 @@ TIMER_CALLBACK_MEMBER(sothello_state::subcpu_suspend) TIMER_CALLBACK_MEMBER(sothello_state::subcpu_resume) { m_subcpu->resume(SUSPEND_REASON_HALT); - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(sothello_state::subcpu_halt_set) diff --git a/src/mame/drivers/spectra.cpp b/src/mame/drivers/spectra.cpp index cb9d86be9d0..9170c7d8b7c 100644 --- a/src/mame/drivers/spectra.cpp +++ b/src/mame/drivers/spectra.cpp @@ -182,7 +182,7 @@ WRITE8_MEMBER( spectra_state::portb_w ) TIMER_DEVICE_CALLBACK_MEMBER( spectra_state::nmitimer) { if (m_t_c > 0x10) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); else m_t_c++; } diff --git a/src/mame/drivers/sprcros2.cpp b/src/mame/drivers/sprcros2.cpp index 8e4f387fd56..9ec4d68c2e2 100644 --- a/src/mame/drivers/sprcros2.cpp +++ b/src/mame/drivers/sprcros2.cpp @@ -433,13 +433,13 @@ PALETTE_INIT_MEMBER(sprcros2_state, sprcros2) INTERRUPT_GEN_MEMBER(sprcros2_state::master_vblank_irq) { if(m_master_nmi_enable == true) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER(sprcros2_state::slave_vblank_irq) { if(m_slave_nmi_enable == true) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } TIMER_DEVICE_CALLBACK_MEMBER(sprcros2_state::master_scanline) diff --git a/src/mame/drivers/sprint2.cpp b/src/mame/drivers/sprint2.cpp index efcfeeb5e2d..8ef6cb85b00 100644 --- a/src/mame/drivers/sprint2.cpp +++ b/src/mame/drivers/sprint2.cpp @@ -115,7 +115,7 @@ INTERRUPT_GEN_MEMBER(sprint2_state::sprint2) m_watchdog->watchdog_enable(!service_mode()); if (!service_mode()) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/sprint4.cpp b/src/mame/drivers/sprint4.cpp index 6d1fb1d6fca..0e6cc849e02 100644 --- a/src/mame/drivers/sprint4.cpp +++ b/src/mame/drivers/sprint4.cpp @@ -117,7 +117,7 @@ TIMER_CALLBACK_MEMBER(sprint4_state::nmi_callback) m_watchdog->watchdog_enable(ioport("IN0")->read() & 0x40); if (ioport("IN0")->read() & 0x40) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_nmi_timer->adjust(m_screen->time_until_pos(scanline), scanline); } diff --git a/src/mame/drivers/ssozumo.cpp b/src/mame/drivers/ssozumo.cpp index 867aa91bef3..08f748db059 100644 --- a/src/mame/drivers/ssozumo.cpp +++ b/src/mame/drivers/ssozumo.cpp @@ -191,7 +191,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(ssozumo_state::sound_timer_irq) { if(m_sound_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(ssozumo_state::ssozumo) diff --git a/src/mame/drivers/st_mp100.cpp b/src/mame/drivers/st_mp100.cpp index 5a6182f521c..d14b147db8b 100644 --- a/src/mame/drivers/st_mp100.cpp +++ b/src/mame/drivers/st_mp100.cpp @@ -494,7 +494,7 @@ INPUT_PORTS_END INPUT_CHANGED_MEMBER( st_mp100_state::activity_test ) { if(newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( st_mp100_state::self_test ) diff --git a/src/mame/drivers/st_mp200.cpp b/src/mame/drivers/st_mp200.cpp index a8327191e49..18dac58b62a 100644 --- a/src/mame/drivers/st_mp200.cpp +++ b/src/mame/drivers/st_mp200.cpp @@ -314,7 +314,7 @@ INPUT_PORTS_END INPUT_CHANGED_MEMBER( st_mp200_state::activity_test ) { if(newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( st_mp200_state::self_test ) diff --git a/src/mame/drivers/stadhero.cpp b/src/mame/drivers/stadhero.cpp index 99c4e069bc7..98241f54bc7 100644 --- a/src/mame/drivers/stadhero.cpp +++ b/src/mame/drivers/stadhero.cpp @@ -42,7 +42,7 @@ WRITE16_MEMBER(stadhero_state::stadhero_control_w) break; case 6: /* 6502 sound cpu */ m_soundlatch->write(space, 0, data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; default: logerror("CPU #0 PC %06x: warning - write %02x to unmapped memory address %06x\n",m_maincpu->pc(),data,0x30c010+offset); diff --git a/src/mame/drivers/starfire.cpp b/src/mame/drivers/starfire.cpp index 5804557d192..750c4b63bbd 100644 --- a/src/mame/drivers/starfire.cpp +++ b/src/mame/drivers/starfire.cpp @@ -324,7 +324,7 @@ INTERRUPT_GEN_MEMBER(starfire_state::vblank_int) { // starfire has a jumper for disabling NMI, used to do a complete RAM test if (m_nmi.read_safe(0x01)) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/stratos.cpp b/src/mame/drivers/stratos.cpp index 2c097e88cb7..02d5c10c973 100644 --- a/src/mame/drivers/stratos.cpp +++ b/src/mame/drivers/stratos.cpp @@ -122,7 +122,7 @@ uint32_t stratos_state::screen_update(screen_device &screen, bitmap_rgb32 &bitma if(machine().input().code_pressed(KEYCODE_W)) { if(!nmi) { - maincpu->set_input_line(M65C02_NMI_LINE, PULSE_LINE); + maincpu->pulse_input_line(M65C02_NMI_LINE, attotime::zero); nmi = true; } } else diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp index 29c70849241..7f59326ea06 100644 --- a/src/mame/drivers/suna8.cpp +++ b/src/mame/drivers/suna8.cpp @@ -2079,8 +2079,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(suna8_state::hardhea2_interrupt) if(scanline == 240) m_maincpu->set_input_line(0, HOLD_LINE); - if(scanline == 112) - if (m_nmi_enable) m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if(scanline == 112 && m_nmi_enable) + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_RESET_MEMBER(suna8_state,hardhea2) diff --git a/src/mame/drivers/superqix.cpp b/src/mame/drivers/superqix.cpp index fee953cae2e..9170ec772d3 100644 --- a/src/mame/drivers/superqix.cpp +++ b/src/mame/drivers/superqix.cpp @@ -958,7 +958,7 @@ MACHINE_RESET_MEMBER(superqix_state, superqix) // to the p2 latch with bit 5 set. m_port2_raw = 0x01; // force the following function into latching a zero write by having bit 0 falling edge mcu_port2_w(m_mcu->space(AS_PROGRAM), 0, 0x00, 0xff); - m_mcu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_mcu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } } diff --git a/src/mame/drivers/suprgolf.cpp b/src/mame/drivers/suprgolf.cpp index a6cce013f48..40c8ede3043 100644 --- a/src/mame/drivers/suprgolf.cpp +++ b/src/mame/drivers/suprgolf.cpp @@ -461,7 +461,7 @@ WRITE_LINE_MEMBER(suprgolf_state::adpcm_int) if(m_toggle) { m_msm->data_w((m_msm5205next & 0xf0) >> 4); - if(m_msm_nmi_mask) { m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); } + if(m_msm_nmi_mask) { m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } else { diff --git a/src/mame/drivers/suprridr.cpp b/src/mame/drivers/suprridr.cpp index 69ac5814f97..da0a7791c07 100644 --- a/src/mame/drivers/suprridr.cpp +++ b/src/mame/drivers/suprridr.cpp @@ -118,7 +118,7 @@ WRITE8_MEMBER(suprridr_state::nmi_enable_w) INTERRUPT_GEN_MEMBER(suprridr_state::main_nmi_gen) { if (m_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/svision.cpp b/src/mame/drivers/svision.cpp index dc8abd1fdac..5cd168ab6ff 100644 --- a/src/mame/drivers/svision.cpp +++ b/src/mame/drivers/svision.cpp @@ -437,7 +437,7 @@ uint32_t svision_state::screen_update_tvlink(screen_device &screen, bitmap_rgb32 INTERRUPT_GEN_MEMBER(svision_state::svision_frame_int) { if (BANK & 1) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_sound->sound_decrement(); } diff --git a/src/mame/drivers/system16.cpp b/src/mame/drivers/system16.cpp index 933b76ed934..34f94c8d96c 100644 --- a/src/mame/drivers/system16.cpp +++ b/src/mame/drivers/system16.cpp @@ -112,7 +112,7 @@ WRITE16_MEMBER(segas1x_bootleg_state::sound_command_nmi_w) if (ACCESSING_BITS_0_7) { m_soundlatch->write(space, 0, data & 0xff); - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } @@ -373,7 +373,7 @@ WRITE_LINE_MEMBER(segas1x_bootleg_state::tturfbl_msm5205_callback) m_sample_buffer <<= 4; m_sample_select ^= 1; if(m_sample_select == 0) - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(segas1x_bootleg_state::tturfbl_soundbank_r) @@ -1180,7 +1180,7 @@ WRITE_LINE_MEMBER(segas1x_bootleg_state::shdancbl_msm5205_callback) m_sample_buffer >>= 4; m_sample_select ^= 1; if (m_sample_select == 0) - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(segas1x_bootleg_state::shdancbl_soundbank_r) @@ -2077,7 +2077,7 @@ MACHINE_CONFIG_END WRITE_LINE_MEMBER(segas1x_bootleg_state::sound_cause_nmi) { /* upd7759 callback */ - m_soundcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(segas1x_bootleg_state::z80_ym2151_upd7759) diff --git a/src/mame/drivers/tagteam.cpp b/src/mame/drivers/tagteam.cpp index 8a96d2f74f1..d1019a0bae8 100644 --- a/src/mame/drivers/tagteam.cpp +++ b/src/mame/drivers/tagteam.cpp @@ -205,7 +205,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(tagteam_state::sound_timer_irq) { if(m_sound_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/tankbatt.cpp b/src/mame/drivers/tankbatt.cpp index 09bd44658fb..2db68efb0aa 100644 --- a/src/mame/drivers/tankbatt.cpp +++ b/src/mame/drivers/tankbatt.cpp @@ -176,7 +176,7 @@ void tankbatt_state::main_map(address_map &map) INTERRUPT_GEN_MEMBER(tankbatt_state::interrupt) { - if (m_nmi_enable) device.execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE); + if (m_nmi_enable) device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER(tankbatt_state::coin_inserted) diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp index 9ed8a453c93..f5d1275ac78 100644 --- a/src/mame/drivers/tatsumi.cpp +++ b/src/mame/drivers/tatsumi.cpp @@ -845,7 +845,7 @@ INTERRUPT_GEN_MEMBER(tatsumi_state::v30_interrupt) WRITE_LINE_MEMBER(apache3_state::apache3_68000_reset) { - m_subcpu2->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_subcpu2->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } MACHINE_RESET_MEMBER(apache3_state,apache3) diff --git a/src/mame/drivers/tbowl.cpp b/src/mame/drivers/tbowl.cpp index 8dde5977e19..bd4559a488e 100644 --- a/src/mame/drivers/tbowl.cpp +++ b/src/mame/drivers/tbowl.cpp @@ -96,7 +96,7 @@ void tbowl_state::_6206B_map(address_map &map) WRITE8_MEMBER(tbowl_state::trigger_nmi) { /* trigger NMI on 6206B's Cpu? (guess but seems to work..) */ - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void tbowl_state::_6206C_map(address_map &map) diff --git a/src/mame/drivers/tehkanwc.cpp b/src/mame/drivers/tehkanwc.cpp index c1fb82d723a..e700f048881 100644 --- a/src/mame/drivers/tehkanwc.cpp +++ b/src/mame/drivers/tehkanwc.cpp @@ -158,7 +158,7 @@ WRITE8_MEMBER(tehkanwc_state::track_1_reset_w) WRITE8_MEMBER(tehkanwc_state::sound_command_w) { m_soundlatch->write(space, offset, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void tehkanwc_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) @@ -166,7 +166,7 @@ void tehkanwc_state::device_timer(emu_timer &timer, device_timer_id id, int para switch (id) { case TIMER_RESET: - m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); break; default: assert_always(false, "Unknown id in tehkanwc_state::device_timer"); diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp index db54eb5fbab..a432f35b88a 100644 --- a/src/mame/drivers/toaplan2.cpp +++ b/src/mame/drivers/toaplan2.cpp @@ -420,7 +420,7 @@ void toaplan2_state::machine_start() WRITE_LINE_MEMBER(toaplan2_state::toaplan2_reset) { if (m_audiocpu != nullptr) - m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } diff --git a/src/mame/drivers/toki.cpp b/src/mame/drivers/toki.cpp index d928fff8414..82077a4fb92 100644 --- a/src/mame/drivers/toki.cpp +++ b/src/mame/drivers/toki.cpp @@ -123,7 +123,7 @@ WRITE_LINE_MEMBER(toki_state::tokib_adpcm_int) m_toggle ^= 1; if (m_toggle) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(toki_state::tokib_adpcm_control_w) diff --git a/src/mame/drivers/trucocl.cpp b/src/mame/drivers/trucocl.cpp index 7d27cdc51ae..d9c20f51bc2 100644 --- a/src/mame/drivers/trucocl.cpp +++ b/src/mame/drivers/trucocl.cpp @@ -55,7 +55,7 @@ void trucocl_state::device_timer(emu_timer &timer, device_timer_id id, int param switch (id) { case TIMER_DAC_IRQ: - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; default: assert_always(false, "Unknown id in trucocl_state::device_timer"); diff --git a/src/mame/drivers/tsamurai.cpp b/src/mame/drivers/tsamurai.cpp index b7181baf540..e01943368e4 100644 --- a/src/mame/drivers/tsamurai.cpp +++ b/src/mame/drivers/tsamurai.cpp @@ -82,7 +82,7 @@ WRITE_LINE_MEMBER(tsamurai_state::nmi_enable_w) WRITE_LINE_MEMBER(tsamurai_state::vblank_irq) { if (state && m_nmi_enabled) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(tsamurai_state::tsamurai_unknown_d803_r) @@ -311,7 +311,8 @@ WRITE8_MEMBER(tsamurai_state::vsgongf_sound_nmi_enable_w) INTERRUPT_GEN_MEMBER(tsamurai_state::vsgongf_sound_interrupt) { - if (m_vsgongf_sound_nmi_enabled) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + if (m_vsgongf_sound_nmi_enabled) + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /* what are these, protection of some kind? */ @@ -341,7 +342,7 @@ READ8_MEMBER(tsamurai_state::vsgongf_a100_r) WRITE8_MEMBER(tsamurai_state::vsgongf_sound_command_w) { m_soundlatch->write(space, offset, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void tsamurai_state::vsgongf_map(address_map &map) diff --git a/src/mame/drivers/ttchamp.cpp b/src/mame/drivers/ttchamp.cpp index c8021d62ccf..0a0826e42fd 100644 --- a/src/mame/drivers/ttchamp.cpp +++ b/src/mame/drivers/ttchamp.cpp @@ -639,7 +639,7 @@ INPUT_PORTS_END INTERRUPT_GEN_MEMBER(ttchamp_state::irq)/* right? */ { - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(ttchamp_state::ttchamp) diff --git a/src/mame/drivers/ultratnk.cpp b/src/mame/drivers/ultratnk.cpp index de3c53d888a..463310c6aa8 100644 --- a/src/mame/drivers/ultratnk.cpp +++ b/src/mame/drivers/ultratnk.cpp @@ -70,7 +70,7 @@ TIMER_CALLBACK_MEMBER(ultratnk_state::nmi_callback) m_watchdog->watchdog_enable(ioport("IN0")->read() & 0x40); if (ioport("IN0")->read() & 0x40) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_nmi_timer->adjust(m_screen->time_until_pos(scanline), scanline); } diff --git a/src/mame/drivers/univac.cpp b/src/mame/drivers/univac.cpp index 4923d3f3828..da5d92964c8 100644 --- a/src/mame/drivers/univac.cpp +++ b/src/mame/drivers/univac.cpp @@ -119,7 +119,7 @@ READ8_MEMBER( univac_state::ram_r ) if (BIT(m_p_parity[offset >> 3], offset & 0x07) && !machine().side_effects_disabled()) { LOGPARITY("parity check failed offset = %04X\n", offset); - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } return m_p_videoram[offset]; } diff --git a/src/mame/drivers/vastar.cpp b/src/mame/drivers/vastar.cpp index ca13edab91b..8cc1d946496 100644 --- a/src/mame/drivers/vastar.cpp +++ b/src/mame/drivers/vastar.cpp @@ -414,7 +414,7 @@ GFXDECODE_END INTERRUPT_GEN_MEMBER(vastar_state::vblank_irq) { if(m_nmi_mask) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(vastar_state::vastar) diff --git a/src/mame/drivers/vcombat.cpp b/src/mame/drivers/vcombat.cpp index 6f05b5dbb55..2b94f202bf6 100644 --- a/src/mame/drivers/vcombat.cpp +++ b/src/mame/drivers/vcombat.cpp @@ -285,7 +285,7 @@ READ16_MEMBER(vcombat_state::main_irqiack_r) READ16_MEMBER(vcombat_state::sound_resetmain_r) { //fprintf(stderr, "M1: reset line to M0\n"); - //m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + //m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); return 0; } diff --git a/src/mame/drivers/vicdual.cpp b/src/mame/drivers/vicdual.cpp index d55b26b6c9d..aa66c26db0e 100644 --- a/src/mame/drivers/vicdual.cpp +++ b/src/mame/drivers/vicdual.cpp @@ -105,7 +105,7 @@ CUSTOM_INPUT_MEMBER(vicdual_state::read_coin_status) /* the main CPU is reset when a coin is inserted */ void vicdual_state::coin_in() { - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); /* simulate the coin switch being closed for a while */ m_coinstate_timer->adjust(attotime::from_msec(70)); diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp index 995b7e6c0ef..102b0fa1f3a 100644 --- a/src/mame/drivers/vis.cpp +++ b/src/mame/drivers/vis.cpp @@ -824,7 +824,7 @@ READ8_MEMBER(vis_state::sysctl_r) WRITE8_MEMBER(vis_state::sysctl_w) { if(BIT(data, 0) && !BIT(m_sysctl, 0)) - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); //m_maincpu->set_input_line(INPUT_LINE_A20, BIT(data, 1) ? CLEAR_LINE : ASSERT_LINE); m_sysctl = data; } diff --git a/src/mame/drivers/vsnes.cpp b/src/mame/drivers/vsnes.cpp index 03aa62e370d..822cad5d655 100644 --- a/src/mame/drivers/vsnes.cpp +++ b/src/mame/drivers/vsnes.cpp @@ -237,7 +237,7 @@ WRITE8_MEMBER(vsnes_state::bootleg_sound_write) { m_bootleg_sound_offset = offset; m_bootleg_sound_data = data; - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(vsnes_state::vsnes_bootleg_z80_data_r) diff --git a/src/mame/drivers/vt240.cpp b/src/mame/drivers/vt240.cpp index 73915a2e9a6..0538a042a33 100644 --- a/src/mame/drivers/vt240.cpp +++ b/src/mame/drivers/vt240.cpp @@ -250,7 +250,7 @@ READ8_MEMBER(vt240_state::i8085_comm_r) return m_i8085_out; case 2: m_i8085->set_input_line(I8085_RST65_LINE, CLEAR_LINE); - m_i8085->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_i8085->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_t11 = 1; break; } @@ -268,7 +268,7 @@ WRITE8_MEMBER(vt240_state::i8085_comm_w) break; case 2: m_i8085->set_input_line(I8085_RST65_LINE, CLEAR_LINE); - m_i8085->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_i8085->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_t11 = 1; break; } diff --git a/src/mame/drivers/wacky_gator.cpp b/src/mame/drivers/wacky_gator.cpp index 1300c3e382f..ddaedcdd4c4 100644 --- a/src/mame/drivers/wacky_gator.cpp +++ b/src/mame/drivers/wacky_gator.cpp @@ -72,7 +72,7 @@ protected: DECLARE_WRITE8_MEMBER(irq_ack_w) { m_maincpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); } DECLARE_WRITE8_MEMBER(firq_ack_w) { m_maincpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE); } - TIMER_DEVICE_CALLBACK_MEMBER(nmi_timer) { m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); } + TIMER_DEVICE_CALLBACK_MEMBER(nmi_timer) { m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void program_map(address_map &map); diff --git a/src/mame/drivers/wc90b.cpp b/src/mame/drivers/wc90b.cpp index d61bb8fb6ef..110f54721d5 100644 --- a/src/mame/drivers/wc90b.cpp +++ b/src/mame/drivers/wc90b.cpp @@ -336,7 +336,7 @@ WRITE_LINE_MEMBER(wc90b_state::adpcm_int) if(m_toggle) { m_msm->data_w((m_msm5205next & 0xf0) >> 4); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } else m_msm->data_w((m_msm5205next & 0x0f) >> 0); diff --git a/src/mame/drivers/wicat.cpp b/src/mame/drivers/wicat.cpp index fe0768da74a..365be8d6e6b 100644 --- a/src/mame/drivers/wicat.cpp +++ b/src/mame/drivers/wicat.cpp @@ -743,7 +743,7 @@ WRITE_LINE_MEMBER(wicat_state::dma_nmi_cb) if(state) { if(m_nmi_enable != 0) - m_videocpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE); + m_videocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/drivers/wiz.cpp b/src/mame/drivers/wiz.cpp index ae792d87832..cdea7eb121a 100644 --- a/src/mame/drivers/wiz.cpp +++ b/src/mame/drivers/wiz.cpp @@ -781,13 +781,13 @@ void wiz_state::machine_start() INTERRUPT_GEN_MEMBER(wiz_state::wiz_vblank_interrupt) { if (m_main_nmi_mask & 1) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER(wiz_state::wiz_sound_interrupt) { if (m_sound_nmi_mask & 1) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } MACHINE_CONFIG_START(wiz_state::kungfut) diff --git a/src/mame/drivers/wolfpack.cpp b/src/mame/drivers/wolfpack.cpp index 1016b8f3e85..37ad2034e7f 100644 --- a/src/mame/drivers/wolfpack.cpp +++ b/src/mame/drivers/wolfpack.cpp @@ -31,7 +31,7 @@ TIMER_CALLBACK_MEMBER(wolfpack_state::periodic_callback) { int scanline = param; - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); scanline += 64; diff --git a/src/mame/drivers/wyvernf0.cpp b/src/mame/drivers/wyvernf0.cpp index 646063e60a9..c3659af2ffb 100644 --- a/src/mame/drivers/wyvernf0.cpp +++ b/src/mame/drivers/wyvernf0.cpp @@ -359,7 +359,7 @@ WRITE8_MEMBER(wyvernf0_state::rombank_w) TIMER_CALLBACK_MEMBER(wyvernf0_state::nmi_callback) { if (m_sound_nmi_enable) - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); else m_pending_nmi = 1; } @@ -380,7 +380,7 @@ WRITE8_MEMBER(wyvernf0_state::nmi_enable_w) m_sound_nmi_enable = 1; if (m_pending_nmi) { - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_pending_nmi = 0; } } diff --git a/src/mame/drivers/yiear.cpp b/src/mame/drivers/yiear.cpp index 5bf488dafa3..95feea42f1b 100644 --- a/src/mame/drivers/yiear.cpp +++ b/src/mame/drivers/yiear.cpp @@ -134,7 +134,7 @@ WRITE_LINE_MEMBER(yiear_state::vblank_irq) INTERRUPT_GEN_MEMBER(yiear_state::yiear_nmi_interrupt) { if (m_yiear_nmi_enable) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/drivers/yunsun16.cpp b/src/mame/drivers/yunsun16.cpp index 963b0989b6b..38a269f0e82 100644 --- a/src/mame/drivers/yunsun16.cpp +++ b/src/mame/drivers/yunsun16.cpp @@ -147,7 +147,7 @@ number 0 on each voice. That sample is 00000-00000. if ((data & 0xff) != 0x3a) { m_soundlatch->write(space, 0, data & 0xff); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } } diff --git a/src/mame/drivers/zaxxon.cpp b/src/mame/drivers/zaxxon.cpp index e7c6a29648e..acf8bac09df 100644 --- a/src/mame/drivers/zaxxon.cpp +++ b/src/mame/drivers/zaxxon.cpp @@ -299,7 +299,7 @@ INPUT_CHANGED_MEMBER(zaxxon_state::service_switch) { /* pressing the service switch sends an NMI */ if (newval) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/machine/asteroid.cpp b/src/mame/machine/asteroid.cpp index a639e59671f..7ea2b0e5408 100644 --- a/src/mame/machine/asteroid.cpp +++ b/src/mame/machine/asteroid.cpp @@ -19,21 +19,21 @@ INTERRUPT_GEN_MEMBER(asteroid_state::asteroid_interrupt) { /* Turn off interrupts if self-test is enabled */ if (!(ioport("IN0")->read() & 0x80)) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER(asteroid_state::asterock_interrupt) { /* Turn off interrupts if self-test is enabled */ if ((ioport("IN0")->read() & 0x80)) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INTERRUPT_GEN_MEMBER(asteroid_state::llander_interrupt) { /* Turn off interrupts if self-test is enabled */ if (ioport("IN0")->read() & 0x02) - device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE_LINE_MEMBER(asteroid_state::cocktail_inv_w) diff --git a/src/mame/machine/atarigen.cpp b/src/mame/machine/atarigen.cpp index fb804be3507..6f875a7e47a 100644 --- a/src/mame/machine/atarigen.cpp +++ b/src/mame/machine/atarigen.cpp @@ -271,7 +271,7 @@ void atari_sound_comm_device::delayed_sound_reset(int param) if (param == 0) { m_sound_cpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_sound_cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_sound_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } // reset the sound write state diff --git a/src/mame/machine/bsktball.cpp b/src/mame/machine/bsktball.cpp index f51e1f7a0ab..e6c6e904e14 100644 --- a/src/mame/machine/bsktball.cpp +++ b/src/mame/machine/bsktball.cpp @@ -29,7 +29,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(bsktball_state::bsktball_scanline) if(scanline == 0) // vblank irq m_maincpu->set_input_line(0, HOLD_LINE); else if(((scanline % 28) == 0) && (m_nmi_on)) // 32v timer irq - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/machine/bublbobl.cpp b/src/mame/machine/bublbobl.cpp index f0f46222463..55ecc04b88f 100644 --- a/src/mame/machine/bublbobl.cpp +++ b/src/mame/machine/bublbobl.cpp @@ -115,7 +115,7 @@ WRITE8_MEMBER(bublbobl_state::tokio_videoctrl_w) WRITE8_MEMBER(bublbobl_state::bublbobl_nmitrigger_w) { - m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } READ8_MEMBER(bublbobl_state::tokiob_mcu_r) diff --git a/src/mame/machine/c117.cpp b/src/mame/machine/c117.cpp index 74cba0fa817..ae8ed387190 100644 --- a/src/mame/machine/c117.cpp +++ b/src/mame/machine/c117.cpp @@ -99,7 +99,7 @@ void namco_c117_device::device_reset() m_subres_cb(ASSERT_LINE); // reset the main CPU so it picks up the reset vector from the correct bank - m_cpuexec[0]->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_cpuexec[0]->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } diff --git a/src/mame/machine/decopincpu.cpp b/src/mame/machine/decopincpu.cpp index 53b9d3ad26c..6ac48e286e1 100644 --- a/src/mame/machine/decopincpu.cpp +++ b/src/mame/machine/decopincpu.cpp @@ -87,7 +87,7 @@ INPUT_CHANGED_MEMBER( decocpu_type1_device::main_nmi ) { // Diagnostic button sends a pulse to NMI pin if (newval==CLEAR_LINE) - m_cpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } INPUT_CHANGED_MEMBER( decocpu_type1_device::audio_nmi ) diff --git a/src/mame/machine/docastle.cpp b/src/mame/machine/docastle.cpp index 78241b3bc0e..977419a32d5 100644 --- a/src/mame/machine/docastle.cpp +++ b/src/mame/machine/docastle.cpp @@ -86,5 +86,5 @@ WRITE8_MEMBER(docastle_state::docastle_shared1_w) WRITE8_MEMBER(docastle_state::docastle_nmitrigger_w) { - m_slave->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_slave->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } diff --git a/src/mame/machine/harddriv.cpp b/src/mame/machine/harddriv.cpp index 529aebac5ce..25cb9753f95 100644 --- a/src/mame/machine/harddriv.cpp +++ b/src/mame/machine/harddriv.cpp @@ -1217,7 +1217,7 @@ WRITE16_MEMBER( harddriv_state::hdds3_sdsp_control_w ) { uint32_t page = (data >> 6) & 7; m_ds3sdsp->load_boot_data(m_ds3sdsp_region->base() + (0x2000 * page), m_ds3sdsp_pgm_memory); - m_ds3sdsp->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_ds3sdsp->pulse_input_line(INPUT_LINE_RESET, attotime::zero); data &= ~0x200; } diff --git a/src/mame/machine/hec2hrp.cpp b/src/mame/machine/hec2hrp.cpp index 3dbd3bf8df2..84036e0c55c 100644 --- a/src/mame/machine/hec2hrp.cpp +++ b/src/mame/machine/hec2hrp.cpp @@ -185,7 +185,7 @@ READ8_MEMBER(hec2hrp_state::hector_keyboard_r) if (data & 0x01) /* Reset machine ! (on ESC key)*/ { - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); if (isHectorHR()) /* aviable for HR and up */ { m_hector_flag_hr=1; @@ -771,14 +771,14 @@ void hec2hrp_state::hector_reset(int hr, int with_D2 ) m_hector_flag_hr = hr; m_flag_clk = 0; m_write_cassette = 0; - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); // Initialization Disc II if (with_D2==1) { upd765a_device *fdc = machine().device("upd765"); - m_disc2cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_disc2cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); fdc->reset(); } } @@ -874,7 +874,7 @@ WRITE_LINE_MEMBER( hec2hrp_state::disc2_fdc_dma_irq ) void hec2hrp_state::hector_disc2_reset() { // Initialization Disc2 unit - m_disc2cpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_disc2cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); machine().device("upd765")->reset(); // Select ROM memory to cold restart membank("bank3")->set_entry(DISCII_BANK_ROM); diff --git a/src/mame/machine/hng64_net.cpp b/src/mame/machine/hng64_net.cpp index 596997081e7..8908b933fe5 100644 --- a/src/mame/machine/hng64_net.cpp +++ b/src/mame/machine/hng64_net.cpp @@ -135,7 +135,7 @@ void hng64_state::hng_comm_io_map(address_map &map) void hng64_state::reset_net() { -// m_comm->set_input_line(INPUT_LINE_RESET, PULSE_LINE); // reset the CPU and let 'er rip +// m_comm->pulse_input_line(INPUT_LINE_NMI, attotime::zero); // reset the CPU and let 'er rip // m_comm->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); // hold on there pardner... m_mmub[0] = 0; diff --git a/src/mame/machine/lisa.cpp b/src/mame/machine/lisa.cpp index b8c19e018fb..e71bfd91f7c 100644 --- a/src/mame/machine/lisa.cpp +++ b/src/mame/machine/lisa.cpp @@ -170,7 +170,7 @@ void lisa_state::set_parity_error_pending(int value) if ((! m_parity_error_pending) && value) { m_parity_error_pending = 1; - m_maincpu->set_input_line_and_vector(M68K_IRQ_7, PULSE_LINE, M68K_INT_ACK_AUTOVECTOR); + m_maincpu->pulse_input_line_and_vector(M68K_IRQ_7, attotime::zero, M68K_INT_ACK_AUTOVECTOR); } else if (m_parity_error_pending && (! value)) { @@ -292,7 +292,7 @@ void lisa_state::scan_keyboard() #if 0 if (keycode == m_NMIcode) { /* generate NMI interrupt */ - m_maincpu->set_input_line(M68K_IRQ_7, PULSE_LINE); + pulse_input_line(M68K_IRQ_7, attotime::zero); m_maincpu->set_input_line_vector(M68K_IRQ_7, M68K_INT_ACK_AUTOVECTOR); } #endif diff --git a/src/mame/machine/m20_8086.cpp b/src/mame/machine/m20_8086.cpp index 5902c835e6c..e99bf262da6 100644 --- a/src/mame/machine/m20_8086.cpp +++ b/src/mame/machine/m20_8086.cpp @@ -104,13 +104,13 @@ WRITE16_MEMBER(m20_8086_device::handshake_w) { m_8086->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); m_maincpu->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_8086_halt = true; } else { m_8086->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_8086->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_8086->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_maincpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); m_8086_halt = false; } diff --git a/src/mame/machine/m24_z8000.cpp b/src/mame/machine/m24_z8000.cpp index d4b462e5f0a..3f4ae93099a 100644 --- a/src/mame/machine/m24_z8000.cpp +++ b/src/mame/machine/m24_z8000.cpp @@ -204,7 +204,7 @@ WRITE8_MEMBER(m24_z8000_device::handshake_w) if(data & 1) { m_z8000->set_input_line(INPUT_LINE_HALT, CLEAR_LINE); - m_z8000->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_z8000->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_z8000->mi_w(CLEAR_LINE); m_z8000_halt = false; } diff --git a/src/mame/machine/mcr.cpp b/src/mame/machine/mcr.cpp index ae056e37df5..df34fe95650 100644 --- a/src/mame/machine/mcr.cpp +++ b/src/mame/machine/mcr.cpp @@ -172,7 +172,7 @@ WRITE8_MEMBER(mcr_nflfoot_state::ipu_laserdisk_w) TIMER_CALLBACK_MEMBER(mcr_nflfoot_state::ipu_watchdog_reset) { logerror("ipu_watchdog_reset\n"); - m_ipu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_ipu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_ipu_ctc->reset(); m_ipu_pio0->reset(); m_ipu_pio1->reset(); diff --git a/src/mame/machine/megadriv.cpp b/src/mame/machine/megadriv.cpp index 9ce52ce86e0..01250dc6f0b 100644 --- a/src/mame/machine/megadriv.cpp +++ b/src/mame/machine/megadriv.cpp @@ -1069,7 +1069,7 @@ void md_base_state::init_megadrie() WRITE_LINE_MEMBER(md_base_state::screen_vblank_megadriv) { if (m_io_reset.read_safe(0) & 0x01) - m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); // rising edge if (state) diff --git a/src/mame/machine/mhavoc.cpp b/src/mame/machine/mhavoc.cpp index db0c00537cd..81a4b93db40 100644 --- a/src/mame/machine/mhavoc.cpp +++ b/src/mame/machine/mhavoc.cpp @@ -129,7 +129,7 @@ TIMER_CALLBACK_MEMBER(mhavoc_state::delayed_gamma_w) m_alpha_data = param; /* signal with an NMI pulse */ - m_gamma->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_gamma->pulse_input_line(INPUT_LINE_NMI, attotime::zero); /* the sound CPU needs to reply in 250microseconds (according to Neil Bradley) */ machine().scheduler().timer_set(attotime::from_usec(250), timer_expired_delegate()); diff --git a/src/mame/machine/microtan.cpp b/src/mame/machine/microtan.cpp index 511c762cf95..bc7e02e8ab8 100644 --- a/src/mame/machine/microtan.cpp +++ b/src/mame/machine/microtan.cpp @@ -286,7 +286,7 @@ READ8_MEMBER(microtan_state::microtan_bffx_r) /* This callback is called one clock cycle after BFF2 is written (delayed nmi) */ TIMER_CALLBACK_MEMBER(microtan_state::microtan_pulse_nmi) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } WRITE8_MEMBER(microtan_state::microtan_bffx_w) diff --git a/src/mame/machine/midyunit.cpp b/src/mame/machine/midyunit.cpp index 5391a883fad..85e5de73663 100644 --- a/src/mame/machine/midyunit.cpp +++ b/src/mame/machine/midyunit.cpp @@ -594,7 +594,7 @@ WRITE16_MEMBER(midyunit_state::midyunit_sound_w) case SOUND_YAWDIM: m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; } } diff --git a/src/mame/machine/namco06.cpp b/src/mame/machine/namco06.cpp index 9ff0d3655ea..d467ef2d664 100644 --- a/src/mame/machine/namco06.cpp +++ b/src/mame/machine/namco06.cpp @@ -93,7 +93,7 @@ TIMER_CALLBACK_MEMBER( namco_06xx_device::nmi_generate ) if (!m_nmicpu->suspended(SUSPEND_REASON_HALT | SUSPEND_REASON_RESET | SUSPEND_REASON_DISABLE)) { LOG("NMI cpu '%s'\n",m_nmicpu->tag()); - m_nmicpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_nmicpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } else LOG("NMI not generated because cpu '%s' is suspended\n",m_nmicpu->tag()); diff --git a/src/mame/machine/nb1413m3.cpp b/src/mame/machine/nb1413m3.cpp index dd03f890ee8..f5602e5f64e 100644 --- a/src/mame/machine/nb1413m3.cpp +++ b/src/mame/machine/nb1413m3.cpp @@ -125,7 +125,7 @@ TIMER_CALLBACK_MEMBER( nb1413m3_device::timer_callback ) { if (m_nmi_enable) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_nmi_count++; } diff --git a/src/mame/machine/ondra.cpp b/src/mame/machine/ondra.cpp index 869cac13c11..85bea88550e 100644 --- a/src/mame/machine/ondra.cpp +++ b/src/mame/machine/ondra.cpp @@ -74,7 +74,7 @@ TIMER_CALLBACK_MEMBER(ondra_state::nmi_check_callback) { if ((m_nmi->read() & 1) == 1) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/machine/primo.cpp b/src/mame/machine/primo.cpp index f81b5ef7fcc..99a235ec987 100644 --- a/src/mame/machine/primo.cpp +++ b/src/mame/machine/primo.cpp @@ -30,7 +30,7 @@ WRITE_LINE_MEMBER(primo_state::vblank_irq) { if (state && m_nmi) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /******************************************************************************* diff --git a/src/mame/machine/sms.cpp b/src/mame/machine/sms.cpp index f517dc343b4..2bc272e842a 100644 --- a/src/mame/machine/sms.cpp +++ b/src/mame/machine/sms.cpp @@ -241,7 +241,7 @@ WRITE_LINE_MEMBER(sms_state::sms_pause_callback) if (pause_pressed) { if (!m_paused) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_paused = 1; } diff --git a/src/mame/machine/subs.cpp b/src/mame/machine/subs.cpp index ac7812fdd70..b12e8cabbe5 100644 --- a/src/mame/machine/subs.cpp +++ b/src/mame/machine/subs.cpp @@ -39,7 +39,7 @@ INTERRUPT_GEN_MEMBER(subs_state::interrupt) { /* only do NMI interrupt if not in TEST mode */ if ((ioport("IN1")->read() & 0x40)==0x40) - device.execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE); + device.execute().pulse_input_line(INPUT_LINE_NMI, attotime::zero); } /*************************************************************************** diff --git a/src/mame/machine/tnzs.cpp b/src/mame/machine/tnzs.cpp index 9e9af0b52db..c6b88fcf275 100644 --- a/src/mame/machine/tnzs.cpp +++ b/src/mame/machine/tnzs.cpp @@ -449,7 +449,7 @@ WRITE8_MEMBER(tnzs_mcu_state::bankswitch1_w) { tnzs_base_state::bankswitch1_w(space, offset, data, mem_mask); if ((data & 0x04) != 0 && m_mcu != nullptr) - m_mcu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_mcu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); // written only at startup by plumppop? if (m_upd4701.found()) diff --git a/src/mame/machine/toaplan1.cpp b/src/mame/machine/toaplan1.cpp index 6de67320533..dc0d4abf08a 100644 --- a/src/mame/machine/toaplan1.cpp +++ b/src/mame/machine/toaplan1.cpp @@ -173,7 +173,7 @@ void toaplan1_state::toaplan1_reset_sound() /* rallybik, truxton, hellfire, demonwld write to a port to cause a reset */ /* zerowing, fireshrk, outzone, vimana use a RESET instruction instead */ machine().device("ymsnd")->reset(); - m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } WRITE16_MEMBER(toaplan1_state::toaplan1_reset_sound_w) diff --git a/src/mame/machine/trs80.cpp b/src/mame/machine/trs80.cpp index 331f20f592e..bad1a13a57e 100644 --- a/src/mame/machine/trs80.cpp +++ b/src/mame/machine/trs80.cpp @@ -652,7 +652,7 @@ void trs80_state::trs80_fdc_interrupt_internal() if (m_nmi_mask & 0x80) // Model 4 does a NMI { m_nmi_data = 0x80; - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } else // Model 1 does a IRQ diff --git a/src/mame/machine/xavix.cpp b/src/mame/machine/xavix.cpp index f9bf639ccc7..e761e96ea4b 100644 --- a/src/mame/machine/xavix.cpp +++ b/src/mame/machine/xavix.cpp @@ -190,7 +190,7 @@ INTERRUPT_GEN_MEMBER(xavix_state::interrupt) if (m_irq_enable_data != 0) { if (m_6ff8) - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/machine/xevious.cpp b/src/mame/machine/xevious.cpp index 62bde9d5fbc..8ec4ce970d6 100644 --- a/src/mame/machine/xevious.cpp +++ b/src/mame/machine/xevious.cpp @@ -38,18 +38,18 @@ TIMER_DEVICE_CALLBACK_MEMBER(xevious_state::battles_nmi_generate) { if( m_battles_customio_command_count == 0 ) { - m_subcpu3->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_subcpu3->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } else { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); - m_subcpu3->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); + m_subcpu3->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } else { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); - m_subcpu3->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); + m_subcpu3->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } m_battles_customio_command_count++; } diff --git a/src/mame/machine/z80ne.cpp b/src/mame/machine/z80ne.cpp index 847a8d91f2d..f34d64f58be 100644 --- a/src/mame/machine/z80ne.cpp +++ b/src/mame/machine/z80ne.cpp @@ -156,7 +156,7 @@ void z80ne_state::device_timer(emu_timer &timer, device_timer_id id, int param, switch (id) { case 0: - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; case 1: // switch to RAM bank at address 0x0000 @@ -333,7 +333,7 @@ INPUT_CHANGED_MEMBER(z80ne_state::z80ne_nmi) if ( ! BIT(nmi, 0)) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/video/antic.cpp b/src/mame/video/antic.cpp index 4f698e214c0..900dc1bad07 100644 --- a/src/mame/video/antic.cpp +++ b/src/mame/video/antic.cpp @@ -1972,7 +1972,7 @@ TIMER_CALLBACK_MEMBER( antic_device::issue_dli ) { LOG((" @cycle #%3d issue DLI\n", cycle())); m_r.nmist |= DLI_NMI; - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } else { @@ -2378,7 +2378,7 @@ void antic_device::generic_interrupt(int button_count) LOG((" cause VBL NMI\n")); /* set the VBL NMI status bit */ m_r.nmist |= VBL_NMI; - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } } diff --git a/src/mame/video/decodmd1.cpp b/src/mame/video/decodmd1.cpp index 08e27bd598e..c4bae0c1395 100644 --- a/src/mame/video/decodmd1.cpp +++ b/src/mame/video/decodmd1.cpp @@ -45,7 +45,7 @@ WRITE8_MEMBER( decodmd_type1_device::ctrl_w ) m_blank = 0; m_frameswap = false; m_status = 0; - m_cpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } m_ctrl = data; } @@ -185,7 +185,7 @@ void decodmd_type1_device::set_busy(uint8_t input, uint8_t val) TIMER_DEVICE_CALLBACK_MEMBER(decodmd_type1_device::dmd_nmi) { - m_cpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); } void decodmd_type1_device::decodmd1_map(address_map &map) diff --git a/src/mame/video/decodmd2.cpp b/src/mame/video/decodmd2.cpp index 11bff4e8c7a..eadbb8b7cf0 100644 --- a/src/mame/video/decodmd2.cpp +++ b/src/mame/video/decodmd2.cpp @@ -74,7 +74,7 @@ WRITE8_MEMBER( decodmd_type2_device::ctrl_w ) } if((m_ctrl & 0x02) && !(data & 0x02)) { - m_cpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_rombank1->set_entry(0); logerror("DMD2: Reset\n"); } diff --git a/src/mame/video/decodmd3.cpp b/src/mame/video/decodmd3.cpp index 4d0fd36f9de..aa2e8267888 100644 --- a/src/mame/video/decodmd3.cpp +++ b/src/mame/video/decodmd3.cpp @@ -42,7 +42,7 @@ WRITE8_MEMBER( decodmd_type3_device::ctrl_w ) } if((m_ctrl & 0x02) && !(data & 0x02)) { - m_cpu->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); logerror("DMD3: Reset\n"); } m_ctrl = data; diff --git a/src/mame/video/fm7.cpp b/src/mame/video/fm7.cpp index 234747a4ef8..8517e12dfc0 100644 --- a/src/mame/video/fm7.cpp +++ b/src/mame/video/fm7.cpp @@ -1087,7 +1087,7 @@ WRITE8_MEMBER(fm7_state::fm77av_sub_bank_w) break; } // reset sub CPU, set busy flag, set reset flag - m_sub->set_input_line(INPUT_LINE_RESET,PULSE_LINE); + m_sub->pulse_input_line(INPUT_LINE_RESET, attotime::zero); m_video.sub_busy = 0x80; m_video.sub_halt = 0; m_video.sub_reset = 1; diff --git a/src/mame/video/ginganin.cpp b/src/mame/video/ginganin.cpp index 07ff5abe3f4..b6bdb2de6eb 100644 --- a/src/mame/video/ginganin.cpp +++ b/src/mame/video/ginganin.cpp @@ -173,7 +173,7 @@ WRITE16_MEMBER(ginganin_state::ginganin_vregs16_w) break; case 7: m_soundlatch->write(space, 0, data); - m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); break; default: logerror("CPU #0 PC %06X : Warning, videoreg %04X <- %04X\n", m_maincpu->pc(), offset, data); diff --git a/src/mame/video/maria.cpp b/src/mame/video/maria.cpp index 81308b28ca4..22d5e7f7141 100644 --- a/src/mame/video/maria.cpp +++ b/src/mame/video/maria.cpp @@ -392,7 +392,7 @@ void atari_maria_device::startdma(int lines) if (m_nmi) { - m_cpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_cpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_nmi = 0; } } diff --git a/src/mame/video/sidearms.cpp b/src/mame/video/sidearms.cpp index 743f7743b84..c84cfd4c08a 100644 --- a/src/mame/video/sidearms.cpp +++ b/src/mame/video/sidearms.cpp @@ -44,7 +44,7 @@ WRITE8_MEMBER(sidearms_state::c804_w) /* bit 4 resets the sound CPU */ if (data & 0x10) { - m_audiocpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + m_audiocpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); } /* bit 5 enables starfield */ diff --git a/src/mame/video/spdodgeb.cpp b/src/mame/video/spdodgeb.cpp index 495588e0168..0d6b2a6e1b2 100644 --- a/src/mame/video/spdodgeb.cpp +++ b/src/mame/video/spdodgeb.cpp @@ -93,7 +93,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(spdodgeb_state::interrupt) if (scanline == 256) { - m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); m_screen->update_partial(256); } else if ((scanline % 8) == 0) -- cgit v1.2.3