summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar AJR <ajrhacker@users.noreply.github.com>2018-05-18 13:32:56 -0400
committerGravatarGravatar AJR <ajrhacker@users.noreply.github.com>2018-05-18 13:40:29 -0400
commit0ba652e723036746aa1b1ac665411bee83771654 (patch) (github)
treeba3cf42c70bf33ad22c07ad85b9d41f863a373e7
parente5dc17a4881d2b9ce4573b42d825cb6456bf529c (diff)
downloadmame-0ba652e723036746aa1b1ac665411bee83771654.tar.bz2
mame-0ba652e723036746aa1b1ac665411bee83771654.zip
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.
-rw-r--r--src/devices/bus/a2bus/a2applicard.cpp2
-rw-r--r--src/devices/bus/centronics/epson_lx810l.cpp2
-rw-r--r--src/devices/bus/cpc/transtape.cpp2
-rw-r--r--src/devices/bus/isa/isa.cpp2
-rw-r--r--src/devices/bus/isa/sb16.cpp2
-rw-r--r--src/devices/bus/isa/stereo_fx.cpp2
-rw-r--r--src/devices/cpu/cp1610/cp1610.cpp2
-rw-r--r--src/devices/cpu/cp1610/cp1610.h1
-rw-r--r--src/devices/cpu/dsp56k/dsp56k.h2
-rw-r--r--src/devices/cpu/h6280/h6280.cpp11
-rw-r--r--src/devices/cpu/h6280/h6280.h1
-rw-r--r--src/devices/cpu/h8/h8.cpp5
-rw-r--r--src/devices/cpu/h8/h8.h1
-rw-r--r--src/devices/cpu/hphybrid/hphybrid.h2
-rw-r--r--src/devices/cpu/i386/i386.cpp2
-rw-r--r--src/devices/cpu/i386/i386.h2
-rw-r--r--src/devices/cpu/i8085/i8085.h3
-rw-r--r--src/devices/cpu/i86/i86.h1
-rw-r--r--src/devices/cpu/i960/i960.h1
-rw-r--r--src/devices/cpu/lh5801/lh5801.h2
-rw-r--r--src/devices/cpu/m37710/m37710op.h1
-rw-r--r--src/devices/cpu/m6502/m6502.cpp5
-rw-r--r--src/devices/cpu/m6502/m6502.h1
-rw-r--r--src/devices/cpu/m6800/m6800.h2
-rw-r--r--src/devices/cpu/m6800/m6801.h1
-rw-r--r--src/devices/cpu/m68000/m68000.h38
-rw-r--r--src/devices/cpu/m6805/m6805.h2
-rw-r--r--src/devices/cpu/m6805/m68hc05.cpp4
-rw-r--r--src/devices/cpu/m6809/m6809.h1
-rw-r--r--src/devices/cpu/mc68hc11/mc68hc11.h1
-rw-r--r--src/devices/cpu/mcs48/mcs48.h1
-rw-r--r--src/devices/cpu/mcs51/mcs51.h1
-rw-r--r--src/devices/cpu/nanoprocessor/nanoprocessor.h2
-rw-r--r--src/devices/cpu/nec/nec.h6
-rw-r--r--src/devices/cpu/nec/v25.h3
-rw-r--r--src/devices/cpu/pic16c5x/pic16c5x.h2
-rw-r--r--src/devices/cpu/pic16c62x/pic16c62x.h1
-rw-r--r--src/devices/cpu/pps4/pps4.h1
-rw-r--r--src/devices/cpu/rsp/rsp.h1
-rw-r--r--src/devices/cpu/s2650/s2650.h2
-rw-r--r--src/devices/cpu/se3208/se3208.h1
-rw-r--r--src/devices/cpu/sh/sh2.h3
-rw-r--r--src/devices/cpu/sh/sh4.h1
-rw-r--r--src/devices/cpu/spc700/spc700.h1
-rw-r--r--src/devices/cpu/t11/t11.h2
-rw-r--r--src/devices/cpu/tlcs870/tlcs870.h2
-rw-r--r--src/devices/cpu/tlcs90/tlcs90.h2
-rw-r--r--src/devices/cpu/tlcs900/tlcs900.h1
-rw-r--r--src/devices/cpu/upd7810/upd7810.h1
-rw-r--r--src/devices/cpu/v30mz/v30mz.h1
-rw-r--r--src/devices/cpu/v60/v60.h1
-rw-r--r--src/devices/cpu/z180/z180.h3
-rw-r--r--src/devices/cpu/z8/z8.h1
-rw-r--r--src/devices/cpu/z80/z80.h3
-rw-r--r--src/devices/cpu/z8000/z8000.h3
-rw-r--r--src/devices/machine/s2636.cpp2
-rw-r--r--src/devices/machine/z80scc.cpp2
-rw-r--r--src/devices/machine/z80sio.cpp4
-rw-r--r--src/emu/diexec.cpp67
-rw-r--r--src/emu/diexec.h9
-rw-r--r--src/emu/driver.cpp2
-rw-r--r--src/mame/audio/cchasm.cpp2
-rw-r--r--src/mame/audio/dcs.cpp2
-rw-r--r--src/mame/audio/gottlieb.cpp2
-rw-r--r--src/mame/audio/rax.cpp2
-rw-r--r--src/mame/audio/redalert.cpp4
-rw-r--r--src/mame/audio/s11c_bg.cpp2
-rw-r--r--src/mame/audio/starwars.cpp2
-rw-r--r--src/mame/audio/wpcsnd.cpp4
-rw-r--r--src/mame/drivers/4enlinea.cpp2
-rw-r--r--src/mame/drivers/aces1.cpp2
-rw-r--r--src/mame/drivers/adam.cpp2
-rw-r--r--src/mame/drivers/aerofgt.cpp2
-rw-r--r--src/mame/drivers/agat.cpp2
-rw-r--r--src/mame/drivers/airbustr.cpp2
-rw-r--r--src/mame/drivers/alpha68k.cpp4
-rw-r--r--src/mame/drivers/amaticmg.cpp2
-rw-r--r--src/mame/drivers/appoooh.cpp2
-rw-r--r--src/mame/drivers/ashnojoe.cpp2
-rw-r--r--src/mame/drivers/atari_s1.cpp2
-rw-r--r--src/mame/drivers/atom.cpp2
-rw-r--r--src/mame/drivers/bankp.cpp2
-rw-r--r--src/mame/drivers/battlane.cpp8
-rw-r--r--src/mame/drivers/bbusters.cpp2
-rw-r--r--src/mame/drivers/berzerk.cpp2
-rw-r--r--src/mame/drivers/bingoc.cpp2
-rw-r--r--src/mame/drivers/bladestl.cpp2
-rw-r--r--src/mame/drivers/blockade.cpp2
-rw-r--r--src/mame/drivers/blueprnt.cpp2
-rw-r--r--src/mame/drivers/bottom9.cpp2
-rw-r--r--src/mame/drivers/brkthru.cpp2
-rw-r--r--src/mame/drivers/by6803.cpp2
-rw-r--r--src/mame/drivers/byvid.cpp6
-rw-r--r--src/mame/drivers/bzone.cpp2
-rw-r--r--src/mame/drivers/cabal.cpp2
-rw-r--r--src/mame/drivers/cabaret.cpp4
-rw-r--r--src/mame/drivers/capbowl.cpp2
-rw-r--r--src/mame/drivers/cave.cpp2
-rw-r--r--src/mame/drivers/cclimber.cpp2
-rw-r--r--src/mame/drivers/cheekyms.cpp2
-rw-r--r--src/mame/drivers/chessmst.cpp2
-rw-r--r--src/mame/drivers/cntsteer.cpp2
-rw-r--r--src/mame/drivers/cocoloco.cpp2
-rw-r--r--src/mame/drivers/coleco.cpp2
-rw-r--r--src/mame/drivers/cswat.cpp2
-rw-r--r--src/mame/drivers/darius.cpp2
-rw-r--r--src/mame/drivers/dbz.cpp2
-rw-r--r--src/mame/drivers/de_2.cpp2
-rw-r--r--src/mame/drivers/deco_ld.cpp2
-rw-r--r--src/mame/drivers/destroyr.cpp2
-rw-r--r--src/mame/drivers/djboy.cpp2
-rw-r--r--src/mame/drivers/drmicro.cpp2
-rw-r--r--src/mame/drivers/dynax.cpp4
-rw-r--r--src/mame/drivers/espial.cpp2
-rw-r--r--src/mame/drivers/ettrivia.cpp2
-rw-r--r--src/mame/drivers/exterm.cpp6
-rw-r--r--src/mame/drivers/exzisus.cpp2
-rw-r--r--src/mame/drivers/fantland.cpp4
-rw-r--r--src/mame/drivers/fastfred.cpp2
-rw-r--r--src/mame/drivers/fastlane.cpp2
-rw-r--r--src/mame/drivers/fcrash.cpp2
-rw-r--r--src/mame/drivers/finalizr.cpp2
-rw-r--r--src/mame/drivers/firefox.cpp2
-rw-r--r--src/mame/drivers/firetrap.cpp2
-rw-r--r--src/mame/drivers/firetrk.cpp2
-rw-r--r--src/mame/drivers/flipjack.cpp2
-rw-r--r--src/mame/drivers/flower.cpp2
-rw-r--r--src/mame/drivers/fm7.cpp2
-rw-r--r--src/mame/drivers/fromanc2.cpp4
-rw-r--r--src/mame/drivers/fromance.cpp2
-rw-r--r--src/mame/drivers/funtech.cpp2
-rw-r--r--src/mame/drivers/fuukifg2.cpp2
-rw-r--r--src/mame/drivers/galaxian.cpp6
-rw-r--r--src/mame/drivers/galspnbl.cpp2
-rw-r--r--src/mame/drivers/gei.cpp2
-rw-r--r--src/mame/drivers/goal92.cpp2
-rw-r--r--src/mame/drivers/gpworld.cpp2
-rw-r--r--src/mame/drivers/gsword.cpp6
-rw-r--r--src/mame/drivers/halleys.cpp6
-rw-r--r--src/mame/drivers/highvdeo.cpp2
-rw-r--r--src/mame/drivers/himesiki.cpp2
-rw-r--r--src/mame/drivers/hunter2.cpp2
-rw-r--r--src/mame/drivers/hvyunit.cpp2
-rw-r--r--src/mame/drivers/igs009.cpp2
-rw-r--r--src/mame/drivers/igs017.cpp2
-rw-r--r--src/mame/drivers/igspoker.cpp2
-rw-r--r--src/mame/drivers/imolagp.cpp5
-rw-r--r--src/mame/drivers/inder.cpp2
-rw-r--r--src/mame/drivers/iqblock.cpp2
-rw-r--r--src/mame/drivers/ironhors.cpp4
-rw-r--r--src/mame/drivers/jack.cpp2
-rw-r--r--src/mame/drivers/jackal.cpp2
-rw-r--r--src/mame/drivers/jackie.cpp2
-rw-r--r--src/mame/drivers/jaguar.cpp2
-rw-r--r--src/mame/drivers/jailbrek.cpp2
-rw-r--r--src/mame/drivers/jeutel.cpp2
-rw-r--r--src/mame/drivers/joctronic.cpp2
-rw-r--r--src/mame/drivers/jp.cpp2
-rw-r--r--src/mame/drivers/kangaroo.cpp2
-rw-r--r--src/mame/drivers/kas89.cpp4
-rw-r--r--src/mame/drivers/kchamp.cpp3
-rw-r--r--src/mame/drivers/kingpin.cpp2
-rw-r--r--src/mame/drivers/kncljoe.cpp2
-rw-r--r--src/mame/drivers/konamim2.cpp2
-rw-r--r--src/mame/drivers/konblands.cpp2
-rw-r--r--src/mame/drivers/kyugo.cpp2
-rw-r--r--src/mame/drivers/labyrunr.cpp2
-rw-r--r--src/mame/drivers/ladyfrog.cpp4
-rw-r--r--src/mame/drivers/laserbas.cpp2
-rw-r--r--src/mame/drivers/lgp.cpp2
-rw-r--r--src/mame/drivers/lordgun.cpp2
-rw-r--r--src/mame/drivers/ltd.cpp2
-rw-r--r--src/mame/drivers/luckgrln.cpp2
-rw-r--r--src/mame/drivers/lucky74.cpp2
-rw-r--r--src/mame/drivers/lwings.cpp2
-rw-r--r--src/mame/drivers/m63.cpp2
-rw-r--r--src/mame/drivers/m72.cpp2
-rw-r--r--src/mame/drivers/magictg.cpp2
-rw-r--r--src/mame/drivers/mainevt.cpp2
-rw-r--r--src/mame/drivers/marineb.cpp2
-rw-r--r--src/mame/drivers/mastboy.cpp2
-rw-r--r--src/mame/drivers/megadriv.cpp2
-rw-r--r--src/mame/drivers/megaplay.cpp2
-rw-r--r--src/mame/drivers/mephisto.cpp4
-rw-r--r--src/mame/drivers/metro.cpp2
-rw-r--r--src/mame/drivers/mgolf.cpp2
-rw-r--r--src/mame/drivers/mirax.cpp2
-rw-r--r--src/mame/drivers/model2.cpp2
-rw-r--r--src/mame/drivers/monty.cpp2
-rw-r--r--src/mame/drivers/ms32.cpp2
-rw-r--r--src/mame/drivers/msisaac.cpp4
-rw-r--r--src/mame/drivers/mz2000.cpp2
-rw-r--r--src/mame/drivers/mz2500.cpp2
-rw-r--r--src/mame/drivers/namcos21.cpp4
-rw-r--r--src/mame/drivers/nc.cpp2
-rw-r--r--src/mame/drivers/ngen.cpp6
-rw-r--r--src/mame/drivers/ngp.cpp2
-rw-r--r--src/mame/drivers/nightgal.cpp2
-rw-r--r--src/mame/drivers/nmg5.cpp2
-rw-r--r--src/mame/drivers/nss.cpp2
-rw-r--r--src/mame/drivers/ojankohs.cpp2
-rw-r--r--src/mame/drivers/pacman.cpp2
-rw-r--r--src/mame/drivers/pasogo.cpp2
-rw-r--r--src/mame/drivers/pc9801.cpp2
-rw-r--r--src/mame/drivers/pcd.cpp4
-rw-r--r--src/mame/drivers/pcktgal.cpp2
-rw-r--r--src/mame/drivers/pcw.cpp2
-rw-r--r--src/mame/drivers/pcw16.cpp2
-rw-r--r--src/mame/drivers/pgm.cpp4
-rw-r--r--src/mame/drivers/photon2.cpp2
-rw-r--r--src/mame/drivers/pingpong.cpp4
-rw-r--r--src/mame/drivers/playch10.cpp4
-rw-r--r--src/mame/drivers/pokechmp.cpp2
-rw-r--r--src/mame/drivers/polgar.cpp2
-rw-r--r--src/mame/drivers/polyplay.cpp2
-rw-r--r--src/mame/drivers/prehisle.cpp2
-rw-r--r--src/mame/drivers/psion.cpp2
-rw-r--r--src/mame/drivers/pv2000.cpp2
-rw-r--r--src/mame/drivers/quizpun2.cpp2
-rw-r--r--src/mame/drivers/rad_eu3a05.cpp2
-rw-r--r--src/mame/drivers/rainbow.cpp2
-rw-r--r--src/mame/drivers/rbmk.cpp2
-rw-r--r--src/mame/drivers/redalert.cpp2
-rw-r--r--src/mame/drivers/redclash.cpp2
-rw-r--r--src/mame/drivers/renegade.cpp4
-rw-r--r--src/mame/drivers/rollrace.cpp2
-rw-r--r--src/mame/drivers/rowamet.cpp2
-rw-r--r--src/mame/drivers/royalmah.cpp4
-rw-r--r--src/mame/drivers/s11.cpp4
-rw-r--r--src/mame/drivers/s11b.cpp4
-rw-r--r--src/mame/drivers/s11c.cpp2
-rw-r--r--src/mame/drivers/s3.cpp4
-rw-r--r--src/mame/drivers/s4.cpp4
-rw-r--r--src/mame/drivers/s6.cpp4
-rw-r--r--src/mame/drivers/s6a.cpp4
-rw-r--r--src/mame/drivers/s7.cpp4
-rw-r--r--src/mame/drivers/s8.cpp4
-rw-r--r--src/mame/drivers/s8a.cpp4
-rw-r--r--src/mame/drivers/s9.cpp4
-rw-r--r--src/mame/drivers/scorpion.cpp2
-rw-r--r--src/mame/drivers/segag80r.cpp2
-rw-r--r--src/mame/drivers/segag80v.cpp2
-rw-r--r--src/mame/drivers/segaorun.cpp2
-rw-r--r--src/mame/drivers/segas16b.cpp2
-rw-r--r--src/mame/drivers/segas24.cpp2
-rw-r--r--src/mame/drivers/segaufo.cpp2
-rw-r--r--src/mame/drivers/segaxbd.cpp2
-rw-r--r--src/mame/drivers/seicross.cpp2
-rw-r--r--src/mame/drivers/seta.cpp6
-rw-r--r--src/mame/drivers/sf.cpp2
-rw-r--r--src/mame/drivers/shaolins.cpp2
-rw-r--r--src/mame/drivers/simple_st0016.cpp2
-rw-r--r--src/mame/drivers/skydiver.cpp2
-rw-r--r--src/mame/drivers/skylncr.cpp2
-rw-r--r--src/mame/drivers/slapfght.cpp2
-rw-r--r--src/mame/drivers/snk68.cpp2
-rw-r--r--src/mame/drivers/solomon.cpp4
-rw-r--r--src/mame/drivers/sothello.cpp2
-rw-r--r--src/mame/drivers/spectra.cpp2
-rw-r--r--src/mame/drivers/sprcros2.cpp4
-rw-r--r--src/mame/drivers/sprint2.cpp2
-rw-r--r--src/mame/drivers/sprint4.cpp2
-rw-r--r--src/mame/drivers/ssozumo.cpp2
-rw-r--r--src/mame/drivers/st_mp100.cpp2
-rw-r--r--src/mame/drivers/st_mp200.cpp2
-rw-r--r--src/mame/drivers/stadhero.cpp2
-rw-r--r--src/mame/drivers/starfire.cpp2
-rw-r--r--src/mame/drivers/stratos.cpp2
-rw-r--r--src/mame/drivers/suna8.cpp4
-rw-r--r--src/mame/drivers/superqix.cpp2
-rw-r--r--src/mame/drivers/suprgolf.cpp2
-rw-r--r--src/mame/drivers/suprridr.cpp2
-rw-r--r--src/mame/drivers/svision.cpp2
-rw-r--r--src/mame/drivers/system16.cpp8
-rw-r--r--src/mame/drivers/tagteam.cpp2
-rw-r--r--src/mame/drivers/tankbatt.cpp2
-rw-r--r--src/mame/drivers/tatsumi.cpp2
-rw-r--r--src/mame/drivers/tbowl.cpp2
-rw-r--r--src/mame/drivers/tehkanwc.cpp4
-rw-r--r--src/mame/drivers/toaplan2.cpp2
-rw-r--r--src/mame/drivers/toki.cpp2
-rw-r--r--src/mame/drivers/trucocl.cpp2
-rw-r--r--src/mame/drivers/tsamurai.cpp7
-rw-r--r--src/mame/drivers/ttchamp.cpp2
-rw-r--r--src/mame/drivers/ultratnk.cpp2
-rw-r--r--src/mame/drivers/univac.cpp2
-rw-r--r--src/mame/drivers/vastar.cpp2
-rw-r--r--src/mame/drivers/vcombat.cpp2
-rw-r--r--src/mame/drivers/vicdual.cpp2
-rw-r--r--src/mame/drivers/vis.cpp2
-rw-r--r--src/mame/drivers/vsnes.cpp2
-rw-r--r--src/mame/drivers/vt240.cpp4
-rw-r--r--src/mame/drivers/wacky_gator.cpp2
-rw-r--r--src/mame/drivers/wc90b.cpp2
-rw-r--r--src/mame/drivers/wicat.cpp2
-rw-r--r--src/mame/drivers/wiz.cpp4
-rw-r--r--src/mame/drivers/wolfpack.cpp2
-rw-r--r--src/mame/drivers/wyvernf0.cpp4
-rw-r--r--src/mame/drivers/yiear.cpp2
-rw-r--r--src/mame/drivers/yunsun16.cpp2
-rw-r--r--src/mame/drivers/zaxxon.cpp2
-rw-r--r--src/mame/machine/asteroid.cpp6
-rw-r--r--src/mame/machine/atarigen.cpp2
-rw-r--r--src/mame/machine/bsktball.cpp2
-rw-r--r--src/mame/machine/bublbobl.cpp2
-rw-r--r--src/mame/machine/c117.cpp2
-rw-r--r--src/mame/machine/decopincpu.cpp2
-rw-r--r--src/mame/machine/docastle.cpp2
-rw-r--r--src/mame/machine/harddriv.cpp2
-rw-r--r--src/mame/machine/hec2hrp.cpp8
-rw-r--r--src/mame/machine/hng64_net.cpp2
-rw-r--r--src/mame/machine/lisa.cpp4
-rw-r--r--src/mame/machine/m20_8086.cpp4
-rw-r--r--src/mame/machine/m24_z8000.cpp2
-rw-r--r--src/mame/machine/mcr.cpp2
-rw-r--r--src/mame/machine/megadriv.cpp2
-rw-r--r--src/mame/machine/mhavoc.cpp2
-rw-r--r--src/mame/machine/microtan.cpp2
-rw-r--r--src/mame/machine/midyunit.cpp2
-rw-r--r--src/mame/machine/namco06.cpp2
-rw-r--r--src/mame/machine/nb1413m3.cpp2
-rw-r--r--src/mame/machine/ondra.cpp2
-rw-r--r--src/mame/machine/primo.cpp2
-rw-r--r--src/mame/machine/sms.cpp2
-rw-r--r--src/mame/machine/subs.cpp2
-rw-r--r--src/mame/machine/tnzs.cpp2
-rw-r--r--src/mame/machine/toaplan1.cpp2
-rw-r--r--src/mame/machine/trs80.cpp2
-rw-r--r--src/mame/machine/xavix.cpp2
-rw-r--r--src/mame/machine/xevious.cpp10
-rw-r--r--src/mame/machine/z80ne.cpp4
-rw-r--r--src/mame/video/antic.cpp4
-rw-r--r--src/mame/video/decodmd1.cpp4
-rw-r--r--src/mame/video/decodmd2.cpp2
-rw-r--r--src/mame/video/decodmd3.cpp2
-rw-r--r--src/mame/video/fm7.cpp2
-rw-r--r--src/mame/video/ginganin.cpp2
-rw-r--r--src/mame/video/maria.cpp2
-rw-r--r--src/mame/video/sidearms.cpp2
-rw-r--r--src/mame/video/spdodgeb.cpp2
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
@@ -2265,6 +2265,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<util::disasm_interface> 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<cpu_device>(m_cputag)->default_irq_vector();
+ ret = owner()->subdevice<cpu_device>(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<cpu_device>(m_cputag)->default_irq_vector();
+ int const ret = owner()->subdevice<cpu_device>(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<cpu_device>(m_cputag)->default_irq_vector();
+ int const ret = owner()->subdevice<cpu_device>(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,13 +296,24 @@ 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
// spinning devices for performance optimization)
@@ -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<i8255_device>("ppi8255_sys")->read(space, 2) & ~0x20;
machine().device<i8255_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<upd765a_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<upd765a_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)