Previous 199869 Revisions Next

r17814 Wednesday 12th September, 2012 at 03:35:06 UTC by Aaron Giles
Closeout on old macros. Retired cputag_set_input_line
and cputag_set_input_line_and_vector, replacing them
with machine.device("tag")->execute().set_input_line[_and_vector].
[Aaron Giles]
[src/emu]devcpu.h
[src/emu/cpu/psx]irq.c
[src/emu/machine]s3c24xx.c
[src/mame/audio]aztarac.c beezer.c carnival.c cchasm.c cyberbal.c dkong.c exidy.c exidy440.c irem.c jedi.c leland.c m72.c mario.c qix.c redalert.c scramble.c segag80r.c segasnd.c spacefb.c starwars.c taito_en.c
[src/mame/drivers]1942.c 2mindril.c 39in1.c 40love.c 5clown.c acefruit.c acommand.c aeroboto.c airbustr.c alien.c arabian.c arcadecl.c argus.c aristmk4.c aristmk5.c armedf.c artmagic.c astrocde.c astrocorp.c asuka.c atarig1.c atarig42.c atarigt.c atarigx2.c atarisy1.c atarisy2.c atarisy4.c atetris.c badlands.c baraduke.c batman.c battlera.c battlex.c bbusters.c beathead.c berzerk.c bfcobra.c bfm_sc1.c bfm_sc2.c big10.c bingoc.c bionicc.c bishi.c bking.c bladestl.c blitz68k.c blstroid.c bmcbowl.c bnstars.c buggychl.c bwidow.c bwing.c byvid.c cabal.c calchase.c cave.c ccastles.c cchasm.c cclimber.c centiped.c cham24.c changela.c chihiro.c chqflag.c cidelsa.c circus.c cischeat.c cliffhgr.c cloak.c cloud9.c cobra.c compgolf.c coolpool.c coolridr.c corona.c cosmic.c cps1.c cps3.c cshooter.c cubeqst.c cyberbal.c cybertnk.c darkmist.c darkseal.c dbz.c deadang.c dec0.c deco32.c deco_mlc.c deniam.c djboy.c djmain.c dlair.c dmndrby.c dooyong.c ecoinfr.c enigma2.c eolith.c eprom.c equites.c esh.c espial.c esripsys.c exedexes.c exidy440.c expro02.c exterm.c exzisus.c famibox.c fastfred.c feversoc.c finalizr.c firebeat.c firefox.c flower.c foodf.c forte2.c funkball.c gaelco3d.c galaga.c galastrm.c galaxian.c galpani2.c galpanic.c gamecstl.c gaplus.c gauntlet.c gberet.c ginganin.c gladiatr.c gottlieb.c gpworld.c gradius3.c grchamp.c gridlee.c groundfx.c gstriker.c gsword.c gticlub.c guab.c gunbustr.c gundealr.c halleys.c hcastle.c hexion.c higemaru.c hnayayoi.c hng64.c hornet.c hyprduel.c igs011.c igspoker.c iqblock.c irobot.c istellar.c itech32.c itech8.c itgambl2.c itgambl3.c itgamble.c jackie.c jchan.c jedi.c jpmimpct.c jpmsys5.c jrpacman.c kaneko16.c kangaroo.c kas89.c kingdrby.c kinst.c klax.c konamigq.c konamigx.c konamim2.c kungfur.c lgp.c looping.c lordgun.c luckgrln.c m107.c m72.c m90.c madalien.c magmax.c mainsnk.c mappy.c mastboy.c maxaflex.c maygay1b.c maygayv1.c meadows.c mediagx.c megaplay.c megasys1.c megatech.c merit.c metalmx.c metlclsh.c mexico86.c midqslvr.c midvunit.c midzeus.c mirax.c missb2.c mlanding.c model1.c model2.c model3.c mpu3.c mpu4dealem.c mpu4hw.c mpu4vid.c ms32.c msisaac.c multigam.c mustache.c mw18w.c mystston.c mystwarr.c namcofl.c namcona1.c namconb1.c namcos1.c namcos21.c namcos23.c namcos86.c naomi.c naughtyb.c neogeo.c neoprint.c ninjakd2.c nmk16.c nwk-tr.c offtwall.c olibochu.c omegrace.c overdriv.c pacland.c pangofun.c panicr.c paradise.c paranoia.c pcat_dyn.c pcktgal.c pcxt.c pengadvb.c peplus.c pgm.c photoply.c pinkiri8.c pkscram.c plygonet.c pokechmp.c polepos.c policetr.c polyplay.c poo.c poolshrk.c powerins.c prehisle.c progolf.c psychic5.c punchout.c qdrmfgp.c quakeat.c queen.c quizpun2.c r2dtank.c rabbit.c rampart.c rbmk.c re900.c redalert.c relief.c renegade.c retofinv.c rollerg.c roul.c royalmah.c rpunch.c runaway.c sandscrp.c sangho.c saturn.c savquest.c sbrkout.c sbugger.c scotrsht.c seattle.c segac2.c segag80r.c segag80v.c segas24.c segas32.c seibuspi.c seicross.c seta.c sfkick.c sg1000a.c shadfrce.c shangha3.c shangkid.c shootout.c shougi.c shuuz.c sidearms.c sidepckt.c skeetsht.c skullxbo.c skykid.c sliver.c slotcarn.c snk.c snk6502.c snk68.c snowbros.c solomon.c sothello.c spacefb.c spbactn.c spcforce.c spdodgeb.c speedspn.c speglsht.c spiders.c splash.c spoker.c sprint4.c sprint8.c srmp2.c srmp5.c srmp6.c sshangha.c sslam.c ssozumo.c sspeedr.c ssv.c stadhero.c starwars.c su2000.c sub.c subsino2.c suna8.c superchs.c superdq.c superqix.c supertnk.c suprgolf.c suprloco.c suprnova.c suprridr.c system1.c tagteam.c taito_f3.c taito_x.c taitogn.c taitosj.c taitotz.c taitowlf.c tank8.c tankbatt.c tankbust.c taotaido.c tapatune.c tatsumi.c tbowl.c tecmo.c tecmo16.c tecmosys.c tehkanwc.c tempest.c tetrisp2.c thayers.c thedeep.c thunderj.c tickee.c tigeroad.c timelimt.c tmaster.c tmmjprd.c tmnt.c toaplan1.c toki.c tomcat.c tonton.c toobin.c topspeed.c tourvis.c toypop.c tp84.c triplhnt.c trucocl.c trvmadns.c tryout.c tsamurai.c tubep.c tugboat.c tumblep.c twin16.c twincobr.c twinkle.c tx1.c uapce.c ultratnk.c ultrsprt.c umipoker.c undrfire.c vastar.c vball.c vegas.c vicdual.c videopin.c videopkr.c vindictr.c viper.c voyager.c vpoker.c wardner.c warpwarp.c wc90.c wc90b.c wecleman.c welltris.c wheelfir.c wink.c wiping.c wolfpack.c wwfsstar.c wwfwfest.c xain.c xmen.c xorworld.c xtom3d.c xxmissio.c xybots.c xyonix.c zaccaria.c zaxxon.c zn.c zodiack.c zr107.c
[src/mame/machine]amiga.c archimds.c atari.c balsente.c beezer.c bsktball.c bublbobl.c carpolo.c cdi070.c cdicdic.c cdislave.c dc.c dec0.c decoprot.c galaxold.c irobot.c konppc.c leland.c mcr.c mcr68.c megacd.c megadriv.c megavdp.c mhavoc.c micro3d.c midxunit.c midyunit.c n64.c namcond1.c namcos1.c namcos2.c nb1413m3.c pcshare.c pitnrun.c playch10.c qix.c retofinv.c segamsys.c seicop.c slapfght.c slikshot.c snes.c stfight.c tait8741.c taitosj.c tatsumi.c toaplan1.c twincobr.c vectrex.c vertigo.c vsnes.c williams.c xevious.c
[src/mame/video]astrocde.c atari.c atarisy1.c beathead.c bfm_dm01.c cchasm.c cischeat.c esripsys.c exidy.c exidy440.c gticlub.c lethalj.c m72.c mcd212.c megasys1.c micro3d.c midtunit.c midvunit.c midyunit.c midzeus.c midzeus2.c playch10.c policetr.c rpunch.c segag80r.c sidearms.c toaplan1.c tubep.c tx1.c vdc.c vectrex.c victory.c vsnes.c
[src/mess/drivers]ace.c adam.c apollo.c aquarius.c babbage.c basic52.c bbcbc.c bigbord2.c bml3.c camplynx.c casloopy.c cat.c chesstrv.c csc.c dc.c dectalk.c esq1.c ex800.c fidelz80.c fk1.c fm7.c fmtowns.c fp1100.c gamecom.c glasgow.c gmaster.c h19.c ht68k.c intv.c ip22.c junior.c mac.c mekd2.c mephisto.c mk1.c mk2.c mmodular.c mod8.c multi16.c mz2000.c mz2500.c nanos.c nc.c nes.c ng_aes.c p2000t.c p8k.c paso1600.c pasogo.c pasopia7.c pb1000.c pc100.c pc6001.c pc8801.c pc88va.c pc9801.c pce.c pcw.c pcw16.c pdp1.c pecom.c pegasus.c pes.c prestige.c psion.c pv2000.c px4.c qx10.c samcoupe.c scorpion.c scv.c sg1000.c sgi_ip2.c sm1800.c sms.c socrates.c supercon.c supracan.c svi318.c svision.c tec1.c tsispch.c tutor.c vg5k.c vii.c vt100.c vt240.c vtech2.c x1.c x68k.c z100.c zrt80.c
[src/mess/formats]spec_snqk.c
[src/mess/machine]amigacrt.c amstrad.c apollo.c apple1.c apple2gs.c apple3.c ay3600.c b2m.c bbc.c bebox.c bk.c c64.c c65.c cbmb.c cgenie.c compis.c concept.c dai.c dgn_beta.c egret.c electron.c gamecom.c gb.c hec2hrp.c hecdisk2.c hp48.c intv.c irisha.c kaypro.c lisa.c lynx.c mac.c macpci.c microtan.c msx.c mz700.c mz80.c ondra.c oric.c osborne1.c partner.c pce.c pecom.c pet.c pk8020.c pokemini.c poly88.c radio86.c rmnimbus.c sms.c super80.c svi318.c sym1.c thomson.c ti990.c trs80.c wswan.c x1.c z80ne.c
[src/mess/machine/ti99]bwg.c ti_fdc.c
[src/mess/video]fm7.c gb.c odyssey2.c pecom.c vc4000.c x68k.c zx.c

trunk/src/mame/audio/spacefb.c
r17813r17814
3333{
3434   samples_device *samples = machine().device<samples_device>("samples");
3535
36   cputag_set_input_line(machine(), "audiocpu", 0, (data & 0x02) ? CLEAR_LINE : ASSERT_LINE);
36   machine().device("audiocpu")->execute().set_input_line(0, (data & 0x02) ? CLEAR_LINE : ASSERT_LINE);
3737
3838   /* enemy killed */
3939   if (!(data & 0x01) && (m_sound_latch & 0x01))  samples->start(0,0);
trunk/src/mame/audio/cyberbal.c
r17813r17814
5959   membank("soundbank")->set_base(&m_bank_base[0x1000 * ((data >> 6) & 3)]);
6060   coin_counter_w(machine(), 1, (data >> 5) & 1);
6161   coin_counter_w(machine(), 0, (data >> 4) & 1);
62   cputag_set_input_line(machine(), "dac", INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
62   machine().device("dac")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
6363   if (!(data & 0x01)) devtag_reset(machine(), "ymsnd");
6464}
6565
r17813r17814
9595static void update_sound_68k_interrupts(running_machine &machine)
9696{
9797   cyberbal_state *state = machine.driver_data<cyberbal_state>();
98   cputag_set_input_line(machine, "dac", 6, state->m_fast_68k_int ? ASSERT_LINE : CLEAR_LINE);
99   cputag_set_input_line(machine, "dac", 2, state->m_io_68k_int   ? ASSERT_LINE : CLEAR_LINE);
98   machine.device("dac")->execute().set_input_line(6, state->m_fast_68k_int ? ASSERT_LINE : CLEAR_LINE);
99   machine.device("dac")->execute().set_input_line(2, state->m_io_68k_int   ? ASSERT_LINE : CLEAR_LINE);
100100}
101101
102102
trunk/src/mame/audio/segasnd.c
r17813r17814
308308   state->latch = data;
309309
310310   /* the high bit goes directly to the INT line */
311   cputag_set_input_line(machine, "audiocpu", 0, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
311   machine.device("audiocpu")->execute().set_input_line(0, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
312312
313313   /* a clock on the high bit clocks a 1 into T0 */
314314   if (!(old & 0x80) && (data & 0x80))
trunk/src/mame/audio/carnival.c
r17813r17814
236236
237237   if ( bitsGoneHigh & OUT_PORT_2_MUSIC_RESET )
238238      /* reset output is no longer asserted active low */
239      cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, PULSE_LINE );
239      space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE );
240240}
241241
242242
trunk/src/mame/audio/leland.c
r17813r17814
888888   /* generate the appropriate interrupt */
889889   state->m_i80186.intr.poll_status = 0x8000 | new_vector;
890890   if (!state->m_i80186.intr.pending)
891      cputag_set_input_line(machine, "audiocpu", 0, ASSERT_LINE);
891      machine.device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
892892   state->m_i80186.intr.pending = 1;
893893   if (LOG_INTERRUPTS) logerror("(%f) **** Requesting interrupt vector %02X\n", machine.time().as_double(), new_vector);
894894}
r17813r17814
18401840   }
18411841
18421842   /* /RESET */
1843   cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_RESET, data & 0x80  ? CLEAR_LINE : ASSERT_LINE);
1843   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, data & 0x80  ? CLEAR_LINE : ASSERT_LINE);
18441844
18451845   /* /NMI */
18461846/*  If the master CPU doesn't get a response by the time it's ready to send
18471847    the next command, it uses an NMI to force the issue; unfortunately, this
18481848    seems to really screw up the sound system. It turns out it's better to
18491849    just wait for the original interrupt to occur naturally */
1850/*  cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, data & 0x40  ? CLEAR_LINE : ASSERT_LINE);*/
1850/*  device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, data & 0x40  ? CLEAR_LINE : ASSERT_LINE);*/
18511851
18521852   /* INT0 */
18531853   if (data & 0x20)
trunk/src/mame/audio/taito_en.c
r17813r17814
234234
235235   /* reset CPU to catch any banking of startup vectors */
236236   machine.device("audiocpu")->reset();
237   //cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
237   //machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
238238
239239   snd_shared_ram = (UINT32 *)machine.root_device().memshare("snd_shared")->ptr();
240240}
trunk/src/mame/audio/segag80r.c
r17813r17814
973973        D3    = /INT line
974974    */
975975   state->m_n7751_command = data & 0x07;
976   cputag_set_input_line(device->machine(), "audiocpu", 0, ((data & 0x08) == 0) ? ASSERT_LINE : CLEAR_LINE);
976   device->machine().device("audiocpu")->execute().set_input_line(0, ((data & 0x08) == 0) ? ASSERT_LINE : CLEAR_LINE);
977977   device->machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100));
978978}
979979
trunk/src/mame/audio/scramble.c
r17813r17814
115115   /* the Q bar is connected to the Z80's INT line.  But since INT is complemented, */
116116   /* we need to complement Q bar */
117117   if (device->machine().device("audiocpu"))
118      cputag_set_input_line(device->machine(), "audiocpu", 0, !state ? ASSERT_LINE : CLEAR_LINE);
118      device->machine().device("audiocpu")->execute().set_input_line(0, !state ? ASSERT_LINE : CLEAR_LINE);
119119}
120120
121121WRITE8_MEMBER(scramble_state::hotshock_sh_irqtrigger_w)
122122{
123   cputag_set_input_line(machine(), "audiocpu", 0, ASSERT_LINE);
123   machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
124124}
125125
126126READ8_DEVICE_HANDLER( hotshock_soundlatch_r )
127127{
128128   driver_device *drvstate = device->machine().driver_data<driver_device>();
129   cputag_set_input_line(device->machine(), "audiocpu", 0, CLEAR_LINE);
129   device->machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
130130   return drvstate->soundlatch_byte_r(*device->machine().device("audiocpu")->memory().space(AS_PROGRAM),0);
131131}
132132
trunk/src/mame/audio/jedi.c
r17813r17814
6060
6161WRITE8_MEMBER(jedi_state::irq_ack_w)
6262{
63   cputag_set_input_line(machine(), "audiocpu", M6502_IRQ_LINE, CLEAR_LINE);
63   machine().device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
6464}
6565
6666
r17813r17814
7373
7474WRITE8_MEMBER(jedi_state::jedi_audio_reset_w)
7575{
76   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
76   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
7777}
7878
7979
trunk/src/mame/audio/exidy.c
r17813r17814
132132static WRITE_LINE_DEVICE_HANDLER( update_irq_state )
133133{
134134   exidy_sound_state *sndstate = get_safe_token(device);
135   cputag_set_input_line(device->machine(), "audiocpu", M6502_IRQ_LINE, (sndstate->m_pia1->irq_b_state() | sndstate->m_riot_irq_state) ? ASSERT_LINE : CLEAR_LINE);
135   device->machine().device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, (sndstate->m_pia1->irq_b_state() | sndstate->m_riot_irq_state) ? ASSERT_LINE : CLEAR_LINE);
136136}
137137
138138
r17813r17814
529529{
530530   exidy_sound_state *state = get_safe_token(device);
531531   if (state->m_cvsd != NULL)
532      cputag_set_input_line(device->machine(), "cvsdcpu", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
532      device->machine().device("cvsdcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
533533
534534   if (state->m_tms != NULL)
535535   {
trunk/src/mame/audio/cchasm.c
r17813r17814
4747{
4848   m_sound_flags |= 0x40;
4949   soundlatch4_byte_w(space, offset, data);
50   cputag_set_input_line(machine(), "maincpu", 1, HOLD_LINE);
50   machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE);
5151}
5252
5353WRITE16_MEMBER(cchasm_state::cchasm_io_w)
r17813r17814
6666         m_sound_flags |= 0x80;
6767         soundlatch2_byte_w(space, offset, data);
6868         m_ctc->trg2(1);
69         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
69         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
7070         break;
7171      case 2:
7272         //led = data;
trunk/src/mame/audio/qix.c
r17813r17814
133133   int combined_state = pia->irq_a_state() | pia->irq_b_state();
134134
135135   /* DINT is connected to the data CPU's IRQ line */
136   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
136   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
137137}
138138
139139
r17813r17814
143143   int combined_state = pia->irq_a_state() | pia->irq_b_state();
144144
145145   /* SINT is connected to the sound CPU's IRQ line */
146   cputag_set_input_line(device->machine(), "audiocpu", M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
146   device->machine().device("audiocpu")->execute().set_input_line(M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
147147}
148148
149149
trunk/src/mame/audio/exidy440.c
r17813r17814
377377{
378378   exidy440_audio_state *state = get_safe_token(device);
379379   /* clear the FIRQ that got us here and acknowledge the read to the main CPU */
380   cputag_set_input_line(device->machine(), "audiocpu", 1, CLEAR_LINE);
380   device->machine().device("audiocpu")->execute().set_input_line(1, CLEAR_LINE);
381381   state->sound_command_ack = 1;
382382
383383   return state->sound_command;
r17813r17814
389389   exidy440_audio_state *state = get_safe_token(device);
390390   state->sound_command = param;
391391   state->sound_command_ack = 0;
392   cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_IRQ1, ASSERT_LINE);
392   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE);
393393}
394394
395395
r17813r17814
436436
437437static WRITE8_DEVICE_HANDLER( sound_interrupt_clear_w )
438438{
439   cputag_set_input_line(device->machine(), "audiocpu", 0, CLEAR_LINE);
439   device->machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
440440}
441441
442442
trunk/src/mame/audio/aztarac.c
r17813r17814
2222      soundlatch_byte_w(space, offset, data);
2323      m_sound_status ^= 0x21;
2424      if (m_sound_status & 0x20)
25         cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
25         machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
2626   }
2727}
2828
trunk/src/mame/audio/irem.c
r17813r17814
6868   if ((data & 0x80) == 0)
6969      drvstate->soundlatch_byte_w(*space, 0, data & 0x7f);
7070   else
71      cputag_set_input_line(space->machine(), "iremsound", 0, ASSERT_LINE);
71      space->machine().device("iremsound")->execute().set_input_line(0, ASSERT_LINE);
7272}
7373
7474
r17813r17814
182182
183183static WRITE8_HANDLER( sound_irq_ack_w )
184184{
185   cputag_set_input_line(space->machine(), "iremsound", 0, CLEAR_LINE);
185   space->machine().device("iremsound")->execute().set_input_line(0, CLEAR_LINE);
186186}
187187
188188
r17813r17814
223223{
224224   device_t *adpcm2 = device->machine().device("msm2");
225225
226   cputag_set_input_line(device->machine(), "iremsound", INPUT_LINE_NMI, PULSE_LINE);
226   device->machine().device("iremsound")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
227227
228228   /* the first MSM5205 clocks the second */
229229   if (adpcm2 != NULL)
trunk/src/mame/audio/dkong.c
r17813r17814
12731273WRITE8_MEMBER(dkong_state::dkong_audio_irq_w)
12741274{
12751275   if (data)
1276      cputag_set_input_line(machine(), "soundcpu", 0, ASSERT_LINE);
1276      machine().device("soundcpu")->execute().set_input_line(0, ASSERT_LINE);
12771277   else
1278      cputag_set_input_line(machine(), "soundcpu", 0, CLEAR_LINE);
1278      machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
12791279}
12801280
12811281
trunk/src/mame/audio/m72.c
r17813r17814
117117   if (state->irqvector == 0)
118118      logerror("You didn't call m72_init_sound()\n");
119119
120   cputag_set_input_line_and_vector(machine, "soundcpu", 0, (state->irqvector == 0xff) ? CLEAR_LINE : ASSERT_LINE, state->irqvector);
120   machine.device("soundcpu")->execute().set_input_line_and_vector(0, (state->irqvector == 0xff) ? CLEAR_LINE : ASSERT_LINE, state->irqvector);
121121}
122122
123123static DEVICE_START( m72_audio )
trunk/src/mame/audio/beezer.c
r17813r17814
138138/*static WRITE_LINE_DEVICE_HANDLER( update_irq_state )
139139{
140140    beezer_sound_state *sndstate = get_safe_token(device);
141    cputag_set_input_line(device->machine(), "audiocpu", M6809_IRQ_LINE, (sndstate->ptm_irq_state) ? ASSERT_LINE : CLEAR_LINE);
141    device->machine().device("audiocpu")->execute().set_input_line(M6809_IRQ_LINE, (sndstate->ptm_irq_state) ? ASSERT_LINE : CLEAR_LINE);
142142}*/
143143
144144
trunk/src/mame/audio/redalert.c
r17813r17814
7070   /* D7 is also connected to the NMI input of the CPU -
7171       the NMI is actually toggled by a 74121 */
7272   if ((data & 0x80) == 0x00)
73      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
73      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
7474}
7575
7676
r17813r17814
155155WRITE8_MEMBER(redalert_state::redalert_voice_command_w)
156156{
157157   soundlatch2_byte_w(space, 0, (data & 0x78) >> 3);
158   cputag_set_input_line(machine(), "voice", I8085_RST75_LINE, (~data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
158   machine().device("voice")->execute().set_input_line(I8085_RST75_LINE, (~data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
159159}
160160
161161
r17813r17814
282282{
283283   /* the byte is connected to port A of the AY8910 */
284284   soundlatch_byte_w(space, 0, data);
285   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
285   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
286286}
287287
288288
trunk/src/mame/audio/starwars.c
r17813r17814
5959
6060static WRITE_LINE_DEVICE_HANDLER( snd_interrupt )
6161{
62   cputag_set_input_line(device->machine(), "audiocpu", M6809_IRQ_LINE, state);
62   device->machine().device("audiocpu")->execute().set_input_line(M6809_IRQ_LINE, state);
6363}
6464
6565
r17813r17814
144144   riot6532_porta_in_set(m_riot, 0x00, 0xc0);
145145
146146   /* reset sound CPU here  */
147   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, PULSE_LINE);
147   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
148148}
trunk/src/mame/audio/mario.c
r17813r17814
400400{
401401   mario_state   *state = space.machine().driver_data<mario_state>();
402402   //printf("ea: %d\n", ea);
403   //cputag_set_input_line(machine, "audiocpu", MCS48_INPUT_EA, (ea) ? ASSERT_LINE : CLEAR_LINE);
403   //machine.device("audiocpu")->execute().set_input_line(MCS48_INPUT_EA, (ea) ? ASSERT_LINE : CLEAR_LINE);
404404   if (state->m_eabank != NULL)
405405      state->membank(state->m_eabank)->set_entry(ea);
406406}
r17813r17814
520520   if (m_last == 1 && data == 0)
521521   {
522522      /* setting bit 0 high then low triggers IRQ on the sound CPU */
523      cputag_set_input_line_and_vector(machine(), "audiocpu", 0, HOLD_LINE, 0xff);
523      machine().device("audiocpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);
524524   }
525525
526526   m_last = data;
r17813r17814
553553   {
554554      case 0: /* death */
555555         if (data)
556            cputag_set_input_line(machine(), "audiocpu",0,ASSERT_LINE);
556            machine().device("audiocpu")->execute().set_input_line(0,ASSERT_LINE);
557557         else
558            cputag_set_input_line(machine(), "audiocpu",0,CLEAR_LINE);
558            machine().device("audiocpu")->execute().set_input_line(0,CLEAR_LINE);
559559         break;
560560      case 1: /* get coin */
561561         I8035_T_W_AH(space, 0,data & 1);
trunk/src/mame/machine/xevious.c
r17813r17814
4444   {
4545      if( battles_customio_command_count == 0 )
4646      {
47         cputag_set_input_line(timer.machine(), "sub3", INPUT_LINE_NMI, PULSE_LINE);
47         timer.machine().device("sub3")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
4848      }
4949      else
5050      {
51         cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
52         cputag_set_input_line(timer.machine(), "sub3", INPUT_LINE_NMI, PULSE_LINE);
51         timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
52         timer.machine().device("sub3")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
5353      }
5454   }
5555   else
5656   {
57      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
58      cputag_set_input_line(timer.machine(), "sub3", INPUT_LINE_NMI, PULSE_LINE);
57      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
58      timer.machine().device("sub3")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
5959   }
6060   battles_customio_command_count++;
6161}
trunk/src/mame/machine/bublbobl.c
r17813r17814
369369***************************************************************************/
370370static TIMER_CALLBACK( bublbobl_m68705_irq_ack )
371371{
372   cputag_set_input_line(machine, "mcu", 0, CLEAR_LINE);
372   machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
373373}
374374
375375INTERRUPT_GEN( bublbobl_m68705_interrupt )
trunk/src/mame/machine/midyunit.c
r17813r17814
605605
606606         case SOUND_YAWDIM:
607607            soundlatch_byte_w(space, 0, data);
608            cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
608            machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
609609            break;
610610      }
611611}
trunk/src/mame/machine/mhavoc.c
r17813r17814
2525      state->m_alpha_irq_clock++;
2626      if ((state->m_alpha_irq_clock & 0x0c) == 0x0c)
2727      {
28         cputag_set_input_line(timer.machine(), "alpha", 0, ASSERT_LINE);
28         timer.machine().device("alpha")->execute().set_input_line(0, ASSERT_LINE);
2929         state->m_alpha_irq_clock_enable = 0;
3030      }
3131   }
r17813r17814
3434   if (state->m_has_gamma_cpu)
3535   {
3636      state->m_gamma_irq_clock++;
37      cputag_set_input_line(timer.machine(), "gamma", 0, (state->m_gamma_irq_clock & 0x08) ? ASSERT_LINE : CLEAR_LINE);
37      timer.machine().device("gamma")->execute().set_input_line(0, (state->m_gamma_irq_clock & 0x08) ? ASSERT_LINE : CLEAR_LINE);
3838   }
3939}
4040
r17813r17814
4242WRITE8_MEMBER(mhavoc_state::mhavoc_alpha_irq_ack_w)
4343{
4444   /* clear the line and reset the clock */
45   cputag_set_input_line(machine(), "alpha", 0, CLEAR_LINE);
45   machine().device("alpha")->execute().set_input_line(0, CLEAR_LINE);
4646   m_alpha_irq_clock = 0;
4747   m_alpha_irq_clock_enable = 1;
4848}
r17813r17814
5151WRITE8_MEMBER(mhavoc_state::mhavoc_gamma_irq_ack_w)
5252{
5353   /* clear the line and reset the clock */
54   cputag_set_input_line(machine(), "gamma", 0, CLEAR_LINE);
54   machine().device("gamma")->execute().set_input_line(0, CLEAR_LINE);
5555   m_gamma_irq_clock = 0;
5656}
5757
r17813r17814
131131   state->m_alpha_data = param;
132132
133133   /* signal with an NMI pulse */
134   cputag_set_input_line(machine, "gamma", INPUT_LINE_NMI, PULSE_LINE);
134   machine.device("gamma")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
135135
136136   /* the sound CPU needs to reply in 250microseconds (according to Neil Bradley) */
137137   machine.scheduler().timer_set(attotime::from_usec(250), FUNC_NULL);
r17813r17814
256256   m_player_1 = (data >> 5) & 1;
257257
258258   /* Bit 3 = Gamma reset */
259   cputag_set_input_line(machine(), "gamma", INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
259   machine().device("gamma")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
260260   if (!(data & 0x08))
261261   {
262262      logerror("\t\t\t\t*** resetting gamma processor. ***\n");
trunk/src/mame/machine/twincobr.c
r17813r17814
150150   if (data == 0) {
151151      if (m_dsp_execute) {
152152         LOG(("Turning the main CPU on\n"));
153         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
153         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
154154         m_dsp_execute = 0;
155155      }
156156      m_dsp_BIO = ASSERT_LINE;
r17813r17814
188188   state->m_dsp_on = enable;
189189   if (enable) {
190190      LOG(("Turning DSP on and main CPU off\n"));
191      cputag_set_input_line(machine, "dsp", INPUT_LINE_HALT, CLEAR_LINE);
192      cputag_set_input_line(machine, "dsp", 0, ASSERT_LINE); /* TMS32010 INT */
193      cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
191      machine.device("dsp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
192      machine.device("dsp")->execute().set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
193      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
194194   }
195195   else {
196196      LOG(("Turning DSP off\n"));
197      cputag_set_input_line(machine, "dsp", 0, CLEAR_LINE); /* TMS32010 INT */
198      cputag_set_input_line(machine, "dsp", INPUT_LINE_HALT, ASSERT_LINE);
197      machine.device("dsp")->execute().set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
198      machine.device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
199199   }
200200}
201201
r17813r17814
277277      /****** The following apply to Flying Shark/Wardner only ******/
278278      case 0x00:   /* This means assert the INT line to the DSP */
279279               LOG(("Turning DSP on and main CPU off\n"));
280               cputag_set_input_line(space->machine(), "dsp", INPUT_LINE_HALT, CLEAR_LINE);
281               cputag_set_input_line(space->machine(), "dsp", 0, ASSERT_LINE); /* TMS32010 INT */
282               cputag_set_input_line(space->machine(), "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
280               space->machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
281               space->machine().device("dsp")->execute().set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
282               space->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
283283               break;
284284      case 0x01:   /* This means inhibit the INT line to the DSP */
285285               LOG(("Turning DSP off\n"));
286               cputag_set_input_line(space->machine(), "dsp", 0, CLEAR_LINE); /* TMS32010 INT */
287               cputag_set_input_line(space->machine(), "dsp", INPUT_LINE_HALT, ASSERT_LINE);
286               space->machine().device("dsp")->execute().set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
287               space->machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
288288               break;
289289   }
290290}
trunk/src/mame/machine/cdicdic.c
r17813r17814
554554        // Set the CDIC interrupt line
555555        verboselog(machine(), 0, "Setting CDIC interrupt line for soundmap decode\n" );
556556        device_set_input_line_vector(machine().device("maincpu"), M68K_IRQ_4, 128);
557        cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE);
557        machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, ASSERT_LINE);
558558    }
559559    else
560560    {
r17813r17814
708708                    //printf( "Setting CDIC interrupt line\n" );
709709                    verboselog(machine(), 0, "Setting CDIC interrupt line for audio sector\n" );
710710                    device_set_input_line_vector(machine().device("maincpu"), M68K_IRQ_4, 128);
711                    cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE);
711                    machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, ASSERT_LINE);
712712                }
713713                else if((buffer[CDIC_SECTOR_SUBMODE2] & (CDIC_SUBMODE_DATA | CDIC_SUBMODE_AUDIO | CDIC_SUBMODE_VIDEO)) == 0x00)
714714                {
r17813r17814
727727                        //printf( "Setting CDIC interrupt line\n" );
728728                        verboselog(machine(), 0, "Setting CDIC interrupt line for message sector\n" );
729729                        device_set_input_line_vector(machine().device("maincpu"), M68K_IRQ_4, 128);
730                        cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE);
730                        machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, ASSERT_LINE);
731731                    }
732732                    else
733733                    {
r17813r17814
747747                    //printf( "Setting CDIC interrupt line\n" );
748748                    verboselog(machine(), 0, "Setting CDIC interrupt line for data sector\n" );
749749                    device_set_input_line_vector(machine().device("maincpu"), M68K_IRQ_4, 128);
750                    cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE);
750                    machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, ASSERT_LINE);
751751                }
752752
753753                if((buffer[CDIC_SECTOR_SUBMODE2] & CDIC_SUBMODE_EOF) == 0 && m_command != 0x23)
r17813r17814
842842
843843            verboselog(machine(), 0, "Setting CDIC interrupt line for CDDA sector\n" );
844844            device_set_input_line_vector(machine().device("maincpu"), M68K_IRQ_4, 128);
845            cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE);
845            machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, ASSERT_LINE);
846846         break;
847847      }
848848      case 0x2c: // Seek
r17813r17814
893893
894894            verboselog(machine(), 0, "Setting CDIC interrupt line for Seek sector\n" );
895895            device_set_input_line_vector(machine().device("maincpu"), M68K_IRQ_4, 128);
896            cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE);
896            machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, ASSERT_LINE);
897897         break;
898898      }
899899   }
r17813r17814
944944            m_audio_buffer &= 0x7fff;
945945            if(!((m_audio_buffer | m_x_buffer) & 0x8000))
946946            {
947                cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, CLEAR_LINE);
947                machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, CLEAR_LINE);
948948                verboselog(machine(), 0, "Clearing CDIC interrupt line\n" );
949949                ////printf("Clearing CDIC interrupt line\n" );
950950            }
r17813r17814
958958            m_x_buffer &= 0x7fff;
959959            if(!((m_audio_buffer | m_x_buffer) & 0x8000))
960960            {
961                cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, CLEAR_LINE);
961                machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, CLEAR_LINE);
962962                verboselog(machine(), 0, "Clearing CDIC interrupt line\n" );
963963                ////printf("Clearing CDIC interrupt line\n" );
964964            }
trunk/src/mame/machine/carpolo.c
r17813r17814
6060
6161void carpolo_74148_3s_cb(device_t *device)
6262{
63   cputag_set_input_line(device->machine(), "maincpu", M6502_IRQ_LINE, ttl74148_output_valid_r(device) ? CLEAR_LINE : ASSERT_LINE);
63   device->machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, ttl74148_output_valid_r(device) ? CLEAR_LINE : ASSERT_LINE);
6464}
6565
6666
trunk/src/mame/machine/namcos1.c
r17813r17814
578578      m_reset = data & 1;
579579   }
580580
581   cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
582   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
583   cputag_set_input_line(machine(), "mcu", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
581   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
582   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
583   machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
584584}
585585
586586
r17813r17814
873873
874874   /* reset Cpu 0 and stop all other CPUs */
875875   machine.device("maincpu")->reset();
876   cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, ASSERT_LINE);
877   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
878   cputag_set_input_line(machine, "mcu", INPUT_LINE_RESET, ASSERT_LINE);
876   machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
877   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
878   machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
879879
880880   /* mcu patch data clear */
881881   state->m_mcu_patch_data = 0;
trunk/src/mame/machine/balsente.c
r17813r17814
3030
3131static TIMER_CALLBACK( irq_off )
3232{
33   cputag_set_input_line(machine, "maincpu", M6809_IRQ_LINE, CLEAR_LINE);
33   machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
3434}
3535
3636
r17813r17814
4545      state->m_scanline_timer->adjust(timer.machine().primary_screen->time_until_pos(param + 64), param + 64);
4646
4747   /* IRQ starts on scanline 0, 64, 128, etc. */
48   cputag_set_input_line(timer.machine(), "maincpu", M6809_IRQ_LINE, ASSERT_LINE);
48   timer.machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
4949
5050   /* it will turn off on the next HBLANK */
5151   timer.machine().scheduler().timer_set(timer.machine().primary_screen->time_until_pos(param, BALSENTE_HBSTART), FUNC(irq_off));
r17813r17814
398398   /* apply the change */
399399   if (new_state && !(state->m_m6850_status & 0x80))
400400   {
401      cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
401      machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
402402      state->m_m6850_status |= 0x80;
403403   }
404404   else if (!new_state && (state->m_m6850_status & 0x80))
405405   {
406      cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, CLEAR_LINE);
406      machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
407407      state->m_m6850_status &= ~0x80;
408408   }
409409
r17813r17814
416416   /* apply the change */
417417   if (new_state && !(state->m_m6850_sound_status & 0x80))
418418   {
419      cputag_set_input_line(machine, "audiocpu", INPUT_LINE_NMI, ASSERT_LINE);
419      machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
420420      state->m_m6850_sound_status |= 0x80;
421421   }
422422   else if (!new_state && (state->m_m6850_sound_status & 0x80))
423423   {
424      cputag_set_input_line(machine, "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
424      machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
425425      state->m_m6850_sound_status &= ~0x80;
426426   }
427427}
r17813r17814
716716{
717717   /* OUT on counter 2 is hooked to the /INT line on the Z80 */
718718   if (which == 2)
719      cputag_set_input_line(machine(), "audiocpu", 0, out ? ASSERT_LINE : CLEAR_LINE);
719      machine().device("audiocpu")->execute().set_input_line(0, out ? ASSERT_LINE : CLEAR_LINE);
720720
721721   /* OUT on counter 0 is hooked to the GATE line on counter 1 */
722722   else if (which == 0)
trunk/src/mame/machine/megadriv.c
r17813r17814
7171void megadriv_z80_hold(running_machine &machine)
7272{
7373   if ((genz80.z80_has_bus == 1) && (genz80.z80_is_reset == 0))
74      cputag_set_input_line(machine, ":genesis_snd_z80", 0, HOLD_LINE);
74      machine.device(":genesis_snd_z80")->execute().set_input_line(0, HOLD_LINE);
7575}
7676
7777void megadriv_z80_clear(running_machine &machine)
7878{
79   cputag_set_input_line(machine, ":genesis_snd_z80", 0, CLEAR_LINE);
79   machine.device(":genesis_snd_z80")->execute().set_input_line(0, CLEAR_LINE);
8080}
8181
8282static void megadriv_z80_bank_w(UINT16 data)
r17813r17814
10901090void genesis_vdp_lv6irqline_callback_genesis_68k(running_machine &machine, bool state)
10911091{
10921092   if (state==true)
1093      cputag_set_input_line(machine, "maincpu", 6, HOLD_LINE);
1093      machine.device("maincpu")->execute().set_input_line(6, HOLD_LINE);
10941094   else
1095      cputag_set_input_line(machine, "maincpu", 6, CLEAR_LINE);
1095      machine.device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
10961096}
10971097
10981098// this comes from the vdp, and is connected to 68k irq level 4 (raster interrupt)
10991099void genesis_vdp_lv4irqline_callback_genesis_68k(running_machine &machine, bool state)
11001100{
11011101   if (state==true)
1102      cputag_set_input_line(machine, "maincpu", 4, HOLD_LINE);
1102      machine.device("maincpu")->execute().set_input_line(4, HOLD_LINE);
11031103   else
1104      cputag_set_input_line(machine, "maincpu", 4, CLEAR_LINE);
1104      machine.device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
11051105}
11061106
11071107/* Callback when the 68k takes an IRQ */
r17813r17814
15821582   md_base_state *state = screen.machine().driver_data<md_base_state>();
15831583
15841584   if (screen.machine().root_device().ioport(":RESET")->read_safe(0x00) & 0x01)
1585      cputag_set_input_line(screen.machine(), ":maincpu", INPUT_LINE_RESET, PULSE_LINE);
1585      screen.machine().device(":maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
15861586
15871587   // rising edge
15881588   if (vblank_on)
trunk/src/mame/machine/vsnes.c
r17813r17814
674674
675675      if (state->m_IRQ_enable && !blanked && (state->m_IRQ_count == 0) && priorCount)
676676      {
677         cputag_set_input_line(device->machine(), "maincpu", 0, HOLD_LINE);
677         device->machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
678678      }
679679   }
680680}
r17813r17814
969969WRITE8_MEMBER(vsnes_state::set_bnglngby_irq_w)
970970{
971971   m_ret = data;
972   cputag_set_input_line(machine(), "maincpu", 0, (data & 2) ? ASSERT_LINE : CLEAR_LINE);
972   machine().device("maincpu")->execute().set_input_line(0, (data & 2) ? ASSERT_LINE : CLEAR_LINE);
973973   /* other values ??? */
974974   /* 0, 4, 84 */
975975}
trunk/src/mame/machine/taitosj.c
r17813r17814
4848   state->m_zready = 0;
4949   state->m_busreq = 0;
5050   if (machine.device("mcu") != NULL)
51      cputag_set_input_line(machine, "mcu", 0, CLEAR_LINE);
51      machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
5252
5353   state->m_spacecr_prot_value = 0;
5454}
r17813r17814
108108{
109109   taitosj_state *state = machine.driver_data<taitosj_state>();
110110   state->m_zready = 1;
111   cputag_set_input_line(machine, "mcu", 0, ASSERT_LINE);
111   machine.device("mcu")->execute().set_input_line(0, ASSERT_LINE);
112112   state->m_fromz80 = param;
113113}
114114
r17813r17814
196196   {
197197      /* 68705 is going to read data from the Z80 */
198198      machine().scheduler().synchronize(FUNC(taitosj_mcu_data_real_r));
199      cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
199      machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
200200      m_portA_in = m_fromz80;
201201      LOG(("%04x: 68705 <- Z80 %02x\n", space.device().safe_pc(), m_portA_in));
202202   }
trunk/src/mame/machine/amiga.c
r17813r17814
372372   if (CUSTOM_REG(REG_INTENA) & 0x4000)
373373   {
374374      /* Serial transmit buffer empty, disk block finished, software interrupts */
375      cputag_set_input_line(machine, "maincpu", 1, ints & 0x0007 ? ASSERT_LINE : CLEAR_LINE);
375      machine.device("maincpu")->execute().set_input_line(1, ints & 0x0007 ? ASSERT_LINE : CLEAR_LINE);
376376
377377      /* I/O ports and timer interrupts */
378      cputag_set_input_line(machine, "maincpu", 2, ints & 0x0008 ? ASSERT_LINE : CLEAR_LINE);
378      machine.device("maincpu")->execute().set_input_line(2, ints & 0x0008 ? ASSERT_LINE : CLEAR_LINE);
379379
380380      /* Copper, VBLANK, blitter interrupts */
381      cputag_set_input_line(machine, "maincpu", 3, ints & 0x0070 ? ASSERT_LINE : CLEAR_LINE);
381      machine.device("maincpu")->execute().set_input_line(3, ints & 0x0070 ? ASSERT_LINE : CLEAR_LINE);
382382
383383      /* Audio interrupts */
384      cputag_set_input_line(machine, "maincpu", 4, ints & 0x0780 ? ASSERT_LINE : CLEAR_LINE);
384      machine.device("maincpu")->execute().set_input_line(4, ints & 0x0780 ? ASSERT_LINE : CLEAR_LINE);
385385
386386      /* Serial receive buffer full, disk sync match */
387      cputag_set_input_line(machine, "maincpu", 5, ints & 0x1800 ? ASSERT_LINE : CLEAR_LINE);
387      machine.device("maincpu")->execute().set_input_line(5, ints & 0x1800 ? ASSERT_LINE : CLEAR_LINE);
388388
389389      /* External interrupts */
390      cputag_set_input_line(machine, "maincpu", 6, ints & 0x2000 ? ASSERT_LINE : CLEAR_LINE);
390      machine.device("maincpu")->execute().set_input_line(6, ints & 0x2000 ? ASSERT_LINE : CLEAR_LINE);
391391   }
392392   else
393393   {
394      cputag_set_input_line(machine, "maincpu", 1, CLEAR_LINE);
395      cputag_set_input_line(machine, "maincpu", 2, CLEAR_LINE);
396      cputag_set_input_line(machine, "maincpu", 3, CLEAR_LINE);
397      cputag_set_input_line(machine, "maincpu", 4, CLEAR_LINE);
398      cputag_set_input_line(machine, "maincpu", 5, CLEAR_LINE);
399      cputag_set_input_line(machine, "maincpu", 6, CLEAR_LINE);
394      machine.device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
395      machine.device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
396      machine.device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
397      machine.device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
398      machine.device("maincpu")->execute().set_input_line(5, CLEAR_LINE);
399      machine.device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
400400   }
401401}
402402
trunk/src/mame/machine/vertigo.c
r17813r17814
7070{
7171   vertigo_state *state = device->machine().driver_data<vertigo_state>();
7272   if (state->m_irq_state < 7)
73      cputag_set_input_line(device->machine(), "maincpu", state->m_irq_state ^ 7, CLEAR_LINE);
73      device->machine().device("maincpu")->execute().set_input_line(state->m_irq_state ^ 7, CLEAR_LINE);
7474
7575   state->m_irq_state = ttl74148_output_r(device);
7676
7777   if (state->m_irq_state < 7)
78      cputag_set_input_line(device->machine(), "maincpu", state->m_irq_state ^ 7, ASSERT_LINE);
78      device->machine().device("maincpu")->execute().set_input_line(state->m_irq_state ^ 7, ASSERT_LINE);
7979}
8080
8181
r17813r17814
9999static WRITE_LINE_DEVICE_HANDLER( v_irq3_w )
100100{
101101   if (state)
102      cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_IRQ0, ASSERT_LINE);
102      device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
103103
104104   update_irq_encoder(device->machine(), INPUT_LINE_IRQ3, state);
105105}
r17813r17814
159159{
160160   /* Reset sound cpu */
161161   if ((data & 2) == 0)
162      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
162      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
163163   else
164      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
164      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
165165}
166166
167167
trunk/src/mame/machine/cdislave.c
r17813r17814
6060{
6161    verboselog(machine(), 0, "Asserting IRQ2\n" );
6262    device_set_input_line_vector(machine().device("maincpu"), M68K_IRQ_2, 26);
63    cputag_set_input_line(machine(), "maincpu", M68K_IRQ_2, ASSERT_LINE);
63    machine().device("maincpu")->execute().set_input_line(M68K_IRQ_2, ASSERT_LINE);
6464    m_interrupt_timer->adjust(attotime::never);
6565}
6666
r17813r17814
144144                case 0xf4:
145145                case 0xf7:
146146                    verboselog(machine(), 0, "slave_r: De-asserting IRQ2\n" );
147                    cputag_set_input_line(machine(), "maincpu", M68K_IRQ_2, CLEAR_LINE);
147                    machine().device("maincpu")->execute().set_input_line(M68K_IRQ_2, CLEAR_LINE);
148148                    break;
149149            }
150150        }
trunk/src/mame/machine/namcos2.c
r17813r17814
8484static void
8585ResetAllSubCPUs( running_machine &machine, int state )
8686{
87   cputag_set_input_line(machine, "slave", INPUT_LINE_RESET, state);
88   cputag_set_input_line(machine, "mcu", INPUT_LINE_RESET, state);
87   machine.device("slave")->execute().set_input_line(INPUT_LINE_RESET, state);
88   machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, state);
8989   switch( machine.driver_data<namcos2_shared_state>()->m_gametype )
9090   {
9191   case NAMCOS21_SOLVALOU:
9292   case NAMCOS21_STARBLADE:
9393   case NAMCOS21_AIRCOMBAT:
9494   case NAMCOS21_CYBERSLED:
95      cputag_set_input_line(machine, "dspmaster", INPUT_LINE_RESET, state);
96      cputag_set_input_line(machine, "dspslave", INPUT_LINE_RESET, state);
95      machine.device("dspmaster")->execute().set_input_line(INPUT_LINE_RESET, state);
96      machine.device("dspslave")->execute().set_input_line(INPUT_LINE_RESET, state);
9797      break;
9898
9999//  case NAMCOS21_WINRUN91:
r17813r17814
123123   /* Initialise the bank select in the sound CPU */
124124   namcos2_sound_bankselect_w(space, 0, 0); /* Page in bank 0 */
125125
126   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE );
126   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
127127
128128   /* Place CPU2 & CPU3 into the reset condition */
129129   ResetAllSubCPUs( machine, ASSERT_LINE );
r17813r17814
577577         if (data & 0x01)
578578         {
579579            /* Resume execution */
580            cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
580            space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
581581            device_yield(&space->device());
582582         }
583583         else
584584         {
585585            /* Suspend execution */
586            cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
586            space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
587587         }
588588         if (namcos2_kickstart != NULL)
589589         {
r17813r17814
666666   if (state->is_system21()) {
667667      if (namcos2_68k_gpu_C148[NAMCOS2_C148_POSIRQ]) {
668668         machine.primary_screen->update_partial(param);
669         cputag_set_input_line(machine, "gpu", namcos2_68k_gpu_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
669         machine.device("gpu")->execute().set_input_line(namcos2_68k_gpu_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
670670      }
671671      return;
672672   }
673673
674674   if (namcos2_68k_master_C148[NAMCOS2_C148_POSIRQ]|namcos2_68k_slave_C148[NAMCOS2_C148_POSIRQ]) {
675675      machine.primary_screen->update_partial(param);
676      if (namcos2_68k_master_C148[NAMCOS2_C148_POSIRQ]) cputag_set_input_line(machine, "maincpu", namcos2_68k_master_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
677      if (namcos2_68k_slave_C148[NAMCOS2_C148_POSIRQ]) cputag_set_input_line(machine, "slave", namcos2_68k_slave_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
676      if (namcos2_68k_master_C148[NAMCOS2_C148_POSIRQ]) machine.device("maincpu")->execute().set_input_line(namcos2_68k_master_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
677      if (namcos2_68k_slave_C148[NAMCOS2_C148_POSIRQ]) machine.device("slave")->execute().set_input_line(namcos2_68k_slave_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
678678   }
679679}
680680
trunk/src/mame/machine/decoprot.c
r17813r17814
112112   if (offset == (0x150 / 2))
113113   {
114114      state->soundlatch_byte_w(*space, 0, data & 0xff);
115      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
115      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
116116      return;
117117   }
118118
r17813r17814
232232   if (offset == (0x64 / 2))
233233   {
234234      state->soundlatch_byte_w(*space, 0, data & 0xff);
235      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
235      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
236236   }
237237
238238   COMBINE_DATA(&deco16_prot_ram[offset]);
r17813r17814
423423   if (offset == (0x64 / 2))
424424   {
425425      state->soundlatch_byte_w(*space, 0, data & 0xff);
426      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
426      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
427427      return;
428428   }
429429
r17813r17814
611611   if (offset == (0xa8 / 2))
612612   {
613613      state->soundlatch_byte_w(*space, 0, data & 0xff);
614      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
614      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
615615      return;
616616   }
617617
r17813r17814
675675   if (offset == (0x10a >> 1))
676676   {
677677      state->soundlatch_byte_w(*space, 0, data & 0xff);
678      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
678      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
679679      return;
680680   }
681681}
r17813r17814
795795   if (offset == (0xa8 / 2))
796796   {
797797      state->soundlatch_byte_w(*space, 0, data & 0xff);
798      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
798      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
799799      return;
800800   }
801801
r17813r17814
12261226   if (writeport == sndport)
12271227   {
12281228      state->soundlatch_byte_w(*space, 0, data & 0xff);
1229      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
1229      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
12301230      return;
12311231   }
12321232
r17813r17814
17561756   if (offset == (0x380 / 2))
17571757   {
17581758      state->soundlatch_byte_w(*space, 0, data & 0xff);
1759      cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
1759      space->machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
17601760      return;
17611761   }
17621762   logerror("Protection PC %06x: warning - write unmapped memory address %04x %04x\n", space->device().safe_pc(), offset << 1, data);
trunk/src/mame/machine/tatsumi.c
r17813r17814
4141   if (m_control_word & 0x7f00)
4242   {
4343      logerror("Unknown control Word: %04x\n",m_control_word);
44      cputag_set_input_line(machine(), "sub2", INPUT_LINE_HALT, CLEAR_LINE); // ?
44      machine().device("sub2")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE); // ?
4545   }
4646
4747   if (m_control_word & 0x10)
48      cputag_set_input_line(machine(), "sub", INPUT_LINE_HALT, ASSERT_LINE);
48      machine().device("sub")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
4949   else
50      cputag_set_input_line(machine(), "sub", INPUT_LINE_HALT, CLEAR_LINE);
50      machine().device("sub")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
5151
5252   if (m_control_word & 0x80)
53      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_HALT, ASSERT_LINE);
53      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
5454   else
55      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_HALT, CLEAR_LINE);
55      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
5656
5757   m_last_control=m_control_word;
5858}
r17813r17814
6161// D0 = /GRDACC - Allow 68000 access to road pattern RAM
6262WRITE16_MEMBER(tatsumi_state::apache3_z80_ctrl_w)
6363{
64   cputag_set_input_line(machine(), "sub2", INPUT_LINE_HALT, data & 2 ? ASSERT_LINE : CLEAR_LINE);
64   machine().device("sub2")->execute().set_input_line(INPUT_LINE_HALT, data & 2 ? ASSERT_LINE : CLEAR_LINE);
6565}
6666
6767READ16_MEMBER(tatsumi_state::apache3_v30_v20_r)
r17813r17814
171171   COMBINE_DATA(&m_control_word);
172172
173173   if (m_control_word & 0x10)
174      cputag_set_input_line(machine(), "sub", INPUT_LINE_HALT, ASSERT_LINE);
174      machine().device("sub")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
175175   else
176      cputag_set_input_line(machine(), "sub", INPUT_LINE_HALT, CLEAR_LINE);
176      machine().device("sub")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
177177
178178   if (m_control_word & 0x4)
179      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_HALT, ASSERT_LINE);
179      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
180180   else
181      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_HALT, CLEAR_LINE);
181      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
182182
183183//  if (offset == 1 && (tatsumi_control_w & 0xfeff) != (last_bank & 0xfeff))
184184//      logerror("%08x:  Changed bank to %04x (%d)\n", space.device().safe_pc(), tatsumi_control_w,offset);
r17813r17814
204204    */
205205
206206   if ((m_control_word & 0x8) == 0 && !(m_last_control & 0x8))
207      cputag_set_input_line(machine(), "sub", INPUT_LINE_IRQ4, ASSERT_LINE);
207      machine().device("sub")->execute().set_input_line(INPUT_LINE_IRQ4, ASSERT_LINE);
208208//  if (tatsumi_control_w&0x200)
209209//      cpu_set_reset_line(1, CLEAR_LINE);
210210//  else
r17813r17814
237237    */
238238
239239   COMBINE_DATA(&m_roundup5_e0000_ram[offset]);
240   cputag_set_input_line(machine(), "sub", INPUT_LINE_IRQ4, CLEAR_LINE); // guess, probably wrong
240   machine().device("sub")->execute().set_input_line(INPUT_LINE_IRQ4, CLEAR_LINE); // guess, probably wrong
241241
242242//  logerror("d_68k_e0000_w %06x %04x\n", space.device().safe_pc(), data);
243243}
r17813r17814
269269   if ((m_control_word & 4) == 4 && (m_last_control & 4) == 0)
270270   {
271271//      logerror("68k 2 halt\n");
272      cputag_set_input_line(machine(), "sub", INPUT_LINE_HALT, ASSERT_LINE);
272      machine().device("sub")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
273273   }
274274
275275   if ((m_control_word & 4) == 0 && (m_last_control & 4) == 4)
276276   {
277277//      logerror("68k 2 irq go\n");
278      cputag_set_input_line(machine(), "sub", INPUT_LINE_HALT, CLEAR_LINE);
278      machine().device("sub")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
279279   }
280280
281281
trunk/src/mame/machine/segamsys.c
r17813r17814
308308static int sms_vdp_cpu0_irq_callback(running_machine &machine, int status)
309309{
310310   if (status == 1)
311      cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
311      machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
312312   else
313      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
313      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
314314
315315   return 0;
316316}
r17813r17814
318318static int sms_vdp_cpu1_irq_callback(running_machine &machine, int status)
319319{
320320   if (status == 1)
321      cputag_set_input_line(machine, "genesis_snd_z80", 0, HOLD_LINE);
321      machine.device("genesis_snd_z80")->execute().set_input_line(0, HOLD_LINE);
322322   else
323      cputag_set_input_line(machine, "genesis_snd_z80", 0, CLEAR_LINE);
323      machine.device("genesis_snd_z80")->execute().set_input_line(0, CLEAR_LINE);
324324
325325   return 0;
326326}
r17813r17814
329329static int sms_vdp_cpu2_irq_callback(running_machine &machine, int status)
330330{
331331   if (status == 1)
332      cputag_set_input_line(machine, "mtbios", 0, HOLD_LINE);
332      machine.device("mtbios")->execute().set_input_line(0, HOLD_LINE);
333333   else
334      cputag_set_input_line(machine, "mtbios", 0, CLEAR_LINE);
334      machine.device("mtbios")->execute().set_input_line(0, CLEAR_LINE);
335335
336336   return 0;
337337}
r17813r17814
11811181
11821182      // the SMS has a 'RESET' button on the machine, it generates an NMI
11831183      if (screen.machine().root_device().ioport("PAUSE")->read_safe(0x00))
1184         cputag_set_input_line(screen.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
1184         screen.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
11851185   }
11861186}
11871187
trunk/src/mame/machine/retofinv.c
r17813r17814
5151   if ((m_ddrB & 0x02) && (~data & 0x02) && (m_portB_out & 0x02))
5252   {
5353      m_portA_in = m_from_main;
54      if (m_main_sent) cputag_set_input_line(machine(), "68705", 0, CLEAR_LINE);
54      if (m_main_sent) machine().device("68705")->execute().set_input_line(0, CLEAR_LINE);
5555      m_main_sent = 0;
5656//logerror("read command %02x from main cpu\n",m_portA_in);
5757   }
r17813r17814
107107logerror("%04x: mcu_w %02x\n",space.device().safe_pc(),data);
108108   m_from_main = data;
109109   m_main_sent = 1;
110   cputag_set_input_line(machine(), "68705", 0, ASSERT_LINE);
110   machine().device("68705")->execute().set_input_line(0, ASSERT_LINE);
111111}
112112
113113READ8_MEMBER(retofinv_state::retofinv_mcu_r)
trunk/src/mame/machine/bsktball.c
r17813r17814
2525   int scanline = param;
2626
2727   if(scanline == 0) // vblank irq
28      cputag_set_input_line(timer.machine(), "maincpu", 0, HOLD_LINE);
28      timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
2929   else if(((scanline % 28) == 0) && (state->m_nmi_on)) // 32v timer irq
30      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
30      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
3131}
3232
3333
trunk/src/mame/machine/beezer.c
r17813r17814
102102{
103103   beezer_state *state = device->machine().driver_data<beezer_state>();
104104   if ((data & 0x08) == 0)
105      cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
105      device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
106106   else
107      cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
107      device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
108108
109109   if ((data & 0x04) == 0)
110110   {
trunk/src/mame/machine/megacd.c
r17813r17814
153153#define CHECK_SCD_LV5_INTERRUPT \
154154   if (segacd_irq_mask & 0x20) \
155155   { \
156      cputag_set_input_line(machine, "segacd_68k", 5, HOLD_LINE); \
156      machine.device("segacd_68k")->execute().set_input_line(5, HOLD_LINE); \
157157   } \
158158
159159#define CHECK_SCD_LV4_INTERRUPT \
160160   if (segacd_irq_mask & 0x10) \
161161   { \
162      cputag_set_input_line(machine, "segacd_68k", 4, HOLD_LINE); \
162      machine.device("segacd_68k")->execute().set_input_line(4, HOLD_LINE); \
163163   } \
164164
165165#define CHECK_SCD_LV3_INTERRUPT \
166166   if (segacd_irq_mask & 0x08) \
167167   { \
168      cputag_set_input_line(machine, "segacd_68k", 3, HOLD_LINE); \
168      machine.device("segacd_68k")->execute().set_input_line(3, HOLD_LINE); \
169169   } \
170170
171171#define CHECK_SCD_LV2_INTERRUPT \
172172   if (segacd_irq_mask & 0x04) \
173173   { \
174      cputag_set_input_line(machine, "segacd_68k", 2, HOLD_LINE); \
174      machine.device("segacd_68k")->execute().set_input_line(2, HOLD_LINE); \
175175   } \
176176
177177#define CHECK_SCD_LV1_INTERRUPT \
178178   if (segacd_irq_mask & 0x02) \
179179   { \
180      cputag_set_input_line(machine, "segacd_68k", 1, HOLD_LINE); \
180      machine.device("segacd_68k")->execute().set_input_line(1, HOLD_LINE); \
181181   } \
182182
183183#define CURRENT_TRACK_IS_DATA \
r17813r17814
11741174      // reset line
11751175      if (a12000_halt_reset_reg&0x0001)
11761176      {
1177         cputag_set_input_line(space->machine(), "segacd_68k", INPUT_LINE_RESET, CLEAR_LINE);
1177         space->machine().device("segacd_68k")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
11781178         if (!(old_halt&0x0001)) printf("clear reset slave\n");
11791179      }
11801180      else
11811181      {
1182         cputag_set_input_line(space->machine(), "segacd_68k", INPUT_LINE_RESET, ASSERT_LINE);
1182         space->machine().device("segacd_68k")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
11831183         if ((old_halt&0x0001)) printf("assert reset slave\n");
11841184      }
11851185
11861186      // request BUS
11871187      if (a12000_halt_reset_reg&0x0002)
11881188      {
1189         cputag_set_input_line(space->machine(), "segacd_68k", INPUT_LINE_HALT, ASSERT_LINE);
1189         space->machine().device("segacd_68k")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
11901190         if (!(old_halt&0x0002)) printf("halt slave\n");
11911191      }
11921192      else
11931193      {
1194         cputag_set_input_line(space->machine(), "segacd_68k", INPUT_LINE_HALT, CLEAR_LINE);
1194         space->machine().device("segacd_68k")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
11951195         if ((old_halt&0x0002)) printf("resume slave\n");
11961196      }
11971197   }
r17813r17814
14801480   {
14811481      // clear this bit
14821482      a12000_halt_reset_reg &= ~0x0100;
1483      cputag_set_input_line(device->machine(), "segacd_68k", 2, CLEAR_LINE);
1483      device->machine().device("segacd_68k")->execute().set_input_line(2, CLEAR_LINE);
14841484   }
14851485
14861486   return (0x60+irqline*4)/4; // vector address
trunk/src/mame/machine/mcr68.c
r17813r17814
241241static void update_mcr68_interrupts(running_machine &machine)
242242{
243243   mcr68_state *state = machine.driver_data<mcr68_state>();
244   cputag_set_input_line(machine, "maincpu", state->m_v493_irq_vector, state->m_v493_irq_state ? ASSERT_LINE : CLEAR_LINE);
245   cputag_set_input_line(machine, "maincpu", state->m_m6840_irq_vector, state->m_m6840_irq_state ? ASSERT_LINE : CLEAR_LINE);
244   machine.device("maincpu")->execute().set_input_line(state->m_v493_irq_vector, state->m_v493_irq_state ? ASSERT_LINE : CLEAR_LINE);
245   machine.device("maincpu")->execute().set_input_line(state->m_m6840_irq_vector, state->m_m6840_irq_state ? ASSERT_LINE : CLEAR_LINE);
246246}
247247
248248
trunk/src/mame/machine/megavdp.c
r17813r17814
28572857   m_sprite_collision=0;//? when to reset this ..
28582858   megadrive_imode = MEGADRIVE_REG0C_INTERLEAVE; // can't change mid-frame..
28592859   m_imode_odd_frame^=1;
2860//      cputag_set_input_line(machine, "genesis_snd_z80", 0, CLEAR_LINE); // if the z80 interrupt hasn't happened by now, clear it..
2860//      machine.device("genesis_snd_z80")->execute().set_input_line(0, CLEAR_LINE); // if the z80 interrupt hasn't happened by now, clear it..
28612861
28622862
28632863
trunk/src/mame/machine/micro3d.c
r17813r17814
3131
3232void micro3d_duart_irq_handler(device_t *device, int state, UINT8 vector)
3333{
34   cputag_set_input_line_and_vector(device->machine(), "maincpu", 3, state, vector);
34   device->machine().device("maincpu")->execute().set_input_line_and_vector(3, state, vector);
3535};
3636
3737void micro3d_duart_tx(device_t *device, int channel, UINT8 data)
r17813r17814
4747   else
4848   {
4949      state->m_m68681_tx0 = data;
50      cputag_set_input_line(device->machine(), "audiocpu", MCS51_RX_LINE, ASSERT_LINE);
50      device->machine().device("audiocpu")->execute().set_input_line(MCS51_RX_LINE, ASSERT_LINE);
5151      // TODO: next line should be behind a timer callback which lasts one audiocpu clock cycle
52      cputag_set_input_line(device->machine(), "audiocpu", MCS51_RX_LINE, CLEAR_LINE);
52      device->machine().device("audiocpu")->execute().set_input_line(MCS51_RX_LINE, CLEAR_LINE);
5353   }
5454};
5555
r17813r17814
8484*/
8585void micro3d_duart_output_w(device_t *device, UINT8 data)
8686{
87   cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_RESET, data & 0x20 ? CLEAR_LINE : ASSERT_LINE);
87   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, data & 0x20 ? CLEAR_LINE : ASSERT_LINE);
8888}
8989
9090
r17813r17814
262262{
263263   micro3d_state *state = machine.driver_data<micro3d_state>();
264264
265   cputag_set_input_line(machine, "drmath", AM29000_INTR0, ASSERT_LINE);
265   machine.device("drmath")->execute().set_input_line(AM29000_INTR0, ASSERT_LINE);
266266   state->m_mac_stat = 0;
267267}
268268
r17813r17814
302302   mac_sram = m_mac_sram;
303303
304304   if (data & (1 << 14))
305      cputag_set_input_line(machine(), "drmath", AM29000_INTR0, CLEAR_LINE);
305      machine().device("drmath")->execute().set_input_line(AM29000_INTR0, CLEAR_LINE);
306306
307307   switch (inst)
308308   {
r17813r17814
557557WRITE16_MEMBER(micro3d_state::micro3d_reset_w)
558558{
559559   data >>= 8;
560   cputag_set_input_line(machine(), "drmath", INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
561   cputag_set_input_line(machine(), "vgb", INPUT_LINE_RESET, data & 2 ? CLEAR_LINE : ASSERT_LINE);
560   machine().device("drmath")->execute().set_input_line(INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
561   machine().device("vgb")->execute().set_input_line(INPUT_LINE_RESET, data & 2 ? CLEAR_LINE : ASSERT_LINE);
562562   /* TODO: Joystick reset? */
563563}
564564
565565WRITE16_MEMBER(micro3d_state::host_drmath_int_w)
566566{
567   cputag_set_input_line(machine(), "drmath", AM29000_INTR2, ASSERT_LINE);
567   machine().device("drmath")->execute().set_input_line(AM29000_INTR2, ASSERT_LINE);
568568   machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(10));
569569}
570570
r17813r17814
588588
589589WRITE32_MEMBER(micro3d_state::drmath_int_w)
590590{
591   cputag_set_input_line(machine(), "maincpu", 5, HOLD_LINE);
591   machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
592592}
593593
594594WRITE32_MEMBER(micro3d_state::drmath_intr2_ack)
595595{
596   cputag_set_input_line(machine(), "drmath", AM29000_INTR2, CLEAR_LINE);
596   machine().device("drmath")->execute().set_input_line(AM29000_INTR2, CLEAR_LINE);
597597}
598598
599599
r17813r17814
639639
640640   state->m_ti_uart[STATUS] = 1;
641641
642   cputag_set_input_line(machine, "vgb", INPUT_LINE_RESET, ASSERT_LINE);
643   cputag_set_input_line(machine, "drmath", INPUT_LINE_RESET, ASSERT_LINE);
644   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
642   machine.device("vgb")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
643   machine.device("drmath")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
644   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
645645}
trunk/src/mame/machine/playch10.c
r17813r17814
129129
130130WRITE8_MEMBER(playch10_state::pc10_GAMERES_w)
131131{
132   cputag_set_input_line(machine(), "cart", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE );
132   machine().device("cart")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE );
133133}
134134
135135WRITE8_MEMBER(playch10_state::pc10_GAMESTOP_w)
136136{
137   cputag_set_input_line(machine(), "cart", INPUT_LINE_HALT, (data & 1) ? CLEAR_LINE : ASSERT_LINE );
137   machine().device("cart")->execute().set_input_line(INPUT_LINE_HALT, (data & 1) ? CLEAR_LINE : ASSERT_LINE );
138138}
139139
140140WRITE8_MEMBER(playch10_state::pc10_PPURES_w)
trunk/src/mame/machine/atari.c
r17813r17814
5353         logerror("atari interrupt_cb TIMR1\n");
5454   }
5555
56   cputag_set_input_line(device->machine(), "maincpu", 0, HOLD_LINE);
56   device->machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
5757}
5858
5959/**************************************************************
trunk/src/mame/machine/slapfght.c
r17813r17814
2424   state->m_getstar_sh_intenabled = 0;   /* disable sound cpu interrupts */
2525
2626   /* SOUND CPU */
27   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
27   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
2828
2929   /* MCU */
3030   state->m_mcu_val = 0;
r17813r17814
3939/* Reset and hold sound CPU */
4040WRITE8_MEMBER(slapfght_state::slapfight_port_00_w)
4141{
42   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
42   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
4343   m_getstar_sh_intenabled = 0;
4444}
4545
4646/* Release reset on sound CPU */
4747WRITE8_MEMBER(slapfght_state::slapfight_port_01_w)
4848{
49   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
49   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
5050}
5151
5252/* Disable and clear hardware interrupt */
r17813r17814
118118      m_portA_in = m_from_main;
119119
120120      if (m_main_sent)
121         cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
121         machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
122122
123123      m_main_sent = 0;
124124   }
r17813r17814
170170{
171171   m_from_main = data;
172172   m_main_sent = 1;
173   cputag_set_input_line(machine(), "mcu", 0, ASSERT_LINE);
173   machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE);
174174}
175175
176176READ8_MEMBER(slapfght_state::slapfight_mcu_r)
r17813r17814
811811   if ((m_ddrB & 0x02) && (~data & 0x02) && (m_portB_out & 0x02))
812812   {
813813      m_portA_in = m_from_main;
814      if (m_main_sent) cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
814      if (m_main_sent) machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
815815      m_main_sent = 0;
816816   }
817817   if ((m_ddrB & 0x04) && (data & 0x04) && (~m_portB_out & 0x04))
r17813r17814
852852   m_from_main = data;
853853   m_main_sent = 1;
854854   m_mcu_sent = 0;
855   cputag_set_input_line(machine(), "mcu", 0, ASSERT_LINE);
855   machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE);
856856}
857857
858858READ8_MEMBER(slapfght_state::tigerh_mcu_r)
trunk/src/mame/machine/konppc.c
r17813r17814
224224      case CGBOARD_TYPE_ZR107:
225225      case CGBOARD_TYPE_GTICLUB:
226226      {
227         //cputag_set_input_line(machine, "dsp", SHARC_INPUT_FLAG0, ASSERT_LINE);
227         //machine.device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG0, ASSERT_LINE);
228228         sharc_set_flag_input(space->machine().device("dsp"), 0, ASSERT_LINE);
229229
230230         if (offset == 1)
231231         {
232232            if (data & 0x03)
233               cputag_set_input_line(space->machine(), "dsp", INPUT_LINE_IRQ2, ASSERT_LINE);
233               space->machine().device("dsp")->execute().set_input_line(INPUT_LINE_IRQ2, ASSERT_LINE);
234234         }
235235         break;
236236      }
trunk/src/mame/machine/irobot.c
r17813r17814
159159    if (scanline == 224) state->m_irvg_vblank=1;
160160    logerror("SCANLINE CALLBACK %d\n",scanline);
161161    /* set the IRQ line state based on the 32V line state */
162    cputag_set_input_line(machine, "maincpu", M6809_IRQ_LINE, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE);
162    machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE);
163163
164164    /* set a callback for the next 32-scanline increment */
165165    scanline += 32;
r17813r17814
419419   irobot_state *state = timer.machine().driver_data<irobot_state>();
420420   logerror("mb done. ");
421421   state->m_irmb_running = 0;
422   cputag_set_input_line(timer.machine(), "maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
422   timer.machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
423423}
424424
425425
r17813r17814
824824      state->m_irmb_timer->adjust(attotime::from_hz(200) * icount);
825825   }
826826#else
827   cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
827   machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
828828#endif
829829   state->m_irmb_running=1;
830830}
trunk/src/mame/machine/leland.c
r17813r17814
426426
427427   /* interrupts generated on the VA10 line, which is every */
428428   /* 16 scanlines starting with scanline #8 */
429   cputag_set_input_line(machine, "master", 0, HOLD_LINE);
429   machine.device("master")->execute().set_input_line(0, HOLD_LINE);
430430
431431   /* set a timer for the next one */
432432   scanline += 16;
r17813r17814
442442   int scanline = param;
443443
444444   /* interrupts generated according to the interrupt control register */
445   cputag_set_input_line(machine, "master", 0, HOLD_LINE);
445   machine.device("master")->execute().set_input_line(0, HOLD_LINE);
446446
447447   /* set a timer for the next one */
448448   state->m_master_int_timer->adjust(machine.primary_screen->time_until_pos(scanline), scanline);
r17813r17814
11021102
11031103      case 0x02:   /* /GIN2 */
11041104      case 0x12:
1105         cputag_set_input_line(machine(), "master", INPUT_LINE_NMI, CLEAR_LINE);
1105         machine().device("master")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
11061106         break;
11071107
11081108      case 0x03:   /* /IGID */
r17813r17814
11341134   switch (offset)
11351135   {
11361136      case 0x09:   /* /MCONT */
1137         cputag_set_input_line(machine(), "slave", INPUT_LINE_RESET, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
1137         machine().device("slave")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
11381138         m_wcol_enable = (data & 0x02);
1139         cputag_set_input_line(machine(), "slave", INPUT_LINE_NMI, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
1140         cputag_set_input_line(machine(), "slave", 0, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
1139         machine().device("slave")->execute().set_input_line(INPUT_LINE_NMI, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
1140         machine().device("slave")->execute().set_input_line(0, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
11411141
11421142         eeprom = machine().device<eeprom_device>("eeprom");
11431143         if (LOG_EEPROM) logerror("%04X:EE write %d%d%d\n", space.device().safe_pc(),
r17813r17814
12101210         break;
12111211
12121212      case 0x05:   /* /SLV0 */
1213         cputag_set_input_line(machine(), "slave", 0, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
1214         cputag_set_input_line(machine(), "slave", INPUT_LINE_NMI, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
1215         cputag_set_input_line(machine(), "slave", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
1213         machine().device("slave")->execute().set_input_line(0, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
1214         machine().device("slave")->execute().set_input_line(INPUT_LINE_NMI, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
1215         machine().device("slave")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
12161216         break;
12171217
12181218      case 0x08:   /*  */
trunk/src/mame/machine/toaplan1.c
r17813r17814
121121   if (data == 0) {
122122      if (m_dsp_execute) {
123123         logerror("Turning 68000 on\n");
124         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
124         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
125125         m_dsp_execute = 0;
126126      }
127127      m_dsp_BIO = ASSERT_LINE;
r17813r17814
143143   if (enable)
144144   {
145145      logerror("Turning DSP on and 68000 off\n");
146      cputag_set_input_line(machine, "dsp", INPUT_LINE_HALT, CLEAR_LINE);
147      cputag_set_input_line(machine, "dsp", 0, ASSERT_LINE); /* TMS32010 INT */
148      cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
146      machine.device("dsp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
147      machine.device("dsp")->execute().set_input_line(0, ASSERT_LINE); /* TMS32010 INT */
148      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
149149   }
150150   else
151151   {
152152      logerror("Turning DSP off\n");
153      cputag_set_input_line(machine, "dsp", 0, CLEAR_LINE); /* TMS32010 INT */
154      cputag_set_input_line(machine, "dsp", INPUT_LINE_HALT, ASSERT_LINE);
153      machine.device("dsp")->execute().set_input_line(0, CLEAR_LINE); /* TMS32010 INT */
154      machine.device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
155155   }
156156}
157157
trunk/src/mame/machine/vectrex.c
r17813r17814
223223
224224void vectrex_via_irq(device_t *device, int level)
225225{
226   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, level);
226   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, level);
227227}
228228
229229
trunk/src/mame/machine/dc.c
r17813r17814
826826   dc_state *state = machine.driver_data<dc_state>();
827827
828828   /* halt the ARM7 */
829   cputag_set_input_line(machine, "soundcpu", INPUT_LINE_RESET, ASSERT_LINE);
829   machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
830830
831831   memset(state->dc_sysctrl_regs, 0, sizeof(state->dc_sysctrl_regs));
832832
r17813r17814
863863      if (dat & 1)
864864      {
865865         /* halt the ARM7 */
866         cputag_set_input_line(device->machine(), "soundcpu", INPUT_LINE_RESET, ASSERT_LINE);
866         device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
867867      }
868868      else
869869      {
870870         /* it's alive ! */
871         cputag_set_input_line(device->machine(), "soundcpu", INPUT_LINE_RESET, CLEAR_LINE);
871         device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
872872      }
873873    }
874874
trunk/src/mame/machine/pitnrun.c
r17813r17814
1717   pitnrun_state *state = machine.driver_data<pitnrun_state>();
1818   state->m_zaccept = 1;
1919   state->m_zready = 0;
20   cputag_set_input_line(machine, "mcu", 0, CLEAR_LINE);
20   machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
2121}
2222
2323static TIMER_CALLBACK( pitnrun_mcu_real_data_r )
r17813r17814
3636{
3737   pitnrun_state *state = machine.driver_data<pitnrun_state>();
3838   state->m_zready = 1;
39   cputag_set_input_line(machine, "mcu", 0, ASSERT_LINE);
39   machine.device("mcu")->execute().set_input_line(0, ASSERT_LINE);
4040   state->m_fromz80 = param;
4141}
4242
r17813r17814
111111   {
112112      /* 68705 is going to read data from the Z80 */
113113      machine().scheduler().synchronize(FUNC(pitnrun_mcu_data_real_r));
114      cputag_set_input_line(machine(), "mcu",0,CLEAR_LINE);
114      machine().device("mcu")->execute().set_input_line(0,CLEAR_LINE);
115115      m_portA_in = m_fromz80;
116116   }
117117   if (~data & 0x04)
trunk/src/mame/machine/midxunit.c
r17813r17814
170170   midxunit_state *drvstate = machine.driver_data<midxunit_state>();
171171   /* only signal if not in loopback state */
172172   if (drvstate->m_uart[1] != 0x66)
173      cputag_set_input_line(machine, "maincpu", 1, state ? ASSERT_LINE : CLEAR_LINE);
173      machine.device("maincpu")->execute().set_input_line(1, state ? ASSERT_LINE : CLEAR_LINE);
174174}
175175
176176
trunk/src/mame/machine/n64.c
r17813r17814
3535void n64_periphs::reset_tick()
3636{
3737   reset_timer->adjust(attotime::never);
38   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ2, CLEAR_LINE);
38   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ2, CLEAR_LINE);
3939   machine().device("maincpu")->reset();
4040   machine().device("rsp")->reset();
4141   machine().device("rcp")->reset();
42   cputag_set_input_line(machine(), "rsp", INPUT_LINE_HALT, ASSERT_LINE);
42   machine().device("rsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
4343   reset_held = false;
4444}
4545
r17813r17814
4949   reset_held = button;
5050   if(!old_held && reset_held)
5151   {
52      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ2, ASSERT_LINE);
52      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ2, ASSERT_LINE);
5353   }
5454   else if(old_held && reset_held)
5555   {
r17813r17814
365365   if (mi_intr_mask & mi_interrupt)
366366   {
367367      //printf("Asserting IRQ, %02x : %02x\n", mi_intr_mask, mi_interrupt); fflush(stdout);
368      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
368      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
369369   }
370370   else
371371   {
372372      //printf("Deasserting IRQ, %02x : %02x\n", mi_intr_mask, mi_interrupt); fflush(stdout);
373      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
373      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
374374   }
375375}
376376
r17813r17814
22952295
22962296               dd_data_reg = (convert_to_bcd(systime.local_time.year % 100) << 24) | (convert_to_bcd(systime.local_time.month + 1) << 16);
22972297
2298               cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, ASSERT_LINE);
2298               machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE);
22992299               dd_status_reg |= DD_STATUS_INTR;
23002300               break;
23012301            }
r17813r17814
23092309
23102310               dd_data_reg = (convert_to_bcd(systime.local_time.mday) << 24) | (convert_to_bcd(systime.local_time.hour) << 16);
23112311
2312               cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, ASSERT_LINE);
2312               machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE);
23132313               dd_status_reg |= DD_STATUS_INTR;
23142314               break;
23152315            }
r17813r17814
23232323
23242324               dd_data_reg = (convert_to_bcd(systime.local_time.minute) << 24) | (convert_to_bcd(systime.local_time.second) << 16);
23252325
2326               cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, ASSERT_LINE);
2326               machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE);
23272327               dd_status_reg |= DD_STATUS_INTR;
23282328               break;
23292329            }
r17813r17814
23372337
23382338      case 0x10/4: // Interrupt Clear
23392339         logerror("dd interrupt clear\n");
2340         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
2340         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
23412341         dd_status_reg &= ~DD_STATUS_INTR;
23422342         break;
23432343
r17813r17814
24202420
24212421MACHINE_RESET( n64 )
24222422{
2423   cputag_set_input_line(machine, "rsp", INPUT_LINE_HALT, ASSERT_LINE);
2423   machine.device("rsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
24242424}
trunk/src/mame/machine/stfight.c
r17813r17814
113113static TIMER_CALLBACK( stfight_interrupt_1 )
114114{
115115    // Do a RST08
116    cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, 0xcf);
116    machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf);
117117}
118118
119119INTERRUPT_GEN( stfight_vb_interrupt )
trunk/src/mame/machine/tait8741.c
r17813r17814
498498      {
499499         if(josvolly_nmi_enable)
500500         {
501            cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
501            space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
502502            josvolly_nmi_enable = 0;
503503         }
504504      }
trunk/src/mame/machine/qix.c
r17813r17814
282282
283283WRITE8_MEMBER(qix_state::qix_data_firq_w)
284284{
285   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
285   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
286286}
287287
288288
289289WRITE8_MEMBER(qix_state::qix_data_firq_ack_w)
290290{
291   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, CLEAR_LINE);
291   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
292292}
293293
294294
295295READ8_MEMBER(qix_state::qix_data_firq_r)
296296{
297   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
297   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
298298   return 0xff;
299299}
300300
301301
302302READ8_MEMBER(qix_state::qix_data_firq_ack_r)
303303{
304   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, CLEAR_LINE);
304   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
305305   return 0xff;
306306}
307307
r17813r17814
315315
316316WRITE8_MEMBER(qix_state::qix_video_firq_w)
317317{
318   cputag_set_input_line(machine(), "videocpu", M6809_FIRQ_LINE, ASSERT_LINE);
318   machine().device("videocpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
319319}
320320
321321
322322WRITE8_MEMBER(qix_state::qix_video_firq_ack_w)
323323{
324   cputag_set_input_line(machine(), "videocpu", M6809_FIRQ_LINE, CLEAR_LINE);
324   machine().device("videocpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
325325}
326326
327327
328328READ8_MEMBER(qix_state::qix_video_firq_r)
329329{
330   cputag_set_input_line(machine(), "videocpu", M6809_FIRQ_LINE, ASSERT_LINE);
330   machine().device("videocpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
331331   return 0xff;
332332}
333333
334334
335335READ8_MEMBER(qix_state::qix_video_firq_ack_r)
336336{
337   cputag_set_input_line(machine(), "videocpu", M6809_FIRQ_LINE, CLEAR_LINE);
337   machine().device("videocpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
338338   return 0xff;
339339}
340340
r17813r17814
373373   /* if (!(data & 0x04)) */
374374   if (data & 0x04)
375375   {
376      cputag_set_input_line(device->machine(), "mcu", M68705_IRQ_LINE, ASSERT_LINE);
376      device->machine().device("mcu")->execute().set_input_line(M68705_IRQ_LINE, ASSERT_LINE);
377377      /* temporarily boost the interleave to sync things up */
378378      /* note: I'm using 50 because 30 is not enough for space dungeon at game over */
379379      device->machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50));
380380   }
381381   else
382      cputag_set_input_line(device->machine(), "mcu", M68705_IRQ_LINE, CLEAR_LINE);
382      device->machine().device("mcu")->execute().set_input_line(M68705_IRQ_LINE, CLEAR_LINE);
383383
384384   /* this is a callback called by pia6821_device::write(), so I don't need to synchronize */
385385   /* the CPUs - they have already been synchronized by qix_pia_w() */
trunk/src/mame/machine/snes.c
r17813r17814
15911591   // if we have a DSP, halt it for the moment
15921592   if (state->m_upd7725)
15931593   {
1594      cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
1594      machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
15951595   }
15961596
15971597   // ditto for a uPD96050 (Seta ST-010 or ST-011)
15981598   state->m_upd96050 = machine.device<upd96050_device>("setadsp");
15991599   if (state->m_upd96050)
16001600   {
1601      cputag_set_input_line(machine, "setadsp", INPUT_LINE_RESET, ASSERT_LINE);
1601      machine.device("setadsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
16021602   }
16031603
16041604   switch (state->m_has_addon_chip)
r17813r17814
16101610         // cartridge uses the DSP, let 'er rip
16111611         if (state->m_upd7725)
16121612         {
1613            cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, CLEAR_LINE);
1613            machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
16141614         }
16151615         else
16161616         {
r17813r17814
16361636         // cartridge uses the DSP, let 'er rip
16371637         if (state->m_upd96050)
16381638         {
1639            cputag_set_input_line(machine, "setadsp", INPUT_LINE_RESET, CLEAR_LINE);
1639            machine.device("setadsp")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
16401640         }
16411641         else
16421642         {
trunk/src/mame/machine/pcshare.c
r17813r17814
154154
155155static WRITE_LINE_DEVICE_HANDLER( pc_dma_hrq_changed )
156156{
157   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
157   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
158158
159159   /* Assert HLDA */
160160   i8237_hlda_w( device, state );
r17813r17814
261261
262262static WRITE_LINE_DEVICE_HANDLER( pic8259_1_set_int_line )
263263{
264   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
264   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
265265}
266266
267267static READ8_DEVICE_HANDLER( get_slave_ack )
trunk/src/mame/machine/mcr.c
r17813r17814
134134
135135static WRITE_LINE_DEVICE_HANDLER( ipu_ctc_interrupt )
136136{
137   cputag_set_input_line(device->machine(), "ipu", 0, state);
137   device->machine().device("ipu")->execute().set_input_line(0, state);
138138}
139139
140140
r17813r17814
253253static TIMER_CALLBACK( ipu_watchdog_reset )
254254{
255255   logerror("ipu_watchdog_reset\n");
256   cputag_set_input_line(machine, "ipu", INPUT_LINE_RESET, PULSE_LINE);
256   machine.device("ipu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
257257   devtag_reset(machine, "ipu_ctc");
258258   devtag_reset(machine, "ipu_pio0");
259259   devtag_reset(machine, "ipu_pio1");
trunk/src/mame/machine/archimds.c
r17813r17814
6464
6565   if (ioc_regs[IRQ_MASK_A] & mask)
6666   {
67      cputag_set_input_line(machine, "maincpu", ARM_IRQ_LINE, ASSERT_LINE);
67      machine.device("maincpu")->execute().set_input_line(ARM_IRQ_LINE, ASSERT_LINE);
6868   }
6969}
7070
r17813r17814
592592         //if (ioc_regs[IRQ_STATUS_A] == 0)
593593         {
594594            //printf("IRQ clear A\n");
595            cputag_set_input_line(space->machine(), "maincpu", ARM_IRQ_LINE, CLEAR_LINE);
595            space->machine().device("maincpu")->execute().set_input_line(ARM_IRQ_LINE, CLEAR_LINE);
596596         }
597597         break;
598598
trunk/src/mame/machine/galaxold.c
r17813r17814
1818   /* for some reason a call to cputag_set_input_line
1919     * is significantly delayed ....
2020     *
21     * cputag_set_input_line(device->machine(), "maincpu", 0, CLEAR_LINE);
21     * device->machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
2222     *
2323     * Therefore we reset the line without any detour ....
2424     */
r17813r17814
3939{
4040   galaxold_state *drvstate = device->machine().driver_data<galaxold_state>();
4141   /* Q goes to the NMI line */
42   cputag_set_input_line(device->machine(), "maincpu", drvstate->m_irq_line, state ? CLEAR_LINE : ASSERT_LINE);
42   device->machine().device("maincpu")->execute().set_input_line(drvstate->m_irq_line, state ? CLEAR_LINE : ASSERT_LINE);
4343}
4444
4545WRITE8_MEMBER(galaxold_state::galaxold_nmi_enable_w)
trunk/src/mame/machine/slikshot.c
r17813r17814
496496   /* at its endpoint; otherwise, we never get a result from the Z80 */
497497   if ((data & 0x10) || machine.device("sub")->state().state_int(Z80_PC) == 0x13a)
498498   {
499      cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
499      machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
500500
501501      /* on the rising edge, make the crosshair visible again */
502502      if ((data & 0x10) && !(state->m_z80_ctrl & 0x10))
trunk/src/mame/machine/dec0.c
r17813r17814
191191   if (offset==2)
192192   {
193193      if ((data&0x4)==0)
194         cputag_set_input_line(machine(), "maincpu", 5, HOLD_LINE);
194         machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
195195      if ((data&0x8)==0)
196         cputag_set_input_line(machine(), "mcu", MCS51_INT1_LINE, CLEAR_LINE);
196         machine().device("mcu")->execute().set_input_line(MCS51_INT1_LINE, CLEAR_LINE);
197197      if ((data&0x40)==0)
198198         m_i8751_return=(m_i8751_return&0xff00)|(m_i8751_ports[0]);
199199      if ((data&0x80)==0)
r17813r17814
226226   }
227227
228228   if (!state->m_i8751_return) logerror("%s: warning - write unknown command %02x to 8571\n",machine.describe_context(),data);
229   cputag_set_input_line(machine, "maincpu", 5, HOLD_LINE);
229   machine.device("maincpu")->execute().set_input_line(5, HOLD_LINE);
230230}
231231
232232static void birdtry_i8751_write(running_machine &machine, int data)
r17813r17814
298298      case 0x7ff: state->m_i8751_return = 0x200;     break;
299299      default: logerror("%s: warning - write unknown command %02x to 8571\n",machine.describe_context(),data);
300300   }
301   cputag_set_input_line(machine, "maincpu", 5, HOLD_LINE);
301   machine.device("maincpu")->execute().set_input_line(5, HOLD_LINE);
302302}
303303
304304void dec0_i8751_write(running_machine &machine, int data)
r17813r17814
307307   state->m_i8751_command=data;
308308
309309   /* Writes to this address cause an IRQ to the i8751 microcontroller */
310   if (state->m_GAME == 1) cputag_set_input_line(machine, "mcu", MCS51_INT1_LINE, ASSERT_LINE);
310   if (state->m_GAME == 1) machine.device("mcu")->execute().set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
311311   if (state->m_GAME == 2) baddudes_i8751_write(machine, data);
312312   if (state->m_GAME == 3) birdtry_i8751_write(machine, data);
313313
r17813r17814
343343   m_robocop_shared_ram[offset]=data&0xff;
344344
345345   if (offset == 0x7ff) /* A control address - not standard ram */
346      cputag_set_input_line(machine(), "sub", 0, HOLD_LINE);
346      machine().device("sub")->execute().set_input_line(0, HOLD_LINE);
347347}
348348
349349/******************************************************************************/
trunk/src/mame/machine/williams.c
r17813r17814
298298   int combined_state = pia_1->irq_a_state() | pia_1->irq_b_state();
299299
300300   /* IRQ to the main CPU */
301   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
301   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
302302}
303303
304304
305305static void williams_main_firq(device_t *device, int state)
306306{
307307   /* FIRQ to the main CPU */
308   cputag_set_input_line(device->machine(), "maincpu", M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
308   device->machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
309309}
310310
311311
r17813r17814
315315   int combined_state = pia_2->irq_a_state() | pia_2->irq_b_state();
316316
317317   /* IRQ to the sound CPU */
318   cputag_set_input_line(device->machine(), "soundcpu", M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
318   device->machine().device("soundcpu")->execute().set_input_line(M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
319319}
320320/* Same as above, but for second sound board */
321321static void williams_snd_irq_b(device_t *device, int state)
r17813r17814
324324   int combined_state = pia_2->irq_a_state() | pia_2->irq_b_state();
325325
326326   /* IRQ to the sound CPU */
327   cputag_set_input_line(device->machine(), "soundcpu_b", M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
327   device->machine().device("soundcpu_b")->execute().set_input_line(M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
328328}
329329
330330
r17813r17814
342342   int combined_state = pia_0->irq_b_state() | pia_1->irq_a_state() | pia_1->irq_b_state();
343343
344344   /* IRQ to the main CPU */
345   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
345   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
346346}
347347
348348
r17813r17814
353353   int combined_state = pia_0->irq_a_state() | pia_0->irq_b_state() | pia_1->irq_a_state() | pia_1->irq_b_state();
354354
355355   /* IRQ to the main CPU */
356   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
356   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
357357}
358358
359359
trunk/src/mame/machine/namcond1.c
r17813r17814
4848    state->m_h8_irq5_enabled = 0;
4949
5050    // halt the MCU
51    cputag_set_input_line(machine, "mcu", INPUT_LINE_RESET, ASSERT_LINE);
51    machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
5252}
5353
5454// instance of the shared ram pointer
r17813r17814
9696            // this is a kludge until we emulate the h8
9797       if ((m_h8_irq5_enabled == 0) && (data != 0x0000))
9898       {
99          cputag_set_input_line(machine(), "mcu", INPUT_LINE_RESET, CLEAR_LINE);
99          machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
100100       }
101101            m_h8_irq5_enabled = ( data != 0x0000 );
102102            break;
trunk/src/mame/machine/nb1413m3.c
r17813r17814
5353
5454      if (nb1413m3_nmi_enable)
5555      {
56         cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
56         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
5757         nb1413m3_nmi_count++;
5858      }
5959
trunk/src/mame/machine/seicop.c
r17813r17814
17151715      case (0x740/2):
17161716      {
17171717         state->soundlatch_byte_w(*space, 0, data & 0xff);
1718         cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE );
1718         space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
17191719         break;
17201720      }
17211721   }
trunk/src/mame/machine/cdi070.c
r17813r17814
8484        if(interrupt)
8585        {
8686           device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
87           cputag_set_input_line(machine, "maincpu", M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
87           machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
8888      }
8989    }
9090
r17813r17814
171171         if(interrupt)
172172         {
173173            device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
174            cputag_set_input_line(machine, "maincpu", M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
174            machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
175175         }
176176
177177         scc68070->uart.status_register |= USR_RXRDY;
r17813r17814
382382      if(interrupt)
383383      {
384384         device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
385         cputag_set_input_line(machine, "maincpu", M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
385         machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
386386      }
387387
388388      if(scc68070->uart.transmit_pointer > -1)
r17813r17814
480480
481481         if((scc68070->picr2 >> 4) & 7)
482482         {
483            cputag_set_input_line(space->machine(), "maincpu", M68K_IRQ_1 + (((scc68070->picr2 >> 4) & 7) - 1), ASSERT_LINE);
483            space->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (((scc68070->picr2 >> 4) & 7) - 1), ASSERT_LINE);
484484         }
485485
486486         if(scc68070->picr2 & 7)
487487         {
488            cputag_set_input_line(space->machine(), "maincpu", M68K_IRQ_1 + ((scc68070->picr2 & 7) - 1), ASSERT_LINE);
488            space->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1 + ((scc68070->picr2 & 7) - 1), ASSERT_LINE);
489489         }
490490
491491            return scc68070->uart.status_register;
r17813r17814
531531         }
532532         if((scc68070->picr2 >> 4) & 7)
533533         {
534            cputag_set_input_line(space->machine(), "maincpu", M68K_IRQ_1 + (((scc68070->picr2 >> 4) & 7) - 1), CLEAR_LINE);
534            space->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (((scc68070->picr2 >> 4) & 7) - 1), CLEAR_LINE);
535535         }
536536
537537         scc68070->uart.receive_holding_register = scc68070->uart.receive_buffer[0];
r17813r17814
840840                if(!scc68070->timers.timer_status_register)
841841                {
842842                    UINT8 interrupt = scc68070->picr1 & 7;
843                    cputag_set_input_line(space->machine(), "maincpu", M68K_IRQ_1 + (interrupt - 1), CLEAR_LINE);
843                    space->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), CLEAR_LINE);
844844                }
845845            }
846846            break;
trunk/src/mame/video/mcd212.c
r17813r17814
624624                    if(interrupt)
625625                    {
626626                        device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
627                        cputag_set_input_line(machine, "maincpu", M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
627                        machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
628628                    }
629629                }
630630#if 0
r17813r17814
634634                    if(interrupt)
635635                    {
636636                        device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_1 + (interrupt - 1), 24 + interrupt);
637                        cputag_set_input_line(machine, "maincpu", M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
637                        machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
638638                    }
639639                }
640640#endif
r17813r17814
715715                    if(interrupt)
716716                    {
717717                        device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_1 + (interrupt - 1), 56 + interrupt);
718                        cputag_set_input_line(machine, "maincpu", M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
718                        machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
719719                    }
720720                }
721721#if 0
r17813r17814
725725                    if(interrupt)
726726                    {
727727                        device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_1 + (interrupt - 1), 24 + interrupt);
728                        cputag_set_input_line(machine, "maincpu", M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
728                        machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt - 1), ASSERT_LINE);
729729                    }
730730                }
731731#endif
r17813r17814
13761376                    mcd212->channel[1].csrr &= ~(MCD212_CSR2R_IT1 | MCD212_CSR2R_IT2);
13771377                    if(interrupt1)
13781378                    {
1379                        cputag_set_input_line(space->machine(), "maincpu", M68K_IRQ_1 + (interrupt1 - 1), CLEAR_LINE);
1379                        space->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt1 - 1), CLEAR_LINE);
13801380                    }
13811381                    //if(interrupt2)
13821382                    //{
1383                    //  cputag_set_input_line(space->machine(), "maincpu", M68K_IRQ_1 + (interrupt2 - 1), CLEAR_LINE);
1383                    //  space->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1 + (interrupt2 - 1), CLEAR_LINE);
13841384                    //}
13851385                    return old_csr;
13861386                }
trunk/src/mame/video/midyunit.c
r17813r17814
367367{
368368   midyunit_state *state = machine.driver_data<midyunit_state>();
369369   state->m_dma_register[DMA_COMMAND] &= ~0x8000; /* tell the cpu we're done */
370   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
370   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
371371}
372372
373373
r17813r17814
431431
432432   /* high bit triggers action */
433433   command = m_dma_register[DMA_COMMAND];
434   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
434   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
435435   if (!(command & 0x8000))
436436      return;
437437
trunk/src/mame/video/policetr.c
r17813r17814
230230
231231            /* latch 0x50 clears IRQ4 */
232232            case 0x50:
233               cputag_set_input_line(machine(), "maincpu", R3000_IRQ4, CLEAR_LINE);
233               machine().device("maincpu")->execute().set_input_line(R3000_IRQ4, CLEAR_LINE);
234234               break;
235235
236236            /* latch 0x60 clears IRQ5 */
237237            case 0x60:
238               cputag_set_input_line(machine(), "maincpu", R3000_IRQ5, CLEAR_LINE);
238               machine().device("maincpu")->execute().set_input_line(R3000_IRQ5, CLEAR_LINE);
239239               break;
240240
241241            /* log anything else */
trunk/src/mame/video/midtunit.c
r17813r17814
590590static TIMER_CALLBACK( dma_callback )
591591{
592592   dma_register[DMA_COMMAND] &= ~0x8000; /* tell the cpu we're done */
593   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
593   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
594594}
595595
596596
r17813r17814
680680
681681   /* high bit triggers action */
682682   command = dma_register[DMA_COMMAND];
683   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
683   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
684684   if (!(command & 0x8000))
685685      return;
686686
trunk/src/mame/video/midzeus.c
r17813r17814
678678                we simply assert immediately if this is enabled. invasn needs this for proper
679679                operations */
680680         if (zeusbase[0x80] & 0x02000000)
681            cputag_set_input_line(machine, "maincpu", 2, ASSERT_LINE);
681            machine.device("maincpu")->execute().set_input_line(2, ASSERT_LINE);
682682         else
683            cputag_set_input_line(machine, "maincpu", 2, CLEAR_LINE);
683            machine.device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
684684         break;
685685
686686      case 0x84:
trunk/src/mame/video/gticlub.c
r17813r17814
353353         {
354354            if (K001005_fifo_read_ptr < 0x3ff)
355355            {
356               //cputag_set_input_line(space->machine(), "dsp", SHARC_INPUT_FLAG1, CLEAR_LINE);
356               //space->machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
357357               sharc_set_flag_input(space->machine().device("dsp"), 1, CLEAR_LINE);
358358            }
359359            else
360360            {
361               //cputag_set_input_line(space->machine(), "dsp", SHARC_INPUT_FLAG1, ASSERT_LINE);
361               //space->machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, ASSERT_LINE);
362362               sharc_set_flag_input(space->machine().device("dsp"), 1, ASSERT_LINE);
363363            }
364364         }
365365         else
366366         {
367            //cputag_set_input_line(space->machine(), "dsp", SHARC_INPUT_FLAG1, ASSERT_LINE);
367            //space->machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, ASSERT_LINE);
368368            sharc_set_flag_input(space->machine().device("dsp"), 1, ASSERT_LINE);
369369         }
370370
r17813r17814
406406         {
407407            if (K001005_fifo_write_ptr < 0x400)
408408            {
409               //cputag_set_input_line(space->machine(), "dsp", SHARC_INPUT_FLAG1, ASSERT_LINE);
409               //space->machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, ASSERT_LINE);
410410               sharc_set_flag_input(space->machine().device("dsp"), 1, ASSERT_LINE);
411411            }
412412            else
413413            {
414               //cputag_set_input_line(space->machine(), "dsp", SHARC_INPUT_FLAG1, CLEAR_LINE);
414               //space->machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
415415               sharc_set_flag_input(space->machine().device("dsp"), 1, CLEAR_LINE);
416416            }
417417         }
418418         else
419419         {
420            //cputag_set_input_line(space->machine(), "dsp", SHARC_INPUT_FLAG1, ASSERT_LINE);
420            //space->machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, ASSERT_LINE);
421421            sharc_set_flag_input(space->machine().device("dsp"), 1, ASSERT_LINE);
422422         }
423423
r17813r17814
15591559   draw_7segment_led(bitmap, 3, 3, gticlub_led_reg[0]);
15601560   draw_7segment_led(bitmap, 9, 3, gticlub_led_reg[1]);
15611561
1562   //cputag_set_input_line(screen.machine(), "dsp", SHARC_INPUT_FLAG1, ASSERT_LINE);
1562   //screen.machine().device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, ASSERT_LINE);
15631563   sharc_set_flag_input(screen.machine().device("dsp"), 1, ASSERT_LINE);
15641564   return 0;
15651565}
trunk/src/mame/video/vdc.c
r17813r17814
404404   }
405405
406406   if (ret)
407      cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
407      machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
408408}
409409
410410VIDEO_START( pce )
r17813r17814
604604      case 0x00:
605605         temp = vdc[which].status;
606606         vdc[which].status &= ~(VDC_VD | VDC_DV | VDC_DS | VDC_RR | VDC_OR | VDC_CR);
607         cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
607         machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
608608         break;
609609
610610      case 0x02:
r17813r17814
880880            {
881881               /* note: flag is set only if irq is taken, Mizubaku Daibouken relies on this behaviour */
882882               vdc[which].status |= VDC_OR;
883               cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
883               machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
884884            }
885885            continue;  /* Should cause an interrupt */
886886         }
r17813r17814
923923                     else if (drawn[pixel_x] == 2)
924924                     {
925925                        if(vdc[which].vdc_data[CR].w & CR_CC)
926                           cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
926                           machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
927927                        vdc[which].status |= VDC_CR;
928928                     }
929929                  }
r17813r17814
973973                     else if ( drawn[pixel_x] == 2 )
974974                     {
975975                        if(vdc[which].vdc_data[CR].w & CR_CC)
976                           cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
976                           machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
977977                        vdc[which].status |= VDC_CR;
978978                     }
979979                  }
r17813r17814
998998               {
999999                  /* note: flag is set only if irq is taken, Mizubaku Daibouken relies on this behaviour */
10001000                  vdc[which].status |= VDC_OR;
1001                  cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
1001                  machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
10021002               }
10031003            }
10041004            else
r17813r17814
10321032                        else if ( drawn[pixel_x] == 2 )
10331033                        {
10341034                           if(vdc[which].vdc_data[CR].w & CR_CC)
1035                              cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
1035                              machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
10361036                           vdc[which].status |= VDC_CR;
10371037                        }
10381038                     }
r17813r17814
10871087   vdc[which].vdc_data[LENR].w = len;
10881088   if(dvc)
10891089   {
1090      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
1090      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
10911091   }
10921092
10931093}
trunk/src/mame/video/lethalj.c
r17813r17814
9696
9797static TIMER_CALLBACK( gen_ext1_int )
9898{
99   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
99   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
100100}
101101
102102
r17813r17814
158158
159159   /* clear the IRQ on offset 0 */
160160   else if (offset == 0)
161      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
161      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
162162}
163163
164164
trunk/src/mame/video/toaplan1.c
r17813r17814
12201220
12211221      memcpy(state->m_buffered_spriteram, state->m_spriteram, state->m_spriteram.bytes());
12221222      memcpy(state->m_buffered_spritesizeram16, state->m_spritesizeram16, TOAPLAN1_SPRITESIZERAM_SIZE);
1223      cputag_set_input_line(screen.machine(), "maincpu", M68K_IRQ_2, HOLD_LINE);   /* Frame done */
1223      screen.machine().device("maincpu")->execute().set_input_line(M68K_IRQ_2, HOLD_LINE);   /* Frame done */
12241224   }
12251225}
trunk/src/mame/video/segag80r.c
r17813r17814
591591   {
592592      /* port 0: irq ack */
593593      case 0:
594         cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
594         machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
595595         break;
596596
597597      /* port 1: background control
trunk/src/mame/video/midzeus2.c
r17813r17814
259259
260260static TIMER_CALLBACK( int_timer_callback )
261261{
262   cputag_set_input_line(machine, "maincpu", 2, ASSERT_LINE);
262   machine.device("maincpu")->execute().set_input_line(2, ASSERT_LINE);
263263}
264264
265265
trunk/src/mame/video/beathead.c
r17813r17814
120120   if ((oldword & 8) && !(newword & 8) && space.machine().primary_screen->vpos() != 261)
121121   {
122122      logerror("Suspending time! (scanline = %d)\n", space.machine().primary_screen->vpos());
123      cputag_set_input_line(space.machine(), "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
123      space.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
124124   }
125125}
126126
trunk/src/mame/video/cchasm.c
r17813r17814
2121
2222static TIMER_CALLBACK( cchasm_refresh_end )
2323{
24    cputag_set_input_line (machine, "maincpu", 2, ASSERT_LINE);
24    machine.device("maincpu")->execute().set_input_line(2, ASSERT_LINE);
2525}
2626
2727static void cchasm_refresh (running_machine &machine)
r17813r17814
113113         cchasm_refresh(machine());
114114         break;
115115      case 0xf7:
116         cputag_set_input_line (machine(), "maincpu", 2, CLEAR_LINE);
116         machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
117117         break;
118118      }
119119   }
trunk/src/mame/video/cischeat.c
r17813r17814
375375      case 0x2208/2   : break;   // watchdog reset
376376
377377      /* Not sure about this one.. */
378      case 0x2308/2   :   cputag_set_input_line(machine(), "cpu2", INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
379                     cputag_set_input_line(machine(), "cpu3", INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
380                     cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, (new_data & 1) ? ASSERT_LINE : CLEAR_LINE );
378      case 0x2308/2   :   machine().device("cpu2")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
379                     machine().device("cpu3")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
380                     machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 1) ? ASSERT_LINE : CLEAR_LINE );
381381                     break;
382382
383383      default: SHOW_WRITE_ERROR("vreg %04X <- %04X",offset*2,data);
r17813r17814
463463
464464      case 0x2300/2   :   /* Sound CPU: reads latch during int 4, and stores command */
465465                     soundlatch_word_w(space, 0, new_data, 0xffff);
466                     cputag_set_input_line(machine(), "soundcpu", 4, HOLD_LINE);
466                     machine().device("soundcpu")->execute().set_input_line(4, HOLD_LINE);
467467                     break;
468468
469469      /* Not sure about this one.. */
470      case 0x2308/2   :   cputag_set_input_line(machine(), "cpu2", INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
471                     cputag_set_input_line(machine(), "cpu3", INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
472                     cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, (new_data & 1) ? ASSERT_LINE : CLEAR_LINE );
470      case 0x2308/2   :   machine().device("cpu2")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
471                     machine().device("cpu3")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
472                     machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 1) ? ASSERT_LINE : CLEAR_LINE );
473473                     break;
474474
475475      default: SHOW_WRITE_ERROR("vreg %04X <- %04X",offset*2,data);
r17813r17814
578578
579579      /* Usually written in sequence, but not always */
580580      case 0x0008/2   :   soundlatch_word_w(space, 0, new_data, 0xffff);   break;
581      case 0x0018/2   :   cputag_set_input_line(machine(), "soundcpu", 4, HOLD_LINE);   break;
581      case 0x0018/2   :   machine().device("soundcpu")->execute().set_input_line(4, HOLD_LINE);   break;
582582
583583      case 0x0010/2   :   break;
584584
r17813r17814
598598      case 0x2208/2   : break;   // watchdog reset
599599
600600      /* Not sure about this one. Values: $10 then 0, $7 then 0 */
601      case 0x2308/2   :   cputag_set_input_line(machine(), "cpu2", INPUT_LINE_RESET, (new_data & 1) ? ASSERT_LINE : CLEAR_LINE );
602                     cputag_set_input_line(machine(), "cpu3", INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
603                     cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, (new_data & 4) ? ASSERT_LINE : CLEAR_LINE );
601      case 0x2308/2   :   machine().device("cpu2")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 1) ? ASSERT_LINE : CLEAR_LINE );
602                     machine().device("cpu3")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 2) ? ASSERT_LINE : CLEAR_LINE );
603                     machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (new_data & 4) ? ASSERT_LINE : CLEAR_LINE );
604604                     break;
605605
606606      default:      SHOW_WRITE_ERROR("vreg %04X <- %04X",offset*2,data);
r17813r17814
621621         if (ACCESSING_BITS_0_7)
622622         {
623623            if((old_data & 4) && ((new_data & 4) == 0))
624               cputag_set_input_line(machine(), "cpu5", 4, HOLD_LINE);
624               machine().device("cpu5")->execute().set_input_line(4, HOLD_LINE);
625625            if((old_data & 2) && ((new_data & 2) == 0))
626               cputag_set_input_line(machine(), "cpu5", 2, HOLD_LINE);
626               machine().device("cpu5")->execute().set_input_line(2, HOLD_LINE);
627627         }
628628         break;
629629
trunk/src/mame/video/atarisy1.c
r17813r17814
224224   /* sound CPU reset */
225225   if (diff & 0x0080)
226226   {
227      cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, (newselect & 0x0080) ? CLEAR_LINE : ASSERT_LINE);
227      space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (newselect & 0x0080) ? CLEAR_LINE : ASSERT_LINE);
228228      if (!(newselect & 0x0080)) atarigen_sound_reset(space->machine());
229229   }
230230
trunk/src/mame/video/midvunit.c
r17813r17814
4141
4242   if (scanline != -1)
4343   {
44      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
44      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
4545      state->m_scanline_timer->adjust(machine.primary_screen->time_until_pos(scanline + 1), scanline);
4646      machine.scheduler().timer_set(attotime::from_hz(25000000), FUNC(scanline_timer_cb), -1);
4747   }
4848   else
49      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
49      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
5050}
5151
5252
trunk/src/mame/video/astrocde.c
r17813r17814
379379
380380static TIMER_CALLBACK( interrupt_off )
381381{
382   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
382   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
383383}
384384
385385
r17813r17814
393393      /* bit 0 controls the interrupt mode: mode 0 means assert until acknowledged */
394394      if ((state->m_interrupt_enabl & 0x01) == 0)
395395      {
396         cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, state->m_interrupt_vector & 0xf0);
396         machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_interrupt_vector & 0xf0);
397397         state->m_intoff_timer->adjust(machine.primary_screen->time_until_pos(vfeedback));
398398      }
399399
400400      /* mode 1 means assert for 1 instruction */
401401      else
402402      {
403         cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, state->m_interrupt_vector & 0xf0);
403         machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, state->m_interrupt_vector & 0xf0);
404404         state->m_intoff_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(1));
405405      }
406406
r17813r17814
434434      /* bit 2 controls the interrupt mode: mode 0 means assert until acknowledged */
435435      if ((state->m_interrupt_enabl & 0x04) == 0)
436436      {
437         cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, state->m_interrupt_vector);
437         machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_interrupt_vector);
438438         machine.scheduler().timer_set(machine.primary_screen->time_until_vblank_end(), FUNC(interrupt_off));
439439      }
440440
441441      /* mode 1 means assert for 1 instruction */
442442      else
443443      {
444         cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, state->m_interrupt_vector);
444         machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, state->m_interrupt_vector);
445445         machine.scheduler().timer_set(machine.device<cpu_device>("maincpu")->cycles_to_attotime(1), FUNC(interrupt_off));
446446      }
447447   }
trunk/src/mame/video/vsnes.c
r17813r17814
1919
2020static void ppu_irq_1( device_t *device, int *ppu_regs )
2121{
22   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE );
22   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
2323}
2424
2525static void ppu_irq_2( device_t *device, int *ppu_regs )
2626{
27   cputag_set_input_line(device->machine(), "sub", INPUT_LINE_NMI, PULSE_LINE );
27   device->machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
2828}
2929
3030/* our ppu interface                                            */
trunk/src/mame/video/victory.c
r17813r17814
7575{
7676   victory_state *state = machine.driver_data<victory_state>();
7777   if (state->m_vblank_irq || state->m_fgcoll || (state->m_bgcoll && (state->m_video_control & 0x20)))
78      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
78      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
7979   else
80      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
80      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
8181}
8282
8383
trunk/src/mame/video/sidearms.c
r17813r17814
4545   /* bit 4 resets the sound CPU */
4646   if (data & 0x10)
4747   {
48      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, PULSE_LINE);
48      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
4949   }
5050
5151   /* bit 5 enables starfield */
trunk/src/mame/video/esripsys.c
r17813r17814
1212INTERRUPT_GEN( esripsys_vblank_irq )
1313{
1414   esripsys_state *state = device->machine().driver_data<esripsys_state>();
15   cputag_set_input_line(device->machine(), "game_cpu", M6809_IRQ_LINE, ASSERT_LINE);
15   device->machine().device("game_cpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
1616   state->m_frame_vbl = 0;
1717}
1818
r17813r17814
2424   if (state->m_video_firq)
2525   {
2626      state->m_video_firq = 0;
27      cputag_set_input_line(machine, "game_cpu", M6809_FIRQ_LINE, CLEAR_LINE);
27      machine.device("game_cpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
2828   }
2929
3030   /* Not sure if this is totally accurate - I couldn't find the circuit that generates the FIRQs! */
3131   if (!(v % 6) && v && state->m_video_firq_en && v < ESRIPSYS_VBLANK_START)
3232   {
3333      state->m_video_firq = 1;
34      cputag_set_input_line(machine, "game_cpu", M6809_FIRQ_LINE, ASSERT_LINE);
34      machine.device("game_cpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
3535   }
3636
3737   /* Adjust for next scanline */
trunk/src/mame/video/exidy440.c
r17813r17814
229229{
230230   exidy440_state *state = machine.driver_data<exidy440_state>();
231231   if (state->m_firq_vblank || (state->m_firq_enable && state->m_firq_beam))
232      cputag_set_input_line(machine, "maincpu", 1, ASSERT_LINE);
232      machine.device("maincpu")->execute().set_input_line(1, ASSERT_LINE);
233233   else
234      cputag_set_input_line(machine, "maincpu", 1, CLEAR_LINE);
234      machine.device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
235235}
236236
237237
trunk/src/mame/video/tx1.c
r17813r17814
3434static TIMER_CALLBACK( interrupt_callback )
3535{
3636   tx1_state *state = machine.driver_data<tx1_state>();
37   cputag_set_input_line_and_vector(machine, "main_cpu", 0, HOLD_LINE, 0xff);
37   machine.device("main_cpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);
3838   state->m_interrupt_timer->adjust(machine.primary_screen->time_until_pos(CURSOR_YPOS, CURSOR_XPOS));
3939}
4040
r17813r17814
29012901      }
29022902      case 0xe0:
29032903      {
2904         cputag_set_input_line(machine(), "math_cpu", INPUT_LINE_TEST, CLEAR_LINE);
2904         machine().device("math_cpu")->execute().set_input_line(INPUT_LINE_TEST, CLEAR_LINE);
29052905         vregs.flags = data;
29062906         break;
29072907      }
trunk/src/mame/video/m72.c
r17813r17814
370370
371371      /* bit 4 resets sound CPU (active low) */
372372      if (data & 0x10)
373         cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, CLEAR_LINE);
373         machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
374374      else
375         cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, ASSERT_LINE);
375         machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
376376
377377      /* bit 5 = "bank"? */
378378   }
trunk/src/mame/video/micro3d.c
r17813r17814
119119WRITE16_MEMBER(micro3d_state::micro3d_creg_w)
120120{
121121   if (~data & 0x80)
122      cputag_set_input_line(machine(), "vgb", 0, CLEAR_LINE);
122      machine().device("vgb")->execute().set_input_line(0, CLEAR_LINE);
123123
124124   m_creg = data;
125125}
r17813r17814
669669            {
670670               UINT32 dpram_r_addr = (((data & 0x01ff) << 1) | m_dpram_bank);
671671               m_pipe_data = m_draw_dpram[dpram_r_addr];
672               cputag_set_input_line(machine(), "drmath", AM29000_INTR1, ASSERT_LINE);
672               machine().device("drmath")->execute().set_input_line(AM29000_INTR1, ASSERT_LINE);
673673               break;
674674            }
675675            case 0x80:
r17813r17814
697697               /* TODO: We shouldn't need this extra buffer - is there some sort of sync missing? */
698698               memcpy(m_frame_buffers[m_drawing_buffer], m_tmp_buffer, 512*1024*2);
699699               m_drawing_buffer ^= 1;
700               cputag_set_input_line(machine(), "vgb", 0, ASSERT_LINE);
700               machine().device("vgb")->execute().set_input_line(0, ASSERT_LINE);
701701               break;
702702            }
703703            default:
r17813r17814
750750
751751READ32_MEMBER(micro3d_state::micro3d_pipe_r)
752752{
753   cputag_set_input_line(machine(), "drmath", AM29000_INTR1, CLEAR_LINE);
753   machine().device("drmath")->execute().set_input_line(AM29000_INTR1, CLEAR_LINE);
754754   return m_pipe_data;
755755}
756756
trunk/src/mame/video/playch10.c
r17813r17814
6161static void ppu_irq( device_t *device, int *ppu_regs )
6262{
6363   playch10_state *state = device->machine().driver_data<playch10_state>();
64   cputag_set_input_line(device->machine(), "cart", INPUT_LINE_NMI, PULSE_LINE );
64   device->machine().device("cart")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
6565   state->m_pc10_int_detect = 1;
6666}
6767
trunk/src/mame/video/atari.c
r17813r17814
10651065   {
10661066      LOG(("           @cycle #%3d issue DLI\n", cycle(machine)));
10671067      antic.r.nmist |= DLI_NMI;
1068      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
1068      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
10691069   }
10701070   else
10711071   {
r17813r17814
15281528         LOG(("           cause VBL NMI\n"));
15291529         /* set the VBL NMI status bit */
15301530         antic.r.nmist |= VBL_NMI;
1531         cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
1531         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
15321532      }
15331533    }
15341534
trunk/src/mame/video/bfm_dm01.c
r17813r17814
209209
210210static WRITE8_HANDLER( unknown_w )
211211{
212   cputag_set_input_line(space->machine(), "matrix", INPUT_LINE_NMI, CLEAR_LINE ); //?
212   space->machine().device("matrix")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE ); //?
213213}
214214
215215///////////////////////////////////////////////////////////////////////////
r17813r17814
231231   dm01.data_avail = 1;
232232
233233  //pulse IRQ line
234   cputag_set_input_line(machine, "matrix", M6809_IRQ_LINE, HOLD_LINE ); // trigger IRQ
234   machine.device("matrix")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE ); // trigger IRQ
235235}
236236
237237///////////////////////////////////////////////////////////////////////////
trunk/src/mame/video/vectrex.c
r17813r17814
8383
8484   if (state->m_lightpen_port & 2)
8585   {
86      cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, PULSE_LINE);
86      machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, PULSE_LINE);
8787   }
8888}
8989
trunk/src/mame/video/tubep.c
r17813r17814
428428
429429static TIMER_CALLBACK( sprite_timer_callback )
430430{
431   cputag_set_input_line(machine, "mcu", 0, ASSERT_LINE);
431   machine.device("mcu")->execute().set_input_line(0, ASSERT_LINE);
432432}
433433
434434
r17813r17814
558558            /SINT line will be reasserted in m_XSize * m_YSize cycles (RH0 signal cycles)
559559            */
560560         /* 1.clear the /SINT interrupt line */
561         cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
561         machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
562562
563563         /* 2.assert /SINT again after this time */
564564         machine().scheduler().timer_set( attotime::from_hz(19968000/8) * ((m_XSize+1)*(m_YSize+1)), FUNC(sprite_timer_callback));
trunk/src/mame/video/exidy.c
r17813r17814
8282READ8_MEMBER(exidy_state::exidy_interrupt_r)
8383{
8484   /* clear any interrupts */
85   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
85   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
8686
8787   /* return the latched condition */
8888   return m_int_condition;
r17813r17814
269269   latch_condition(machine, param);
270270
271271   /* set the IRQ line */
272   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
272   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
273273}
274274
275275
trunk/src/mame/video/megasys1.c
r17813r17814
438438                     if (machine().device("soundcpu"))
439439                     {
440440                        if (new_data & 0x10)
441                           cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, ASSERT_LINE);
441                           machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
442442                        else
443                           cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, CLEAR_LINE);
443                           machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
444444                     }
445445                     break;
446446
447447      case 0x308/2   :   soundlatch_word_w(space,0,new_data,0xffff);
448                     cputag_set_input_line(machine(), "soundcpu", 4, HOLD_LINE);
448                     machine().device("soundcpu")->execute().set_input_line(4, HOLD_LINE);
449449                     break;
450450
451451      default       :   SHOW_WRITE_ERROR("vreg %04X <- %04X",offset*2,data);
r17813r17814
490490
491491      case 0x2308/2   :   m_screen_flag = new_data;
492492                     if (new_data & 0x10)
493                        cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, ASSERT_LINE);
493                        machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
494494                     else
495                        cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, CLEAR_LINE);
495                        machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
496496                     break;
497497
498498      case 0x8000/2   :   /* Cybattler reads sound latch on irq 2 */
499499                     soundlatch_word_w(space, 0, new_data, 0xffff);
500                     cputag_set_input_line(machine(), "soundcpu", 2, HOLD_LINE);
500                     machine().device("soundcpu")->execute().set_input_line(2, HOLD_LINE);
501501                     break;
502502
503503      default:      SHOW_WRITE_ERROR("vreg %04X <- %04X", offset * 2, data);
trunk/src/mame/video/rpunch.c
r17813r17814
6161static TIMER_CALLBACK( crtc_interrupt_gen )
6262{
6363   rpunch_state *state = machine.driver_data<rpunch_state>();
64   cputag_set_input_line(machine, "maincpu", 1, HOLD_LINE);
64   machine.device("maincpu")->execute().set_input_line(1, HOLD_LINE);
6565   if (param != 0)
6666      state->m_crtc_timer->adjust(machine.primary_screen->frame_period() / param, 0, machine.primary_screen->frame_period() / param);
6767}
trunk/src/mame/drivers/sbugger.c
r17813r17814
208208
209209WRITE_LINE_MEMBER(sbugger_state::sbugger_interrupt)
210210{
211   cputag_set_input_line(machine(), "maincpu", I8085_RST75_LINE, state ? CLEAR_LINE : ASSERT_LINE );
211   machine().device("maincpu")->execute().set_input_line(I8085_RST75_LINE, state ? CLEAR_LINE : ASSERT_LINE );
212212}
213213
214214static I8156_INTERFACE(i8156_intf)
trunk/src/mame/drivers/bfcobra.c
r17813r17814
879879   if (newstate != state->m_irq_state)
880880   {
881881      state->m_irq_state = newstate;
882      cputag_set_input_line(machine, "maincpu", 0, state->m_irq_state ? ASSERT_LINE : CLEAR_LINE);
882      machine.device("maincpu")->execute().set_input_line(0, state->m_irq_state ? ASSERT_LINE : CLEAR_LINE);
883883   }
884884}
885885
r17813r17814
16571657
16581658WRITE_LINE_MEMBER(bfcobra_state::m6809_data_irq)
16591659{
1660   cputag_set_input_line(machine(), "audiocpu", M6809_IRQ_LINE, state ? CLEAR_LINE : ASSERT_LINE);
1660   machine().device("audiocpu")->execute().set_input_line(M6809_IRQ_LINE, state ? CLEAR_LINE : ASSERT_LINE);
16611661}
16621662
16631663static ACIA6850_INTERFACE( m6809_acia_if )
trunk/src/mame/drivers/deco_mlc.c
r17813r17814
171171{
172172   deco_mlc_state *state = timer.machine().driver_data<deco_mlc_state>();
173173//  logerror("hit scanline IRQ %d (%08x)\n", machine.primary_screen->vpos(), info.i);
174   cputag_set_input_line(timer.machine(), "maincpu", state->m_mainCpuIsArm ? ARM_IRQ_LINE : 1, HOLD_LINE);
174   timer.machine().device("maincpu")->execute().set_input_line(state->m_mainCpuIsArm ? ARM_IRQ_LINE : 1, HOLD_LINE);
175175}
176176
177177WRITE32_MEMBER(deco_mlc_state::mlc_irq_w)
r17813r17814
182182   switch (offset*4)
183183   {
184184   case 0x10: /* IRQ ack.  Value written doesn't matter */
185      cputag_set_input_line(machine(), "maincpu", m_mainCpuIsArm ? ARM_IRQ_LINE : 1, CLEAR_LINE);
185      machine().device("maincpu")->execute().set_input_line(m_mainCpuIsArm ? ARM_IRQ_LINE : 1, CLEAR_LINE);
186186      return;
187187   case 0x14: /* Prepare scanline interrupt */
188188      m_raster_irq_timer->adjust(machine().primary_screen->time_until_pos(m_irq_ram[0x14/4]));
trunk/src/mame/drivers/expro02.c
r17813r17814
499499   int scanline = param;
500500
501501   if(scanline == 224) // vblank-out irq
502      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
502      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
503503   else if(scanline == 0) // vblank-in irq?
504      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
504      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
505505   else if(scanline == 112) // VDP end task? (controls sprite colors in gameplay)
506      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
506      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
507507}
508508
509509static MACHINE_RESET( galsnew )
trunk/src/mame/drivers/mainsnk.c
r17813r17814
117117
118118   m_sound_cpu_busy = 1;
119119   soundlatch_byte_w(space, 0, data);
120   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
120   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
121121}
122122
123123READ8_MEMBER(mainsnk_state::sound_command_r)
trunk/src/mame/drivers/mystston.c
r17813r17814
3939
4040void mystston_on_scanline_interrupt(running_machine &machine)
4141{
42   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
42   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
4343}
4444
4545
4646WRITE8_MEMBER(mystston_state::irq_clear_w)
4747{
48   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
48   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
4949}
5050
5151
r17813r17814
5959INPUT_CHANGED_MEMBER(mystston_state::coin_inserted)
6060{
6161   /* coin insertion causes an NMI */
62   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
62   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
6363}
6464
6565
trunk/src/mame/drivers/rampart.c
r17813r17814
4242static void update_interrupts(running_machine &machine)
4343{
4444   rampart_state *state = machine.driver_data<rampart_state>();
45   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
45   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
4646}
4747
4848
trunk/src/mame/drivers/bfm_sc1.c
r17813r17814
611611WRITE8_MEMBER(bfm_sc1_state::vid_uart_tx_w)
612612{
613613   adder2_send(data);
614   cputag_set_input_line(machine(), "adder2", M6809_IRQ_LINE, ASSERT_LINE );//HOLD_LINE);// trigger IRQ
614   machine().device("adder2")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE );//HOLD_LINE);// trigger IRQ
615615}
616616
617617///////////////////////////////////////////////////////////////////////////
trunk/src/mame/drivers/snowbros.c
r17813r17814
107107
108108WRITE16_MEMBER(snowbros_state::snowbros_irq4_ack_w)
109109{
110   cputag_set_input_line(machine(), "maincpu", 4, CLEAR_LINE);
110   machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
111111}
112112
113113WRITE16_MEMBER(snowbros_state::snowbros_irq3_ack_w)
114114{
115   cputag_set_input_line(machine(), "maincpu", 3, CLEAR_LINE);
115   machine().device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
116116}
117117
118118WRITE16_MEMBER(snowbros_state::snowbros_irq2_ack_w)
119119{
120   cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
120   machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
121121}
122122
123123static TIMER_DEVICE_CALLBACK( snowbros_irq )
r17813r17814
184184   if (ACCESSING_BITS_0_7)
185185   {
186186      soundlatch_byte_w(space, offset, data & 0xff);
187      cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
187      machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
188188   }
189189}
190190
r17813r17814
330330   if (ACCESSING_BITS_0_7)
331331   {
332332      soundlatch_byte_w(space, offset, data & 0xff);
333      cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
333      machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
334334   }
335335}
336336
r17813r17814
14961496/* handler called by the 3812/2151 emulator when the internal timers cause an IRQ */
14971497static void irqhandler(device_t *device, int irq)
14981498{
1499   cputag_set_input_line(device->machine(), "soundcpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
1499   device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
15001500}
15011501
15021502/* SnowBros Sound */
trunk/src/mame/drivers/sslam.c
r17813r17814
374374WRITE16_MEMBER(sslam_state::powerbls_sound_w)
375375{
376376   soundlatch_byte_w(space, 0, data & 0xff);
377   cputag_set_input_line(machine(), "audiocpu", MCS51_INT1_LINE, HOLD_LINE);
377   machine().device("audiocpu")->execute().set_input_line(MCS51_INT1_LINE, HOLD_LINE);
378378}
379379
380380/* Memory Maps */
trunk/src/mame/drivers/hcastle.c
r17813r17814
158158static void irqhandler(device_t *device, int linestate)
159159{
160160//  hcastle_state *state = device->machine().driver_data<hcastle_state>();
161//  cputag_set_input_line(state->m_audiocpu, 0, linestate);
161//  state->m_audiocpu.device(0)->execute().set_input_line(linestate);
162162}
163163
164164static void volume_callback(device_t *device, int v)
trunk/src/mame/drivers/bking.c
r17813r17814
169169   if (~data & 0x02)
170170   {
171171      m_port_a_in = from_main;
172      if (main_sent) cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
172      if (main_sent) machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
173173      main_sent = 0;
174174   }
175175
r17813r17814
457457{
458458   bking_state *state = machine.driver_data<bking_state>();
459459
460   cputag_set_input_line(machine, "mcu", 0, CLEAR_LINE);
460   machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
461461
462462   MACHINE_RESET_CALL(bking);
463463
trunk/src/mame/drivers/skeetsht.c
r17813r17814
114114
115115static void skeetsht_tms_irq(device_t *device, int state)
116116{
117   cputag_set_input_line(device->machine(), "68hc11", MC68HC11_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
117   device->machine().device("68hc11")->execute().set_input_line(MC68HC11_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
118118}
119119
120120
trunk/src/mame/drivers/arabian.c
r17813r17814
8181        bit 0 = coin 1 counter
8282    */
8383
84   cputag_set_input_line(machine(), "mcu", MB88_IRQ_LINE, data & 0x20 ? CLEAR_LINE : ASSERT_LINE);
85   cputag_set_input_line(machine(), "mcu", INPUT_LINE_RESET, data & 0x10 ? CLEAR_LINE : ASSERT_LINE);
84   machine().device("mcu")->execute().set_input_line(MB88_IRQ_LINE, data & 0x20 ? CLEAR_LINE : ASSERT_LINE);
85   machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, data & 0x10 ? CLEAR_LINE : ASSERT_LINE);
8686
8787   /* clock the coin counters */
8888   coin_counter_w(machine(), 1, ~data & 0x02);
trunk/src/mame/drivers/shougi.c
r17813r17814
246246WRITE8_MEMBER(shougi_state::shougi_mcu_halt_off_w)
247247{
248248   /* logerror("mcu HALT OFF"); */
249   cputag_set_input_line(machine(), "mcu", INPUT_LINE_HALT, CLEAR_LINE);
249   machine().device("mcu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
250250}
251251
252252WRITE8_MEMBER(shougi_state::shougi_mcu_halt_on_w)
253253{
254254   /* logerror("mcu HALT ON"); */
255   cputag_set_input_line(machine(), "mcu", INPUT_LINE_HALT,ASSERT_LINE);
255   machine().device("mcu")->execute().set_input_line(INPUT_LINE_HALT,ASSERT_LINE);
256256}
257257
258258
r17813r17814
262262   m_nmi_enabled = 0; /* disable NMIs */
263263
264264   /* NMI lines are tied together on both CPUs and connected to the LS74 /Q output */
265   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
266   cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, CLEAR_LINE);
265   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
266   machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
267267}
268268
269269WRITE8_MEMBER(shougi_state::nmi_enable_w)
r17813r17814
279279   if ( state->m_nmi_enabled == 1 )
280280   {
281281      /* NMI lines are tied together on both CPUs and connected to the LS74 /Q output */
282      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
283      cputag_set_input_line(device->machine(), "sub", INPUT_LINE_NMI, ASSERT_LINE);
282      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
283      device->machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
284284   }
285285}
286286
trunk/src/mame/drivers/hornet.c
r17813r17814
410410
411411static void voodoo_vblank_0(device_t *device, int param)
412412{
413   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_IRQ0, param);
413   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, param);
414414}
415415
416416static void voodoo_vblank_1(device_t *device, int param)
r17813r17814
546546         adc1213x_di_w(adc12138, 0, (data >> 1) & 0x1);
547547         adc1213x_sclk_w(adc12138, 0, data & 0x1);
548548
549         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
549         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
550550         mame_printf_debug("System register 1 = %02X\n", data);
551551         break;
552552
r17813r17814
581581                0x01 = EXRGB
582582            */
583583         if (data & 0x80)
584            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
584            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
585585         if (data & 0x40)
586            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
586            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
587587         set_cgboard_id((data >> 4) & 3);
588588         break;
589589   }
r17813r17814
621621   if (mem_mask == 0xffff0000)
622622   {
623623      m_gn680_latch = data>>16;
624      cputag_set_input_line(machine(), "gn680", M68K_IRQ_6, HOLD_LINE);
624      machine().device("gn680")->execute().set_input_line(M68K_IRQ_6, HOLD_LINE);
625625   }
626626}
627627
r17813r17814
672672
673673READ16_MEMBER(hornet_state::gn680_latch_r)
674674{
675   cputag_set_input_line(machine(), "gn680", M68K_IRQ_6, CLEAR_LINE);
675   machine().device("gn680")->execute().set_input_line(M68K_IRQ_6, CLEAR_LINE);
676676
677677   return m_gn680_latch;
678678}
r17813r17814
909909      machine.root_device().membank("bank1")->set_entry(0);
910910   }
911911
912   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
912   machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
913913
914914   if (usr5)
915915      machine.root_device().membank("bank5")->set_base(usr5);
r17813r17814
933933
934934static TIMER_CALLBACK( irq_off )
935935{
936   cputag_set_input_line(machine, "audiocpu", param, CLEAR_LINE);
936   machine.device("audiocpu")->execute().set_input_line(param, CLEAR_LINE);
937937}
938938
939939static void sound_irq_callback( running_machine &machine, int irq )
r17813r17814
941941   hornet_state *state = machine.driver_data<hornet_state>();
942942   int line = (irq == 0) ? INPUT_LINE_IRQ1 : INPUT_LINE_IRQ2;
943943
944   cputag_set_input_line(machine, "audiocpu", line, ASSERT_LINE);
944   machine.device("audiocpu")->execute().set_input_line(line, ASSERT_LINE);
945945    state->m_sound_irq_timer->adjust(attotime::from_usec(1), line);
946946}
947947
r17813r17814
10461046      machine.root_device().membank("bank1")->configure_entries(0, machine.root_device().memregion("user3")->bytes() / 0x10000, usr3, 0x10000);
10471047      machine.root_device().membank("bank1")->set_entry(0);
10481048   }
1049   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
1050   cputag_set_input_line(machine, "dsp2", INPUT_LINE_RESET, ASSERT_LINE);
1049   machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
1050   machine.device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
10511051
10521052   if (usr5)
10531053   {
trunk/src/mame/drivers/ccastles.c
r17813r17814
229229static MACHINE_RESET( ccastles )
230230{
231231   ccastles_state *state = machine.driver_data<ccastles_state>();
232   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
232   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
233233   state->m_irq_state = 0;
234234}
235235
trunk/src/mame/drivers/mediagx.c
r17813r17814
873873
874874WRITE_LINE_MEMBER(mediagx_state::pc_dma_hrq_changed)
875875{
876   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
876   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
877877
878878   /* Assert HLDA */
879879   i8237_hlda_w( m_dma8237_1, state );
r17813r17814
10911091
10921092WRITE_LINE_MEMBER(mediagx_state::mediagx_pic8259_1_set_int_line)
10931093{
1094   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
1094   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
10951095}
10961096
10971097READ8_MEMBER(mediagx_state::get_slave_ack)
r17813r17814
12131213
12141214static void set_gate_a20(running_machine &machine, int a20)
12151215{
1216   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
1216   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
12171217}
12181218
12191219static void keyboard_interrupt(running_machine &machine, int _state)
trunk/src/mame/drivers/policetr.c
r17813r17814
103103
104104static TIMER_CALLBACK( irq5_gen )
105105{
106   cputag_set_input_line(machine, "maincpu", R3000_IRQ5, ASSERT_LINE);
106   machine.device("maincpu")->execute().set_input_line(R3000_IRQ5, ASSERT_LINE);
107107}
108108
109109
trunk/src/mame/drivers/gaplus.c
r17813r17814
173173   int bit = !BIT(offset, 11);
174174   m_main_irq_mask = bit & 1;
175175   if (!bit)
176      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
176      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
177177}
178178
179179WRITE8_MEMBER(gaplus_state::gaplus_irq_2_ctrl_w)
r17813r17814
181181   int bit = offset & 1;
182182   m_sub_irq_mask = bit & 1;
183183   if (!bit)
184      cputag_set_input_line(machine(), "sub", 0, CLEAR_LINE);
184      machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
185185}
186186
187187WRITE8_MEMBER(gaplus_state::gaplus_irq_3_ctrl_w)
r17813r17814
189189   int bit = !BIT(offset, 13);
190190   m_sub2_irq_mask = bit & 1;
191191   if (!bit)
192      cputag_set_input_line(machine(), "sub2", 0, CLEAR_LINE);
192      machine().device("sub2")->execute().set_input_line(0, CLEAR_LINE);
193193}
194194
195195WRITE8_MEMBER(gaplus_state::gaplus_sreset_w)
196196{
197197   int bit = !BIT(offset, 11);
198   cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
199   cputag_set_input_line(machine(), "sub2", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
198   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
199   machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
200200   mappy_sound_enable(machine().device("namco"), bit);
201201}
202202
r17813r17814
232232   gaplus_state *state = machine.driver_data<gaplus_state>();
233233   /* on reset, VINTON is reset, while the other flags don't seem to be affected */
234234   state->m_sub_irq_mask = 0;
235   cputag_set_input_line(machine, "sub", 0, CLEAR_LINE);
235   machine.device("sub")->execute().set_input_line(0, CLEAR_LINE);
236236}
237237
238238static TIMER_CALLBACK( namcoio_run )
r17813r17814
259259   device_t *io56xx = device->machine().device("56xx");
260260
261261   if(state->m_main_irq_mask)
262      cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
262      device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
263263
264264   if (!namcoio_read_reset_line(io58xx))      /* give the cpu a tiny bit of time to write the command before processing it */
265265      device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(namcoio_run));
r17813r17814
273273   gaplus_state *state = device->machine().driver_data<gaplus_state>();
274274
275275   if(state->m_sub_irq_mask)
276      cputag_set_input_line(device->machine(), "sub", 0, ASSERT_LINE);
276      device->machine().device("sub")->execute().set_input_line(0, ASSERT_LINE);
277277}
278278
279279static INTERRUPT_GEN( gaplus_vblank_sub2_irq )
r17813r17814
281281   gaplus_state *state = device->machine().driver_data<gaplus_state>();
282282
283283   if(state->m_sub2_irq_mask)
284      cputag_set_input_line(device->machine(), "sub2", 0, ASSERT_LINE);
284      device->machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE);
285285}
286286
287287
trunk/src/mame/drivers/powerins.c
r17813r17814
320320
321321static void irqhandler(device_t *device, int irq)
322322{
323   cputag_set_input_line(device->machine(), "soundcpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
323   device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
324324}
325325
326326static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/5clown.c
r17813r17814
641641
642642   if ( (data & 0x0f) == 0x07 )
643643   {
644      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, ASSERT_LINE );
644      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE );
645645   }
646646
647647   else
648648   {
649      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, CLEAR_LINE );
649      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE );
650650   }
651651
652652}
trunk/src/mame/drivers/exedexes.c
r17813r17814
2121   int scanline = param;
2222
2323   if(scanline == 240) // vblank-out irq
24      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
24      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
2525
2626   if(scanline == 0) // unknown irq event
27      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xcf);   /* RST 08h */
27      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf);   /* RST 08h */
2828}
2929
3030
trunk/src/mame/drivers/jedi.c
r17813r17814
129129   int scanline = param;
130130
131131   /* IRQ is set by /32V */
132   cputag_set_input_line(machine, "maincpu", M6502_IRQ_LINE, (scanline & 32) ? CLEAR_LINE : ASSERT_LINE);
133   cputag_set_input_line(machine, "audiocpu", M6502_IRQ_LINE, (scanline & 32) ? CLEAR_LINE : ASSERT_LINE);
132   machine.device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, (scanline & 32) ? CLEAR_LINE : ASSERT_LINE);
133   machine.device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, (scanline & 32) ? CLEAR_LINE : ASSERT_LINE);
134134
135135   /* set up for the next */
136136   scanline += 32;
r17813r17814
142142
143143WRITE8_MEMBER(jedi_state::main_irq_ack_w)
144144{
145   cputag_set_input_line(machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
145   machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
146146}
147147
148148
trunk/src/mame/drivers/zn.c
r17813r17814
716716WRITE32_MEMBER(zn_state::zn_qsound_w)
717717{
718718   soundlatch_byte_w(space, 0, data);
719   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
719   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
720720}
721721
722722DRIVER_INIT_MEMBER(zn_state,coh1000c)
r17813r17814
12591259/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
12601260static void irq_handler(device_t *device, int irq)
12611261{
1262   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
1262   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
12631263}
12641264
12651265static const ym2610_interface ym2610_config =
r17813r17814
16951695WRITE32_MEMBER(zn_state::coh1002e_latch_w)
16961696{
16971697   if (offset)
1698      cputag_set_input_line(machine(), "audiocpu", 2, HOLD_LINE);   // irq 2 on the 68k
1698      machine().device("audiocpu")->execute().set_input_line(2, HOLD_LINE);   // irq 2 on the 68k
16991699   else
17001700      soundlatch_byte_w(space, 0, data);
17011701}
trunk/src/mame/drivers/paradise.c
r17813r17814
701701   if (state->irq_count<300)
702702      state->irq_count++;
703703   else
704      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_IRQ0, HOLD_LINE);
704      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, HOLD_LINE);
705705}
706706
707707static MACHINE_CONFIG_START( paradise, paradise_state )
trunk/src/mame/drivers/itgambl2.c
r17813r17814
238238static MACHINE_RESET( itgambl2 )
239239{
240240   /* stop the CPU, we have no code for it anyway */
241   cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
241   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
242242}
243243
244244/* default 444 palette for debug purpose*/
trunk/src/mame/drivers/deco32.c
r17813r17814
279279
280280static TIMER_DEVICE_CALLBACK( interrupt_gen )
281281{
282   cputag_set_input_line(timer.machine(), "maincpu", ARM_IRQ_LINE, HOLD_LINE);
282   timer.machine().device("maincpu")->execute().set_input_line(ARM_IRQ_LINE, HOLD_LINE);
283283}
284284
285285READ32_MEMBER(deco32_state::deco32_irq_controller_r)
r17813r17814
289289   switch (offset)
290290   {
291291   case 2: /* Raster IRQ ACK - value read is not used */
292      cputag_set_input_line(machine(), "maincpu", ARM_IRQ_LINE, CLEAR_LINE);
292      machine().device("maincpu")->execute().set_input_line(ARM_IRQ_LINE, CLEAR_LINE);
293293      return 0;
294294
295295   case 3: /* Irq controller
r17813r17814
345345WRITE32_MEMBER(deco32_state::deco32_sound_w)
346346{
347347   soundlatch_byte_w(space,0,data & 0xff);
348   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
348   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
349349}
350350
351351READ32_MEMBER(deco32_state::deco32_71_r)
r17813r17814
674674      /* bit 1 of nslasher_sound_irq specifies IRQ command writes */
675675      soundlatch_byte_w(space,0,(data>>16)&0xff);
676676      m_nslasher_sound_irq |= 0x02;
677      cputag_set_input_line(machine(), "audiocpu", 0, (m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
677      machine().device("audiocpu")->execute().set_input_line(0, (m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
678678   }
679679}
680680
r17813r17814
10171017{
10181018   /* bit 1 of nslasher_sound_irq specifies IRQ command writes */
10191019   m_nslasher_sound_irq &= ~0x02;
1020   cputag_set_input_line(machine(), "audiocpu", 0, (m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
1020   machine().device("audiocpu")->execute().set_input_line(0, (m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
10211021   return soundlatch_byte_r(space,0);
10221022}
10231023
r17813r17814
16231623
16241624static void sound_irq(device_t *device, int state)
16251625{
1626   cputag_set_input_line(device->machine(), "audiocpu", 1, state); /* IRQ 2 */
1626   device->machine().device("audiocpu")->execute().set_input_line(1, state); /* IRQ 2 */
16271627}
16281628
16291629static void sound_irq_nslasher(device_t *device, int state)
r17813r17814
16341634      drvstate->m_nslasher_sound_irq |= 0x01;
16351635   else
16361636      drvstate->m_nslasher_sound_irq &= ~0x01;
1637   cputag_set_input_line(device->machine(), "audiocpu", 0, (drvstate->m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
1637   device->machine().device("audiocpu")->execute().set_input_line(0, (drvstate->m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
16381638}
16391639
16401640WRITE8_MEMBER(deco32_state::sound_bankswitch_w)
trunk/src/mame/drivers/midzeus.c
r17813r17814
112112
113113static TIMER_CALLBACK( display_irq_off )
114114{
115   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
115   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
116116}
117117
118118static INTERRUPT_GEN( display_irq )
r17813r17814
487487{
488488   /* low 2 bits of gun_control seem to enable IRQs */
489489   if (gun_irq_state & gun_control & 0x03)
490      cputag_set_input_line(machine, "maincpu", 3, ASSERT_LINE);
490      machine.device("maincpu")->execute().set_input_line(3, ASSERT_LINE);
491491   else
492      cputag_set_input_line(machine, "maincpu", 3, CLEAR_LINE);
492      machine.device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
493493}
494494
495495
trunk/src/mame/drivers/argus.c
r17813r17814
134134   int scanline = param;
135135
136136   if(scanline == 240) // vblank-out irq
137      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xd7); /* RST 10h */
137      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xd7); /* RST 10h */
138138
139139   if(scanline == 16) // vblank-in irq
140      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xcf); /* RST 08h */
140      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xcf); /* RST 08h */
141141}
142142
143143static TIMER_DEVICE_CALLBACK( butasan_scanline )
r17813r17814
145145   int scanline = param;
146146
147147   if(scanline == 248) // vblank-out irq
148      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xd7); /* RST 10h */
148      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xd7); /* RST 10h */
149149
150150   if(scanline == 8) // vblank-in irq
151      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xcf); /* RST 08h */
151      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xcf); /* RST 08h */
152152}
153153
154154/* Handler called by the YM2203 emulator when the internal timers cause an IRQ */
155155static void irqhandler(device_t *device, int irq)
156156{
157   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
157   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
158158}
159159
160160static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/superdq.c
r17813r17814
158158   static const UINT8 black_color_entries[] = {7,15,16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
159159
160160   if ( data & 0x40 ) /* bit 6 = irqack */
161      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
161      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
162162
163163   coin_counter_w( machine(), 0, data & 0x08 );
164164   coin_counter_w( machine(), 1, data & 0x04 );
trunk/src/mame/drivers/zaxxon.c
r17813r17814
293293{
294294   /* pressing the service switch sends an NMI */
295295   if (newval)
296      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
296      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
297297}
298298
299299
r17813r17814
310310{
311311   m_int_enabled = data & 1;
312312   if (!m_int_enabled)
313      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
313      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
314314}
315315
316316
trunk/src/mame/drivers/tomcat.c
r17813r17814
196196WRITE16_MEMBER(tomcat_state::tomcat_irqclr_w)
197197{
198198   // Clear IRQ Latch          (Address Strobe)
199   cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
199   machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
200200}
201201
202202READ16_MEMBER(tomcat_state::tomcat_inputs2_r)
trunk/src/mame/drivers/shangkid.c
r17813r17814
6363
6464WRITE8_MEMBER(shangkid_state::shangkid_bbx_enable_w)
6565{
66   cputag_set_input_line(machine(), "bbx", INPUT_LINE_HALT, data?0:1 );
66   machine().device("bbx")->execute().set_input_line(INPUT_LINE_HALT, data?0:1 );
6767}
6868
6969WRITE8_MEMBER(shangkid_state::shangkid_cpu_reset_w)
7070{
7171   if( data == 0 )
7272   {
73      cputag_set_input_line(machine(), "bbx", INPUT_LINE_RESET, PULSE_LINE);
73      machine().device("bbx")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
7474   }
7575   else if( data == 1 )
7676   {
77      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
77      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
7878   }
7979}
8080
r17813r17814
8989   {
9090      if( data == 0x01 )
9191         /* 0->1 transition triggers interrupt on Sound CPU */
92         cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE );
92         machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE );
9393   }
9494}
9595
r17813r17814
9999   {
100100      if( data == 0x01 )
101101         /* 0->1 transition triggers interrupt on Sound CPU */
102         cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE );
102         machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE );
103103   }
104104   else
105105      membank("bank2")->set_entry(data ? 0 : 1);
r17813r17814
137137
138138static MACHINE_RESET( chinhero )
139139{
140   cputag_set_input_line(machine, "bbx", INPUT_LINE_HALT, 1 );
140   machine.device("bbx")->execute().set_input_line(INPUT_LINE_HALT, 1 );
141141}
142142
143143static MACHINE_RESET( shangkid )
144144{
145   cputag_set_input_line(machine, "bbx", INPUT_LINE_HALT, 1 );
145   machine.device("bbx")->execute().set_input_line(INPUT_LINE_HALT, 1 );
146146
147147   machine.root_device().membank("bank1")->set_entry(0);
148148   machine.root_device().membank("bank2")->set_entry(0);
trunk/src/mame/drivers/fastfred.c
r17813r17814
132132
133133WRITE8_MEMBER(fastfred_state::imago_dma_irq_w)
134134{
135   cputag_set_input_line(machine(), "maincpu", 0, data & 1 ? ASSERT_LINE : CLEAR_LINE);
135   machine().device("maincpu")->execute().set_input_line(0, data & 1 ? ASSERT_LINE : CLEAR_LINE);
136136}
137137
138138WRITE8_MEMBER(fastfred_state::imago_sprites_bank_w)
trunk/src/mame/drivers/maxaflex.c
r17813r17814
111111
112112   /* clear coin interrupt */
113113   if (data & 0x04)
114      cputag_set_input_line(machine(), "mcu", M6805_IRQ_LINE, CLEAR_LINE );
114      machine().device("mcu")->execute().set_input_line(M6805_IRQ_LINE, CLEAR_LINE );
115115
116116   /* AUDMUTE */
117117   machine().sound().system_enable((data >> 5) & 1);
118118
119119   /* RES600 */
120120   if (diff & 0x10)
121      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
121      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
122122
123123   /* latch for lamps */
124124   if ((diff & 0x40) && !(data & 0x40))
r17813r17814
260260INPUT_CHANGED_MEMBER(maxaflex_state::coin_inserted)
261261{
262262   if (!newval)
263      cputag_set_input_line(machine(), "mcu", M6805_IRQ_LINE, HOLD_LINE );
263      machine().device("mcu")->execute().set_input_line(M6805_IRQ_LINE, HOLD_LINE );
264264}
265265
266266int atari_input_disabled(running_machine &machine)
trunk/src/mame/drivers/punchout.c
r17813r17814
146146WRITE8_MEMBER(punchout_state::punchout_2a03_reset_w)
147147{
148148   if (data & 1)
149      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
149      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
150150   else
151      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
151      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
152152}
153153
154154
trunk/src/mame/drivers/xorworld.c
r17813r17814
7070
7171WRITE16_MEMBER(xorworld_state::xorworld_irq2_ack_w)
7272{
73   cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
73   machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
7474}
7575
7676WRITE16_MEMBER(xorworld_state::xorworld_irq6_ack_w)
7777{
78   cputag_set_input_line(machine(), "maincpu", 6, CLEAR_LINE);
78   machine().device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
7979}
8080
8181static ADDRESS_MAP_START( xorworld_map, AS_PROGRAM, 16, xorworld_state )
trunk/src/mame/drivers/cclimber.c
r17813r17814
217217WRITE8_MEMBER(cclimber_state::swimmer_sh_soundlatch_w)
218218{
219219   soundlatch_byte_w(space,offset,data);
220   cputag_set_input_line_and_vector(machine(), "audiocpu", 0, HOLD_LINE, 0xff);
220   machine().device("audiocpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);
221221}
222222
223223
trunk/src/mame/drivers/cloak.c
r17813r17814
142142
143143WRITE8_MEMBER(cloak_state::cloak_irq_reset_0_w)
144144{
145   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
145   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
146146}
147147
148148WRITE8_MEMBER(cloak_state::cloak_irq_reset_1_w)
149149{
150   cputag_set_input_line(machine(), "slave", 0, CLEAR_LINE);
150   machine().device("slave")->execute().set_input_line(0, CLEAR_LINE);
151151}
152152
153153WRITE8_MEMBER(cloak_state::cloak_nvram_enable_w)
trunk/src/mame/drivers/foodf.c
r17813r17814
107107static void update_interrupts(running_machine &machine)
108108{
109109   foodf_state *state = machine.driver_data<foodf_state>();
110   cputag_set_input_line(machine, "maincpu", 1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
111   cputag_set_input_line(machine, "maincpu", 2, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
112   cputag_set_input_line(machine, "maincpu", 3, state->m_scanline_int_state && state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
110   machine.device("maincpu")->execute().set_input_line(1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
111   machine.device("maincpu")->execute().set_input_line(2, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
112   machine.device("maincpu")->execute().set_input_line(3, state->m_scanline_int_state && state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
113113}
114114
115115
trunk/src/mame/drivers/forte2.c
r17813r17814
9797
9898WRITE_LINE_MEMBER(forte2_state::vdp_interrupt)
9999{
100   cputag_set_input_line(machine(), "maincpu", 0, (state ? HOLD_LINE : CLEAR_LINE));
100   machine().device("maincpu")->execute().set_input_line(0, (state ? HOLD_LINE : CLEAR_LINE));
101101}
102102
103103static TMS9928A_INTERFACE(forte2_tms9928a_interface)
trunk/src/mame/drivers/kaneko16.c
r17813r17814
154154   if (ACCESSING_BITS_8_15)
155155   {
156156      soundlatch_byte_w(space, 0, (data & 0xff00) >> 8 );
157      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
157      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
158158   }
159159}
160160
trunk/src/mame/drivers/cybertnk.c
r17813r17814
531531   else if (offset == 1)
532532   {
533533      soundlatch_byte_w(space, offset, data & 0xff);
534      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
534      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
535535   }
536536}
537537
r17813r17814
572572   }
573573   else if (offset == 1)
574574   {
575      cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
575      machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
576576   }
577577}
578578
trunk/src/mame/drivers/wc90.c
r17813r17814
102102WRITE8_MEMBER(wc90_state::wc90_sound_command_w)
103103{
104104   soundlatch_byte_w(space, offset, data);
105   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
105   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
106106}
107107
108108
r17813r17814
292292/* handler called by the 2608 emulator when the internal timers cause an IRQ */
293293static void irqhandler(device_t *device, int irq)
294294{
295   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
295   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
296296}
297297
298298static const ym2608_interface ym2608_config =
trunk/src/mame/drivers/gauntlet.c
r17813r17814
138138static void update_interrupts(running_machine &machine)
139139{
140140   gauntlet_state *state = machine.driver_data<gauntlet_state>();
141   cputag_set_input_line(machine, "maincpu", 4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
142   cputag_set_input_line(machine, "maincpu", 6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
141   machine.device("maincpu")->execute().set_input_line(4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
142   machine.device("maincpu")->execute().set_input_line(6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
143143}
144144
145145
r17813r17814
210210
211211      if ((oldword ^ m_sound_reset_val) & 1)
212212      {
213         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, (m_sound_reset_val & 1) ? CLEAR_LINE : ASSERT_LINE);
213         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (m_sound_reset_val & 1) ? CLEAR_LINE : ASSERT_LINE);
214214         atarigen_sound_reset(machine());
215215         if (m_sound_reset_val & 1)
216216         {
trunk/src/mame/drivers/ms32.c
r17813r17814
220220WRITE32_MEMBER(ms32_state::ms32_sound_w)
221221{
222222   soundlatch_byte_w(space, 0, data & 0xff);
223   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, ASSERT_LINE);
223   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
224224
225225   // give the Z80 time to respond
226226   device_spin_until_time(&space.device(), attotime::from_usec(40));
r17813r17814
233233
234234WRITE32_MEMBER(ms32_state::reset_sub_w)
235235{
236   if(data) cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, PULSE_LINE); // 0 too ?
236   if(data) machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); // 0 too ?
237237}
238238
239239
r17813r17814
12921292{
12931293   ms32_state *state = machine.driver_data<ms32_state>();
12941294   state->m_irqreq = 0;
1295   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
1295   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
12961296   device_set_irq_callback(machine.device("maincpu"), irq_callback);
12971297}
12981298
r17813r17814
13001300{
13011301   ms32_state *state = machine.driver_data<ms32_state>();
13021302   state->m_irqreq |= (1<<level);
1303   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
1303   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
13041304}
13051305
13061306/* TODO: fix this arrangement (derived from old deprecat lib) */
r17813r17814
13461346
13471347READ8_MEMBER(ms32_state::latch_r)
13481348{
1349   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
1349   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
13501350   return soundlatch_byte_r(space,0)^0xff;
13511351}
13521352
trunk/src/mame/drivers/darkseal.c
r17813r17814
3333      return;
3434    case 8: /* Sound CPU write */
3535      soundlatch_byte_w(space, 0, data & 0xff);
36      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
36      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
3737       return;
3838   case 0xa: /* IRQ Ack (VBL) */
3939      return;
r17813r17814
224224
225225static void sound_irq(device_t *device, int state)
226226{
227   cputag_set_input_line(device->machine(), "audiocpu", 1, state); /* IRQ 2 */
227   device->machine().device("audiocpu")->execute().set_input_line(1, state); /* IRQ 2 */
228228}
229229
230230static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/deniam.c
r17813r17814
7676
7777WRITE16_MEMBER(deniam_state::deniam_irq_ack_w)
7878{
79   cputag_set_input_line(machine(), "maincpu", 4, CLEAR_LINE);
79   machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
8080}
8181
8282static ADDRESS_MAP_START( deniam16b_map, AS_PROGRAM, 16, deniam_state )
trunk/src/mame/drivers/redalert.c
r17813r17814
119119
120120READ8_MEMBER(redalert_state::redalert_interrupt_clear_r)
121121{
122   cputag_set_input_line(machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
122   machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
123123
124124   /* the result never seems to be actually used */
125125   return machine().primary_screen->vpos();
r17813r17814
134134
135135READ8_MEMBER(redalert_state::panther_interrupt_clear_r)
136136{
137   cputag_set_input_line(machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
137   machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
138138
139139   return ioport("STICK0")->read();
140140}
trunk/src/mame/drivers/big10.c
r17813r17814
8686
8787static void big10_vdp_interrupt(device_t *, v99x8_device &device, int i)
8888{
89   cputag_set_input_line (device.machine(), "maincpu", 0, (i ? ASSERT_LINE : CLEAR_LINE));
89   device.machine().device("maincpu")->execute().set_input_line(0, (i ? ASSERT_LINE : CLEAR_LINE));
9090}
9191
9292static TIMER_DEVICE_CALLBACK( big10_interrupt )
trunk/src/mame/drivers/stadhero.c
r17813r17814
4646         break;
4747      case 6: /* 6502 sound cpu */
4848         soundlatch_byte_w(space, 0, data & 0xff);
49         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
49         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
5050         break;
5151      default:
5252         logerror("CPU #0 PC %06x: warning - write %02x to unmapped memory address %06x\n",space.device().safe_pc(),data,0x30c010+offset);
r17813r17814
202202
203203static void irqhandler(device_t *device, int linestate)
204204{
205   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate);
205   device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
206206}
207207
208208static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/wwfsstar.c
r17813r17814
209209WRITE16_MEMBER(wwfsstar_state::wwfsstar_soundwrite)
210210{
211211   soundlatch_byte_w(space, 1, data & 0xff);
212   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE );
212   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
213213}
214214
215215WRITE16_MEMBER(wwfsstar_state::wwfsstar_flipscreen_w)
r17813r17814
220220WRITE16_MEMBER(wwfsstar_state::wwfsstar_irqack_w)
221221{
222222   if (offset == 0)
223      cputag_set_input_line(machine(), "maincpu", 6, CLEAR_LINE);
223      machine().device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
224224
225225   else
226      cputag_set_input_line(machine(), "maincpu", 5, CLEAR_LINE);
226      machine().device("maincpu")->execute().set_input_line(5, CLEAR_LINE);
227227}
228228
229229/*
r17813r17814
260260   {
261261      if (scanline > 0)
262262         timer.machine().primary_screen->update_partial(scanline - 1);
263      cputag_set_input_line(timer.machine(), "maincpu", 5, ASSERT_LINE);
263      timer.machine().device("maincpu")->execute().set_input_line(5, ASSERT_LINE);
264264   }
265265
266266   /* Vblank is raised on scanline 240 */
267267   if (scanline == 240)
268268   {
269269      timer.machine().primary_screen->update_partial(scanline - 1);
270      cputag_set_input_line(timer.machine(), "maincpu", 6, ASSERT_LINE);
270      timer.machine().device("maincpu")->execute().set_input_line(6, ASSERT_LINE);
271271   }
272272}
273273
r17813r17814
409409
410410static void wwfsstar_ymirq_handler(device_t *device, int irq)
411411{
412   cputag_set_input_line(device->machine(), "audiocpu", 0 , irq ? ASSERT_LINE : CLEAR_LINE );
412   device->machine().device("audiocpu")->execute().set_input_line(0 , irq ? ASSERT_LINE : CLEAR_LINE );
413413}
414414
415415static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/kungfur.c
r17813r17814
156156   // d0-d3: N/C
157157   // d4: irq ack
158158   if (~data & 0x10)
159      cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, CLEAR_LINE);
159      machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
160160
161161   // d5: ?
162162   // d6-d7: sound trigger (edge)
trunk/src/mame/drivers/viper.c
r17813r17814
665665         printf("vector = %02X\n", epic.iack);
666666#endif
667667
668      cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
668      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
669669   }
670670   else
671671   {
672      cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
672      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
673673   }
674674}
675675
trunk/src/mame/drivers/pinkiri8.c
r17813r17814
424424WRITE8_MEMBER(pinkiri8_state::output_regs_w)
425425{
426426   if(data & 0x40)
427      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
427      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
428428   //data & 0x80 is probably NMI mask
429429}
430430
trunk/src/mame/drivers/namcos86.c
r17813r17814
247247
248248WRITE8_MEMBER(namcos86_state::int_ack1_w)
249249{
250   cputag_set_input_line(machine(), "cpu1", 0, CLEAR_LINE);
250   machine().device("cpu1")->execute().set_input_line(0, CLEAR_LINE);
251251}
252252
253253WRITE8_MEMBER(namcos86_state::int_ack2_w)
254254{
255   cputag_set_input_line(machine(), "cpu2", 0, CLEAR_LINE);
255   machine().device("cpu2")->execute().set_input_line(0, CLEAR_LINE);
256256}
257257
258258
trunk/src/mame/drivers/suna8.c
r17813r17814
15891589
15901590static void soundirq(device_t *device, int state)
15911591{
1592   cputag_set_input_line(device->machine(), "audiocpu", 0, state);
1592   device->machine().device("audiocpu")->execute().set_input_line(0, state);
15931593}
15941594
15951595/* In games with only 2 CPUs, port A&B of the AY8910 are used
trunk/src/mame/drivers/gaelco3d.c
r17813r17814
162162WRITE_LINE_MEMBER(gaelco3d_state::ser_irq)
163163{
164164   if (state)
165      cputag_set_input_line(machine(), "maincpu", 6, ASSERT_LINE);
165      machine().device("maincpu")->execute().set_input_line(6, ASSERT_LINE);
166166   else
167      cputag_set_input_line(machine(), "maincpu", 6, CLEAR_LINE);
167      machine().device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
168168}
169169
170170
r17813r17814
220220   state->membank("bank1")->set_entry(0);
221221
222222   /* keep the TMS32031 halted until the code is ready to go */
223   cputag_set_input_line(machine, "tms", INPUT_LINE_RESET, ASSERT_LINE);
223   machine.device("tms")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
224224
225225   for (i = 0; i < SOUND_CHANNELS; i++)
226226   {
r17813r17814
263263
264264WRITE16_MEMBER(gaelco3d_state::irq_ack_w)
265265{
266   cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
266   machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
267267}
268268
269269WRITE32_MEMBER(gaelco3d_state::irq_ack32_w)
r17813r17814
371371   if (LOG)
372372      logerror("delayed_sound_w(%02X)\n", param);
373373   state->m_sound_data = param;
374   cputag_set_input_line(machine, "adsp", ADSP2115_IRQ2, ASSERT_LINE);
374   machine.device("adsp")->execute().set_input_line(ADSP2115_IRQ2, ASSERT_LINE);
375375}
376376
377377
r17813r17814
388388{
389389   if (LOG)
390390      logerror("sound_data_r(%02X)\n", m_sound_data);
391   cputag_set_input_line(machine(), "adsp", ADSP2115_IRQ2, CLEAR_LINE);
391   machine().device("adsp")->execute().set_input_line(ADSP2115_IRQ2, CLEAR_LINE);
392392   return m_sound_data;
393393}
394394
r17813r17814
509509   /* it does not ever appear to be touched after that */
510510   if (LOG)
511511      logerror("%06X:tms_reset_w(%02X) = %08X & %08X\n", space.device().safe_pc(), offset, data, mem_mask);
512      cputag_set_input_line(machine(), "tms", INPUT_LINE_RESET, (data == 0xffff) ? CLEAR_LINE : ASSERT_LINE);
512      machine().device("tms")->execute().set_input_line(INPUT_LINE_RESET, (data == 0xffff) ? CLEAR_LINE : ASSERT_LINE);
513513}
514514
515515
r17813r17814
520520   if (LOG)
521521      logerror("%06X:tms_irq_w(%02X) = %08X & %08X\n", space.device().safe_pc(), offset, data, mem_mask);
522522   if (ACCESSING_BITS_0_7)
523      cputag_set_input_line(machine(), "tms", 0, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
523      machine().device("tms")->execute().set_input_line(0, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
524524}
525525
526526
trunk/src/mame/drivers/gstriker.c
r17813r17814
195195   {
196196      m_pending_command = 1;
197197      soundlatch_byte_w(space, offset, data & 0xff);
198      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
198      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
199199   }
200200}
201201
r17813r17814
262262static void gs_ym2610_irq(device_t *device, int irq)
263263{
264264   if (irq)
265      cputag_set_input_line(device->machine(), "audiocpu", 0, ASSERT_LINE);
265      device->machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
266266   else
267      cputag_set_input_line(device->machine(), "audiocpu", 0, CLEAR_LINE);
267      device->machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
268268}
269269
270270static const ym2610_interface ym2610_config =
trunk/src/mame/drivers/snk.c
r17813r17814
275275{
276276   if(!space.debugger_access())
277277   {
278      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
278      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
279279   }
280280   return 0xff;
281281}
282282
283283WRITE8_MEMBER(snk_state::snk_cpuA_nmi_ack_w)
284284{
285   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
285   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
286286}
287287
288288READ8_MEMBER(snk_state::snk_cpuB_nmi_trigger_r)
289289{
290290   if(!space.debugger_access())
291291   {
292      cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, ASSERT_LINE);
292      machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
293293   }
294294   return 0xff;
295295}
296296
297297WRITE8_MEMBER(snk_state::snk_cpuB_nmi_ack_w)
298298{
299   cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, CLEAR_LINE);
299   machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
300300}
301301
302302/*********************************************************************/
r17813r17814
319319
320320   m_marvins_sound_busy_flag = 1;
321321   soundlatch_byte_w(space, offset, data);
322   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
322   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
323323}
324324
325325READ8_MEMBER(snk_state::marvins_soundlatch_r)
r17813r17814
337337
338338READ8_MEMBER(snk_state::marvins_sound_nmi_ack_r)
339339{
340   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
340   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
341341   return 0xff;
342342}
343343
r17813r17814
362362         break;
363363   }
364364
365   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_NMI, (state->m_sound_status & 0x8) ? ASSERT_LINE : CLEAR_LINE);
365   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, (state->m_sound_status & 0x8) ? ASSERT_LINE : CLEAR_LINE);
366366}
367367
368368
r17813r17814
386386
387387READ8_MEMBER(snk_state::sgladiat_sound_irq_ack_r)
388388{
389   cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
389   machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
390390   return 0xff;
391391}
392392
r17813r17814
449449         break;
450450   }
451451
452   cputag_set_input_line(machine, "audiocpu", 0, (state->m_sound_status & 0xb) ? ASSERT_LINE : CLEAR_LINE);
452   machine.device("audiocpu")->execute().set_input_line(0, (state->m_sound_status & 0xb) ? ASSERT_LINE : CLEAR_LINE);
453453}
454454
455455
trunk/src/mame/drivers/namconb1.c
r17813r17814
288288
289289   /* TODO: real sources of these */
290290   if (scanline == 224)
291      cputag_set_input_line(timer.machine(), "mcu", M37710_LINE_IRQ0, HOLD_LINE);
291      timer.machine().device("mcu")->execute().set_input_line(M37710_LINE_IRQ0, HOLD_LINE);
292292   else if (scanline == 0)
293      cputag_set_input_line(timer.machine(), "mcu", M37710_LINE_IRQ2, HOLD_LINE);
293      timer.machine().device("mcu")->execute().set_input_line(M37710_LINE_IRQ2, HOLD_LINE);
294294   else if (scanline == 128)
295      cputag_set_input_line(timer.machine(), "mcu", M37710_LINE_ADC, HOLD_LINE);
295      timer.machine().device("mcu")->execute().set_input_line(M37710_LINE_ADC, HOLD_LINE);
296296}
297297
298298
r17813r17814
304304
305305   machine.primary_screen->update_partial(param);
306306   state->m_pos_irq_active = 1;
307   cputag_set_input_line(machine, "maincpu", state->m_namconb_cpureg[0x02] & 0xf, ASSERT_LINE);
307   machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x02] & 0xf, ASSERT_LINE);
308308}
309309
310310static INTERRUPT_GEN( namconb1_interrupt )
r17813r17814
367367   namconb1_state *state = machine.driver_data<namconb1_state>();
368368   machine.primary_screen->update_partial(param);
369369   state->m_pos_irq_active = 1;
370   cputag_set_input_line(machine, "maincpu", state->m_namconb_cpureg[0x02], ASSERT_LINE);
370   machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x02], ASSERT_LINE);
371371}
372372
373373static INTERRUPT_GEN( namconb2_interrupt )
r17813r17814
424424   switch(reg) {
425425   case 0x02: // POS IRQ level/enable
426426      if(state->m_pos_irq_active && (((prev & 0xf) != (data & 0xf)) || !(data & 0xf0))) {
427         cputag_set_input_line(machine, "maincpu", prev & 0xf, CLEAR_LINE);
427         machine.device("maincpu")->execute().set_input_line(prev & 0xf, CLEAR_LINE);
428428         if(data & 0xf0)
429            cputag_set_input_line(machine, "maincpu", data & 0xf, ASSERT_LINE);
429            machine.device("maincpu")->execute().set_input_line(data & 0xf, ASSERT_LINE);
430430         else
431431            state->m_pos_irq_active = 0;
432432      }
r17813r17814
434434
435435   case 0x04: // VBLANK IRQ level/enable
436436      if(state->m_vblank_irq_active && (((prev & 0xf) != (data & 0xf)) || !(data & 0xf0))) {
437         cputag_set_input_line(machine, "maincpu", prev & 0xf, CLEAR_LINE);
437         machine.device("maincpu")->execute().set_input_line(prev & 0xf, CLEAR_LINE);
438438         if(data & 0xf0)
439            cputag_set_input_line(machine, "maincpu", data & 0xf, ASSERT_LINE);
439            machine.device("maincpu")->execute().set_input_line(data & 0xf, ASSERT_LINE);
440440         else
441441            state->m_vblank_irq_active = 0;
442442      }
r17813r17814
444444
445445   case 0x07: // POS ack
446446      if(state->m_pos_irq_active) {
447         cputag_set_input_line(machine, "maincpu", state->m_namconb_cpureg[0x02] & 0xf, CLEAR_LINE);
447         machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x02] & 0xf, CLEAR_LINE);
448448         state->m_pos_irq_active = 0;
449449      }
450450      break;
451451
452452   case 0x09: // VBLANK ack
453453      if(state->m_vblank_irq_active) {
454         cputag_set_input_line(machine, "maincpu", state->m_namconb_cpureg[0x04] & 0xf, CLEAR_LINE);
454         machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x04] & 0xf, CLEAR_LINE);
455455         state->m_vblank_irq_active = 0;
456456      }
457457      break;
r17813r17814
461461
462462   case 0x18: // C75 Control
463463      if(data & 1) {
464         cputag_set_input_line(machine, "mcu", INPUT_LINE_HALT, CLEAR_LINE);
465         cputag_set_input_line(machine, "mcu", INPUT_LINE_RESET, ASSERT_LINE);
466         cputag_set_input_line(machine, "mcu", INPUT_LINE_RESET, CLEAR_LINE);
464         machine.device("mcu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
465         machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
466         machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
467467      } else
468         cputag_set_input_line(machine, "mcu", INPUT_LINE_HALT, ASSERT_LINE);
468         machine.device("mcu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
469469      break;
470470   }
471471}
r17813r17814
491491   switch(reg) {
492492   case 0x00: // VBLANK IRQ level
493493      if(state->m_vblank_irq_active && (prev != data)) {
494         cputag_set_input_line(machine, "maincpu", prev, CLEAR_LINE);
494         machine.device("maincpu")->execute().set_input_line(prev, CLEAR_LINE);
495495         if(data)
496            cputag_set_input_line(machine, "maincpu", data, ASSERT_LINE);
496            machine.device("maincpu")->execute().set_input_line(data, ASSERT_LINE);
497497         else
498498            state->m_vblank_irq_active = 0;
499499      }
r17813r17814
501501
502502   case 0x02: // POS IRQ level
503503      if(state->m_pos_irq_active && (prev != data)) {
504         cputag_set_input_line(machine, "maincpu", prev, CLEAR_LINE);
504         machine.device("maincpu")->execute().set_input_line(prev, CLEAR_LINE);
505505         if(data)
506            cputag_set_input_line(machine, "maincpu", data, ASSERT_LINE);
506            machine.device("maincpu")->execute().set_input_line(data, ASSERT_LINE);
507507         else
508508            state->m_pos_irq_active = 0;
509509      }
r17813r17814
511511
512512   case 0x04: // VBLANK ack
513513      if(state->m_vblank_irq_active) {
514         cputag_set_input_line(machine, "maincpu", state->m_namconb_cpureg[0x00], CLEAR_LINE);
514         machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x00], CLEAR_LINE);
515515         state->m_vblank_irq_active = 0;
516516      }
517517      break;
518518
519519   case 0x06: // POS ack
520520      if(state->m_pos_irq_active) {
521         cputag_set_input_line(machine, "maincpu", state->m_namconb_cpureg[0x02], CLEAR_LINE);
521         machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x02], CLEAR_LINE);
522522         state->m_pos_irq_active = 0;
523523      }
524524      break;
r17813r17814
528528
529529   case 0x16: // C75 Control
530530      if(data & 1) {
531         cputag_set_input_line(machine, "mcu", INPUT_LINE_HALT, CLEAR_LINE);
532         cputag_set_input_line(machine, "mcu", INPUT_LINE_RESET, ASSERT_LINE);
533         cputag_set_input_line(machine, "mcu", INPUT_LINE_RESET, CLEAR_LINE);
531         machine.device("mcu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
532         machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
533         machine.device("mcu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
534534      } else {
535         cputag_set_input_line(machine, "mcu", INPUT_LINE_HALT, ASSERT_LINE);
535         machine.device("mcu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
536536      }
537537      break;
538538   }
trunk/src/mame/drivers/cosmic.c
r17813r17814
472472
473473INPUT_CHANGED_MEMBER(cosmic_state::cosmica_coin_inserted)
474474{
475   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
475   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
476476}
477477
478478static INPUT_PORTS_START( cosmica )
r17813r17814
527527
528528INPUT_CHANGED_MEMBER(cosmic_state::cosmicg_coin_inserted)
529529{
530   cputag_set_input_line_and_vector(machine(), "maincpu", 0, newval ? ASSERT_LINE : CLEAR_LINE, 6);
530   machine().device("maincpu")->execute().set_input_line_and_vector(0, newval ? ASSERT_LINE : CLEAR_LINE, 6);
531531}
532532
533533static INPUT_PORTS_START( cosmicg )
r17813r17814
574574
575575INPUT_CHANGED_MEMBER(cosmic_state::coin_inserted_irq0)
576576{
577   cputag_set_input_line(machine(), "maincpu", 0, newval ? HOLD_LINE : CLEAR_LINE);
577   machine().device("maincpu")->execute().set_input_line(0, newval ? HOLD_LINE : CLEAR_LINE);
578578}
579579
580580INPUT_CHANGED_MEMBER(cosmic_state::coin_inserted_nmi)
581581{
582   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
582   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
583583}
584584
585585static INPUT_PORTS_START( magspot )
r17813r17814
10071007   int scanline = param;
10081008
10091009   if(scanline == 224) // vblank-out irq
1010      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xd7); /* RST 10h */
1010      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xd7); /* RST 10h */
10111011
10121012   if(scanline == 0) // vblank-in irq
1013      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xcf); /* RST 08h */
1013      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xcf); /* RST 08h */
10141014}
10151015
10161016
trunk/src/mame/drivers/model2.c
r17813r17814
299299   state->m_intreq |= (1<<bit);
300300   if (state->m_intena & (1<<bit))
301301   {
302      cputag_set_input_line(timer.machine(), "maincpu", I960_IRQ2, ASSERT_LINE);
302      timer.machine().device("maincpu")->execute().set_input_line(I960_IRQ2, ASSERT_LINE);
303303   }
304304
305305   state->m_timervals[tnum] = 0;
r17813r17814
348348   MACHINE_RESET_CALL(model2_common);
349349
350350   // hold TGP in halt until we have code
351   cputag_set_input_line(machine, "tgp", INPUT_LINE_HALT, ASSERT_LINE);
351   machine.device("tgp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
352352
353353   state->m_dsp_type = DSP_TYPE_TGP;
354354}
r17813r17814
372372   MACHINE_RESET_CALL(model2_scsp);
373373
374374   // hold TGP in halt until we have code
375   cputag_set_input_line(machine, "tgp", INPUT_LINE_HALT, ASSERT_LINE);
375   machine.device("tgp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
376376
377377   state->m_dsp_type = DSP_TYPE_TGP;
378378}
r17813r17814
383383   MACHINE_RESET_CALL(model2_common);
384384   MACHINE_RESET_CALL(model2_scsp);
385385
386   cputag_set_input_line(machine, "dsp", INPUT_LINE_HALT, ASSERT_LINE);
386   machine.device("dsp")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
387387
388388   // set FIFOIN empty flag on SHARC
389   cputag_set_input_line(machine, "dsp", SHARC_INPUT_FLAG0, ASSERT_LINE);
389   machine.device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG0, ASSERT_LINE);
390390   // clear FIFOOUT buffer full flag on SHARC
391   cputag_set_input_line(machine, "dsp", SHARC_INPUT_FLAG1, CLEAR_LINE);
391   machine.device("dsp")->execute().set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE);
392392
393393   state->m_dsp_type = DSP_TYPE_SHARC;
394394}
r17813r17814
578578   if(mem_mask == 0x000000ff || mem_mask == 0x0000ffff)
579579   {
580580      m_driveio_comm_data = data & 0xff;
581      cputag_set_input_line(machine(), "drivecpu", 0, HOLD_LINE);
581      machine().device("drivecpu")->execute().set_input_line(0, HOLD_LINE);
582582   }
583583}
584584
r17813r17814
620620         if (m_dsp_type != DSP_TYPE_TGPX4)
621621         {
622622            if (m_dsp_type == DSP_TYPE_SHARC)
623               cputag_set_input_line(machine(), "dsp", INPUT_LINE_HALT, CLEAR_LINE);
623               machine().device("dsp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
624624            else
625               cputag_set_input_line(machine(), "tgp", INPUT_LINE_HALT, CLEAR_LINE);
625               machine().device("tgp")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
626626         }
627627      }
628628   }
r17813r17814
746746        else
747747        {
748748            logerror("Boot geo, %d dwords\n", m_geocnt);
749            cputag_set_input_line(machine(), "dsp2", INPUT_LINE_HALT, CLEAR_LINE);
749            machine().device("dsp2")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
750750            //device_spin_until_time(&space.device(), attotime::from_usec(1000));       // Give the SHARC enough time to boot itself
751751        }
752752    }
r17813r17814
993993
994994   state->m_to_68k = data;
995995
996   cputag_set_input_line(space->machine(), "audiocpu", 2, HOLD_LINE);
996   space->machine().device("audiocpu")->execute().set_input_line(2, HOLD_LINE);
997997
998998   // give the 68k time to notice
999999   device_spin_until_time(&space->device(), attotime::from_usec(40));
r17813r17814
18841884   if (irq > 0)
18851885   {
18861886      state->m_scsp_last_line = irq;
1887      cputag_set_input_line(device->machine(), "audiocpu", irq, ASSERT_LINE);
1887      device->machine().device("audiocpu")->execute().set_input_line(irq, ASSERT_LINE);
18881888   }
18891889   else
1890      cputag_set_input_line(device->machine(), "audiocpu", -irq, CLEAR_LINE);
1890      device->machine().device("audiocpu")->execute().set_input_line(-irq, CLEAR_LINE);
18911891}
18921892
18931893static const scsp_interface scsp_config =
trunk/src/mame/drivers/sshangha.c
r17813r17814
358358
359359static void irqhandler(device_t *device, int state)
360360{
361   cputag_set_input_line(device->machine(), "audiocpu", 0, state);
361   device->machine().device("audiocpu")->execute().set_input_line(0, state);
362362}
363363
364364static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/wiping.c
r17813r17814
5454
5555WRITE8_MEMBER(wiping_state::subcpu_reset_w)
5656{
57   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
57   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
5858}
5959
6060WRITE8_MEMBER(wiping_state::main_irq_mask_w)
trunk/src/mame/drivers/compgolf.c
r17813r17814
200200
201201static void sound_irq(device_t *device, int linestate)
202202{
203   cputag_set_input_line(device->machine(), "maincpu", 0, linestate);
203   device->machine().device("maincpu")->execute().set_input_line(0, linestate);
204204}
205205
206206static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/hnayayoi.c
r17813r17814
505505static void irqhandler(device_t *device, int irq)
506506{
507507   popmessage("irq");
508//  cputag_set_input_line(device->machine(), "maincpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
508//  device->machine().device("maincpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
509509}
510510
511511
trunk/src/mame/drivers/jpmimpct.c
r17813r17814
113113static void update_irqs(running_machine &machine)
114114{
115115   jpmimpct_state *state = machine.driver_data<jpmimpct_state>();
116   cputag_set_input_line(machine, "maincpu", 2, state->m_tms_irq ? ASSERT_LINE : CLEAR_LINE);
117   cputag_set_input_line(machine, "maincpu", 5, state->m_duart_1_irq ? ASSERT_LINE : CLEAR_LINE);
116   machine.device("maincpu")->execute().set_input_line(2, state->m_tms_irq ? ASSERT_LINE : CLEAR_LINE);
117   machine.device("maincpu")->execute().set_input_line(5, state->m_duart_1_irq ? ASSERT_LINE : CLEAR_LINE);
118118}
119119
120120
trunk/src/mame/drivers/missb2.c
r17813r17814
416416WRITE_LINE_MEMBER(missb2_state::irqhandler)
417417{
418418   logerror("YM3526 firing an IRQ\n");
419//  cputag_set_input_line(machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
419//  machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
420420}
421421
422422static const ym3526_interface ym3526_config =
trunk/src/mame/drivers/tehkanwc.c
r17813r17814
9898WRITE8_MEMBER(tehkanwc_state::sub_cpu_halt_w)
9999{
100100   if (data)
101      cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, CLEAR_LINE);
101      machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
102102   else
103      cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, ASSERT_LINE);
103      machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
104104}
105105
106106
r17813r17814
141141WRITE8_MEMBER(tehkanwc_state::sound_command_w)
142142{
143143   soundlatch_byte_w(space, offset, data);
144   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
144   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
145145}
146146
147147static TIMER_CALLBACK( reset_callback )
148148{
149   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, PULSE_LINE);
149   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
150150}
151151
152152WRITE8_MEMBER(tehkanwc_state::sound_answer_w)
trunk/src/mame/drivers/bionicc.c
r17813r17814
128128   int scanline = param;
129129
130130   if(scanline == 240) // vblank-out irq
131      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
131      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
132132
133133   if(scanline == 0) // vblank-in or i8751 related irq
134      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
134      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
135135}
136136
137137
trunk/src/mame/drivers/pgm.c
r17813r17814
516516
517517MACHINE_RESET( pgm )
518518{
519   cputag_set_input_line(machine, "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
519   machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
520520}
521521
522522
trunk/src/mame/drivers/namcos21.c
r17813r17814
519519   state->m_mpDspState->slaveOutputSize = 0;
520520   state->m_mpDspState->masterFinished = 0;
521521   state->m_mpDspState->slaveActive = 0;
522   cputag_set_input_line(machine, "dspmaster", 0, HOLD_LINE);
523   cputag_set_input_line(machine, "dspslave", INPUT_LINE_RESET, PULSE_LINE);
522   machine.device("dspmaster")->execute().set_input_line(0, HOLD_LINE);
523   machine.device("dspslave")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
524524}
525525
526526static UINT16
r17813r17814
12301230   if( data )
12311231   {
12321232      winrun_flushpoly(machine());
1233      cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, PULSE_LINE);
1233      machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
12341234      namcos21_ClearPolyFrameBuffer(machine());
12351235   }
12361236}
trunk/src/mame/drivers/itgamble.c
r17813r17814
194194void itgamble_state::machine_reset()
195195{
196196   /* stop the CPU, we have no code for it anyway */
197   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
197   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
198198}
199199
200200
trunk/src/mame/drivers/pengadvb.c
r17813r17814
232232
233233WRITE_LINE_MEMBER(pengadvb_state::vdp_interrupt)
234234{
235   cputag_set_input_line(machine(), "maincpu", 0, (state ? ASSERT_LINE : CLEAR_LINE));
235   machine().device("maincpu")->execute().set_input_line(0, (state ? ASSERT_LINE : CLEAR_LINE));
236236}
237237
238238static TMS9928A_INTERFACE(pengadvb_tms9928a_interface)
trunk/src/mame/drivers/kinst.c
r17813r17814
277277
278278static TIMER_CALLBACK( irq0_stop )
279279{
280   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
280   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
281281}
282282
283283
r17813r17814
290290
291291static void ide_interrupt(device_t *device, int state)
292292{
293   cputag_set_input_line(device->machine(), "maincpu", 1, state);
293   device->machine().device("maincpu")->execute().set_input_line(1, state);
294294}
295295
296296
trunk/src/mame/drivers/sub.c
r17813r17814
245245WRITE8_MEMBER(sub_state::subm_to_sound_w)
246246{
247247   soundlatch_byte_w(space, 0, data & 0xff);
248   cputag_set_input_line(machine(), "soundcpu", 0, HOLD_LINE);
248   machine().device("soundcpu")->execute().set_input_line(0, HOLD_LINE);
249249}
250250
251251WRITE8_MEMBER(sub_state::nmi_mask_w)
r17813r17814
421421   sub_state *state = device->machine().driver_data<sub_state>();
422422
423423   if(state->m_nmi_en)
424      cputag_set_input_line(device->machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
424      device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
425425}
426426
427427static MACHINE_CONFIG_START( sub, sub_state )
trunk/src/mame/drivers/beathead.c
r17813r17814
154154
155155   /* on scanline zero, clear any halt condition */
156156   if (scanline == 0)
157      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
157      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
158158
159159   /* wrap around at 262 */
160160   scanline++;
r17813r17814
222222   {
223223      m_irq_line_state = gen_int;
224224      //if (m_irq_line_state != CLEAR_LINE)
225         cputag_set_input_line(machine(), "maincpu", ASAP_IRQ0, m_irq_line_state);
225         machine().device("maincpu")->execute().set_input_line(ASAP_IRQ0, m_irq_line_state);
226226      //else
227227         //asap_set_irq_line(ASAP_IRQ0, m_irq_line_state);
228228   }
r17813r17814
317317WRITE32_MEMBER( beathead_state::sound_reset_w )
318318{
319319   logerror("Sound reset = %d\n", !offset);
320   cputag_set_input_line(machine(), "jsa", INPUT_LINE_RESET, offset ? CLEAR_LINE : ASSERT_LINE);
320   machine().device("jsa")->execute().set_input_line(INPUT_LINE_RESET, offset ? CLEAR_LINE : ASSERT_LINE);
321321}
322322
323323
trunk/src/mame/drivers/cchasm.c
r17813r17814
6969
7070WRITE_LINE_MEMBER(cchasm_state::cchasm_6840_irq)
7171{
72   cputag_set_input_line(machine(), "maincpu", 4, state ? ASSERT_LINE : CLEAR_LINE);
72   machine().device("maincpu")->execute().set_input_line(4, state ? ASSERT_LINE : CLEAR_LINE);
7373}
7474
7575static const ptm6840_interface cchasm_6840_intf =
trunk/src/mame/drivers/suprgolf.c
r17813r17814
423423
424424static void irqhandler(device_t *device, int irq)
425425{
426   //cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
426   //device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
427427}
428428
429429static const ym2203_interface ym2203_config =
r17813r17814
449449      if(state->m_toggle)
450450      {
451451         msm5205_data_w(device, (state->m_msm5205next & 0xf0) >> 4);
452         if(state->m_msm_nmi_mask) { cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE); }
452         if(state->m_msm_nmi_mask) { device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); }
453453      }
454454      else
455455      {
trunk/src/mame/drivers/battlex.c
r17813r17814
6060   UINT32 ret = m_in0_b4;
6161   if (m_in0_b4)
6262   {
63      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
63      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
6464      m_in0_b4 = 0;
6565   }
6666
trunk/src/mame/drivers/konamigq.c
r17813r17814
9797      m_sndto000[ ( offset << 1 ) + 1 ] = data >> 16;
9898      if( offset == 3 )
9999      {
100         cputag_set_input_line(machine(), "soundcpu", 1, HOLD_LINE );
100         machine().device("soundcpu")->execute().set_input_line(1, HOLD_LINE );
101101      }
102102   }
103103   if( ACCESSING_BITS_0_15 )
r17813r17814
150150WRITE32_MEMBER(konamigq_state::eeprom_w)
151151{
152152   ioport("EEPROMOUT")->write(data & 0x07, 0xff);
153   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, ( data & 0x40 ) ? CLEAR_LINE : ASSERT_LINE );
153   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ( data & 0x40 ) ? CLEAR_LINE : ASSERT_LINE );
154154}
155155
156156
trunk/src/mame/drivers/pcxt.c
r17813r17814
298298   }
299299   else//keyboard emulation
300300   {
301      //cputag_set_input_line(machine(), "maincpu", 1, PULSE_LINE);
301      //machine().device("maincpu")->execute().set_input_line(1, PULSE_LINE);
302302      return 0x00;//Keyboard is disconnected
303303      //return 0xaa;//Keyboard code
304304   }
r17813r17814
352352
353353WRITE8_MEMBER(pcxt_state::sys_reset_w)
354354{
355   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
355   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
356356}
357357
358358static I8255A_INTERFACE( ppi8255_0_intf )
r17813r17814
423423
424424WRITE_LINE_MEMBER(pcxt_state::pc_dma_hrq_changed)
425425{
426   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
426   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
427427
428428   /* Assert HLDA */
429429   i8237_hlda_w( m_dma8237_1, state );
r17813r17814
517517
518518WRITE_LINE_MEMBER(pcxt_state::pic8259_1_set_int_line)
519519{
520   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
520   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
521521}
522522
523523READ8_MEMBER(pcxt_state::get_slave_ack)
trunk/src/mame/drivers/su2000.c
r17813r17814
121121
122122static void set_gate_a20(running_machine &machine, int a20)
123123{
124   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
124   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
125125}
126126
127127static void keyboard_interrupt(running_machine &machine, int state)
r17813r17814
181181
182182WRITE_LINE_MEMBER(su2000_state::su2000_pic8259_1_set_int_line)
183183{
184   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
184   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
185185}
186186
187187READ8_MEMBER(su2000_state::get_slave_ack)
trunk/src/mame/drivers/wecleman.c
r17813r17814
333333
334334      // Bit 0 : SUBINT
335335      if ( (m_irqctrl & 1) && (!(data & 1)) )   // 1->0 transition
336         cputag_set_input_line(machine(), "sub", 4, HOLD_LINE);
336         machine().device("sub")->execute().set_input_line(4, HOLD_LINE);
337337
338338      // Bit 1 : NSUBRST
339339      if (data & 2)
340         cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, CLEAR_LINE);
340         machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
341341      else
342         cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, ASSERT_LINE);
342         machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
343343
344344      // Bit 2 : SOUND-ON
345345      // Bit 3 : SOUNDRST
r17813r17814
584584   if (ACCESSING_BITS_0_7)
585585   {
586586      soundlatch_byte_w(space, 0, data & 0xFF);
587      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
587      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
588588   }
589589}
590590
r17813r17814
645645   if (ACCESSING_BITS_0_7)
646646   {
647647      soundlatch_byte_w(space, 0, data & 0xFF);
648      cputag_set_input_line(machine(), "audiocpu", M6809_IRQ_LINE, HOLD_LINE);
648      machine().device("audiocpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
649649   }
650650}
651651
r17813r17814
10291029   int scanline = param;
10301030
10311031   if(scanline == 232) // vblank irq
1032      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
1032      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
10331033   else if(((scanline % 64) == 0)) // timer irq TODO: timings
1034      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
1034      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
10351035}
10361036
10371037static TIMER_DEVICE_CALLBACK( hotchase_scanline )
r17813r17814
10391039   int scanline = param;
10401040
10411041   if(scanline == 224) // vblank irq
1042      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
1042      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
10431043   else if(((scanline % 64) == 0)) // timer irq TODO: timings
1044      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
1044      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
10451045}
10461046
10471047
trunk/src/mame/drivers/dmndrby.c
r17813r17814
8484WRITE8_MEMBER(dmndrby_state::dderby_sound_w)
8585{
8686   soundlatch_byte_w(space,0,data);
87   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
87   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
8888}
8989
9090
r17813r17814
499499/*Main Z80 is IM 0,HW-latched irqs. */
500500static INTERRUPT_GEN( dderby_irq )
501501{
502   cputag_set_input_line_and_vector(device->machine(), "maincpu", 0, HOLD_LINE, 0xd7); /* RST 10h */
502   device->machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); /* RST 10h */
503503}
504504
505505static INTERRUPT_GEN( dderby_timer_irq )
506506{
507   cputag_set_input_line_and_vector(device->machine(), "maincpu", 0, HOLD_LINE, 0xcf); /* RST 08h */
507   device->machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf); /* RST 08h */
508508}
509509
510510static MACHINE_CONFIG_START( dderby, dmndrby_state )
trunk/src/mame/drivers/kas89.c
r17813r17814
237237
238238static void kas89_vdp_interrupt(device_t *, v99x8_device &device, int i)
239239{
240   cputag_set_input_line (device.machine(), "maincpu", 0, (i ? ASSERT_LINE : CLEAR_LINE));
240   device.machine().device("maincpu")->execute().set_input_line(0, (i ? ASSERT_LINE : CLEAR_LINE));
241241}
242242
243243static TIMER_DEVICE_CALLBACK( kas89_interrupt )
trunk/src/mame/drivers/voyager.c
r17813r17814
130130
131131WRITE_LINE_MEMBER(voyager_state::pc_dma_hrq_changed)
132132{
133   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
133   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
134134
135135   /* Assert HLDA */
136136   i8237_hlda_w( m_dma8237_1, state );
r17813r17814
670670
671671WRITE_LINE_MEMBER(voyager_state::voyager_pic8259_1_set_int_line)
672672{
673   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
673   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
674674}
675675
676676READ8_MEMBER(voyager_state::get_slave_ack)
r17813r17814
731731
732732static void set_gate_a20(running_machine &machine, int a20)
733733{
734   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
734   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
735735}
736736
737737static void keyboard_interrupt(running_machine &machine, int state)
trunk/src/mame/drivers/roul.c
r17813r17814
168168WRITE8_MEMBER(roul_state::sound_latch_w)
169169{
170170   soundlatch_byte_w(space, 0, data & 0xff);
171   cputag_set_input_line(machine(), "soundcpu", 0, HOLD_LINE);
171   machine().device("soundcpu")->execute().set_input_line(0, HOLD_LINE);
172172}
173173
174174WRITE8_MEMBER(roul_state::ball_w)
trunk/src/mame/drivers/cischeat.c
r17813r17814
15381538   int scanline = param;
15391539
15401540   if(scanline == 240) // vblank-out irq
1541      cputag_set_input_line(timer.machine(), "cpu1", 4, HOLD_LINE);
1541      timer.machine().device("cpu1")->execute().set_input_line(4, HOLD_LINE);
15421542
15431543   if(scanline == 154)
1544      cputag_set_input_line(timer.machine(), "cpu1", 2, HOLD_LINE);
1544      timer.machine().device("cpu1")->execute().set_input_line(2, HOLD_LINE);
15451545
15461546   if(scanline == 69)
1547      cputag_set_input_line(timer.machine(), "cpu1", 1, HOLD_LINE);
1547      timer.machine().device("cpu1")->execute().set_input_line(1, HOLD_LINE);
15481548}
15491549
15501550
r17813r17814
16961696   int scanline = param;
16971697
16981698   if(scanline == 240) // vblank-out irq
1699      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
1699      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
17001700
17011701   if(scanline == 120) // timer irq (clears a flag, presumably sprite DMA end)
1702      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
1702      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
17031703}
17041704
17051705static MACHINE_CONFIG_START( scudhamm, cischeat_state )
r17813r17814
17461746   int scanline = param;
17471747
17481748   if(scanline == 240) // vblank-out irq
1749      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
1749      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
17501750
17511751   if(scanline == 120) // timer irq (TODO: timing)
1752      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
1752      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
17531753}
17541754
17551755static MACHINE_CONFIG_DERIVED( armchmp2, scudhamm )
trunk/src/mame/drivers/vicdual.c
r17813r17814
9595      coin_counter_w(machine(), 0, 1);
9696      coin_counter_w(machine(), 0, 0);
9797
98      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
98      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
9999
100100      /* simulate the coin switch being closed for a while */
101101      machine().scheduler().timer_set(4 * machine().primary_screen->frame_period(), FUNC(clear_coin_status));
trunk/src/mame/drivers/xybots.c
r17813r17814
3535static void update_interrupts(running_machine &machine)
3636{
3737   xybots_state *state = machine.driver_data<xybots_state>();
38   cputag_set_input_line(machine, "maincpu", 1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
39   cputag_set_input_line(machine, "maincpu", 2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
39   machine.device("maincpu")->execute().set_input_line(2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
4040}
4141
4242
trunk/src/mame/drivers/speglsht.c
r17813r17814
222222
223223READ32_MEMBER(speglsht_state::irq_ack_clear)
224224{
225   cputag_set_input_line(machine(), "sub", R3000_IRQ4, CLEAR_LINE);
225   machine().device("sub")->execute().set_input_line(R3000_IRQ4, CLEAR_LINE);
226226   return 0;
227227}
228228
trunk/src/mame/drivers/centiped.c
r17813r17814
447447
448448   /* IRQ is clocked on the rising edge of 16V, equal to the previous 32V */
449449   if (scanline & 16)
450      cputag_set_input_line(timer.machine(), "maincpu", 0, ((scanline - 1) & 32) ? ASSERT_LINE : CLEAR_LINE);
450      timer.machine().device("maincpu")->execute().set_input_line(0, ((scanline - 1) & 32) ? ASSERT_LINE : CLEAR_LINE);
451451
452452   /* do a partial update now to handle sprite multiplexing (Maze Invaders) */
453453   timer.machine().primary_screen->update_partial(scanline);
r17813r17814
469469{
470470   centiped_state *state = machine.driver_data<centiped_state>();
471471
472   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
472   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
473473   state->m_dsw_select = 0;
474474   state->m_control_select = 0;
475475   state->m_prg_bank = 0;
r17813r17814
489489
490490WRITE8_MEMBER(centiped_state::irq_ack_w)
491491{
492   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
492   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
493493}
494494
495495
trunk/src/mame/drivers/welltris.c
r17813r17814
335335
336336      m_pending_command = 1;
337337      soundlatch_byte_w(space, 0, data & 0xff);
338      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
338      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
339339   }
340340}
341341
r17813r17814
675675
676676static void irqhandler(device_t *device, int irq)
677677{
678   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
678   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
679679}
680680
681681static const ym2610_interface ym2610_config =
trunk/src/mame/drivers/jrpacman.c
r17813r17814
119119WRITE8_MEMBER(jrpacman_state::jrpacman_interrupt_vector_w)
120120{
121121   device_set_input_line_vector(machine().device("maincpu"), 0, data);
122   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
122   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
123123}
124124
125125WRITE8_MEMBER(jrpacman_state::irq_mask_w)
trunk/src/mame/drivers/maygayv1.c
r17813r17814
674674
675675   // Active low
676676   if (!(m_vsync_latch_preset))
677      cputag_set_input_line(machine(), "maincpu", 3, CLEAR_LINE);
677      machine().device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
678678}
679679
680680static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, maygayv1_state )
r17813r17814
931931
932932static void duart_irq_handler(device_t *device, int state, UINT8 vector)
933933{
934   cputag_set_input_line_and_vector(device->machine(), "maincpu", 5, state, vector);
935//  cputag_set_input_line(device->machine(), "maincpu", 5, state ? ASSERT_LINE : CLEAR_LINE);
934   device->machine().device("maincpu")->execute().set_input_line_and_vector(5, state, vector);
935//  device->machine().device("maincpu")->execute().set_input_line(5, state ? ASSERT_LINE : CLEAR_LINE);
936936};
937937
938938
r17813r17814
942942   if (channel == 0)
943943   {
944944      state->m_d68681_val = data;
945      cputag_set_input_line(device->machine(), "soundcpu", MCS51_RX_LINE, ASSERT_LINE);  // ?
945      device->machine().device("soundcpu")->execute().set_input_line(MCS51_RX_LINE, ASSERT_LINE);  // ?
946946   }
947947
948948};
r17813r17814
10281028{
10291029   maygayv1_state *state = device->machine().driver_data<maygayv1_state>();
10301030   if (state->m_vsync_latch_preset)
1031      cputag_set_input_line(device->machine(), "maincpu", 3, ASSERT_LINE);
1031      device->machine().device("maincpu")->execute().set_input_line(3, ASSERT_LINE);
10321032}
10331033
10341034
trunk/src/mame/drivers/zaccaria.c
r17813r17814
102102
103103WRITE_LINE_MEMBER(zaccaria_state::zaccaria_irq0a)
104104{
105   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
105   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
106106}
107107
108108WRITE_LINE_MEMBER(zaccaria_state::zaccaria_irq0b)
109109{
110   cputag_set_input_line(machine(), "audiocpu", 0, state ? ASSERT_LINE : CLEAR_LINE);
110   machine().device("audiocpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
111111}
112112
113113READ8_MEMBER(zaccaria_state::zaccaria_port0a_r)
r17813r17814
180180WRITE8_MEMBER(zaccaria_state::sound_command_w)
181181{
182182   soundlatch_byte_w(space, 0, data);
183   cputag_set_input_line(machine(), "audio2", 0, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
183   machine().device("audio2")->execute().set_input_line(0, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
184184}
185185
186186WRITE8_MEMBER(zaccaria_state::sound1_command_w)
trunk/src/mame/drivers/tagteam.c
r17813r17814
3333WRITE8_MEMBER(tagteam_state::sound_command_w)
3434{
3535   soundlatch_byte_w(space, offset, data);
36   cputag_set_input_line(machine(), "audiocpu", M6502_IRQ_LINE, HOLD_LINE);
36   machine().device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, HOLD_LINE);
3737}
3838
3939WRITE8_MEMBER(tagteam_state::irq_clear_w)
4040{
41   cputag_set_input_line(machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
41   machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
4242}
4343
4444static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, tagteam_state )
r17813r17814
7575
7676INPUT_CHANGED_MEMBER(tagteam_state::coin_inserted)
7777{
78   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
78   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
7979}
8080
8181static INPUT_PORTS_START( bigprowr )
trunk/src/mame/drivers/eolith.c
r17813r17814
14351435
14361436static MACHINE_RESET( eolith )
14371437{
1438   cputag_set_input_line(machine, "soundcpu", MCS51_INT1_LINE, ASSERT_LINE);
1438   machine.device("soundcpu")->execute().set_input_line(MCS51_INT1_LINE, ASSERT_LINE);
14391439}
14401440
14411441DRIVER_INIT_MEMBER(eolith_state,eolith)
trunk/src/mame/drivers/chihiro.c
r17813r17814
15531553
15541554static WRITE_LINE_DEVICE_HANDLER( chihiro_pic8259_1_set_int_line )
15551555{
1556   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
1556   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
15571557}
15581558
15591559static READ8_DEVICE_HANDLER( get_slave_ack )
trunk/src/mame/drivers/namcos23.c
r17813r17814
15581558      break;
15591559   case 7:
15601560      logerror("c417_w: ack IRQ 2 (%x)\n", data);
1561      cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ2, CLEAR_LINE);
1561      machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ2, CLEAR_LINE);
15621562      break;
15631563   default:
15641564      logerror("c417_w %x, %04x @ %04x (%08x, %08x)\n", offset, data, mem_mask, space.device().safe_pc(), (unsigned int)space.device().state().state_int(MIPS3_R31));
r17813r17814
17481748
17491749   if (c361.scanline != 511)
17501750   {
1751      cputag_set_input_line(machine, "maincpu", MIPS3_IRQ1, ASSERT_LINE);
1751      machine.device("maincpu")->execute().set_input_line(MIPS3_IRQ1, ASSERT_LINE);
17521752      c361.timer->adjust(attotime::never);
17531753   }
17541754}
r17813r17814
17701770      c361.scanline = data;
17711771      if (data == 0x1ff)
17721772      {
1773         cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ1, CLEAR_LINE);
1773         machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ1, CLEAR_LINE);
17741774         c361.timer->adjust(attotime::never);
17751775      }
17761776      else
r17813r17814
18091809         if (data == 0xfffb)
18101810         {
18111811            logerror("c422_w: raise IRQ 3\n");
1812            cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ3, ASSERT_LINE);
1812            machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ3, ASSERT_LINE);
18131813         }
18141814         else if (data == 0x000f)
18151815         {
18161816            logerror("c422_w: ack IRQ 3\n");
1817            cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ3, CLEAR_LINE);
1817            machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ3, CLEAR_LINE);
18181818         }
18191819         break;
18201820
r17813r17814
18401840         // Panic Park: writing 1 when it's already running means reboot?
18411841         if (m_s23_subcpu_running)
18421842         {
1843            cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
1843            machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
18441844         }
18451845
1846         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
1846         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
18471847         m_s23_subcpu_running = 1;
18481848      }
18491849      else
18501850      {
18511851         logerror("S23: stopping H8/3002\n");
1852         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
1852         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
18531853         m_s23_subcpu_running = 0;
18541854      }
18551855   }
r17813r17814
18741874   if ((offset == 0x6000/4) && (data == 0) && (mem_mask == 0xff000000))
18751875   {
18761876      logerror("S23: Final Furlong hack stopping H8/3002\n");
1877      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
1877      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
18781878   }
18791879}
18801880
r17813r17814
21992199         p3d_dma(&space, m_p3d_address, m_p3d_size);
22002200      return;
22012201   case 0x17:
2202      cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ1, CLEAR_LINE);
2202      machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ1, CLEAR_LINE);
22032203      m_c361.timer->adjust(attotime::never);
22042204      return;
22052205   }
r17813r17814
25122512READ32_MEMBER(namcos23_state::gmen_trigger_sh2)
25132513{
25142514   logerror("gmen_trigger_sh2: booting SH-2\n");
2515   cputag_set_input_line(machine(), "gmen", INPUT_LINE_RESET, CLEAR_LINE);
2515   machine().device("gmen")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
25162516
25172517   return 0;
25182518}
r17813r17814
25422542static MACHINE_RESET(gmen)
25432543{
25442544   // halt the SH-2 until we need it
2545   cputag_set_input_line(machine, "gmen", INPUT_LINE_RESET, ASSERT_LINE);
2545   machine.device("gmen")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
25462546}
25472547
25482548WRITE16_MEMBER(namcos23_state::sharedram_sub_w)
r17813r17814
25722572{
25732573   if  ((mem_mask == 0xffff) && (data == 0x3170))
25742574   {
2575      cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ1, ASSERT_LINE);
2575      machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ1, ASSERT_LINE);
25762576   }
25772577   else
25782578   {
r17813r17814
27162716
27172717   if (m_im_rd == m_im_wr)
27182718   {
2719      cputag_set_input_line(machine(), "audiocpu", H8_SCI_0_RX, CLEAR_LINE);
2719      machine().device("audiocpu")->execute().set_input_line(H8_SCI_0_RX, CLEAR_LINE);
27202720   }
27212721   else
27222722   {
2723      cputag_set_input_line(machine(), "audiocpu", H8_SCI_0_RX, CLEAR_LINE);
2724      cputag_set_input_line(machine(), "audiocpu", H8_SCI_0_RX, ASSERT_LINE);
2723      machine().device("audiocpu")->execute().set_input_line(H8_SCI_0_RX, CLEAR_LINE);
2724      machine().device("audiocpu")->execute().set_input_line(H8_SCI_0_RX, ASSERT_LINE);
27252725   }
27262726
27272727   return ret;
r17813r17814
27322732   m_maintoio[m_mi_wr++] = data;
27332733   m_mi_wr &= 0x7f;
27342734
2735   cputag_set_input_line(machine(), "ioboard", H8_SCI_0_RX, ASSERT_LINE);
2735   machine().device("ioboard")->execute().set_input_line(H8_SCI_0_RX, ASSERT_LINE);
27362736}
27372737
27382738static INPUT_PORTS_START( gorgon )
r17813r17814
29642964
29652965   if (m_mi_rd == m_mi_wr)
29662966   {
2967      cputag_set_input_line(machine(), "ioboard", H8_SCI_0_RX, CLEAR_LINE);
2967      machine().device("ioboard")->execute().set_input_line(H8_SCI_0_RX, CLEAR_LINE);
29682968   }
29692969
29702970   return ret;
r17813r17814
29752975   m_iotomain[m_im_wr++] = data;
29762976   m_im_wr &= 0x7f;
29772977
2978   cputag_set_input_line(machine(), "audiocpu", H8_SCI_0_RX, ASSERT_LINE);
2978   machine().device("audiocpu")->execute().set_input_line(H8_SCI_0_RX, ASSERT_LINE);
29792979}
29802980
29812981
trunk/src/mame/drivers/atarisy2.c
r17813r17814
160160   atarisy2_state *state = machine.driver_data<atarisy2_state>();
161161
162162   if (state->m_video_int_state)
163      cputag_set_input_line(machine, "maincpu", 3, ASSERT_LINE);
163      machine.device("maincpu")->execute().set_input_line(3, ASSERT_LINE);
164164   else
165      cputag_set_input_line(machine, "maincpu", 3, CLEAR_LINE);
165      machine.device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
166166
167167   if (state->m_scanline_int_state)
168      cputag_set_input_line(machine, "maincpu", 2, ASSERT_LINE);
168      machine.device("maincpu")->execute().set_input_line(2, ASSERT_LINE);
169169   else
170      cputag_set_input_line(machine, "maincpu", 2, CLEAR_LINE);
170      machine.device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
171171
172172   if (state->m_p2portwr_state)
173      cputag_set_input_line(machine, "maincpu", 1, ASSERT_LINE);
173      machine.device("maincpu")->execute().set_input_line(1, ASSERT_LINE);
174174   else
175      cputag_set_input_line(machine, "maincpu", 1, CLEAR_LINE);
175      machine.device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
176176
177177   if (state->m_p2portrd_state)
178      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
178      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
179179   else
180      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
180      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
181181}
182182
183183
r17813r17814
283283{
284284   /* reset sound CPU */
285285   if (ACCESSING_BITS_0_7)
286      cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
286      machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
287287}
288288
289289
trunk/src/mame/drivers/ninjakd2.c
r17813r17814
214214WRITE8_MEMBER(ninjakd2_state::ninjakd2_soundreset_w)
215215{
216216   // bit 4 resets sound CPU
217   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, (data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
217   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? ASSERT_LINE : CLEAR_LINE);
218218
219219   // bit 7 flips screen
220220   flip_screen_set(data & 0x80);
r17813r17814
905905
906906static void irqhandler(device_t *device, int irq)
907907{
908   cputag_set_input_line(device->machine(), "soundcpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
908   device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
909909}
910910
911911static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/warpwarp.c
r17813r17814
217217      case 6:
218218         m_ball_on = data & 1;
219219         if (~data & 1)
220            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
220            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
221221         break;
222222      case 7:
223223         flip_screen_set(data & 1);
r17813r17814
301301      case 6:
302302         m_ball_on = data & 1;
303303         if (~data & 1)
304            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
304            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
305305         break;
306306      case 7:
307307         flip_screen_set(data & 1);
trunk/src/mame/drivers/spacefb.c
r17813r17814
132132   /* compute vector and set the interrupt line */
133133   int vpos = machine.primary_screen->vpos();
134134   UINT8 vector = 0xc7 | ((vpos & 0x40) >> 2) | ((~vpos & 0x40) >> 3);
135   cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, vector);
135   machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, vector);
136136
137137   /* set up for next interrupt */
138138   if (vpos == SPACEFB_INT_TRIGGER_COUNT_1)
trunk/src/mame/drivers/wheelfir.c
r17813r17814
376376   if(offset==0xf && data==0xffff)
377377   {
378378
379      cputag_set_input_line(machine(), "maincpu", 1, HOLD_LINE);
379      machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE);
380380
381381      {
382382         UINT8 *rom = memregion("gfx1")->base();
r17813r17814
644644WRITE16_MEMBER(wheelfir_state::wheelfir_snd_w)
645645{
646646   COMBINE_DATA(&m_soundlatch);
647   cputag_set_input_line(machine(), "subcpu", 1, HOLD_LINE); /* guess, tested also with periodic interrupts and latch clear*/
647   machine().device("subcpu")->execute().set_input_line(1, HOLD_LINE); /* guess, tested also with periodic interrupts and latch clear*/
648648   machine().scheduler().synchronize();
649649}
650650
r17813r17814
749749
750750      if(state->m_scanline_cnt==0) //<=0 ?
751751      {
752         cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE); // raster IRQ, changes scroll values for road
752         timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE); // raster IRQ, changes scroll values for road
753753      }
754754
755755   }
r17813r17814
758758      if(state->m_current_scanline==NUM_SCANLINES) /* vblank */
759759      {
760760         state->m_toggle_bit = 0x8000;
761         cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
761         timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
762762      }
763763   }
764764}
trunk/src/mame/drivers/wc90b.c
r17813r17814
117117WRITE8_MEMBER(wc90b_state::wc90b_sound_command_w)
118118{
119119   soundlatch_byte_w(space, offset, data);
120   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
120   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
121121}
122122
123123WRITE8_MEMBER(wc90b_state::adpcm_control_w)
r17813r17814
327327static void irqhandler(device_t *device, int irq)
328328{
329329   /* NMI writes to MSM ports *only*! -AS */
330   //cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
330   //device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
331331}
332332
333333static const ym2203_interface ym2203_config =
r17813r17814
348348   if(state->m_toggle)
349349   {
350350      msm5205_data_w(device, (state->m_msm5205next & 0xf0) >> 4);
351      cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
351      device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
352352   }
353353   else
354354      msm5205_data_w(device, (state->m_msm5205next & 0x0f) >> 0);
trunk/src/mame/drivers/seta.c
r17813r17814
14031403------------------------------*/
14041404static TIMER_CALLBACK( uPD71054_timer_callback )
14051405{
1406   cputag_set_input_line(machine, "maincpu", 4, HOLD_LINE );
1406   machine.device("maincpu")->execute().set_input_line(4, HOLD_LINE );
14071407   uPD71054_update_timer( machine, NULL, param );
14081408}
14091409
r17813r17814
14901490
14911491static void utoukond_ym3438_interrupt(device_t *device, int linestate)
14921492{
1493   cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, linestate);
1493   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, linestate);
14941494}
14951495
14961496static const ym3438_interface utoukond_ym3438_intf =
r17813r17814
15481548         {
15491549
15501550            if ( !(m_sub_ctrl_data & 1) && (data & 1) )
1551               cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, PULSE_LINE);
1551               machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
15521552            m_sub_ctrl_data = data;
15531553         }
15541554         break;
r17813r17814
17081708   if (ACCESSING_BITS_0_7)
17091709   {
17101710      soundlatch_word_w(space, 0, data, mem_mask);
1711      cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, PULSE_LINE);
1711      machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
17121712      device_spin_until_time(&space.device(), attotime::from_usec(50));   // Allow the other cpu to reply
17131713   }
17141714}
r17813r17814
27722772{
27732773
27742774   m_wiggie_soundlatch = data >> 8;
2775   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
2775   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
27762776}
27772777
27782778
r17813r17814
28382838{
28392839   if (ACCESSING_BITS_0_7)
28402840   {
2841      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
2841      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
28422842      soundlatch_byte_w(space, 0, data & 0xff);
28432843   }
28442844}
trunk/src/mame/drivers/tp84.c
r17813r17814
120120
121121WRITE8_MEMBER(tp84_state::tp84_sh_irqtrigger_w)
122122{
123   cputag_set_input_line_and_vector(machine(), "audiocpu",0,HOLD_LINE,0xff);
123   machine().device("audiocpu")->execute().set_input_line_and_vector(0,HOLD_LINE,0xff);
124124}
125125
126126
trunk/src/mame/drivers/vball.c
r17813r17814
120120   /* IRQ fires every on every 8th scanline */
121121   if (!(vcount_old & 8) && (vcount & 8))
122122   {
123      cputag_set_input_line(timer.machine(), "maincpu", M6502_IRQ_LINE, ASSERT_LINE);
123      timer.machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
124124   }
125125
126126   /* NMI fires on scanline 248 (VBL) and is latched */
127127   if (vcount == 0xf8)
128128   {
129      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
129      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
130130   }
131131
132132   /* Save the scroll x register value */
r17813r17814
139139WRITE8_MEMBER(vball_state::vball_irq_ack_w)
140140{
141141   if (offset == 0)
142      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
142      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
143143
144144   else
145      cputag_set_input_line(machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
145      machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
146146}
147147
148148
r17813r17814
172172WRITE8_MEMBER(vball_state::cpu_sound_command_w)
173173{
174174   soundlatch_byte_w(space, offset, data);
175   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
175   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
176176}
177177
178178
r17813r17814
396396
397397static void vball_irq_handler(device_t *device, int irq)
398398{
399   cputag_set_input_line(device->machine(), "audiocpu", 0 , irq ? ASSERT_LINE : CLEAR_LINE);
399   device->machine().device("audiocpu")->execute().set_input_line(0 , irq ? ASSERT_LINE : CLEAR_LINE);
400400}
401401
402402static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/naomi.c
r17813r17814
18171817 */
18181818static void aica_irq(device_t *device, int irq)
18191819{
1820   cputag_set_input_line(device->machine(), "soundcpu", ARM7_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
1820   device->machine().device("soundcpu")->execute().set_input_line(ARM7_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
18211821}
18221822
18231823
trunk/src/mame/drivers/queen.c
r17813r17814
457457
458458WRITE_LINE_MEMBER(queen_state::pc_dma_hrq_changed)
459459{
460   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
460   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
461461
462462   /* Assert HLDA */
463463   i8237_hlda_w( m_dma8237_1, state );
trunk/src/mame/drivers/megatech.c
r17813r17814
231231      printf("enabling SMS Z80\n");
232232      state->m_current_game_is_sms = 1;
233233      megatech_set_genz80_as_sms_standard_map(machine, "genesis_snd_z80", MAPPER_STANDARD);
234      //cputag_set_input_line(machine, "genesis_snd_z80", INPUT_LINE_HALT, CLEAR_LINE);
235      cputag_set_input_line(machine, "genesis_snd_z80", INPUT_LINE_RESET, CLEAR_LINE);
234      //machine.device("genesis_snd_z80")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
235      machine.device("genesis_snd_z80")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
236236   }
237237   else
238238   {
239239      printf("disabling SMS Z80\n");
240240      state->m_current_game_is_sms = 0;
241241      megatech_set_megadrive_z80_as_megadrive_z80(machine, "genesis_snd_z80");
242      cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, CLEAR_LINE);
243      //cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
242      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
243      //machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
244244   }
245245}
246246
r17813r17814
254254   sprintf(tempname, "game%d", param);
255255   game_region = machine.root_device().memregion(tempname)->base();
256256
257   cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, ASSERT_LINE);
258   cputag_set_input_line(machine, "genesis_snd_z80", INPUT_LINE_RESET, ASSERT_LINE);
259   //cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
260   //cputag_set_input_line(machine, "genesis_snd_z80", INPUT_LINE_HALT, ASSERT_LINE);
257   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
258   machine.device("genesis_snd_z80")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
259   //machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
260   //machine.device("genesis_snd_z80")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
261261   devtag_reset(machine, "ymsnd");
262262
263263   megadriv_stop_scanline_timer(machine);// stop the scanline timer for the genesis vdp... it can be restarted in video eof when needed
trunk/src/mame/drivers/timelimt.c
r17813r17814
3838WRITE8_MEMBER(timelimt_state::sound_reset_w)
3939{
4040   if (data & 1)
41      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, PULSE_LINE);
41      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
4242}
4343
4444/***************************************************************************/
trunk/src/mame/drivers/bishi.c
r17813r17814
114114   if (state->m_cur_control & 0x800)
115115   {
116116      if(scanline == 240) // vblank-out irq
117         cputag_set_input_line(timer.machine(), "maincpu", M68K_IRQ_3, HOLD_LINE);
117         timer.machine().device("maincpu")->execute().set_input_line(M68K_IRQ_3, HOLD_LINE);
118118
119119      if(scanline == 0) // vblank-in irq
120         cputag_set_input_line(timer.machine(), "maincpu", M68K_IRQ_4, HOLD_LINE);
120         timer.machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, HOLD_LINE);
121121   }
122122}
123123
trunk/src/mame/drivers/1942.c
r17813r17814
7979   int scanline = param;
8080
8181   if(scanline == 240) // vblank-out irq
82      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
82      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
8383
8484   if(scanline == 0) // unknown irq event, presumably vblank-in or a periodic one (writes to the soundlatch and drives freeze dip-switch)
85      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xcf);   /* RST 08h */
85      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf);   /* RST 08h */
8686}
8787
8888
trunk/src/mame/drivers/poolshrk.c
r17813r17814
9191
9292READ8_MEMBER(poolshrk_state::poolshrk_irq_reset_r)
9393{
94   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
94   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
9595
9696   return 0;
9797}
trunk/src/mame/drivers/gridlee.c
r17813r17814
9999
100100static TIMER_CALLBACK( irq_off_tick )
101101{
102   cputag_set_input_line(machine, "maincpu", M6809_IRQ_LINE, CLEAR_LINE);
102   machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
103103}
104104
105105
r17813r17814
113113      state->m_irq_timer->adjust(machine.primary_screen->time_until_pos(param + 64), param + 64);
114114
115115   /* IRQ starts on scanline 0, 64, 128, etc. */
116   cputag_set_input_line(machine, "maincpu", M6809_IRQ_LINE, ASSERT_LINE);
116   machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
117117
118118   /* it will turn off on the next HBLANK */
119119   state->m_irq_off->adjust(machine.primary_screen->time_until_pos(param, GRIDLEE_HBSTART));
r17813r17814
122122
123123static TIMER_CALLBACK( firq_off_tick )
124124{
125   cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, CLEAR_LINE);
125   machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
126126}
127127
128128
r17813r17814
133133   state->m_firq_timer->adjust(machine.primary_screen->time_until_pos(FIRQ_SCANLINE));
134134
135135   /* IRQ starts on scanline FIRQ_SCANLINE? */
136   cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
136   machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
137137
138138   /* it will turn off on the next HBLANK */
139139   state->m_firq_off->adjust(machine.primary_screen->time_until_pos(FIRQ_SCANLINE, GRIDLEE_HBSTART));
trunk/src/mame/drivers/bnstars.c
r17813r17814
13381338{
13391339   bnstars_state *state = machine.driver_data<bnstars_state>();
13401340   state->m_irqreq = 0;
1341   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
1341   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
13421342   device_set_irq_callback(machine.device("maincpu"), irq_callback);
13431343}
13441344
r17813r17814
13461346{
13471347   bnstars_state *state = machine.driver_data<bnstars_state>();
13481348   state->m_irqreq |= (1<<level);
1349   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
1349   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
13501350}
13511351
13521352/* TODO: fix this arrangement (derived from old deprecat lib) */
trunk/src/mame/drivers/superchs.c
r17813r17814
8080
8181   if (ACCESSING_BITS_8_15)
8282   {
83      cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, (data &0x200) ? CLEAR_LINE : ASSERT_LINE);
84      if (data&0x8000) cputag_set_input_line(machine(), "maincpu", 3, HOLD_LINE); /* Guess */
83      machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, (data &0x200) ? CLEAR_LINE : ASSERT_LINE);
84      if (data&0x8000) machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE); /* Guess */
8585   }
8686
8787   if (ACCESSING_BITS_0_7)
r17813r17814
182182        different byte in this long word before the RTE.  I assume all but the last
183183        (top) byte cause an IRQ with the final one being an ACK.  (Total guess but it works). */
184184   if (mem_mask != 0xff000000)
185      cputag_set_input_line(machine(), "maincpu", 3, HOLD_LINE);
185      machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
186186}
187187
188188/***********************************************************
trunk/src/mame/drivers/battlera.c
r17813r17814
3636   if (offset == 0)
3737   {
3838      soundlatch_byte_w(space,0,data);
39      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
39      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
4040   }
4141}
4242
r17813r17814
9292
9393   state->m_toggle = 1 - state->m_toggle;
9494   if (state->m_toggle)
95      cputag_set_input_line(device->machine(), "audiocpu", 1, HOLD_LINE);
95      device->machine().device("audiocpu")->execute().set_input_line(1, HOLD_LINE);
9696}
9797
9898WRITE8_MEMBER(battlera_state::battlera_adpcm_data_w)
trunk/src/mame/drivers/flower.c
r17813r17814
7777
7878WRITE8_MEMBER(flower_state::flower_maincpu_irq_ack)
7979{
80   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
80   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
8181}
8282
8383WRITE8_MEMBER(flower_state::flower_subcpu_irq_ack)
8484{
85   cputag_set_input_line(machine(), "subcpu", 0, CLEAR_LINE);
85   machine().device("subcpu")->execute().set_input_line(0, CLEAR_LINE);
8686}
8787
8888WRITE8_MEMBER(flower_state::flower_soundcpu_irq_ack)
8989{
90   cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
90   machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
9191}
9292
9393WRITE8_MEMBER(flower_state::flower_coin_counter_w)
r17813r17814
105105   soundlatch_byte_w(space, 0, data);
106106
107107   if (*m_sn_nmi_enable & 1)
108      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
108      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
109109}
110110
111111static ADDRESS_MAP_START( flower_cpu1_2, AS_PROGRAM, 8, flower_state )
r17813r17814
144144
145145INPUT_CHANGED_MEMBER(flower_state::coin_inserted)
146146{
147   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
147   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
148148}
149149
150150static INPUT_PORTS_START( flower )
trunk/src/mame/drivers/xain.c
r17813r17814
190190   /* FIRQ (IMS) fires every on every 8th scanline (except 0) */
191191   if (!(vcount_old & 8) && (vcount & 8))
192192   {
193      cputag_set_input_line(timer.machine(), "maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
193      timer.machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
194194   }
195195
196196   /* NMI fires on scanline 248 (VBL) and is latched */
197197   if (vcount == 0xf8)
198198   {
199      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
199      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
200200   }
201201
202202   /* VBLANK input bit is held high from scanlines 248-255 */
r17813r17814
224224WRITE8_MEMBER(xain_state::xain_sound_command_w)
225225{
226226   soundlatch_byte_w(space,offset,data);
227   cputag_set_input_line(machine(), "audiocpu", M6809_IRQ_LINE, HOLD_LINE);
227   machine().device("audiocpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
228228}
229229
230230WRITE8_MEMBER(xain_state::xain_main_irq_w)
r17813r17814
232232   switch (offset)
233233   {
234234   case 0: /* 0x3a09 - NMI clear */
235      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
235      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
236236      break;
237237   case 1: /* 0x3a0a - FIRQ clear */
238      cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, CLEAR_LINE);
238      machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
239239      break;
240240   case 2: /* 0x3a0b - IRQ clear */
241      cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, CLEAR_LINE);
241      machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
242242      break;
243243   case 3: /* 0x3a0c - IRQB assert */
244      cputag_set_input_line(machine(), "sub", M6809_IRQ_LINE, ASSERT_LINE);
244      machine().device("sub")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
245245      break;
246246   }
247247}
248248
249249WRITE8_MEMBER(xain_state::xain_irqA_assert_w)
250250{
251   cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, ASSERT_LINE);
251   machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
252252}
253253
254254WRITE8_MEMBER(xain_state::xain_irqB_clear_w)
255255{
256   cputag_set_input_line(machine(), "sub", M6809_IRQ_LINE, CLEAR_LINE);
256   machine().device("sub")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
257257}
258258
259259READ8_MEMBER(xain_state::xain_68705_r)
r17813r17814
268268   m_mcu_accept = 0;
269269
270270   if (machine().device("mcu") != NULL)
271      cputag_set_input_line(machine(), "mcu", 0, ASSERT_LINE);
271      machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE);
272272}
273273
274274CUSTOM_INPUT_MEMBER(xain_state::xain_vblank_r)
r17813r17814
313313   else if ((m_ddr_b & 0x02) && (~m_port_b_out & 0x02) && (data & 0x02))
314314   {
315315      m_mcu_accept = 1;
316      cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
316      machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
317317   }
318318
319319   /* Rising edge of PB2 */
r17813r17814
378378   m_mcu_accept = 1;
379379
380380   if (machine().device("mcu") != NULL)
381      cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
381      machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
382382
383383   return 0xff;
384384}
r17813r17814
553553/* handler called by the 2203 emulator when the internal timers cause an IRQ */
554554static void irqhandler(device_t *device, int irq)
555555{
556   cputag_set_input_line(device->machine(), "audiocpu", M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
556   device->machine().device("audiocpu")->execute().set_input_line(M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
557557}
558558
559559static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/namcos1.c
r17813r17814
352352
353353WRITE8_MEMBER(namcos1_state::namcos1_sub_firq_w)
354354{
355   cputag_set_input_line(machine(), "sub", M6809_FIRQ_LINE, ASSERT_LINE);
355   machine().device("sub")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
356356}
357357
358358WRITE8_MEMBER(namcos1_state::irq_ack_w)
r17813r17814
10581058
10591059static void namcos1_sound_interrupt( device_t *device, int irq )
10601060{
1061   cputag_set_input_line(device->machine(), "audiocpu", M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
1061   device->machine().device("audiocpu")->execute().set_input_line(M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
10621062}
10631063
10641064static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/gundealr.c
r17813r17814
388388   int scanline = param;
389389
390390   if(scanline == 240) // vblank-out irq
391      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xd7); /* RST 10h */
391      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xd7); /* RST 10h */
392392   else if((scanline == 0) || (scanline == 120) ) //timer irq
393      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xcf); /* RST 10h */
393      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xcf); /* RST 10h */
394394}
395395
396396static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/firefox.c
r17813r17814
253253{
254254   timer.machine().primary_screen->update_now();
255255
256   cputag_set_input_line( timer.machine(), "maincpu", M6809_IRQ_LINE, ASSERT_LINE );
256   timer.machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE );
257257}
258258
259259static void set_rgba( running_machine &machine, int start, int index, unsigned char *palette_ram )
r17813r17814
311311{
312312   m_main_to_sound_flag = 1;
313313   soundlatch_byte_w(space, 0, data);
314   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
314   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
315315}
316316
317317WRITE8_MEMBER(firefox_state::sound_reset_w)
318318{
319   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
319   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
320320   if ((data & 0x80) != 0)
321321      m_sound_to_main_flag = m_main_to_sound_flag = 0;
322322}
r17813r17814
369369
370370WRITE_LINE_MEMBER(firefox_state::riot_irq)
371371{
372   cputag_set_input_line(machine(), "audiocpu", M6502_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
372   machine().device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
373373}
374374
375375
r17813r17814
441441
442442WRITE8_MEMBER(firefox_state::main_irq_clear_w)
443443{
444    cputag_set_input_line( machine(), "maincpu", M6809_IRQ_LINE, CLEAR_LINE );
444    machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE );
445445}
446446
447447WRITE8_MEMBER(firefox_state::main_firq_clear_w)
448448{
449    cputag_set_input_line( machine(), "maincpu", M6809_FIRQ_LINE, CLEAR_LINE );
449    machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE );
450450}
451451
452452WRITE8_MEMBER(firefox_state::self_reset_w)
453453{
454   cputag_set_input_line( machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE );
454   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE );
455455}
456456
457457
r17813r17814
477477static void firq_gen(running_machine &machine, phillips_22vp931_device &laserdisc, int state)
478478{
479479   if (state)
480       cputag_set_input_line( machine, "maincpu", M6809_FIRQ_LINE, ASSERT_LINE );
480       machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE );
481481}
482482
483483
trunk/src/mame/drivers/toki.c
r17813r17814
4646WRITE16_MEMBER(toki_state::tokib_soundcommand16_w)
4747{
4848   soundlatch_byte_w(space, 0, data & 0xff);
49   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
49   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
5050}
5151
5252READ16_MEMBER(toki_state::pip16_r)
r17813r17814
6565
6666   state->m_toggle ^= 1;
6767   if (state->m_toggle)
68      cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
68      device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
6969}
7070
7171WRITE8_MEMBER(toki_state::toki_adpcm_control_w)
trunk/src/mame/drivers/renegade.c
r17813r17814
260260WRITE8_MEMBER(renegade_state::sound_w)
261261{
262262   soundlatch_byte_w(space, offset, data);
263   cputag_set_input_line(machine(), "audiocpu", M6809_IRQ_LINE, HOLD_LINE);
263   machine().device("audiocpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
264264}
265265
266266/********************************************************************************************/
r17813r17814
359359      m_port_a_in = m_from_main;
360360
361361      if (m_main_sent)
362         cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
362         machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
363363
364364      m_main_sent = 0;
365365   }
r17813r17814
416416   }
417417   else
418418   {
419      cputag_set_input_line(machine(), "mcu", INPUT_LINE_RESET, PULSE_LINE);
419      machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
420420   }
421421   return 0;
422422}
r17813r17814
446446   {
447447      m_from_main = data;
448448      m_main_sent = 1;
449      cputag_set_input_line(machine(), "mcu", 0, ASSERT_LINE);
449      machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE);
450450   }
451451}
452452
trunk/src/mame/drivers/alien.c
r17813r17814
7474
7575void alien_state::machine_reset()
7676{
77   //cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
77   //machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
7878}
7979
8080static MACHINE_CONFIG_START( alien, alien_state )
trunk/src/mame/drivers/ginganin.c
r17813r17814
247247
248248WRITE8_MEMBER(ginganin_state::ptm_irq)
249249{
250   cputag_set_input_line(machine(), "audiocpu", 0, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
250   machine().device("audiocpu")->execute().set_input_line(0, (data & 1) ? ASSERT_LINE : CLEAR_LINE);
251251}
252252
253253static const ptm6840_interface ptm_intf =
trunk/src/mame/drivers/atarisy4.c
r17813r17814
482482         gpu.mcr = data;
483483
484484         if (~data & 0x08)
485            cputag_set_input_line(machine(), "maincpu", 6, CLEAR_LINE);
485            machine().device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
486486
487487         break;
488488      }
r17813r17814
517517static INTERRUPT_GEN( vblank_int )
518518{
519519   if (gpu.mcr & 0x08)
520      cputag_set_input_line(device->machine(), "maincpu", 6, ASSERT_LINE);
520      device->machine().device("maincpu")->execute().set_input_line(6, ASSERT_LINE);
521521}
522522
523523
r17813r17814
562562
563563WRITE16_MEMBER(atarisy4_state::dsp0_control_w)
564564{
565   cputag_set_input_line(machine(), "dsp0", INPUT_LINE_RESET, data & 0x01 ? CLEAR_LINE : ASSERT_LINE);
566   cputag_set_input_line(machine(), "dsp0", 0, data & 0x02 ? ASSERT_LINE : CLEAR_LINE);
565   machine().device("dsp0")->execute().set_input_line(INPUT_LINE_RESET, data & 0x01 ? CLEAR_LINE : ASSERT_LINE);
566   machine().device("dsp0")->execute().set_input_line(0, data & 0x02 ? ASSERT_LINE : CLEAR_LINE);
567567
568568   m_csr[0] = data;
569569}
r17813r17814
596596
597597WRITE16_MEMBER(atarisy4_state::dsp1_control_w)
598598{
599   cputag_set_input_line(machine(), "dsp1", INPUT_LINE_RESET, data & 0x01 ? CLEAR_LINE : ASSERT_LINE);
600   cputag_set_input_line(machine(), "dsp1", 0, data & 0x02 ? ASSERT_LINE : CLEAR_LINE);
599   machine().device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, data & 0x01 ? CLEAR_LINE : ASSERT_LINE);
600   machine().device("dsp1")->execute().set_input_line(0, data & 0x02 ? ASSERT_LINE : CLEAR_LINE);
601601
602602   m_csr[1] = data;
603603}
r17813r17814
10011001
10021002static MACHINE_RESET( atarisy4 )
10031003{
1004   cputag_set_input_line(machine, "dsp0", INPUT_LINE_RESET, ASSERT_LINE);
1004   machine.device("dsp0")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
10051005}
10061006
10071007static MACHINE_RESET( airrace )
10081008{
1009   cputag_set_input_line(machine, "dsp0", INPUT_LINE_RESET, ASSERT_LINE);
1010   cputag_set_input_line(machine, "dsp1", INPUT_LINE_RESET, ASSERT_LINE);
1009   machine.device("dsp0")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
1010   machine.device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
10111011}
10121012
10131013
trunk/src/mame/drivers/wardner.c
r17813r17814
366366/* handler called by the 3812 emulator when the internal timers cause an IRQ */
367367static void irqhandler(device_t *device, int linestate)
368368{
369   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate);
369   device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
370370}
371371
372372static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/taitosj.c
r17813r17814
179179WRITE8_MEMBER(taitosj_state::taitosj_soundcommand_w)
180180{
181181   soundlatch_byte_w(space,offset,data);
182   if (!m_sndnmi_disable) cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
182   if (!m_sndnmi_disable) machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
183183}
184184
185185
trunk/src/mame/drivers/splash.c
r17813r17814
5454   if (ACCESSING_BITS_0_7)
5555   {
5656      soundlatch_byte_w(space, 0, data & 0xff);
57      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
57      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
5858   }
5959}
6060
r17813r17814
6363   if (ACCESSING_BITS_0_7)
6464   {
6565      soundlatch_byte_w(space, 0, data & 0xff);
66      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
66      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
6767   }
6868
6969   // give the z80 time to see it
r17813r17814
223223WRITE16_MEMBER(splash_state::funystrp_sh_irqtrigger_w)
224224{
225225   soundlatch_byte_w(space, 0, data>>8);
226   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
226   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
227227}
228228
229229static ADDRESS_MAP_START( funystrp_map, AS_PROGRAM, 16, splash_state )
trunk/src/mame/drivers/subsino2.c
r17813r17814
873873{
874874   subsino2_state *state = timer.machine().driver_data<subsino2_state>();
875875   if ((state->m_am188em_regs[AM188EM_IMASK+0] & 0x01) == 0)   // TMR mask
876      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0x4c/4);
876      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0x4c/4);
877877}
878878
879879/***************************************************************************
r17813r17814
883883// To be removed when cpu core is updated
884884static TIMER_DEVICE_CALLBACK( h8_timer_irq )
885885{
886   cputag_set_input_line(timer.machine(), "maincpu", H8_METRO_TIMER_HACK, HOLD_LINE);
886   timer.machine().device("maincpu")->execute().set_input_line(H8_METRO_TIMER_HACK, HOLD_LINE);
887887}
888888
889889
trunk/src/mame/drivers/tecmosys.c
r17813r17814
208208   {
209209      machine().scheduler().synchronize();
210210      soundlatch_byte_w(space, 0x00, data & 0xff);
211      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
211      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
212212   }
213213}
214214
r17813r17814
439439static void sound_irq(device_t *device, int irq)
440440{
441441   /* IRQ */
442   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
442   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
443443}
444444
445445static const ymf262_interface tecmosys_ymf262_interface =
trunk/src/mame/drivers/snk6502.c
r17813r17814
444444
445445INPUT_CHANGED_MEMBER(snk6502_state::coin_inserted)
446446{
447   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
447   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
448448}
449449
450450static INPUT_PORTS_START( snk6502_generic_joy8way )
trunk/src/mame/drivers/polyplay.c
r17813r17814
349349
350350static TIMER_DEVICE_CALLBACK( polyplay_timer_callback )
351351{
352   cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0x4c);
352   timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0x4c);
353353}
354354
355355/* game driver */
trunk/src/mame/drivers/exidy440.c
r17813r17814
256256{
257257   /* if we got a coin, set the IRQ on the main CPU */
258258   if (oldval)
259      cputag_set_input_line(machine(), "maincpu", 0, ASSERT_LINE);
259      machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
260260}
261261
262262
r17813r17814
335335READ8_MEMBER(exidy440_state::exidy440_input_port_3_r)
336336{
337337   /* I/O1 accesses clear the CIRQ flip/flop */
338   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
338   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
339339   return ioport("IN3")->read();
340340}
341341
r17813r17814
370370WRITE8_MEMBER(exidy440_state::exidy440_input_port_3_w)
371371{
372372   /* I/O1 accesses clear the CIRQ flip/flop */
373   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
373   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
374374}
375375
376376
trunk/src/mame/drivers/tatsumi.c
r17813r17814
200200WRITE16_MEMBER(tatsumi_state::cyclwarr_sound_w)
201201{
202202   soundlatch_byte_w(space, 0, data >> 8);
203   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
203   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
204204}
205205
206206/***************************************************************************/
r17813r17814
841841
842842static void sound_irq(device_t *device, int state)
843843{
844   cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_IRQ0, state);
844   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_IRQ0, state);
845845}
846846
847847static const ym2151_interface ym2151_config =
r17813r17814
856856
857857static void apache3_68000_reset(device_t *device)
858858{
859   cputag_set_input_line(device->machine(), "sub2", INPUT_LINE_RESET, PULSE_LINE);
859   device->machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
860860}
861861
862862static MACHINE_RESET( apache3 )
863863{
864   cputag_set_input_line(machine, "sub2", INPUT_LINE_RESET, ASSERT_LINE); // TODO
864   machine.device("sub2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // TODO
865865
866866   /* Hook the RESET line, which resets the Z80 */
867867   m68k_set_reset_callback(machine.device("sub"), apache3_68000_reset);
trunk/src/mame/drivers/mpu4dealem.c
r17813r17814
132132
133133static WRITE_LINE_DEVICE_HANDLER( dealem_vsync_changed )
134134{
135   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, state);
135   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, state);
136136}
137137
138138
trunk/src/mame/drivers/megaplay.c
r17813r17814
534534{
535535   mplay_state *state = space->machine().driver_data<mplay_state>();
536536   if(((state->m_bios_6404 & 0x0c) == 0x00) && ((data & 0x0c) == 0x0c))
537      cputag_set_input_line(space->machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
537      space->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
538538   state->m_bios_6404 = data;
539539
540540//  logerror("BIOS: 0x6404 write: 0x%02x\n", data);
trunk/src/mame/drivers/m72.c
r17813r17814
160160   if (scanline < 256 && scanline == state->m_raster_irq_position - 128)
161161   {
162162      machine.primary_screen->update_partial(scanline);
163      cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, state->m_irq_base + 2);
163      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_irq_base + 2);
164164   }
165165
166166   /* VBLANK interrupt */
167167   else if (scanline == 256)
168168   {
169169      machine.primary_screen->update_partial(scanline);
170      cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, state->m_irq_base + 0);
170      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_irq_base + 0);
171171   }
172172
173173   /* adjust for next scanline */
r17813r17814
185185   if (scanline < 256 && scanline == state->m_raster_irq_position - 128)
186186   {
187187      machine.primary_screen->update_partial(scanline);
188      cputag_set_input_line(machine, "maincpu", NEC_INPUT_LINE_INTP2, ASSERT_LINE);
188      machine.device("maincpu")->execute().set_input_line(NEC_INPUT_LINE_INTP2, ASSERT_LINE);
189189   }
190190   else
191      cputag_set_input_line(machine, "maincpu", NEC_INPUT_LINE_INTP2, CLEAR_LINE);
191      machine.device("maincpu")->execute().set_input_line(NEC_INPUT_LINE_INTP2, CLEAR_LINE);
192192
193193   /* VBLANK interrupt */
194194   if (scanline == 256)
195195   {
196196      machine.primary_screen->update_partial(scanline);
197      cputag_set_input_line(machine, "maincpu", NEC_INPUT_LINE_INTP0, ASSERT_LINE);
197      machine.device("maincpu")->execute().set_input_line(NEC_INPUT_LINE_INTP0, ASSERT_LINE);
198198   }
199199   else
200      cputag_set_input_line(machine, "maincpu", NEC_INPUT_LINE_INTP0, CLEAR_LINE);
200      machine.device("maincpu")->execute().set_input_line(NEC_INPUT_LINE_INTP0, CLEAR_LINE);
201201
202202   /* adjust for next scanline */
203203   if (++scanline >= machine.primary_screen->height())
r17813r17814
238238   if (ACCESSING_BITS_0_7)
239239   {
240240      m_mcu_snd_cmd_latch = data;
241      cputag_set_input_line(machine(), "mcu", 1, ASSERT_LINE);
241      machine().device("mcu")->execute().set_input_line(1, ASSERT_LINE);
242242   }
243243}
244244
r17813r17814
255255   if (offset == 0x0fff/2 && ACCESSING_BITS_8_15)
256256   {
257257      m_protection_ram[offset] = val;
258      cputag_set_input_line(machine(), "mcu", 0, ASSERT_LINE);
258      machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE);
259259      /* Line driven, most likely by write line */
260260      //machine().scheduler().timer_set(machine().device<cpu_device>("mcu")->cycles_to_attotime(2), FUNC(mcu_irq0_clear));
261261      //machine().scheduler().timer_set(machine().device<cpu_device>("mcu")->cycles_to_attotime(0), FUNC(mcu_irq0_raise));
r17813r17814
279279
280280   if (offset == 0x0fff || offset == 0x0ffe)
281281   {
282      cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
282      machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
283283   }
284284
285285   if (offset&1) ret = (m_protection_ram[offset/2] & 0xff00)>>8;
r17813r17814
305305
306306WRITE8_MEMBER(m72_state::m72_mcu_ack_w)
307307{
308   cputag_set_input_line(machine(), "mcu", 1, CLEAR_LINE);
308   machine().device("mcu")->execute().set_input_line(1, CLEAR_LINE);
309309   m_mcu_snd_cmd_latch = 0;
310310}
311311
r17813r17814
325325   if (offset == 1)
326326   {
327327      m_mcu_sample_latch = data;
328      cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
328      machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
329329   }
330330   else
331331      logerror("port: %02x %02x\n", offset, data);
trunk/src/mame/drivers/r2dtank.c
r17813r17814
102102   int combined_state = pia0->irq_a_state() | pia0->irq_b_state() |
103103                   pia1->irq_a_state() | pia1->irq_b_state();
104104
105   cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE,  combined_state ? ASSERT_LINE : CLEAR_LINE);
105   machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE,  combined_state ? ASSERT_LINE : CLEAR_LINE);
106106}
107107
108108
r17813r17814
126126WRITE8_MEMBER(r2dtank_state::audio_command_w)
127127{
128128   soundlatch_byte_w(space, 0, ~data);
129   cputag_set_input_line(machine(), "audiocpu", M6800_IRQ_LINE, HOLD_LINE);
129   machine().device("audiocpu")->execute().set_input_line(M6800_IRQ_LINE, HOLD_LINE);
130130
131131if (LOG_AUDIO_COMM) logerror("%08X   CPU#0  Audio Command Write: %x\n", space.device().safe_pc(), data^0xff);
132132}
r17813r17814
148148      data = 0x00;
149149
150150   soundlatch2_byte_w(space, 0, data);
151   cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, HOLD_LINE);
151   machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
152152
153153if (LOG_AUDIO_COMM) logerror("%08X  CPU#1  Audio Answer Write: %x\n", space.device().safe_pc(), data);
154154}
trunk/src/mame/drivers/pokechmp.c
r17813r17814
7272WRITE8_MEMBER(pokechmp_state::pokechmp_sound_w)
7373{
7474   soundlatch_byte_w(space, 0, data);
75   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
75   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
7676}
7777
7878
trunk/src/mame/drivers/mastboy.c
r17813r17814
673673
674674   state->m_m5205_part ^= 1;
675675   if(!state->m_m5205_part)
676      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
676      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
677677}
678678
679679
r17813r17814
689689{
690690   m_irq0_ack = data;
691691   if ((data & 1) == 1)
692      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
692      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
693693}
694694
695695static INTERRUPT_GEN( mastboy_interrupt )
trunk/src/mame/drivers/topspeed.c
r17813r17814
423423
424424static WRITE8_DEVICE_HANDLER( topspeed_tc0140syt_comm_w )
425425{
426   cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
426   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
427427   tc0140syt_comm_w(device, 0, data);
428428}
429429
trunk/src/mame/drivers/atarig1.c
r17813r17814
3535static void update_interrupts(running_machine &machine)
3636{
3737   atarig1_state *state = machine.driver_data<atarig1_state>();
38   cputag_set_input_line(machine, "maincpu", 1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
39   cputag_set_input_line(machine, "maincpu", 2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
39   machine.device("maincpu")->execute().set_input_line(2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
4040}
4141
4242
trunk/src/mame/drivers/toobin.c
r17813r17814
3737static void update_interrupts(running_machine &machine)
3838{
3939   toobin_state *state = machine.driver_data<toobin_state>();
40   cputag_set_input_line(machine, "maincpu", 1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
41   cputag_set_input_line(machine, "maincpu", 2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
42   cputag_set_input_line(machine, "maincpu", 3, state->m_scanline_int_state && state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
40   machine.device("maincpu")->execute().set_input_line(1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
41   machine.device("maincpu")->execute().set_input_line(2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
42   machine.device("maincpu")->execute().set_input_line(3, state->m_scanline_int_state && state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
4343}
4444
4545
trunk/src/mame/drivers/aristmk4.c
r17813r17814
15211521
15221522WRITE8_MEMBER(aristmk4_state::firq)
15231523{
1524   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, data ? ASSERT_LINE : CLEAR_LINE);
1524   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, data ? ASSERT_LINE : CLEAR_LINE);
15251525}
15261526
15271527static const via6522_interface via_interface =
r17813r17814
16721672
16731673   if(timer.machine().root_device().ioport("powerfail")->read()) // send NMI signal if L pressed
16741674   {
1675   cputag_set_input_line( timer.machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE );
1675   timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE );
16761676   }
16771677}
16781678
trunk/src/mame/drivers/videopin.c
r17813r17814
3434         state->m_time_released = machine.time();
3535
3636         if (!state->m_mask)
37            cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
37            machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
3838      }
3939      else
4040         state->m_time_pushed = machine.time();
r17813r17814
5050
5151   update_plunger(machine);
5252
53   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
53   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
5454
5555   scanline = scanline + 32;
5656
r17813r17814
132132   if (i == 7)
133133      set_led_status(machine(), 0, data & 8);   /* start button */
134134
135   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
135   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
136136}
137137
138138
r17813r17814
151151   m_mask = ~data & 0x10;
152152
153153   if (m_mask)
154      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
154      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
155155
156156   coin_lockout_global_w(machine(), ~data & 0x08);
157157
trunk/src/mame/drivers/runaway.c
r17813r17814
2323   /* assume Centipede-style interrupt timing */
2424   int scanline = param;
2525
26   cputag_set_input_line(machine, "maincpu", 0, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE);
26   machine.device("maincpu")->execute().set_input_line(0, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE);
2727
2828   scanline += 32;
2929
r17813r17814
7777
7878WRITE8_MEMBER(runaway_state::runaway_irq_ack_w)
7979{
80   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
80   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
8181}
8282
8383
trunk/src/mame/drivers/sothello.c
r17813r17814
101101static TIMER_CALLBACK( subcpu_resume )
102102{
103103    machine.device<cpu_device>("sub")->resume(SUSPEND_REASON_HALT);
104    cputag_set_input_line(machine, "sub", INPUT_LINE_NMI, PULSE_LINE);
104    machine.device("sub")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
105105}
106106
107107READ8_MEMBER(sothello_state::subcpu_halt_set)
r17813r17814
185185
186186WRITE8_MEMBER(sothello_state::soundcpu_int_clear_w)
187187{
188    cputag_set_input_line(machine(), "soundcpu", 0, CLEAR_LINE );
188    machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE );
189189}
190190
191191static ADDRESS_MAP_START( soundcpu_mem_map, AS_PROGRAM, 8, sothello_state )
r17813r17814
313313
314314static void irqhandler(device_t *device, int irq)
315315{
316    cputag_set_input_line(device->machine(), "sub", 0, irq ? ASSERT_LINE : CLEAR_LINE);
316    device->machine().device("sub")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
317317}
318318
319319static void sothello_vdp_interrupt(device_t *, v99x8_device &device, int i)
320320{
321    cputag_set_input_line(device.machine(), "maincpu", 0, (i ? HOLD_LINE : CLEAR_LINE));
321    device.machine().device("maincpu")->execute().set_input_line(0, (i ? HOLD_LINE : CLEAR_LINE));
322322}
323323
324324static TIMER_DEVICE_CALLBACK( sothello_interrupt )
r17813r17814
332332   sothello_state *state = device->machine().driver_data<sothello_state>();
333333    /* only 4 bits are used */
334334    msm5205_data_w( device, state->m_msm_data & 0x0f );
335    cputag_set_input_line(device->machine(), "soundcpu", 0, ASSERT_LINE );
335    device->machine().device("soundcpu")->execute().set_input_line(0, ASSERT_LINE );
336336}
337337
338338
trunk/src/mame/drivers/toypop.c
r17813r17814
6565WRITE8_MEMBER(toypop_state::toypop_main_interrupt_disable_w)
6666{
6767   m_main_irq_mask = 0;
68//  cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
68//  machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
6969}
7070
7171WRITE8_MEMBER(toypop_state::toypop_sound_interrupt_enable_acknowledge_w)
7272{
7373   m_sound_irq_mask = 1;
74//  cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
74//  machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
7575}
7676
7777WRITE8_MEMBER(toypop_state::toypop_sound_interrupt_disable_w)
r17813r17814
130130
131131WRITE8_MEMBER(toypop_state::toypop_sound_clear_w)
132132{
133   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
133   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
134134}
135135
136136WRITE8_MEMBER(toypop_state::toypop_sound_assert_w)
137137{
138   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
138   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
139139}
140140
141141WRITE8_MEMBER(toypop_state::toypop_m68000_clear_w)
142142{
143   cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, CLEAR_LINE);
143   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
144144}
145145
146146WRITE8_MEMBER(toypop_state::toypop_m68000_assert_w)
147147{
148   cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, ASSERT_LINE);
148   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
149149}
150150
151151static MACHINE_RESET( toypop )
r17813r17814
153153   toypop_state *state = machine.driver_data<toypop_state>();
154154
155155   state->m_main_irq_mask = 0;
156   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
156   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
157157
158158   state->m_sound_irq_mask = 0;
159   cputag_set_input_line(machine, "audiocpu", 0, CLEAR_LINE);
159   machine.device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
160160
161161   state->m_interrupt_enable_68k = 0;
162162}
trunk/src/mame/drivers/taitotz.c
r17813r17814
18211821      {
18221822         m_io_share_ram[0xfff] = 0x0000;
18231823         m_io_share_ram[0xe00] = 0xffff;
1824         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
1824         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
18251825      }
18261826      else if (m_io_share_ram[0xfff] == 0x4004 || m_io_share_ram[0xfff] == 0x4000)
18271827      {
18281828         m_io_share_ram[0xfff] = 0x0000;
1829         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
1829         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
18301830      }
18311831      else if (m_io_share_ram[0xfff] == 0x7004)
18321832      {
18331833         // this command seems to turn off interrupts on TLCS...
18341834         m_io_share_ram[0xfff] = 0x0000;
1835         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
1835         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
18361836      }
18371837      else
18381838      {
18391839         // normally just raise INT0 on TLCS and let it handle the command
1840         cputag_set_input_line(machine(), "iocpu", TLCS900_INT0, ASSERT_LINE);
1841         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
1840         machine().device("iocpu")->execute().set_input_line(TLCS900_INT0, ASSERT_LINE);
1841         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
18421842
18431843         // The PPC always goes to busy loop waiting for TLCS here, so we can free up the timeslice.
18441844         // Only do it for HDD access and backup RAM for now...
r17813r17814
19241924      }
19251925#endif
19261926
1927      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
1928      cputag_set_input_line(machine(), "iocpu", TLCS900_INT0, CLEAR_LINE);
1927      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
1928      machine().device("iocpu")->execute().set_input_line(TLCS900_INT0, CLEAR_LINE);
19291929
1930      cputag_set_input_line(machine(), "iocpu", TLCS900_INT3, CLEAR_LINE);
1930      machine().device("iocpu")->execute().set_input_line(TLCS900_INT3, CLEAR_LINE);
19311931
19321932      // The PPC is now free to continue running
19331933      //machine().scheduler().trigger(PPC_TLCS_COMM_TRIGGER);
r17813r17814
24472447
24482448static INTERRUPT_GEN( taitotz_vbi )
24492449{
2450   cputag_set_input_line(device->machine(), "iocpu", TLCS900_INT3, ASSERT_LINE);
2450   device->machine().device("iocpu")->execute().set_input_line(TLCS900_INT3, ASSERT_LINE);
24512451}
24522452
24532453static void ide_interrupt(device_t *device, int state)
24542454{
2455   cputag_set_input_line(device->machine(), "iocpu", TLCS900_INT2, state);
2455   device->machine().device("iocpu")->execute().set_input_line(TLCS900_INT2, state);
24562456}
24572457
24582458static const powerpc_config ppc603e_config =
trunk/src/mame/drivers/olibochu.c
r17813r17814
436436   int scanline = param;
437437
438438   if(scanline == 248) // vblank-out irq
439      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
439      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
440440
441441   if(scanline == 0) // sprite buffer irq
442      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xcf);   /* RST 08h */
442      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf);   /* RST 08h */
443443}
444444
445445static MACHINE_CONFIG_START( olibochu, olibochu_state )
trunk/src/mame/drivers/ultratnk.c
r17813r17814
5353   machine.watchdog_enable(machine.root_device().ioport("IN0")->read() & 0x40);
5454
5555   if (machine.root_device().ioport("IN0")->read() & 0x40)
56      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
56      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
5757
5858   machine.scheduler().timer_set(machine.primary_screen->time_until_pos(scanline), FUNC(nmi_callback), scanline);
5959}
trunk/src/mame/drivers/m90.c
r17813r17814
5959   if (ACCESSING_BITS_0_7)
6060   {
6161      soundlatch_byte_w(space, offset, data);
62      cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
62      machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
6363   }
6464}
6565
trunk/src/mame/drivers/tugboat.c
r17813r17814
202202
203203static TIMER_CALLBACK( interrupt_gen )
204204{
205   cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
205   machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
206206   machine.scheduler().timer_set(machine.primary_screen->frame_period(), FUNC(interrupt_gen));
207207}
208208
trunk/src/mame/drivers/kingdrby.c
r17813r17814
286286
287287WRITE8_MEMBER(kingdrby_state::sound_cmd_w)
288288{
289   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
289   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
290290   m_sound_cmd = data;
291291   /* soundlatch is unneeded since we are already using perfect interleave. */
292292   // soundlatch_byte_w(space,0, data);
trunk/src/mame/drivers/superqix.c
r17813r17814
316316
317317READ8_MEMBER(superqix_state::nmi_ack_r)
318318{
319   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
319   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
320320   return sqix_system_status_r(space, 0);
321321}
322322
r17813r17814
370370//  logerror("Z80 sends command %02x\n",param);
371371   state->m_from_z80 = param;
372372   state->m_from_mcu_pending = 0;
373   cputag_set_input_line(machine, "mcu", 0, HOLD_LINE);
373   machine.device("mcu")->execute().set_input_line(0, HOLD_LINE);
374374   machine.scheduler().boost_interleave(attotime::zero, attotime::from_usec(200));
375375}
376376
trunk/src/mame/drivers/cyberbal.c
r17813r17814
3939static void update_interrupts(running_machine &machine)
4040{
4141   cyberbal_state *state = machine.driver_data<cyberbal_state>();
42   cputag_set_input_line(machine, "maincpu", 1, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
43   cputag_set_input_line(machine, "extra", 1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
42   machine.device("maincpu")->execute().set_input_line(1, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
43   machine.device("extra")->execute().set_input_line(1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
4444}
4545
4646
r17813r17814
7171   cyberbal_sound_reset(machine);
7272
7373   /* Extra CPU (second M68k) doesn't run until reset */
74   cputag_set_input_line(machine, "extra", INPUT_LINE_RESET, ASSERT_LINE);
74   machine.device("extra")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
7575}
7676
7777
7878static void cyberbal2p_update_interrupts(running_machine &machine)
7979{
8080   cyberbal_state *state = machine.driver_data<cyberbal_state>();
81   cputag_set_input_line(machine, "maincpu", 1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
82   cputag_set_input_line(machine, "maincpu", 3, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
81   machine.device("maincpu")->execute().set_input_line(1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
82   machine.device("maincpu")->execute().set_input_line(3, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
8383}
8484
8585
r17813r17814
134134
135135WRITE16_MEMBER(cyberbal_state::p2_reset_w)
136136{
137   cputag_set_input_line(machine(), "extra", INPUT_LINE_RESET, CLEAR_LINE);
137   machine().device("extra")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
138138}
139139
140140
trunk/src/mame/drivers/tigeroad.c
r17813r17814
495495/* handler called by the 2203 emulator when the internal timers cause an IRQ */
496496static void irqhandler(device_t *device, int irq)
497497{
498   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
498   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
499499}
500500
501501static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/segas32.c
r17813r17814
396396   state->m_v60_irq_timer[1] = machine.device<timer_device>("v60_irq1");
397397
398398   /* clear IRQ lines */
399   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
399   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
400400}
401401
402402
r17813r17814
418418   for (vector = 0; vector < 5; vector++)
419419      if (effirq & (1 << vector))
420420      {
421         cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, vector);
421         machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, vector);
422422         break;
423423      }
424424
425425   /* if we didn't find any, clear the interrupt line */
426426   if (vector == 5)
427      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
427      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
428428}
429429
430430
r17813r17814
703703      case 0x1c/2:
704704         state->m_system32_displayenable[which] = (data & 0x02);
705705         if (which == 0)
706            cputag_set_input_line(space->machine(), "soundcpu", INPUT_LINE_RESET, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
706            space->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
707707         break;
708708   }
709709}
r17813r17814
10561056   for (vector = 0; vector < 3; vector++)
10571057      if (effirq & (1 << vector))
10581058      {
1059         cputag_set_input_line_and_vector(machine, "soundcpu", 0, ASSERT_LINE, 2 * vector);
1059         machine.device("soundcpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 2 * vector);
10601060         break;
10611061      }
10621062
10631063   /* if we didn't find any, clear the interrupt line */
10641064   if (vector == 3)
1065      cputag_set_input_line(machine, "soundcpu", 0, CLEAR_LINE);
1065      machine.device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
10661066}
10671067
10681068
trunk/src/mame/drivers/looping.c
r17813r17814
341341WRITE8_MEMBER(looping_state::level2_irq_set)
342342{
343343   if (!(data & 1))
344      cputag_set_input_line_and_vector(machine(), "maincpu", 0, ASSERT_LINE, 4);
344      machine().device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 4);
345345}
346346
347347
348348WRITE8_MEMBER(looping_state::main_irq_ack_w)
349349{
350350   if (data == 0)
351      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
351      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
352352}
353353
354354
355355WRITE8_MEMBER(looping_state::looping_souint_clr)
356356{
357357   if (data == 0)
358      cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
358      machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
359359}
360360
361361
362362WRITE_LINE_MEMBER(looping_state::looping_spcint)
363363{
364   cputag_set_input_line_and_vector(machine(), "audiocpu", 0, !state, 6);
364   machine().device("audiocpu")->execute().set_input_line_and_vector(0, !state, 6);
365365}
366366
367367
368368WRITE8_MEMBER(looping_state::looping_soundlatch_w)
369369{
370370   soundlatch_byte_w(space, offset, data);
371   cputag_set_input_line_and_vector(machine(), "audiocpu", 0, ASSERT_LINE, 4);
371   machine().device("audiocpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 4);
372372}
373373
374374
trunk/src/mame/drivers/badlands.c
r17813r17814
180180static void update_interrupts(running_machine &machine)
181181{
182182   badlands_state *state = machine.driver_data<badlands_state>();
183   cputag_set_input_line(machine, "maincpu", 1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
184   cputag_set_input_line(machine, "maincpu", 2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
183   machine.device("maincpu")->execute().set_input_line(1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
184   machine.device("maincpu")->execute().set_input_line(2, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
185185}
186186
187187
r17813r17814
678678static void update_interrupts_bootleg(running_machine &machine)
679679{
680680   badlands_state *state = machine.driver_data<badlands_state>();
681   cputag_set_input_line(machine, "maincpu", 1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
681   machine.device("maincpu")->execute().set_input_line(1, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
682682}
683683
684684
trunk/src/mame/drivers/supertnk.c
r17813r17814
173173
174174WRITE8_MEMBER(supertnk_state::supertnk_interrupt_ack_w)
175175{
176   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
176   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
177177}
178178
179179
trunk/src/mame/drivers/offtwall.c
r17813r17814
3434static void update_interrupts(running_machine &machine)
3535{
3636   offtwall_state *state = machine.driver_data<offtwall_state>();
37   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   cputag_set_input_line(machine, "maincpu", 6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
37   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
3939}
4040
4141
r17813r17814
103103   if (ACCESSING_BITS_0_7)
104104   {
105105      /* bit 4 resets the sound CPU */
106      cputag_set_input_line(machine(), "jsa", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
106      machine().device("jsa")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
107107      if (!(data & 0x10)) atarijsa_reset();
108108   }
109109
trunk/src/mame/drivers/esh.c
r17813r17814
147147WRITE8_MEMBER(esh_state::nmi_line_w)
148148{
149149   if (data == 0x00)
150      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
150      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
151151   if (data == 0x01)
152      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
152      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
153153
154154   if (data != 0x00 && data != 0x01)
155155      logerror("NMI line got a weird value!\n");
r17813r17814
278278
279279static TIMER_CALLBACK( irq_stop )
280280{
281   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
281   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
282282}
283283
284284static INTERRUPT_GEN( vblank_callback_esh )
trunk/src/mame/drivers/skykid.c
r17813r17814
6464WRITE8_MEMBER(skykid_state::skykid_subreset_w)
6565{
6666   int bit = !BIT(offset,11);
67   cputag_set_input_line(machine(), "mcu", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
67   machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
6868}
6969
7070WRITE8_MEMBER(skykid_state::skykid_bankswitch_w)
r17813r17814
7777   int bit = !BIT(offset,11);
7878   m_main_irq_mask = bit;
7979   if (!bit)
80      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
80      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
8181}
8282
8383WRITE8_MEMBER(skykid_state::skykid_irq_2_ctrl_w)
r17813r17814
8585   int bit = !BIT(offset,13);
8686   m_mcu_irq_mask = bit;
8787   if (!bit)
88      cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
88      machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
8989}
9090
9191static MACHINE_START( skykid )
trunk/src/mame/drivers/halleys.c
r17813r17814
10551055      if (i==0 || (i==4 && !data))
10561056      {
10571057         m_blitter_busy = 0;
1058         if (m_firq_level) cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, ASSERT_LINE); // make up delayed FIRQ's
1058         if (m_firq_level) machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); // make up delayed FIRQ's
10591059      }
10601060      else
10611061      {
r17813r17814
15551555
15561556      // In Halley's Comet, NMI is used exclusively to handle coin input
15571557      case 56*3:
1558         cputag_set_input_line(timer.machine(),"maincpu", INPUT_LINE_NMI, PULSE_LINE);
1558         timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
15591559         break;
15601560
15611561      // FIRQ drives gameplay; we need both types of NMI each frame.
15621562      case 56*2:
1563         state->m_mVectorType = 1; cputag_set_input_line(timer.machine(),"maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
1563         state->m_mVectorType = 1; timer.machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
15641564         break;
15651565
15661566      case 56:
1567         state->m_mVectorType = 0; cputag_set_input_line(timer.machine(),"maincpu", M6809_FIRQ_LINE, ASSERT_LINE);
1567         state->m_mVectorType = 0; timer.machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE);
15681568         break;
15691569   }
15701570}
r17813r17814
15821582         break;
15831583
15841584      case 56*3:
1585         cputag_set_input_line(timer.machine(),"maincpu", INPUT_LINE_NMI, PULSE_LINE);
1585         timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
15861586         break;
15871587
15881588      case 56*2:
15891589      case 56*1:
15901590         // FIRQ must not happen when the blitter is being updated or it'll cause serious screen artifacts
1591         if (!state->m_blitter_busy) cputag_set_input_line(timer.machine(),"maincpu", M6809_FIRQ_LINE, ASSERT_LINE); else state->m_firq_level++;
1591         if (!state->m_blitter_busy) timer.machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE); else state->m_firq_level++;
15921592         break;
15931593   }
15941594}
r17813r17814
16051605   m_io_ram[0x9c] = data;
16061606
16071607   if (m_firq_level) m_firq_level--;
1608   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, CLEAR_LINE);
1608   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
16091609}
16101610
16111611
r17813r17814
16201620
16211621   m_io_ram[0x8a] = data;
16221622   soundlatch_byte_w(space,offset,data);
1623   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
1623   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
16241624}
16251625
16261626
trunk/src/mame/drivers/djmain.c
r17813r17814
199199      if (m_pending_vb_int && !(!(m_v_ctrl & 0x8000))) // #define DISABLE_VB_INT  (!(state->m_v_ctrl & 0x8000))
200200      {
201201         m_pending_vb_int = 0;
202         cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, HOLD_LINE);
202         machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, HOLD_LINE);
203203      }
204204   }
205205}
r17813r17814
417417   if (state != CLEAR_LINE)
418418   {
419419      //logerror("IDE interrupt asserted\n");
420      cputag_set_input_line(device->machine(), "maincpu", M68K_IRQ_1, HOLD_LINE);
420      device->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1, HOLD_LINE);
421421   }
422422   else
423423   {
424424      //logerror("IDE interrupt cleared\n");
425      cputag_set_input_line(device->machine(), "maincpu", M68K_IRQ_1, CLEAR_LINE);
425      device->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1, CLEAR_LINE);
426426   }
427427}
428428
trunk/src/mame/drivers/mustache.c
r17813r17814
159159
160160static TIMER_CALLBACK( clear_irq_cb )
161161{
162   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
162   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
163163}
164164
165165static INTERRUPT_GEN( assert_irq )
trunk/src/mame/drivers/neogeo.c
r17813r17814
248248{
249249   neogeo_state *state = machine.driver_data<neogeo_state>();
250250
251   cputag_set_input_line(machine, "maincpu", 1, state->m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
252   cputag_set_input_line(machine, "maincpu", 2, state->m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
253   cputag_set_input_line(machine, "maincpu", 3, state->m_irq3_pending ? ASSERT_LINE : CLEAR_LINE);
251   machine.device("maincpu")->execute().set_input_line(1, state->m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
252   machine.device("maincpu")->execute().set_input_line(2, state->m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
253   machine.device("maincpu")->execute().set_input_line(3, state->m_irq3_pending ? ASSERT_LINE : CLEAR_LINE);
254254}
255255
256256
r17813r17814
775775   {
776776      state->m_audio_cpu_rom_source_last = state->m_audio_cpu_rom_source;
777777
778      cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, PULSE_LINE);
778      space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
779779
780780      if (LOG_AUDIO_CPU_BANKING) logerror("Audio CPU PC %03x: selectign %s ROM\n", space->device().safe_pc(), state->m_audio_cpu_rom_source ? "CARTRIDGE" : "BIOS");
781781   }
trunk/src/mame/drivers/buggychl.c
r17813r17814
379379{
380380   buggychl_state *state = machine.driver_data<buggychl_state>();
381381
382   cputag_set_input_line(machine, "mcu", 0, CLEAR_LINE);
382   machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
383383
384384   state->m_sound_nmi_enable = 0;
385385   state->m_pending_nmi = 0;
trunk/src/mame/drivers/gottlieb.c
r17813r17814
655655
656656static TIMER_CALLBACK( nmi_clear )
657657{
658   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
658   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
659659}
660660
661661
trunk/src/mame/drivers/acommand.c
r17813r17814
590590   int scanline = param;
591591
592592   if(scanline == 240) // vblank-out irq
593      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
593      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
594594
595595   if(scanline == 0) // vblank-in irq? (update palette and layers)
596      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
596      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
597597}
598598
599599static MACHINE_CONFIG_START( acommand, acommand_state )
trunk/src/mame/drivers/xxmissio.c
r17813r17814
3535
3636      case 0x40:
3737         m_status &= ~0x08;
38         cputag_set_input_line_and_vector(machine(), "sub", 0, HOLD_LINE, 0x10);
38         machine().device("sub")->execute().set_input_line_and_vector(0, HOLD_LINE, 0x10);
3939         break;
4040
4141      case 0x80:
r17813r17814
5858
5959      case 0x80:
6060         m_status &= ~0x04;
61         cputag_set_input_line_and_vector(machine(), "maincpu", 0, HOLD_LINE, 0x10);
61         machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0x10);
6262         break;
6363   }
6464}
trunk/src/mame/drivers/ecoinfr.c
r17813r17814
109109
110110   if (state->irq_toggle==0)
111111   {
112      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xe4);
112      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xe4);
113113   }
114114   else
115115   {
116      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xe0);
116      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xe0);
117117   }
118118
119119
trunk/src/mame/drivers/groundfx.c
r17813r17814
100100
101101static TIMER_CALLBACK( groundfx_interrupt5 )
102102{
103   cputag_set_input_line(machine, "maincpu", 5, HOLD_LINE); //from 5... ADC port
103   machine.device("maincpu")->execute().set_input_line(5, HOLD_LINE); //from 5... ADC port
104104}
105105
106106
trunk/src/mame/drivers/tickee.c
r17813r17814
9393   state->m_gunx[which] = beamx;
9494
9595   /* fire the IRQ at the correct moment */
96   cputag_set_input_line(machine, "maincpu", param, ASSERT_LINE);
96   machine.device("maincpu")->execute().set_input_line(param, ASSERT_LINE);
9797}
9898
9999
100100static TIMER_CALLBACK( clear_gun_interrupt )
101101{
102102   /* clear the IRQ on the next scanline? */
103   cputag_set_input_line(machine, "maincpu", param, CLEAR_LINE);
103   machine.device("maincpu")->execute().set_input_line(param, CLEAR_LINE);
104104}
105105
106106
trunk/src/mame/drivers/srmp5.c
r17813r17814
344344
345345READ32_MEMBER(srmp5_state::irq_ack_clear)
346346{
347   cputag_set_input_line(machine(), "sub", R3000_IRQ4, CLEAR_LINE);
347   machine().device("sub")->execute().set_input_line(R3000_IRQ4, CLEAR_LINE);
348348   return 0;
349349}
350350
trunk/src/mame/drivers/suprloco.c
r17813r17814
2020WRITE8_MEMBER(suprloco_state::suprloco_soundport_w)
2121{
2222   soundlatch_byte_w(space, 0, data);
23   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
23   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
2424   /* spin for a while to let the Z80 read the command (fixes hanging sound in Regulus) */
2525   device_spin_until_time(&space.device(), attotime::from_usec(50));
2626}
trunk/src/mame/drivers/wwfwfest.c
r17813r17814
101101WRITE16_MEMBER(wwfwfest_state::wwfwfest_irq_ack_w)
102102{
103103   if (offset == 0)
104      cputag_set_input_line(machine(), "maincpu", 3, CLEAR_LINE);
104      machine().device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
105105
106106   else
107      cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
107      machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
108108}
109109
110110WRITE16_MEMBER(wwfwfest_state::wwfwfest_flipscreen_w)
r17813r17814
165165WRITE16_MEMBER(wwfwfest_state::wwfwfest_soundwrite)
166166{
167167   soundlatch_byte_w(space,1,data & 0xff);
168   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE );
168   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
169169}
170170
171171/*******************************************************************************
r17813r17814
351351   {
352352      if (scanline > 0)
353353         timer.machine().primary_screen->update_partial(scanline - 1);
354      cputag_set_input_line(timer.machine(), "maincpu", 2, ASSERT_LINE);
354      timer.machine().device("maincpu")->execute().set_input_line(2, ASSERT_LINE);
355355   }
356356
357357   /* Vblank is raised on scanline 248 */
358358   if (scanline == 248)
359359   {
360360      timer.machine().primary_screen->update_partial(scanline - 1);
361      cputag_set_input_line(timer.machine(), "maincpu", 3, ASSERT_LINE);
361      timer.machine().device("maincpu")->execute().set_input_line(3, ASSERT_LINE);
362362   }
363363}
364364
r17813r17814
370370
371371static void dd3_ymirq_handler(device_t *device, int irq)
372372{
373   cputag_set_input_line(device->machine(), "audiocpu", 0 , irq ? ASSERT_LINE : CLEAR_LINE );
373   device->machine().device("audiocpu")->execute().set_input_line(0 , irq ? ASSERT_LINE : CLEAR_LINE );
374374}
375375
376376static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/feversoc.c
r17813r17814
247247
248248static INTERRUPT_GEN( feversoc_irq )
249249{
250   cputag_set_input_line(device->machine(), "maincpu", 8, HOLD_LINE );
250   device->machine().device("maincpu")->execute().set_input_line(8, HOLD_LINE );
251251}
252252
253253static MACHINE_CONFIG_START( feversoc, feversoc_state )
trunk/src/mame/drivers/multigam.c
r17813r17814
10891089
10901090static void ppu_irq( device_t *device, int *ppu_regs )
10911091{
1092   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
1092   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
10931093}
10941094
10951095/* our ppu interface                                            */
trunk/src/mame/drivers/shangha3.c
r17813r17814
110110   if (ACCESSING_BITS_0_7)
111111   {
112112      soundlatch_byte_w(space, 0, data & 0xff);
113      cputag_set_input_line_and_vector(machine(), "audiocpu", 0, HOLD_LINE, 0xff);   /* RST 38h */
113      machine().device("audiocpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);   /* RST 38h */
114114   }
115115}
116116
r17813r17814
457457
458458static void irqhandler(device_t *device, int linestate)
459459{
460   cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, linestate);
460   device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, linestate);
461461}
462462
463463static const ym3438_interface ym3438_config =
trunk/src/mame/drivers/pkscram.c
r17813r17814
9393
9494   if (!(m_out & 0x2000) && m_interrupt_line_active)
9595   {
96       cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
96       machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
9797      m_interrupt_line_active = 0;
9898   }
9999
r17813r17814
217217   if (param == interrupt_scanline)
218218   {
219219       if (state->m_out & 0x2000)
220          cputag_set_input_line(timer.machine(), "maincpu", 1, ASSERT_LINE);
220          timer.machine().device("maincpu")->execute().set_input_line(1, ASSERT_LINE);
221221      timer.adjust(timer.machine().primary_screen->time_until_pos(param + 1), param+1);
222222      state->m_interrupt_line_active = 1;
223223   }
224224   else
225225   {
226226      if (state->m_interrupt_line_active)
227          cputag_set_input_line(timer.machine(), "maincpu", 1, CLEAR_LINE);
227          timer.machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
228228      timer.adjust(timer.machine().primary_screen->time_until_pos(interrupt_scanline), interrupt_scanline);
229229      state->m_interrupt_line_active = 0;
230230   }
r17813r17814
270270{
271271   pkscram_state *state = device->machine().driver_data<pkscram_state>();
272272   if(state->m_out & 0x10)
273      cputag_set_input_line(device->machine(), "maincpu", 2, irq ? ASSERT_LINE : CLEAR_LINE);
273      device->machine().device("maincpu")->execute().set_input_line(2, irq ? ASSERT_LINE : CLEAR_LINE);
274274}
275275
276276static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/vastar.c
r17813r17814
6969static MACHINE_RESET( vastar )
7070{
7171   /* we must start with the second CPU halted */
72   cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, ASSERT_LINE);
72   machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
7373}
7474
7575WRITE8_MEMBER(vastar_state::vastar_hold_cpu2_w)
7676{
7777   /* I'm not sure that this works exactly like this */
78   cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
78   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
7979}
8080
8181READ8_MEMBER(vastar_state::vastar_sharedram_r)
trunk/src/mame/drivers/39in1.c
r17813r17814
724724
725725   intc_regs->icfp = (intc_regs->icpr & intc_regs->icmr) & intc_regs->iclr;
726726   intc_regs->icip = (intc_regs->icpr & intc_regs->icmr) & (~intc_regs->iclr);
727   cputag_set_input_line(machine, "maincpu", ARM7_FIRQ_LINE, intc_regs->icfp ? ASSERT_LINE : CLEAR_LINE);
728   cputag_set_input_line(machine, "maincpu", ARM7_IRQ_LINE,  intc_regs->icip ? ASSERT_LINE : CLEAR_LINE);
727   machine.device("maincpu")->execute().set_input_line(ARM7_FIRQ_LINE, intc_regs->icfp ? ASSERT_LINE : CLEAR_LINE);
728   machine.device("maincpu")->execute().set_input_line(ARM7_IRQ_LINE,  intc_regs->icip ? ASSERT_LINE : CLEAR_LINE);
729729}
730730
731731static void pxa255_set_irq_line(running_machine& machine, UINT32 line, int irq_state)
trunk/src/mame/drivers/baraduke.c
r17813r17814
155155
156156WRITE8_MEMBER(baraduke_state::baraduke_irq_ack_w)
157157{
158   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
158   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
159159}
160160
161161
trunk/src/mame/drivers/guab.c
r17813r17814
106106
107107WRITE_LINE_MEMBER(guab_state::ptm_irq)
108108{
109   cputag_set_input_line(machine(), "maincpu", INT_6840PTM, state);
109   machine().device("maincpu")->execute().set_input_line(INT_6840PTM, state);
110110}
111111
112112static const ptm6840_interface ptm_intf =
r17813r17814
130130
131131static void tms_interrupt(running_machine &machine, int state)
132132{
133   cputag_set_input_line(machine, "maincpu", INT_TMS34061, state);
133   machine.device("maincpu")->execute().set_input_line(INT_TMS34061, state);
134134}
135135
136136static const struct tms34061_interface tms34061intf =
r17813r17814
380380   }
381381
382382   fdc.status |= DATA_REQUEST;
383   cputag_set_input_line(machine, "maincpu", INT_FLOPPYCTRL, ASSERT_LINE);
383   machine.device("maincpu")->execute().set_input_line(INT_FLOPPYCTRL, ASSERT_LINE);
384384}
385385
386386
r17813r17814
475475                                             fdc.sector));
476476
477477               /* Trigger a DRQ interrupt on the CPU */
478               cputag_set_input_line(machine(), "maincpu", INT_FLOPPYCTRL, ASSERT_LINE);
478               machine().device("maincpu")->execute().set_input_line(INT_FLOPPYCTRL, ASSERT_LINE);
479479               fdc.status |= DATA_REQUEST;
480480               break;
481481            }
r17813r17814
520520         fdc.data = data;
521521
522522         /* Clear the DRQ */
523         cputag_set_input_line(machine(), "maincpu", INT_FLOPPYCTRL, CLEAR_LINE);
523         machine().device("maincpu")->execute().set_input_line(INT_FLOPPYCTRL, CLEAR_LINE);
524524
525525         /* Queue an event to write the data if write command was specified */
526526         if (fdc.cmd & 0x20)
r17813r17814
558558         retval = fdc.data;
559559
560560         /* Clear the DRQ */
561         cputag_set_input_line(machine(), "maincpu", INT_FLOPPYCTRL, CLEAR_LINE);
561         machine().device("maincpu")->execute().set_input_line(INT_FLOPPYCTRL, CLEAR_LINE);
562562         fdc.status &= ~DATA_REQUEST;
563563         break;
564564      }
trunk/src/mame/drivers/mpu4vid.c
r17813r17814
300300static void update_mpu68_interrupts(running_machine &machine)
301301{
302302   mpu4vid_state *state = machine.driver_data<mpu4vid_state>();
303   cputag_set_input_line(machine, "video", 1, state->m_m6840_irq_state ? ASSERT_LINE : CLEAR_LINE);
304   cputag_set_input_line(machine, "video", 2, state->m_m6850_irq_state ? CLEAR_LINE : ASSERT_LINE);
305   cputag_set_input_line(machine, "video", 3, state->m_scn2674->get_irq_state() ? ASSERT_LINE : CLEAR_LINE);
303   machine.device("video")->execute().set_input_line(1, state->m_m6840_irq_state ? ASSERT_LINE : CLEAR_LINE);
304   machine.device("video")->execute().set_input_line(2, state->m_m6850_irq_state ? CLEAR_LINE : ASSERT_LINE);
305   machine.device("video")->execute().set_input_line(3, state->m_scn2674->get_irq_state() ? ASSERT_LINE : CLEAR_LINE);
306306}
307307
308308/* Communications with 6809 board */
r17813r17814
341341{
342342   mpu4vid_state *drvstate = device->machine().driver_data<mpu4vid_state>();
343343   drvstate->m_m68k_acia_cts = !state;
344   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, state ? CLEAR_LINE : ASSERT_LINE);
344   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, state ? CLEAR_LINE : ASSERT_LINE);
345345}
346346
347347static ACIA6850_INTERFACE( m6809_acia_if )
trunk/src/mame/drivers/chqflag.c
r17813r17814
3232   int scanline = param;
3333
3434   if(scanline == 240 && k051960_is_irq_enabled(state->m_k051960)) // vblank irq
35      cputag_set_input_line(timer.machine(), "maincpu", KONAMI_IRQ_LINE, HOLD_LINE);
35      timer.machine().device("maincpu")->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE);
3636   else if(((scanline % 32) == 0) && (k051960_is_nmi_enabled(state->m_k051960))) // timer irq
37      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
37      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
3838}
3939
4040WRITE8_MEMBER(chqflag_state::chqflag_bankswitch_w)
trunk/src/mame/drivers/dooyong.c
r17813r17814
776776
777777static void irqhandler(device_t *device, int irq)
778778{
779   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
779   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
780780}
781781
782782static void irqhandler_2203_1(device_t *device, int irq)
783783{
784784   dooyong_state *state = device->machine().driver_data<dooyong_state>();
785785   state->m_interrupt_line_1=irq;
786   cputag_set_input_line(device->machine(), "audiocpu", 0, (state->m_interrupt_line_1 | state->m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
786   device->machine().device("audiocpu")->execute().set_input_line(0, (state->m_interrupt_line_1 | state->m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
787787}
788788
789789static void irqhandler_2203_2(device_t *device, int irq)
790790{
791791   dooyong_state *state = device->machine().driver_data<dooyong_state>();
792792   state->m_interrupt_line_2=irq;
793   cputag_set_input_line(device->machine(), "audiocpu", 0, (state->m_interrupt_line_1 | state->m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
793   device->machine().device("audiocpu")->execute().set_input_line(0, (state->m_interrupt_line_1 | state->m_interrupt_line_2) ? ASSERT_LINE : CLEAR_LINE);
794794}
795795
796796static const ym2203_interface ym2203_interface_1 =
r17813r17814
10681068   int scanline = param;
10691069
10701070   if(scanline == 248) // vblank-out irq
1071      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
1071      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
10721072
10731073   if(scanline == 120) // timer irq?
1074      cputag_set_input_line(timer.machine(), "maincpu", 6, HOLD_LINE);
1074      timer.machine().device("maincpu")->execute().set_input_line(6, HOLD_LINE);
10751075}
10761076
10771077
trunk/src/mame/drivers/cham24.c
r17813r17814
280280
281281static void ppu_irq( device_t *device, int *ppu_regs )
282282{
283   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
283   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
284284}
285285
286286/* our ppu interface                                            */
trunk/src/mame/drivers/rbmk.c
r17813r17814
528528
529529static INTERRUPT_GEN( mcu_irq )
530530{
531   cputag_set_input_line(device->machine(), "mcu", INPUT_LINE_NMI, PULSE_LINE);
531   device->machine().device("mcu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
532532}
533533
534534static MACHINE_CONFIG_START( rbmk, rbmk_state )
trunk/src/mame/drivers/trvmadns.c
r17813r17814
202202   {
203203      if(space.device().safe_pcbase()==0x29e9)// || space.device().safe_pcbase()==0x1b3f) //29f5
204204      {
205         cputag_set_input_line(machine(), "maincpu", 0, HOLD_LINE);
205         machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
206206      }
207207//      else
208208//          logerror("%x \n", space.device().safe_pcbase());
trunk/src/mame/drivers/rpunch.c
r17813r17814
126126{
127127   rpunch_state *drvstate = device->machine().driver_data<rpunch_state>();
128128   drvstate->m_ym2151_irq = state;
129   cputag_set_input_line(device->machine(), "audiocpu", 0, (drvstate->m_ym2151_irq | drvstate->m_sound_busy) ? ASSERT_LINE : CLEAR_LINE);
129   device->machine().device("audiocpu")->execute().set_input_line(0, (drvstate->m_ym2151_irq | drvstate->m_sound_busy) ? ASSERT_LINE : CLEAR_LINE);
130130}
131131
132132
r17813r17814
161161   rpunch_state *state = machine.driver_data<rpunch_state>();
162162   state->m_sound_busy = 1;
163163   state->m_sound_data = param;
164   cputag_set_input_line(machine, "audiocpu", 0, (state->m_ym2151_irq | state->m_sound_busy) ? ASSERT_LINE : CLEAR_LINE);
164   machine.device("audiocpu")->execute().set_input_line(0, (state->m_ym2151_irq | state->m_sound_busy) ? ASSERT_LINE : CLEAR_LINE);
165165}
166166
167167
r17813r17814
175175READ8_MEMBER(rpunch_state::sound_command_r)
176176{
177177   m_sound_busy = 0;
178   cputag_set_input_line(machine(), "audiocpu", 0, (m_ym2151_irq | m_sound_busy) ? ASSERT_LINE : CLEAR_LINE);
178   machine().device("audiocpu")->execute().set_input_line(0, (m_ym2151_irq | m_sound_busy) ? ASSERT_LINE : CLEAR_LINE);
179179   return m_sound_data;
180180}
181181
trunk/src/mame/drivers/cloud9.c
r17813r17814
194194static MACHINE_RESET( cloud9 )
195195{
196196   cloud9_state *state = machine.driver_data<cloud9_state>();
197   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
197   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
198198   state->m_irq_state = 0;
199199}
200200
trunk/src/mame/drivers/bingoc.c
r17813r17814
9191WRITE16_MEMBER(bingoc_state::main_sound_latch_w)
9292{
9393   soundlatch_byte_w(space,0,data&0xff);
94   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
94   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
9595}
9696#endif
9797
trunk/src/mame/drivers/changela.c
r17813r17814
407407   int scanline = param;
408408
409409   if(scanline == 256) // vblank irq
410      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xdf);
410      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xdf);
411411   else if(((scanline % 64) == 0)) // timer irq, 3 times per given vblank field
412      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xcf);
412      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xcf);
413413}
414414
415415static INTERRUPT_GEN( chl_mcu_irq )
trunk/src/mame/drivers/sidepckt.c
r17813r17814
134134WRITE8_MEMBER(sidepckt_state::sound_cpu_command_w)
135135{
136136   soundlatch_byte_w(space, offset, data);
137   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
137   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
138138}
139139
140140READ8_MEMBER(sidepckt_state::sidepckt_i8751_r)
r17813r17814
148148   static const int table_2[]={0x8e,0x42,0xad,0x58,0xec,0x85,0xdd,0x4c,0xad,0x9f,0x00,0x4c,0x7e,0x42,0xa2,0xff};
149149   static const int table_3[]={0xbd,0x73,0x80,0xbd,0x73,0xa7,0xbd,0x73,0xe0,0x7e,0x72,0x56,0xff,0xff,0xff,0xff};
150150
151   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, HOLD_LINE); /* i8751 triggers FIRQ on main cpu */
151   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); /* i8751 triggers FIRQ on main cpu */
152152
153153   /* This function takes multiple parameters */
154154   if (m_in_math==1) {
r17813r17814
188188   static const int table_2[]={0x8e,0x42,0xb2,0x58,0xec,0x85,0xdd,0x4c,0xad,0x9f,0x00,0x4c,0x7e,0x42,0xa7,0xff};
189189   static const int table_3[]={0xbd,0x71,0xc8,0xbd,0x71,0xef,0xbd,0x72,0x28,0x7e,0x70,0x9e,0xff,0xff,0xff,0xff};
190190
191   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, HOLD_LINE); /* i8751 triggers FIRQ on main cpu */
191   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); /* i8751 triggers FIRQ on main cpu */
192192
193193   /* This function takes multiple parameters */
194194   if (m_in_math==1) {
trunk/src/mame/drivers/starwars.c
r17813r17814
7474
7575WRITE8_MEMBER(starwars_state::irq_ack_w)
7676{
77   cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, CLEAR_LINE);
77   machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
7878}
7979
8080
trunk/src/mame/drivers/cubeqst.c
r17813r17814
280280*/
281281WRITE16_MEMBER(cubeqst_state::reset_w)
282282{
283   cputag_set_input_line(machine(), "rotate_cpu", INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
284   cputag_set_input_line(machine(), "line_cpu", INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
285   cputag_set_input_line(machine(), "sound_cpu", INPUT_LINE_RESET, data & 2 ? CLEAR_LINE : ASSERT_LINE);
283   machine().device("rotate_cpu")->execute().set_input_line(INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
284   machine().device("line_cpu")->execute().set_input_line(INPUT_LINE_RESET, data & 1 ? CLEAR_LINE : ASSERT_LINE);
285   machine().device("sound_cpu")->execute().set_input_line(INPUT_LINE_RESET, data & 2 ? CLEAR_LINE : ASSERT_LINE);
286286
287287   /* Swap stack and pointer RAM banks on rising edge of display reset */
288288   if (!BIT(m_reset_latch, 0) && BIT(data, 0))
r17813r17814
451451   state->m_reset_latch = 0;
452452
453453   /* Auxillary CPUs are held in reset */
454   cputag_set_input_line(machine, "sound_cpu", INPUT_LINE_RESET, ASSERT_LINE);
455   cputag_set_input_line(machine, "rotate_cpu", INPUT_LINE_RESET, ASSERT_LINE);
456   cputag_set_input_line(machine, "line_cpu", INPUT_LINE_RESET, ASSERT_LINE);
454   machine.device("sound_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
455   machine.device("rotate_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
456   machine.device("line_cpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
457457}
458458
459459
trunk/src/mame/drivers/savquest.c
r17813r17814
334334
335335WRITE_LINE_MEMBER(savquest_state::pc_dma_hrq_changed)
336336{
337   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
337   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
338338
339339   /* Assert HLDA */
340340   i8237_hlda_w( m_dma8237_1, state );
trunk/src/mame/drivers/astrocorp.c
r17813r17814
513513   int scanline = param;
514514
515515   if(scanline == 240) // vblank-out irq. controls sprites, sound, i/o
516      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
516      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
517517
518518   if(scanline == 0) // vblank-in? controls palette
519      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
519      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
520520}
521521
522522static MACHINE_CONFIG_START( skilldrp, astrocorp_state )
trunk/src/mame/drivers/coolridr.c
r17813r17814
11571157
11581158static MACHINE_RESET ( coolridr )
11591159{
1160//  cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
1161   cputag_set_input_line(machine, "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
1160//  machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
1161   machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
11621162}
11631163
11641164static MACHINE_CONFIG_START( coolridr, coolridr_state )
trunk/src/mame/drivers/mpu4hw.c
r17813r17814
490490
491491   if (!m_link7a_connected) //7B = IRQ, 7A = FIRQ, both = NMI
492492   {
493      cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
493      machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
494494      LOG(("6809 int%d \n", combined_state));
495495   }
496496   else
497497   {
498      cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
498      machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
499499      LOG(("6809 fint%d \n", combined_state));
500500   }
501501}
trunk/src/mame/drivers/cobra.c
r17813r17814
12311231   {
12321232      case cobra_fifo::EVENT_EMPTY:
12331233      {
1234         cputag_set_input_line(machine(), "subcpu", INPUT_LINE_IRQ0, CLEAR_LINE);
1234         machine().device("subcpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
12351235
12361236         // give sub cpu a bit more time to stabilize on the current fifo status
12371237         device_spin_until_time(machine().device("maincpu"), attotime::from_usec(1));
r17813r17814
12411241            if (!m_m2s_int_mode)
12421242               m_main_int_active |= MAIN_INT_M2S;
12431243
1244            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
1244            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
12451245         }
12461246
12471247         // EXISR needs to update for the *next* instruction during FIFO tests
r17813r17814
14271427      if (!m_m2s_int_mode)
14281428         m_main_int_active &= ~MAIN_INT_M2S;
14291429
1430      cputag_set_input_line(space.machine(), "subcpu", INPUT_LINE_IRQ0, ASSERT_LINE);
1430      space.machine().device("subcpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
14311431
14321432      // EXISR needs to update for the *next* instruction during FIFO tests
14331433      // TODO: try to abort the timeslice before the next instruction?
r17813r17814
14841484      if ((m_vblank_enable & 0x80) == 0)
14851485      {
14861486         // clear the interrupt
1487         cputag_set_input_line(space.machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
1487         space.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
14881488      }
14891489   }
14901490   if (ACCESSING_BITS_16_23)
r17813r17814
15031503         m_main_int_active &= ~MAIN_INT_S2M;
15041504
15051505         // clear the interrupt
1506         cputag_set_input_line(space.machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
1506         space.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
15071507      }
15081508   }
15091509   if (ACCESSING_BITS_8_15)
r17813r17814
15291529         m_main_int_active &= ~MAIN_INT_M2S;
15301530
15311531         // clear the interrupt
1532         cputag_set_input_line(space.machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
1532         space.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
15331533      }
15341534   }
15351535
r17813r17814
17221722      // fire off an interrupt if enabled
17231723      if (m_s2m_int_enable & 0x80)
17241724      {
1725         cputag_set_input_line(space.machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
1725         space.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
17261726      }
17271727   }
17281728   if (ACCESSING_BITS_16_23)
r17813r17814
31923192
31933193   if (cobra->m_vblank_enable & 0x80)
31943194   {
3195      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
3195      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
31963196      cobra->m_gfx_unk_flag = 0x80;
31973197   }
31983198}
trunk/src/mame/drivers/tryout.c
r17813r17814
2727
2828WRITE8_MEMBER(tryout_state::tryout_nmi_ack_w)
2929{
30   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE );
30   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE );
3131}
3232
3333WRITE8_MEMBER(tryout_state::tryout_sound_w)
3434{
3535   soundlatch_byte_w(space, 0, data);
36   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
36   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
3737}
3838
3939/*this is actually irq/nmi mask, polls only four values at start up (81->01->81->01) and then
4040  stays on this state.*/
4141WRITE8_MEMBER(tryout_state::tryout_sound_irq_ack_w)
4242{
43//  cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
43//  machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
4444}
4545
4646WRITE8_MEMBER(tryout_state::tryout_bankswitch_w)
r17813r17814
8484INPUT_CHANGED_MEMBER(tryout_state::coin_inserted)
8585{
8686   if (oldval)
87      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
87      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
8888}
8989
9090static INPUT_PORTS_START( tryout )
trunk/src/mame/drivers/photoply.c
r17813r17814
6363
6464WRITE_LINE_MEMBER(photoply_state::pc_dma_hrq_changed)
6565{
66   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
66   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
6767
6868   /* Assert HLDA */
6969   i8237_hlda_w( m_dma8237_1, state );
r17813r17814
171171
172172WRITE_LINE_MEMBER(photoply_state::pic8259_1_set_int_line)
173173{
174   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
174   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
175175}
176176
177177READ8_MEMBER(photoply_state::get_slave_ack)
trunk/src/mame/drivers/tempest.c
r17813r17814
324324
325325WRITE8_MEMBER(tempest_state::wdclr_w)
326326{
327   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
327   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
328328   machine().watchdog_reset();
329329}
330330
trunk/src/mame/drivers/eprom.c
r17813r17814
4141{
4242   eprom_state *state = machine.driver_data<eprom_state>();
4343
44   cputag_set_input_line(machine, "maincpu", 4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
44   machine.device("maincpu")->execute().set_input_line(4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
4545
4646   if (machine.device("extra") != NULL)
47      cputag_set_input_line(machine, "extra", 4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
47      machine.device("extra")->execute().set_input_line(4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
4848
49   cputag_set_input_line(machine, "maincpu", 6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
49   machine.device("maincpu")->execute().set_input_line(6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
5050}
5151
5252
r17813r17814
110110   {
111111      /* bit 0: reset extra CPU */
112112      if (data & 1)
113         cputag_set_input_line(machine(), "extra", INPUT_LINE_RESET, CLEAR_LINE);
113         machine().device("extra")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
114114      else
115         cputag_set_input_line(machine(), "extra", INPUT_LINE_RESET, ASSERT_LINE);
115         machine().device("extra")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
116116
117117      /* bits 1-4: screen intensity */
118118      m_screen_intensity = (data & 0x1e) >> 1;
trunk/src/mame/drivers/famibox.c
r17813r17814
516516
517517static void ppu_irq( device_t *device, int *ppu_regs )
518518{
519   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
519   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
520520}
521521
522522/* our ppu interface                                            */
trunk/src/mame/drivers/cshooter.c
r17813r17814
205205   int scanline = param;
206206
207207   if(scanline == 240) // vblank-out irq
208      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0x10); /* RST 10h */
208      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0x10); /* RST 10h */
209209
210210   if(scanline == 0) // vblank-in irq
211      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0x08); /* RST 08h */
211      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0x08); /* RST 08h */
212212}
213213
214214
trunk/src/mame/drivers/quakeat.c
r17813r17814
117117
118118WRITE_LINE_MEMBER(quakeat_state::quakeat_pic8259_1_set_int_line)
119119{
120   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
120   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
121121}
122122
123123READ8_MEMBER(quakeat_state::get_slave_ack)
trunk/src/mame/drivers/ultrsprt.c
r17813r17814
9797
9898WRITE32_MEMBER(ultrsprt_state::int_ack_w)
9999{
100   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
100   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
101101}
102102
103103static MACHINE_START( ultrsprt )
r17813r17814
213213   if (irq == 0)
214214      /*generic_pulse_irq_line(machine.device("audiocpu"), INPUT_LINE_IRQ5, 1)*/;
215215   else
216      cputag_set_input_line(machine, "audiocpu", INPUT_LINE_IRQ6, HOLD_LINE);
216      machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_IRQ6, HOLD_LINE);
217217}
218218
219219static const k056800_interface ultrsprt_k056800_interface =
trunk/src/mame/drivers/maygay1b.c
r17813r17814
550550
551551static void duart_irq_handler(device_t *device, int state, UINT8 vector)
552552{
553   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, state);
553   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, state);
554554   LOG(("6809 irq%d \n",state));
555555}
556556
r17813r17814
564564
565565static void cpu0_nmi(running_machine &machine, int state)
566566{
567   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, state?ASSERT_LINE:CLEAR_LINE);
567   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, state?ASSERT_LINE:CLEAR_LINE);
568568   LOG(("6809 nmi%d \n",state));
569569}
570570
trunk/src/mame/drivers/twinkle.c
r17813r17814
662662
663663   if ((state_) && (state->m_spu_ctrl & 0x0400))
664664   {
665      cputag_set_input_line(device->machine(), "audiocpu", M68K_IRQ_6, ASSERT_LINE);
665      device->machine().device("audiocpu")->execute().set_input_line(M68K_IRQ_6, ASSERT_LINE);
666666   }
667667}
668668
trunk/src/mame/drivers/lgp.c
r17813r17814
332332
333333static TIMER_CALLBACK( irq_stop )
334334{
335   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
335   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
336336}
337337
338338static INTERRUPT_GEN( vblank_callback_lgp )
trunk/src/mame/drivers/deadang.c
r17813r17814
211211   int scanline = param;
212212
213213   if(scanline == 240) // vblank-out irq
214      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xc4/4);
214      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xc4/4);
215215
216216   if(scanline == 0) // vblank-in irq
217      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0xc8/4);
217      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xc8/4);
218218}
219219
220220static TIMER_DEVICE_CALLBACK( deadang_sub_scanline )
r17813r17814
222222   int scanline = param;
223223
224224   if(scanline == 240) // vblank-out irq
225      cputag_set_input_line_and_vector(timer.machine(), "sub", 0, HOLD_LINE,0xc4/4);
225      timer.machine().device("sub")->execute().set_input_line_and_vector(0, HOLD_LINE,0xc4/4);
226226
227227   if(scanline == 0) // vblank-in irq
228      cputag_set_input_line_and_vector(timer.machine(), "sub", 0, HOLD_LINE,0xc8/4);
228      timer.machine().device("sub")->execute().set_input_line_and_vector(0, HOLD_LINE,0xc8/4);
229229}
230230
231231/* Machine Drivers */
trunk/src/mame/drivers/cliffhgr.c
r17813r17814
161161READ8_MEMBER(cliffhgr_state::cliff_irq_ack_r)
162162{
163163   /* deassert IRQ on the CPU */
164   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
164   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
165165
166166   return 0x00;
167167}
r17813r17814
206206   if (state->m_phillips_code & 0x800000)
207207   {
208208//      printf("%2d:code = %06X\n", param, phillips_code);
209      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
209      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
210210   }
211211
212212   state->m_irq_timer->adjust(machine.primary_screen->time_until_pos(param * 2), param);
r17813r17814
214214
215215WRITE_LINE_MEMBER(cliffhgr_state::vdp_interrupt)
216216{
217   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
217   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE);
218218}
219219
220220
trunk/src/mame/drivers/artmagic.c
r17813r17814
4545static void update_irq_state(running_machine &machine)
4646{
4747   artmagic_state *state = machine.driver_data<artmagic_state>();
48   cputag_set_input_line(machine, "maincpu", 4, state->m_tms_irq  ? ASSERT_LINE : CLEAR_LINE);
49   cputag_set_input_line(machine, "maincpu", 5, state->m_hack_irq ? ASSERT_LINE : CLEAR_LINE);
48   machine.device("maincpu")->execute().set_input_line(4, state->m_tms_irq  ? ASSERT_LINE : CLEAR_LINE);
49   machine.device("maincpu")->execute().set_input_line(5, state->m_hack_irq ? ASSERT_LINE : CLEAR_LINE);
5050}
5151
5252
trunk/src/mame/drivers/twincobr.c
r17813r17814
549549/* handler called by the 3812 emulator when the internal timers cause an IRQ */
550550static void irqhandler(device_t *device, int linestate)
551551{
552   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate);
552   device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
553553}
554554
555555static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/hexion.c
r17813r17814
104104
105105WRITE_LINE_MEMBER(hexion_state::hexion_irq_ack_w)
106106{
107   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
107   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
108108}
109109
110110WRITE_LINE_MEMBER(hexion_state::hexion_nmi_ack_w)
111111{
112   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
112   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
113113}
114114
115115static ADDRESS_MAP_START( hexion_map, AS_PROGRAM, 8, hexion_state )
r17813r17814
205205   int scanline = param;
206206
207207   if(scanline == 256)
208      cputag_set_input_line(timer.machine(), "maincpu", 0, ASSERT_LINE);
208      timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
209209   else if ((scanline == 85) || (scanline == 170)) //TODO
210      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
210      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
211211}
212212
213213static const k053252_interface hexion_k053252_intf =
trunk/src/mame/drivers/galpani2.c
r17813r17814
115115      mcu_data   =   srcspace->read_byte(mcu_address );
116116      dstspace->write_byte(mcu_address-0x10, mcu_data);
117117   }
118   cputag_set_input_line(machine(), "sub", INPUT_LINE_IRQ7, HOLD_LINE); //MCU Initialised
118   machine().device("sub")->execute().set_input_line(INPUT_LINE_IRQ7, HOLD_LINE); //MCU Initialised
119119}
120120
121121static void galpani2_mcu_nmi1(running_machine &machine)
trunk/src/mame/drivers/midqslvr.c
r17813r17814
472472
473473WRITE_LINE_MEMBER(midqslvr_state::pc_dma_hrq_changed)
474474{
475   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
475   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
476476
477477   /* Assert HLDA */
478478   i8237_hlda_w( m_dma8237_1, state );
trunk/src/mame/drivers/exterm.c
r17813r17814
159159   {
160160      /* Bit 13 = Resets the slave CPU */
161161      if ((data & 0x2000) && !(m_last & 0x2000))
162         cputag_set_input_line(machine(), "slave", INPUT_LINE_RESET, PULSE_LINE);
162         machine().device("slave")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
163163
164164      /* Bits 14-15 = Coin counters */
165165      coin_counter_w(machine(), 0, data & 0x8000);
r17813r17814
175175   exterm_state *state = machine.driver_data<exterm_state>();
176176   /* data is latched independently for both sound CPUs */
177177   state->m_master_sound_latch = state->m_slave_sound_latch = param;
178   cputag_set_input_line(machine, "audiocpu", M6502_IRQ_LINE, ASSERT_LINE);
179   cputag_set_input_line(machine, "audioslave", M6502_IRQ_LINE, ASSERT_LINE);
178   machine.device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
179   machine.device("audioslave")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
180180}
181181
182182
r17813r17814
199199   exterm_state *state = timer.machine().driver_data<exterm_state>();
200200   /* bit 0 of the sound control determines if the NMI is actually delivered */
201201   if (state->m_sound_control & 0x01)
202      cputag_set_input_line(timer.machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
202      timer.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
203203}
204204
205205
r17813r17814
225225READ8_MEMBER(exterm_state::sound_master_latch_r)
226226{
227227   /* read latch and clear interrupt */
228   cputag_set_input_line(machine(), "audiocpu", M6502_IRQ_LINE, CLEAR_LINE);
228   machine().device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
229229   return m_master_sound_latch;
230230}
231231
r17813r17814
233233READ8_MEMBER(exterm_state::sound_slave_latch_r)
234234{
235235   /* read latch and clear interrupt */
236   cputag_set_input_line(machine(), "audioslave", M6502_IRQ_LINE, CLEAR_LINE);
236   machine().device("audioslave")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
237237   return m_slave_sound_latch;
238238}
239239
r17813r17814
250250READ8_MEMBER(exterm_state::sound_nmi_to_slave_r)
251251{
252252   /* a read from here triggers an NMI pulse to the slave */
253   cputag_set_input_line(machine(), "audioslave", INPUT_LINE_NMI, PULSE_LINE);
253   machine().device("audioslave")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
254254   return 0xff;
255255}
256256
trunk/src/mame/drivers/seibuspi.c
r17813r17814
859859
860860READ32_MEMBER(seibuspi_state::spi_int_r)
861861{
862   cputag_set_input_line(machine(), "maincpu", 0,CLEAR_LINE );
862   machine().device("maincpu")->execute().set_input_line(0,CLEAR_LINE );
863863   return 0xffffffff;
864864}
865865
r17813r17814
907907   if( ACCESSING_BITS_0_7 ) {
908908      if( data & 0x1 ) {
909909         m_z80_prg_fifo_pos = 0;
910         cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, CLEAR_LINE );
910         machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE );
911911      } else {
912         cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, ASSERT_LINE );
912         machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
913913      }
914914   }
915915}
r17813r17814
10981098static void irqhandler(device_t *device, int state)
10991099{
11001100   if (state)
1101      cputag_set_input_line_and_vector(device->machine(), "soundcpu", 0, ASSERT_LINE, 0xd7);   // IRQ is RST10
1101      device->machine().device("soundcpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xd7);   // IRQ is RST10
11021102   else
1103      cputag_set_input_line(device->machine(), "soundcpu", 0, CLEAR_LINE);
1103      device->machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
11041104}
11051105
11061106WRITE32_MEMBER(seibuspi_state::sys386f2_eeprom_w)
r17813r17814
18161816   UINT8 *rombase = state->memregion("user1")->base();
18171817   UINT8 flash_data = rombase[0x1ffffc];
18181818
1819   cputag_set_input_line(machine, "soundcpu", INPUT_LINE_RESET, ASSERT_LINE );
1819   machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE );
18201820   device_set_irq_callback(machine.device("maincpu"), spi_irq_callback);
18211821
18221822   machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x00000680, 0x00000683, read32_delegate(FUNC(seibuspi_state::sound_fifo_r),state));
trunk/src/mame/drivers/coolpool.c
r17813r17814
225225
226226   /* bits 10-15 are counted down over time */
227227
228   cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, (data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
228   machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
229229}
230230
231231READ16_MEMBER(coolpool_state::amerdart_dsp_bio_line_r)
r17813r17814
251251{
252252
253253//  logerror("%08x:IOP read %04x\n",space.device().safe_pc(),m_iop_answer);
254   cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
254   machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
255255
256256   return m_iop_answer;
257257}
r17813r17814
277277
278278//  logerror("%08x:DSP answer %04x\n", space.device().safe_pc(), data);
279279   m_iop_answer = data;
280   cputag_set_input_line(machine(), "maincpu", 1, ASSERT_LINE);
280   machine().device("maincpu")->execute().set_input_line(1, ASSERT_LINE);
281281}
282282
283283
r17813r17814
444444   coin_counter_w(machine(), 0, ~data & 0x0001);
445445   coin_counter_w(machine(), 1, ~data & 0x0002);
446446
447   cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, (data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
447   machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x0400) ? ASSERT_LINE : CLEAR_LINE);
448448}
449449
450450
r17813r17814
462462
463463   state->m_iop_cmd = param;
464464   state->m_cmd_pending = 1;
465   cputag_set_input_line(machine, "dsp", 0, HOLD_LINE);   /* ???  I have no idea who should generate this! */
465   machine.device("dsp")->execute().set_input_line(0, HOLD_LINE);   /* ???  I have no idea who should generate this! */
466466                                             /* the DSP polls the status bit so it isn't strictly */
467467                                             /* necessary to also have an IRQ */
468468   machine.scheduler().boost_interleave(attotime::zero, attotime::from_usec(50));
r17813r17814
480480{
481481
482482   logerror("%08x:IOP read %04x\n",space.device().safe_pc(),m_iop_answer);
483   cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
483   machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
484484
485485   return m_iop_answer;
486486}
r17813r17814
508508
509509   logerror("%08x:IOP answer %04x\n", space.device().safe_pc(), data);
510510   m_iop_answer = data;
511   cputag_set_input_line(machine(), "maincpu", 1, ASSERT_LINE);
511   machine().device("maincpu")->execute().set_input_line(1, ASSERT_LINE);
512512}
513513
514514
trunk/src/mame/drivers/system1.c
r17813r17814
481481   /* bit 6 = feedback from sound board that read occurrred */
482482
483483   /* bit 7 controls the sound CPU's NMI line */
484   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
484   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
485485
486486   /* remaining bits are used for video RAM banking */
487487   system1_videoram_bank_w(device, offset, data);
r17813r17814
524524static TIMER_DEVICE_CALLBACK( soundirq_gen )
525525{
526526   /* sound IRQ is generated on 32V, 96V, ... and auto-acknowledged */
527   cputag_set_input_line(timer.machine(), "soundcpu", 0, HOLD_LINE);
527   timer.machine().device("soundcpu")->execute().set_input_line(0, HOLD_LINE);
528528}
529529
530530
r17813r17814
548548        Bit 0 -> Directly connected to Z80 /INT line
549549    */
550550   m_mcu_control = data;
551   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, (data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
552   cputag_set_input_line(machine(), "maincpu", 0, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
551   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, (data & 0x40) ? ASSERT_LINE : CLEAR_LINE);
552   machine().device("maincpu")->execute().set_input_line(0, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
553553}
554554
555555
r17813r17814
659659WRITE8_MEMBER(system1_state::nob_maincpu_latch_w)
660660{
661661   m_nob_maincpu_latch = data;
662   cputag_set_input_line(machine(), "mcu", MCS51_INT0_LINE, ASSERT_LINE);
662   machine().device("mcu")->execute().set_input_line(MCS51_INT0_LINE, ASSERT_LINE);
663663   machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(100));
664664}
665665
trunk/src/mame/drivers/bfm_sc2.c
r17813r17814
620620         MechMtr_update(i, data & (1 << i) );
621621      }
622622   }
623   if ( data & 0x1F ) cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, ASSERT_LINE );
623   if ( data & 0x1F ) machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, ASSERT_LINE );
624624}
625625
626626///////////////////////////////////////////////////////////////////////////
r17813r17814
10361036WRITE8_MEMBER(bfm_sc2_state::vid_uart_tx_w)
10371037{
10381038   adder2_send(data);
1039   cputag_set_input_line(machine(), "adder2", M6809_IRQ_LINE, HOLD_LINE );
1039   machine().device("adder2")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE );
10401040
10411041   LOG_SERIAL(("sadder  %02X  (%c)\n",data, data ));
10421042}
trunk/src/mame/drivers/tmmjprd.c
r17813r17814
380380#if 0
381381static TIMER_CALLBACK( tmmjprd_blit_done )
382382{
383   cputag_set_input_line(machine, "maincpu", 3, HOLD_LINE);
383   machine.device("maincpu")->execute().set_input_line(3, HOLD_LINE);
384384}
385385
386386static void tmmjprd_do_blit(running_machine &machine)
r17813r17814
737737   int scanline = param;
738738
739739   if(scanline == 224) // vblank-out irq
740      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
740      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
741741
742742   if(scanline == 736) // blitter irq?
743      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
743      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
744744
745745}
746746
trunk/src/mame/drivers/suprnova.c
r17813r17814
418418
419419static TIMER_DEVICE_CALLBACK( interrupt_callback )
420420{
421   cputag_set_input_line(timer.machine(), "maincpu", param, HOLD_LINE);
421   timer.machine().device("maincpu")->execute().set_input_line(param, HOLD_LINE);
422422}
423423
424424static MACHINE_RESET(skns)
r17813r17814
625625      if(ACCESSING_BITS_8_15)
626626      { /* Interrupt Clear, do we need these? */
627627/*          if(data&0x01)
628                cputag_set_input_line(machine(), "maincpu",1,CLEAR_LINE);
628                machine().device("maincpu")->execute().set_input_line(1,CLEAR_LINE);
629629            if(data&0x02)
630                cputag_set_input_line(machine(), "maincpu",3,CLEAR_LINE);
630                machine().device("maincpu")->execute().set_input_line(3,CLEAR_LINE);
631631            if(data&0x04)
632                cputag_set_input_line(machine(), "maincpu",5,CLEAR_LINE);
632                machine().device("maincpu")->execute().set_input_line(5,CLEAR_LINE);
633633            if(data&0x08)
634                cputag_set_input_line(machine(), "maincpu",7,CLEAR_LINE);
634                machine().device("maincpu")->execute().set_input_line(7,CLEAR_LINE);
635635            if(data&0x10)
636                cputag_set_input_line(machine(), "maincpu",9,CLEAR_LINE);
636                machine().device("maincpu")->execute().set_input_line(9,CLEAR_LINE);
637637            if(data&0x20)
638                cputag_set_input_line(machine(), "maincpu",0xb,CLEAR_LINE);
638                machine().device("maincpu")->execute().set_input_line(0xb,CLEAR_LINE);
639639            if(data&0x40)
640                cputag_set_input_line(machine(), "maincpu",0xd,CLEAR_LINE);
640                machine().device("maincpu")->execute().set_input_line(0xd,CLEAR_LINE);
641641            if(data&0x80)
642                cputag_set_input_line(machine(), "maincpu",0xf,CLEAR_LINE);*/
642                machine().device("maincpu")->execute().set_input_line(0xf,CLEAR_LINE);*/
643643
644644         /* idle skip for vblokbrk/sarukani, i can't find a better place to put it :-( but i think it works ok unless its making the game too fast */
645645         if (space.device().safe_pc()==0x04013B42)
trunk/src/mame/drivers/namcofl.c
r17813r17814
524524
525525static TIMER_CALLBACK( network_interrupt_callback )
526526{
527   cputag_set_input_line(machine, "maincpu", I960_IRQ0, ASSERT_LINE);
527   machine.device("maincpu")->execute().set_input_line(I960_IRQ0, ASSERT_LINE);
528528   machine.scheduler().timer_set(machine.primary_screen->frame_period(), FUNC(network_interrupt_callback));
529529}
530530
531531
532532static TIMER_CALLBACK( vblank_interrupt_callback )
533533{
534   cputag_set_input_line(machine, "maincpu", I960_IRQ2, ASSERT_LINE);
534   machine.device("maincpu")->execute().set_input_line(I960_IRQ2, ASSERT_LINE);
535535   machine.scheduler().timer_set(machine.primary_screen->frame_period(), FUNC(vblank_interrupt_callback));
536536}
537537
r17813r17814
540540{
541541   namcofl_state *state = machine.driver_data<namcofl_state>();
542542   machine.primary_screen->update_partial(machine.primary_screen->vpos());
543   cputag_set_input_line(machine, "maincpu", I960_IRQ1, ASSERT_LINE);
543   machine.device("maincpu")->execute().set_input_line(I960_IRQ1, ASSERT_LINE);
544544   state->m_raster_interrupt_timer->adjust(machine.primary_screen->frame_period());
545545}
546546
trunk/src/mame/drivers/luckgrln.c
r17813r17814
990990{
991991   luckgrln_state *state = device->machine().driver_data<luckgrln_state>();
992992   if(state->m_nmi_enable)
993      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
993      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
994994}
995995
996996static MACHINE_CONFIG_START( luckgrln, luckgrln_state )
trunk/src/mame/drivers/shootout.c
r17813r17814
4949WRITE8_MEMBER(shootout_state::sound_cpu_command_w)
5050{
5151   soundlatch_byte_w( space, offset, data );
52   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE );
52   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
5353}
5454
5555WRITE8_MEMBER(shootout_state::shootout_flipscreen_w)
r17813r17814
108108
109109INPUT_CHANGED_MEMBER(shootout_state::coin_inserted)
110110{
111   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
111   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
112112}
113113
114114static INPUT_PORTS_START( shootout )
r17813r17814
230230
231231static void shootout_snd_irq(device_t *device, int linestate)
232232{
233   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate);
233   device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
234234}
235235
236236static void shootout_snd2_irq(device_t *device, int linestate)
237237{
238   cputag_set_input_line(device->machine(), "maincpu", 0, linestate);
238   device->machine().device("maincpu")->execute().set_input_line(0, linestate);
239239}
240240
241241static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/itech32.c
r17813r17814
401401
402402   if (state->m_is_drivedge)
403403   {
404      cputag_set_input_line(machine, "maincpu", 3, state->m_vint_state ? ASSERT_LINE : CLEAR_LINE);
405      cputag_set_input_line(machine, "maincpu", 4, state->m_xint_state ? ASSERT_LINE : CLEAR_LINE);
406      cputag_set_input_line(machine, "maincpu", 5, state->m_qint_state ? ASSERT_LINE : CLEAR_LINE);
404      machine.device("maincpu")->execute().set_input_line(3, state->m_vint_state ? ASSERT_LINE : CLEAR_LINE);
405      machine.device("maincpu")->execute().set_input_line(4, state->m_xint_state ? ASSERT_LINE : CLEAR_LINE);
406      machine.device("maincpu")->execute().set_input_line(5, state->m_qint_state ? ASSERT_LINE : CLEAR_LINE);
407407   }
408408   else
409409   {
410      cputag_set_input_line(machine, "maincpu", 1, state->m_vint_state ? ASSERT_LINE : CLEAR_LINE);
411      cputag_set_input_line(machine, "maincpu", 2, state->m_xint_state ? ASSERT_LINE : CLEAR_LINE);
412      cputag_set_input_line(machine, "maincpu", 3, state->m_qint_state ? ASSERT_LINE : CLEAR_LINE);
410      machine.device("maincpu")->execute().set_input_line(1, state->m_vint_state ? ASSERT_LINE : CLEAR_LINE);
411      machine.device("maincpu")->execute().set_input_line(2, state->m_xint_state ? ASSERT_LINE : CLEAR_LINE);
412      machine.device("maincpu")->execute().set_input_line(3, state->m_qint_state ? ASSERT_LINE : CLEAR_LINE);
413413   }
414414}
415415
r17813r17814
449449{
450450   MACHINE_RESET_CALL(itech32);
451451
452   cputag_set_input_line(machine, "dsp1", INPUT_LINE_RESET, ASSERT_LINE);
453   cputag_set_input_line(machine, "dsp2", INPUT_LINE_RESET, ASSERT_LINE);
452   machine.device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
453   machine.device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
454454   STOP_TMS_SPINNING(machine, 0);
455455   STOP_TMS_SPINNING(machine, 1);
456456}
r17813r17814
641641   itech32_state *state = machine.driver_data<itech32_state>();
642642   state->m_sound_data = param;
643643   state->m_sound_int_state = 1;
644   cputag_set_input_line(machine, "soundcpu", M6809_IRQ_LINE, ASSERT_LINE);
644   machine.device("soundcpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
645645}
646646
647647
r17813r17814
667667
668668READ8_MEMBER(itech32_state::sound_data_r)
669669{
670   cputag_set_input_line(machine(), "soundcpu", M6809_IRQ_LINE, CLEAR_LINE);
670   machine().device("soundcpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
671671   m_sound_int_state = 0;
672672   return m_sound_data;
673673}
r17813r17814
764764
765765WRITE8_MEMBER(itech32_state::firq_clear_w)
766766{
767   cputag_set_input_line(machine(), "soundcpu", M6809_FIRQ_LINE, CLEAR_LINE);
767   machine().device("soundcpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
768768}
769769
770770
r17813r17814
777777
778778WRITE32_MEMBER(itech32_state::tms_reset_assert_w)
779779{
780   cputag_set_input_line(machine(), "dsp1", INPUT_LINE_RESET, ASSERT_LINE);
781   cputag_set_input_line(machine(), "dsp2", INPUT_LINE_RESET, ASSERT_LINE);
780   machine().device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
781   machine().device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
782782}
783783
784784
r17813r17814
787787   /* kludge to prevent crash on first boot */
788788   if ((m_tms1_ram[0] & 0xff000000) == 0)
789789   {
790      cputag_set_input_line(machine(), "dsp1", INPUT_LINE_RESET, CLEAR_LINE);
790      machine().device("dsp1")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
791791      STOP_TMS_SPINNING(machine(), 0);
792792   }
793793   if ((m_tms2_ram[0] & 0xff000000) == 0)
794794   {
795      cputag_set_input_line(machine(), "dsp2", INPUT_LINE_RESET, CLEAR_LINE);
795      machine().device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
796796      STOP_TMS_SPINNING(machine(), 1);
797797   }
798798}
trunk/src/mame/drivers/mexico86.c
r17813r17814
453453
454454   /*TODO: check the PCB and see how the halt / reset lines are connected. */
455455   if (machine.device("sub") != NULL)
456      cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, (state->ioport("DSW1")->read() & 0x80) ? ASSERT_LINE : CLEAR_LINE);
456      machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, (state->ioport("DSW1")->read() & 0x80) ? ASSERT_LINE : CLEAR_LINE);
457457
458458   state->m_port_a_in = 0;
459459   state->m_port_a_out = 0;
trunk/src/mame/drivers/calchase.c
r17813r17814
236236
237237WRITE_LINE_MEMBER(calchase_state::pc_dma_hrq_changed)
238238{
239   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
239   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
240240
241241   /* Assert HLDA */
242242   i8237_hlda_w( m_dma8237_1, state );
r17813r17814
824824
825825WRITE_LINE_MEMBER(calchase_state::calchase_pic8259_1_set_int_line)
826826{
827   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
827   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
828828}
829829
830830READ8_MEMBER(calchase_state::get_slave_ack)
r17813r17814
885885
886886static void set_gate_a20(running_machine &machine, int a20)
887887{
888   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
888   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
889889}
890890
891891static void keyboard_interrupt(running_machine &machine, int state)
trunk/src/mame/drivers/sspeedr.c
r17813r17814
3535
3636WRITE8_MEMBER(sspeedr_state::sspeedr_int_ack_w)
3737{
38   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
38   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
3939}
4040
4141
trunk/src/mame/drivers/undrfire.c
r17813r17814
227227
228228static TIMER_CALLBACK( interrupt5 )
229229{
230   cputag_set_input_line(machine, "maincpu", 5, HOLD_LINE);
230   machine.device("maincpu")->execute().set_input_line(5, HOLD_LINE);
231231}
232232
233233
r17813r17814
452452   output_set_value("Lamp_6", (data >> 5) & 1 );
453453   output_set_value("Wheel_vibration", (data >> 6) & 1 );
454454
455   cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, (data & 0x1000) ? CLEAR_LINE : ASSERT_LINE);
455   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x1000) ? CLEAR_LINE : ASSERT_LINE);
456456}
457457
458458READ32_MEMBER(undrfire_state::cbombers_adc_r)
trunk/src/mame/drivers/grchamp.c
r17813r17814
131131         /* bit 6: FOG OUT */
132132         /* bit 7: RADARON */
133133         if ((diff & 0x01) && !(data & 0x01))
134            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
134            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
135135         if ((diff & 0x02) && !(data & 0x02))
136136            m_collide = m_collmode = 0;
137137         break;
r17813r17814
190190      case 0x0e:   /* OUT14 */
191191         /* O-21 connector */
192192         soundlatch_byte_w(space, 0, data);
193         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
193         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
194194         break;
195195   }
196196}
r17813r17814
269269      case 0x04:   /* OUT4 */
270270         /* bit 0:   interrupt enable for CPU 1 */
271271         if ((diff & 0x01) && !(data & 0x01))
272            cputag_set_input_line(machine(), "sub", 0, CLEAR_LINE);
272            machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
273273         break;
274274
275275      case 0x05:   /* OUT5 - unused */
trunk/src/mame/drivers/mpu3.c
r17813r17814
248248                   pia6->irq_a_state() | pia6->irq_b_state() |
249249                   ptm2->irq_state();
250250
251      cputag_set_input_line(machine(), "maincpu", M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
251      machine().device("maincpu")->execute().set_input_line(M6800_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
252252      LOG(("6808 int%d \n", combined_state));
253253}
254254
trunk/src/mame/drivers/vegas.c
r17813r17814
906906      if (irq[i])
907907      {
908908         if (LOG_NILE_IRQS) logerror(" 1");
909         cputag_set_input_line(machine, "maincpu", MIPS3_IRQ0 + i, ASSERT_LINE);
909         machine.device("maincpu")->execute().set_input_line(MIPS3_IRQ0 + i, ASSERT_LINE);
910910      }
911911      else
912912      {
913913         if (LOG_NILE_IRQS) logerror(" 0");
914         cputag_set_input_line(machine, "maincpu", MIPS3_IRQ0 + i, CLEAR_LINE);
914         machine.device("maincpu")->execute().set_input_line(MIPS3_IRQ0 + i, CLEAR_LINE);
915915      }
916916   }
917917   if (LOG_NILE_IRQS) logerror("\n");
trunk/src/mame/drivers/tecmo.c
r17813r17814
6868WRITE8_MEMBER(tecmo_state::tecmo_sound_command_w)
6969{
7070   soundlatch_byte_w(space, offset, data);
71   cputag_set_input_line(machine(), "soundcpu",INPUT_LINE_NMI,ASSERT_LINE);
71   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI,ASSERT_LINE);
7272}
7373
7474WRITE8_MEMBER(tecmo_state::tecmo_nmi_ack_w)
7575{
76   cputag_set_input_line(machine(), "soundcpu",INPUT_LINE_NMI,CLEAR_LINE);
76   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI,CLEAR_LINE);
7777}
7878
7979WRITE8_MEMBER(tecmo_state::tecmo_adpcm_start_w)
r17813r17814
606606
607607static void irqhandler(device_t *device, int linestate)
608608{
609   cputag_set_input_line(device->machine(), "soundcpu", 0, linestate);
609   device->machine().device("soundcpu")->execute().set_input_line(0, linestate);
610610}
611611
612612static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/tourvis.c
r17813r17814
329329
330330WRITE_LINE_MEMBER(tourvision_state::tourvision_timer_out)
331331{
332   cputag_set_input_line(machine(), "subcpu", I8085_RST55_LINE, state ? CLEAR_LINE : ASSERT_LINE );
332   machine().device("subcpu")->execute().set_input_line(I8085_RST55_LINE, state ? CLEAR_LINE : ASSERT_LINE );
333333   //logerror("Timer out %d\n", state);
334334}
335335
trunk/src/mame/drivers/galpanic.c
r17813r17814
139139   int scanline = param;
140140
141141   if(scanline == 224) // vblank-out irq
142      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
142      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
143143
144144   /* Pandora "sprite end dma" irq? */
145145   if(scanline == 32)
146      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
146      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
147147}
148148
149149
r17813r17814
152152   int scanline = param;
153153
154154   if(scanline == 224) // vblank-out irq
155      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
155      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
156156
157157   /* Pandora "sprite end dma" irq? */
158158   if(scanline == 32)
159      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
159      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
160160
161161   if(scanline == 0) // timer irq?
162      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
162      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
163163}
164164
165165
trunk/src/mame/drivers/finalizr.c
r17813r17814
2828   int scanline = param;
2929
3030   if(scanline == 240 && state->m_irq_enable) // vblank irq
31      cputag_set_input_line(timer.machine(), "maincpu", M6809_IRQ_LINE, HOLD_LINE);
31      timer.machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
3232   else if(((scanline % 32) == 0) && state->m_nmi_enable) // timer irq
33      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
33      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
3434}
3535
3636
trunk/src/mame/drivers/shuuz.c
r17813r17814
3434static void update_interrupts(running_machine &machine)
3535{
3636   shuuz_state *state = machine.driver_data<shuuz_state>();
37   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
37   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
3838}
3939
4040
trunk/src/mame/drivers/xtom3d.c
r17813r17814
464464
465465WRITE_LINE_MEMBER(xtom3d_state::pc_dma_hrq_changed)
466466{
467   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
467   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
468468
469469   /* Assert HLDA */
470470   i8237_hlda_w( m_dma8237_1, state );
trunk/src/mame/drivers/speedspn.c
r17813r17814
9393WRITE8_MEMBER(speedspn_state::speedspn_sound_w)
9494{
9595   soundlatch_byte_w(space, 1, data);
96   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
96   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
9797}
9898
9999WRITE8_MEMBER(speedspn_state::oki_banking_w)
trunk/src/mame/drivers/enigma2.c
r17813r17814
176176static MACHINE_RESET( enigma2 )
177177{
178178   enigma2_state *state = machine.driver_data<enigma2_state>();
179   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
179   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
180180
181181   state->m_last_sound_data = 0;
182182   state->m_flip_screen = 0;
trunk/src/mame/drivers/igspoker.c
r17813r17814
152152
153153WRITE8_MEMBER(igspoker_state::igs_irqack_w)
154154{
155//  cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
155//  machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
156156}
157157
158158
trunk/src/mame/drivers/videopkr.c
r17813r17814
743743WRITE8_MEMBER(videopkr_state::prog_w)
744744{
745745   if (!data)
746      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);   /* clear interrupt FF */
746      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);   /* clear interrupt FF */
747747}
748748
749749/*************************
r17813r17814
935935
936936      if (state->m_dc_40103 == 0)
937937      {
938         cputag_set_input_line(timer.machine(), "soundcpu", 0, ASSERT_LINE);
938         timer.machine().device("soundcpu")->execute().set_input_line(0, ASSERT_LINE);
939939      }
940940   }
941941}
trunk/src/mame/drivers/gticlub.c
r17813r17814
272272
273273static void voodoo_vblank_0(device_t *device, int param)
274274{
275   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_IRQ0, param ? ASSERT_LINE : CLEAR_LINE);
275   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, param ? ASSERT_LINE : CLEAR_LINE);
276276}
277277
278278static void voodoo_vblank_1(device_t *device, int param)
279279{
280   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_IRQ1, param ? ASSERT_LINE : CLEAR_LINE);
280   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, param ? ASSERT_LINE : CLEAR_LINE);
281281}
282282
283283READ32_MEMBER(gticlub_state::gticlub_k001604_tile_r)
r17813r17814
390390
391391      case 4:
392392         if (data & 0x80)   /* CG Board 1 IRQ Ack */
393            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
393            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
394394
395395         if (data & 0x40)   /* CG Board 0 IRQ Ack */
396            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
396            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
397397
398398         adc1038_di_write(adc1038, (data >> 0) & 1);
399399         adc1038_clk_write(adc1038, (data >> 1) & 1);
r17813r17814
707707
708708static TIMER_CALLBACK( irq_off )
709709{
710   cputag_set_input_line(machine, "audiocpu", param, CLEAR_LINE);
710   machine.device("audiocpu")->execute().set_input_line(param, CLEAR_LINE);
711711}
712712
713713static void sound_irq_callback( running_machine &machine, int irq )
714714{
715715   int line = (irq == 0) ? INPUT_LINE_IRQ1 : INPUT_LINE_IRQ2;
716716
717   cputag_set_input_line(machine, "audiocpu", line, ASSERT_LINE);
717   machine.device("audiocpu")->execute().set_input_line(line, ASSERT_LINE);
718718   machine.scheduler().timer_set(attotime::from_usec(1), FUNC(irq_off), line);
719719}
720720
r17813r17814
797797
798798static MACHINE_RESET( gticlub )
799799{
800   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
800   machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
801801}
802802
803803static MACHINE_CONFIG_START( gticlub, gticlub_state )
r17813r17814
878878
879879static MACHINE_RESET( hangplt )
880880{
881   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
882   cputag_set_input_line(machine, "dsp2", INPUT_LINE_RESET, ASSERT_LINE);
881   machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
882   machine.device("dsp2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
883883}
884884
885885static const voodoo_config voodoo_l_intf =
trunk/src/mame/drivers/namcona1.c
r17813r17814
719719//  logerror("mailbox_w_68k: %x @ %x\n", data, offset);
720720
721721   if (offset == 4)
722      cputag_set_input_line(machine(), "mcu", M37710_LINE_IRQ0, HOLD_LINE);
722      machine().device("mcu")->execute().set_input_line(M37710_LINE_IRQ0, HOLD_LINE);
723723
724724   COMBINE_DATA(&m_mcu_mailbox[offset%8]);
725725
r17813r17814
847847      logerror("launching 68k, PC=%x\n", space.device().safe_pc());
848848
849849      // reset and launch the 68k
850      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, CLEAR_LINE);
850      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
851851   }
852852
853853   m_mcu_port4 = data;
r17813r17814
924924static MACHINE_RESET( namcona1_mcu )
925925{
926926   namcona1_state *state = machine.driver_data<namcona1_state>();
927   cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, ASSERT_LINE);
927   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
928928
929929   state->m_mcu_port5 = 1;
930930}
trunk/src/mame/drivers/armedf.c
r17813r17814
332332{
333333
334334   if(data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
335      cputag_set_input_line(machine(), "extra", 0, HOLD_LINE);
335      machine().device("extra")->execute().set_input_line(0, HOLD_LINE);
336336
337337   COMBINE_DATA(&m_vreg);
338338
r17813r17814
372372
373373WRITE16_MEMBER(armedf_state::irq_lv1_ack_w)
374374{
375   cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
375   machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
376376}
377377
378378WRITE16_MEMBER(armedf_state::irq_lv2_ack_w)
379379{
380   cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
380   machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
381381}
382382
383383
trunk/src/mame/drivers/pcat_dyn.c
r17813r17814
112112
113113static void set_gate_a20(running_machine &machine, int a20)
114114{
115   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
115   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
116116}
117117
118118static void keyboard_interrupt(running_machine &machine, int state)
trunk/src/mame/drivers/acefruit.c
r17813r17814
5555      switch( color )
5656      {
5757      case 0x0c:
58         cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE );
58         machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE );
5959         break;
6060      }
6161   }
trunk/src/mame/drivers/itgambl3.c
r17813r17814
226226static MACHINE_RESET( itgambl3 )
227227{
228228   /* stop the CPU, we have no code for it anyway */
229   cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
229   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
230230}
231231
232232/* default 444 palette for debug purpose*/
trunk/src/mame/drivers/sprint4.c
r17813r17814
102102   machine.watchdog_enable(machine.root_device().ioport("IN0")->read() & 0x40);
103103
104104   if (machine.root_device().ioport("IN0")->read() & 0x40)
105      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
105      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
106106
107107   machine.scheduler().timer_set(machine.primary_screen->time_until_pos(scanline), FUNC(nmi_callback), scanline);
108108}
trunk/src/mame/drivers/metlclsh.c
r17813r17814
131131INPUT_CHANGED_MEMBER(metlclsh_state::coin_inserted)
132132{
133133   if (oldval)
134      cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, ASSERT_LINE);
134      machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
135135}
136136
137137static INPUT_PORTS_START( metlclsh )
trunk/src/mame/drivers/dbz.c
r17813r17814
6767   int scanline = param;
6868
6969   if(scanline == 256) // vblank-out irq
70      cputag_set_input_line(timer.machine(), "maincpu", M68K_IRQ_2, ASSERT_LINE);
70      timer.machine().device("maincpu")->execute().set_input_line(M68K_IRQ_2, ASSERT_LINE);
7171
7272   if(scanline == 0 && k053246_is_irq_enabled(state->m_k053246)) // vblank-in irq
73      cputag_set_input_line(timer.machine(), "maincpu", M68K_IRQ_4, HOLD_LINE); //auto-acks apparently
73      timer.machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, HOLD_LINE); //auto-acks apparently
7474}
7575
7676#if 0
r17813r17814
333333
334334WRITE_LINE_MEMBER(dbz_state::dbz_irq2_ack_w)
335335{
336   cputag_set_input_line(machine(), "maincpu", M68K_IRQ_2, CLEAR_LINE);
336   machine().device("maincpu")->execute().set_input_line(M68K_IRQ_2, CLEAR_LINE);
337337}
338338
339339
trunk/src/mame/drivers/spbactn.c
r17813r17814
147147   if (ACCESSING_BITS_0_7)
148148   {
149149      soundlatch_byte_w(space, offset, data & 0xff);
150      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
150      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
151151   }
152152}
153153
r17813r17814
336336
337337static void irqhandler(device_t *device, int linestate)
338338{
339   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate);
339   device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
340340}
341341
342342static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/seicross.c
r17813r17814
7676static MACHINE_RESET( friskyt )
7777{
7878   /* start with the protection mcu halted */
79   cputag_set_input_line(machine, "mcu", INPUT_LINE_HALT, ASSERT_LINE);
79   machine.device("mcu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
8080}
8181
8282
r17813r17814
100100   if (((m_portb & 4) == 0) && (data & 4))
101101   {
102102      /* reset and start the protection mcu */
103      cputag_set_input_line(machine(), "mcu", INPUT_LINE_RESET, PULSE_LINE);
104      cputag_set_input_line(machine(), "mcu", INPUT_LINE_HALT, CLEAR_LINE);
103      machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
104      machine().device("mcu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
105105   }
106106
107107   /* other bits unknown */
trunk/src/mame/drivers/prehisle.c
r17813r17814
2020WRITE16_MEMBER(prehisle_state::prehisle_sound16_w)
2121{
2222   soundlatch_byte_w(space, 0, data & 0xff);
23   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
23   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
2424}
2525
2626/*******************************************************************************/
r17813r17814
195195
196196static void irqhandler(device_t *device, int irq)
197197{
198   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
198   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
199199}
200200
201201static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/byvid.c
r17813r17814
103103
104104WRITE_LINE_MEMBER(by133_state::vdp_interrupt)
105105{
106   cputag_set_input_line(machine(), "videocpu", M6809_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
106   machine().device("videocpu")->execute().set_input_line(M6809_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
107107}
108108
109109static TMS9928A_INTERFACE(byvid_tms9928a_interface)
trunk/src/mame/drivers/model1.c
r17813r17814
697697   //  logerror("irq: raising %d\n", level);
698698   //  irq_status |= (1 << level);
699699   state->m_last_irq = level;
700   cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
700   machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
701701}
702702
703703static IRQ_CALLBACK(irq_callback)
r17813r17814
721721
722722static void irq_init(running_machine &machine)
723723{
724   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
724   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
725725   device_set_irq_callback(machine.device("maincpu"), irq_callback);
726726}
727727
r17813r17814
741741      // if the FIFO has something in it, signal the 68k too
742742      if (state->m_fifo_rptr != state->m_fifo_wptr)
743743      {
744         cputag_set_input_line(timer.machine(), "audiocpu", 2, HOLD_LINE);
744         timer.machine().device("audiocpu")->execute().set_input_line(2, HOLD_LINE);
745745      }
746746   }
747747}
r17813r17814
873873    }
874874
875875   // signal the 68000 that there's data waiting
876   cputag_set_input_line(machine(), "audiocpu", 2, HOLD_LINE);
876   machine().device("audiocpu")->execute().set_input_line(2, HOLD_LINE);
877877   // give the 68k time to reply
878878   device_spin_until_time(&space.device(), attotime::from_usec(40));
879879}
trunk/src/mame/drivers/polepos.c
r17813r17814
292292      case 0x00:   /* IRQON */
293293         m_main_irq_mask = bit;
294294         if (!bit)
295            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
295            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
296296         break;
297297
298298      case 0x01:   /* IOSEL */
r17813r17814
313313         break;
314314
315315      case 0x04:   /* RESB */
316         cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
316         machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
317317         break;
318318
319319      case 0x05:   /* RESA */
320         cputag_set_input_line(machine(), "sub2", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
320         machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
321321         break;
322322
323323      case 0x06:   /* SB0 */
r17813r17814
451451   int scanline = param;
452452
453453   if (((scanline == 64) || (scanline == 192)) && state->m_main_irq_mask)   // 64V
454      cputag_set_input_line(timer.machine(), "maincpu", 0, ASSERT_LINE);
454      timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
455455
456456   if (scanline == 240 && state->m_sub_irq_mask)   // VBLANK
457457   {
458      cputag_set_input_line(timer.machine(), "sub", 0, ASSERT_LINE);
459      cputag_set_input_line(timer.machine(), "sub2", 0, ASSERT_LINE);
458      timer.machine().device("sub")->execute().set_input_line(0, ASSERT_LINE);
459      timer.machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE);
460460   }
461461}
462462
trunk/src/mame/drivers/tank8.c
r17813r17814
1414void tank8_set_collision(running_machine &machine, int index)
1515{
1616   tank8_state *state = machine.driver_data<tank8_state>();
17   cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
17   machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
1818
1919   state->m_collision_index = index;
2020}
r17813r17814
4242{
4343   m_collision_index &= ~0x3f;
4444
45   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
45   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
4646}
4747
4848WRITE8_MEMBER(tank8_state::tank8_crash_w)
trunk/src/mame/drivers/paranoia.c
r17813r17814
154154
155155WRITE_LINE_MEMBER(paranoia_state::paranoia_i8155_timer_out)
156156{
157   //cputag_set_input_line(machine(), "sub", I8085_RST55_LINE, state ? CLEAR_LINE : ASSERT_LINE );
157   //machine().device("sub")->execute().set_input_line(I8085_RST55_LINE, state ? CLEAR_LINE : ASSERT_LINE );
158158   //logerror("Timer out %d\n", state);
159159}
160160
trunk/src/mame/drivers/poo.c
r17813r17814
146146WRITE8_MEMBER(poo_state::sound_cmd_w)
147147{
148148   soundlatch_byte_w(space, 0, (data & 0xff));
149   cputag_set_input_line(machine(), "subcpu", 0, HOLD_LINE);
149   machine().device("subcpu")->execute().set_input_line(0, HOLD_LINE);
150150}
151151
152152WRITE8_MEMBER(poo_state::poo_vregs_w)
trunk/src/mame/drivers/qdrmfgp.c
r17813r17814
285285   if (drvstate->m_control & 0x0008)
286286   {
287287      if (state != CLEAR_LINE)
288         cputag_set_input_line(device->machine(), "maincpu", 4, HOLD_LINE);
288         device->machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
289289      else
290         cputag_set_input_line(device->machine(), "maincpu", 4, CLEAR_LINE);
290         device->machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
291291   }
292292}
293293
r17813r17814
297297{
298298   qdrmfgp_state *state = machine.driver_data<qdrmfgp_state>();
299299   if (state->m_control & 0x0004)
300      cputag_set_input_line(machine, "maincpu", 3, HOLD_LINE);
300      machine.device("maincpu")->execute().set_input_line(3, HOLD_LINE);
301301}
302302
303303static INTERRUPT_GEN(qdrmfgp2_interrupt)
r17813r17814
318318         if (drvstate->m_gp2_irq_control)
319319            drvstate->m_gp2_irq_control = 0;
320320         else
321            cputag_set_input_line(device->machine(), "maincpu", 5, HOLD_LINE);
321            device->machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
322322      }
323323      else
324324      {
325         cputag_set_input_line(device->machine(), "maincpu", 5, CLEAR_LINE);
325         device->machine().device("maincpu")->execute().set_input_line(5, CLEAR_LINE);
326326      }
327327   }
328328}
r17813r17814
570570{
571571   qdrmfgp_state *state = device->machine().driver_data<qdrmfgp_state>();
572572   if (state->m_control & 0x0001)
573      cputag_set_input_line(device->machine(), "maincpu", 1, HOLD_LINE);
573      device->machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE);
574574}
575575
576576static const k054539_interface k054539_config =
r17813r17814
607607
608608WRITE_LINE_MEMBER(qdrmfgp_state::qdrmfgp_irq3_ack_w)
609609{
610//  cputag_set_input_line(machine(), "maincpu", M68K_IRQ_3, CLEAR_LINE);
610//  machine().device("maincpu")->execute().set_input_line(M68K_IRQ_3, CLEAR_LINE);
611611}
612612
613613WRITE_LINE_MEMBER(qdrmfgp_state::qdrmfgp_irq4_ack_w)
614614{
615//  cputag_set_input_line(machine(), "maincpu", M68K_IRQ_4, CLEAR_LINE);
615//  machine().device("maincpu")->execute().set_input_line(M68K_IRQ_4, CLEAR_LINE);
616616}
617617
618618static const k053252_interface qdrmfgp_k053252_intf =
trunk/src/mame/drivers/cps1.c
r17813r17814
31863186//  sample_buffer1 >>= 4;
31873187//  sample_select1 ^= 1;
31883188//  if (sample_select1 == 0)
3189//      cputag_set_input_line(machine, "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
3189//      machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
31903190}
31913191
31923192static void m5205_int2(device_t *device)
trunk/src/mame/drivers/itech8.c
r17813r17814
583583   if (main_cpu_type == M6809 || main_cpu_type == HD6309)
584584   {
585585      /* just modify lines that have changed */
586      if (periodic != -1) cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, periodic ? ASSERT_LINE : CLEAR_LINE);
587      if (tms34061 != -1) cputag_set_input_line(machine, "maincpu", M6809_IRQ_LINE, tms34061 ? ASSERT_LINE : CLEAR_LINE);
588      if (blitter != -1) cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, blitter ? ASSERT_LINE : CLEAR_LINE);
586      if (periodic != -1) machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, periodic ? ASSERT_LINE : CLEAR_LINE);
587      if (tms34061 != -1) machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, tms34061 ? ASSERT_LINE : CLEAR_LINE);
588      if (blitter != -1) machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, blitter ? ASSERT_LINE : CLEAR_LINE);
589589   }
590590
591591   /* handle the 68000 case */
592592   else
593593   {
594      cputag_set_input_line(machine, "maincpu", 2, state->m_blitter_int ? ASSERT_LINE : CLEAR_LINE);
595      cputag_set_input_line(machine, "maincpu", 3, state->m_periodic_int ? ASSERT_LINE : CLEAR_LINE);
594      machine.device("maincpu")->execute().set_input_line(2, state->m_blitter_int ? ASSERT_LINE : CLEAR_LINE);
595      machine.device("maincpu")->execute().set_input_line(3, state->m_periodic_int ? ASSERT_LINE : CLEAR_LINE);
596596   }
597597}
598598
r17813r17814
623623WRITE8_MEMBER(itech8_state::itech8_nmi_ack_w)
624624{
625625/* doesn't seem to hold for every game (e.g., hstennis) */
626/*  cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);*/
626/*  machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);*/
627627}
628628
629629
630630static void generate_sound_irq(device_t *device, int state)
631631{
632   cputag_set_input_line(device->machine(), "soundcpu", M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
632   device->machine().device("soundcpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
633633}
634634
635635
r17813r17814
784784{
785785   itech8_state *state = machine.driver_data<itech8_state>();
786786   state->m_sound_data = param;
787   cputag_set_input_line(machine, "soundcpu", M6809_IRQ_LINE, ASSERT_LINE);
787   machine.device("soundcpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
788788}
789789
790790
r17813r17814
807807
808808READ8_MEMBER(itech8_state::sound_data_r)
809809{
810   cputag_set_input_line(machine(), "soundcpu", M6809_IRQ_LINE, CLEAR_LINE);
810   machine().device("soundcpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
811811   return m_sound_data;
812812}
813813
trunk/src/mame/drivers/galaxian.c
r17813r17814
457457      state->m_tenspot_current_game++;
458458      state->m_tenspot_current_game%=10;
459459      tenspot_set_game_bank(device->machine(), state->m_tenspot_current_game, 1);
460      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
460      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
461461   }
462462}
463463
r17813r17814
545545   /* the inverse of bit 3 clocks the flip flop to signal an INT */
546546   /* it is automatically cleared on the acknowledge */
547547   if ((old & 0x08) && !(data & 0x08))
548      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
548      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
549549
550550   /* bit 4 is sound disable */
551551   machine().sound().system_mute(data & 0x10);
r17813r17814
750750
751751WRITE8_MEMBER(galaxian_state::explorer_sound_control_w)
752752{
753   cputag_set_input_line(machine(), "audiocpu", 0, ASSERT_LINE);
753   machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
754754}
755755
756756
757757READ8_MEMBER(galaxian_state::explorer_sound_latch_r)
758758{
759   cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
759   machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
760760   return soundlatch_byte_r(*machine().device("audiocpu")->memory().space(AS_PROGRAM), 0);
761761}
762762
r17813r17814
793793   /* the inverse of bit 0 clocks the flip flop to signal an INT */
794794   /* it is automatically cleared on the acknowledge */
795795   if ((old & 0x01) && !(data & 0x01))
796      cputag_set_input_line(machine(), "audio2", 0, HOLD_LINE);
796      machine().device("audio2")->execute().set_input_line(0, HOLD_LINE);
797797}
798798
799799
r17813r17814
837837   state->m_protection_result = rom[0x2000 | (state->m_protection_state & 0x1fff)]; // probably needs a BITSWAP8
838838
839839   // and an irq on the main z80 afterwards
840   cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE );
840   machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE );
841841}
842842
843843
r17813r17814
932932
933933WRITE8_MEMBER(galaxian_state::froggrmc_sound_control_w)
934934{
935   cputag_set_input_line(machine(), "audiocpu", 0, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
935   machine().device("audiocpu")->execute().set_input_line(0, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
936936}
937937
938938
r17813r17814
10791079   galaxian_stars_enable_w(*space, 0, 0);
10801080
10811081   /* reset the CPU */
1082   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
1082   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
10831083}
10841084
10851085
r17813r17814
12591259WRITE8_MEMBER(galaxian_state::checkman_sound_command_w)
12601260{
12611261   soundlatch_byte_w(space, 0, data);
1262   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
1262   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
12631263}
12641264
12651265
12661266static TIMER_DEVICE_CALLBACK( checkmaj_irq0_gen )
12671267{
1268   cputag_set_input_line(timer.machine(), "audiocpu", 0, HOLD_LINE);
1268   timer.machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
12691269}
12701270
12711271
trunk/src/mame/drivers/bbusters.c
r17813r17814
254254   if (ACCESSING_BITS_0_7)
255255   {
256256      soundlatch_byte_w(space, 0, data&0xff);
257      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
257      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
258258   }
259259}
260260
r17813r17814
639639
640640static void sound_irq( device_t *device, int irq )
641641{
642   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
642   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
643643}
644644
645645static const ym2608_interface ym2608_config =
trunk/src/mame/drivers/hyprduel.c
r17813r17814
640640   hyprduel_state *state = machine.driver_data<hyprduel_state>();
641641
642642   /* start with cpu2 halted */
643   cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, ASSERT_LINE);
643   machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
644644   state->m_subcpu_resetline = 1;
645645   state->m_cpu_trigger = 0;
646646
trunk/src/mame/drivers/arcadecl.c
r17813r17814
8585static void update_interrupts(running_machine &machine)
8686{
8787   arcadecl_state *state = machine.driver_data<arcadecl_state>();
88   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
88   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
8989}
9090
9191
trunk/src/mame/drivers/sfkick.c
r17813r17814
431431
432432static void sfkick_vdp_interrupt(device_t *, v99x8_device &device, int i)
433433{
434   cputag_set_input_line (device.machine(), "maincpu", 0, (i ? HOLD_LINE : CLEAR_LINE));
434   device.machine().device("maincpu")->execute().set_input_line(0, (i ? HOLD_LINE : CLEAR_LINE));
435435}
436436
437437static MACHINE_RESET(sfkick)
r17813r17814
457457
458458static void irqhandler(device_t *device, int irq)
459459{
460   cputag_set_input_line_and_vector(device->machine(), "soundcpu", 0, irq ? ASSERT_LINE : CLEAR_LINE, 0xff);
460   device->machine().device("soundcpu")->execute().set_input_line_and_vector(0, irq ? ASSERT_LINE : CLEAR_LINE, 0xff);
461461}
462462
463463static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/atetris.c
r17813r17814
7272   int scanline = param;
7373
7474   /* assert/deassert the interrupt */
75   cputag_set_input_line(machine, "maincpu", 0, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE);
75   machine.device("maincpu")->execute().set_input_line(0, (scanline & 32) ? ASSERT_LINE : CLEAR_LINE);
7676
7777   /* set the next timer */
7878   scanline += 32;
r17813r17814
8484
8585WRITE8_MEMBER(atetris_state::irq_ack_w)
8686{
87   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
87   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
8888}
8989
9090
trunk/src/mame/drivers/sangho.c
r17813r17814
402402
403403static void msx_vdp_interrupt(device_t *, v99x8_device &device, int i)
404404{
405   cputag_set_input_line (device.machine(), "maincpu", 0, (i ? HOLD_LINE : CLEAR_LINE));
405   device.machine().device("maincpu")->execute().set_input_line(0, (i ? HOLD_LINE : CLEAR_LINE));
406406}
407407
408408static TIMER_DEVICE_CALLBACK( sangho_interrupt )
trunk/src/mame/drivers/bmcbowl.c
r17813r17814
260260
261261WRITE8_MEMBER(bmcbowl_state::via_irq)
262262{
263       cputag_set_input_line(machine(), "maincpu", 4, data ? ASSERT_LINE : CLEAR_LINE);
263       machine().device("maincpu")->execute().set_input_line(4, data ? ASSERT_LINE : CLEAR_LINE);
264264}
265265
266266
trunk/src/mame/drivers/lordgun.c
r17813r17814
255255   if (ACCESSING_BITS_0_7)      soundlatch_byte_w (space, 0, (data >> 0) & 0xff);
256256   if (ACCESSING_BITS_8_15)   soundlatch2_byte_w(space, 0, (data >> 8) & 0xff);
257257
258   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
258   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
259259}
260260
261261static ADDRESS_MAP_START( lordgun_map, AS_PROGRAM, 16, lordgun_state )
r17813r17814
646646
647647static void soundirq(device_t *device, int state)
648648{
649   cputag_set_input_line(device->machine(), "soundcpu", INPUT_LINE_IRQ0, state);
649   device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_IRQ0, state);
650650}
651651
652652static const ym3812_interface lordgun_ym3812_interface =
trunk/src/mame/drivers/espial.c
r17813r17814
8383   int scanline = param;
8484
8585   if(scanline == 240 && state->m_main_nmi_enabled) // vblank-out irq
86      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
86      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
8787
8888   if(scanline == 16) // timer irq, checks soundlatch port then updates some sound related work RAM buffers
89      cputag_set_input_line(timer.machine(), "maincpu", 0, HOLD_LINE);
89      timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
9090}
9191
9292
trunk/src/mame/drivers/toaplan1.c
r17813r17814
15171517
15181518static void irqhandler(device_t *device, int linestate)
15191519{
1520   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate);
1520   device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
15211521}
15221522
15231523static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/segag80r.c
r17813r17814
149149{
150150   /* pressing the service switch sends an NMI */
151151   if (newval)
152      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
152      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
153153}
154154
155155
r17813r17814
286286WRITE8_MEMBER(segag80r_state::sindbadm_soundport_w)
287287{
288288   soundlatch_byte_w(space, 0, data);
289   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
289   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
290290   machine().scheduler().boost_interleave(attotime::zero, attotime::from_usec(50));
291291}
292292
trunk/src/mame/drivers/tmnt.c
r17813r17814
312312
313313static void sound_nmi_callback( int param )
314314{
315   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_NMI, ( sound_nmi_enabled ) ? CLEAR_LINE : ASSERT_LINE );
315   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ( sound_nmi_enabled ) ? CLEAR_LINE : ASSERT_LINE );
316316
317317   sound_nmi_enabled = 0;
318318}
trunk/src/mame/drivers/zodiack.c
r17813r17814
109109   int scanline = param;
110110
111111   if(scanline == 240 && state->m_nmi_enable) // vblank-out irq
112      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
112      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
113113
114114   if(scanline == 0 ) // vblank-in irq
115      cputag_set_input_line(timer.machine(), "maincpu", 0, HOLD_LINE);
115      timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
116116}
117117
118118static INTERRUPT_GEN( zodiack_sound_nmi_gen )
trunk/src/mame/drivers/berzerk.c
r17813r17814
188188
189189   /* set the IRQ line if enabled */
190190   if (state->m_irq_enabled)
191      cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, 0xfc);
191      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xfc);
192192
193193   /* set up for next interrupt */
194194   next_irq_number = (irq_number + 1) % IRQS_PER_FRAME;
r17813r17814
268268
269269   /* pulse the NMI line if enabled */
270270   if (state->m_nmi_enabled)
271      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
271      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
272272
273273   /* set up for next interrupt */
274274   next_nmi_number = (nmi_number + 1) % NMIS_PER_FRAME;
trunk/src/mame/drivers/vpoker.c
r17813r17814
639639
640640WRITE_LINE_MEMBER(vpoker_state::ptm_irq)
641641{
642   cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
642   machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
643643}
644644
645645static const ptm6840_interface ptm_intf =
trunk/src/mame/drivers/suprridr.c
r17813r17814
118118{
119119   suprridr_state *state = machine.driver_data<suprridr_state>();
120120   state->m_sound_data = param;
121   cputag_set_input_line(machine, "audiocpu", 0, ASSERT_LINE);
121   machine.device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
122122}
123123
124124
r17813r17814
136136
137137WRITE8_MEMBER(suprridr_state::sound_irq_ack_w)
138138{
139   cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
139   machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
140140}
141141
142142
trunk/src/mame/drivers/blitz68k.c
r17813r17814
581581WRITE16_MEMBER(blitz68k_state::irq_callback_w)
582582{
583583//  popmessage("%02x",data);
584   cputag_set_input_line(machine(), "maincpu", 3, HOLD_LINE );
584   machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE );
585585}
586586
587587WRITE16_MEMBER(blitz68k_state::sound_write_w)
r17813r17814
16471647
16481648WRITE_LINE_MEMBER(blitz68k_state::crtc_vsync_irq1)
16491649{
1650   cputag_set_input_line(machine(), "maincpu", 1, state ? ASSERT_LINE : CLEAR_LINE);
1650   machine().device("maincpu")->execute().set_input_line(1, state ? ASSERT_LINE : CLEAR_LINE);
16511651}
16521652
16531653WRITE_LINE_MEMBER(blitz68k_state::crtc_vsync_irq3)
16541654{
1655   cputag_set_input_line(machine(), "maincpu", 3, state ? ASSERT_LINE : CLEAR_LINE);
1655   machine().device("maincpu")->execute().set_input_line(3, state ? ASSERT_LINE : CLEAR_LINE);
16561656}
16571657
16581658WRITE_LINE_MEMBER(blitz68k_state::crtc_vsync_irq5)
16591659{
1660   cputag_set_input_line(machine(), "maincpu", 5, state ? ASSERT_LINE : CLEAR_LINE);
1660   machine().device("maincpu")->execute().set_input_line(5, state ? ASSERT_LINE : CLEAR_LINE);
16611661}
16621662
16631663const mc6845_interface mc6845_intf_irq1 =
trunk/src/mame/drivers/tapatune.c
r17813r17814
115115         //  logerror("Command to Z80: %04x\n", data);
116116         m_68k_to_z80_index = data & 0xff;
117117         m_68k_to_z80_data = (data >> 8) & 0xff;
118         cputag_set_input_line(machine(), "maincpu", 3, CLEAR_LINE);
118         machine().device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
119119         break;
120120      case 1:
121121         break;
r17813r17814
124124
125125READ16_MEMBER(tapatune_state::irq_ack_r)
126126{
127   cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
127   machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
128128   return 0;
129129}
130130
r17813r17814
144144
145145READ8_MEMBER(tapatune_state::sound_irq_clear)
146146{
147   cputag_set_input_line(machine(), "soundcpu", 0, CLEAR_LINE);
147   machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
148148   return 0;
149149}
150150
r17813r17814
174174{
175175   m_z80_to_68k_data = data;
176176   //logerror("Writing data from Z80: index = %02x, data = %02x\n", m_z80_to_68k_index, m_z80_to_68k_data );
177   cputag_set_input_line(machine(), "maincpu", 3, ASSERT_LINE);
177   machine().device("maincpu")->execute().set_input_line(3, ASSERT_LINE);
178178}
179179
180180READ8_MEMBER(tapatune_state::read_index_from_68k)
r17813r17814
358358
359359WRITE_LINE_MEMBER(tapatune_state::crtc_vsync)
360360{
361   cputag_set_input_line(machine(), "maincpu", 2, state ? ASSERT_LINE : CLEAR_LINE);
361   machine().device("maincpu")->execute().set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
362362}
363363
364364static const mc6845_interface h46505_intf =
trunk/src/mame/drivers/model3.c
r17813r17814
673673   if ((state->m_irq_enable & state->m_irq_state) || state->m_scsi_irq_state)
674674   {
675675//      printf("IRQ set: state %x enable %x scsi %x\n", state->m_irq_state, state->m_irq_enable, state->m_scsi_irq_state);
676      cputag_set_input_line(machine, "maincpu", PPC_IRQ, ASSERT_LINE);
676      machine.device("maincpu")->execute().set_input_line(PPC_IRQ, ASSERT_LINE);
677677      state->m_scsi_irq_state = 0;
678678   }
679679   else
680680   {
681681//      printf("IRQ clear: state %x enable %x scsi %x\n", state->m_irq_state, state->m_irq_enable, state->m_scsi_irq_state);
682      cputag_set_input_line(machine, "maincpu", PPC_IRQ, CLEAR_LINE);
682      machine.device("maincpu")->execute().set_input_line(PPC_IRQ, CLEAR_LINE);
683683   }
684684}
685685
r17813r17814
52265226   if (irq > 0)
52275227   {
52285228      state->m_scsp_last_line = irq;
5229      cputag_set_input_line(device->machine(), "audiocpu", irq, ASSERT_LINE);
5229      device->machine().device("audiocpu")->execute().set_input_line(irq, ASSERT_LINE);
52305230   }
52315231   else
5232      cputag_set_input_line(device->machine(), "audiocpu", -irq, CLEAR_LINE);
5232      device->machine().device("audiocpu")->execute().set_input_line(-irq, CLEAR_LINE);
52335233}
52345234
52355235static const scsp_interface scsp_config =
trunk/src/mame/drivers/iqblock.c
r17813r17814
9090
9191WRITE8_MEMBER(iqblock_state::iqblock_irqack_w)
9292{
93   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
93   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
9494}
9595
9696READ8_MEMBER(iqblock_state::extrarom_r)
trunk/src/mame/drivers/skullxbo.c
r17813r17814
3434static void update_interrupts(running_machine &machine)
3535{
3636   skullxbo_state *state = machine.driver_data<skullxbo_state>();
37   cputag_set_input_line(machine, "maincpu", 1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   cputag_set_input_line(machine, "maincpu", 2, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
39   cputag_set_input_line(machine, "maincpu", 4, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
37   machine.device("maincpu")->execute().set_input_line(1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(2, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
39   machine.device("maincpu")->execute().set_input_line(4, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
4040}
4141
4242
trunk/src/mame/drivers/sliver.c
r17813r17814
314314WRITE16_MEMBER(sliver_state::sound_w)
315315{
316316   soundlatch_byte_w(space, 0, data & 0xff);
317   cputag_set_input_line(machine(), "audiocpu", MCS51_INT0_LINE, HOLD_LINE);
317   machine().device("audiocpu")->execute().set_input_line(MCS51_INT0_LINE, HOLD_LINE);
318318}
319319
320320static ADDRESS_MAP_START( sliver_map, AS_PROGRAM, 16, sliver_state )
trunk/src/mame/drivers/cps3.c
r17813r17814
17861786            }
17871787
17881788
1789            cputag_set_input_line(machine(), "maincpu", 10, ASSERT_LINE);
1789            machine().device("maincpu")->execute().set_input_line(10, ASSERT_LINE);
17901790
17911791
17921792         }
r17813r17814
20012001            /* We should probably copy this, but a pointer to it is fine for our purposes as the data doesn't change */
20022002            state->m_current_table_address = real_source;
20032003         }
2004         cputag_set_input_line(machine, "maincpu", 10, ASSERT_LINE);
2004         machine.device("maincpu")->execute().set_input_line(10, ASSERT_LINE);
20052005      }
20062006      else if  ((dat1 & 0x00e00000) == 0x00400000)
20072007      {
20082008         /* 6bpp DMA decompression
20092009              - this is used for the majority of sprites and backgrounds */
20102010         cps3_do_char_dma( machine, real_source, real_destination, real_length );
2011         cputag_set_input_line(machine, "maincpu", 10, ASSERT_LINE);
2011         machine.device("maincpu")->execute().set_input_line(10, ASSERT_LINE);
20122012
20132013      }
20142014      else if  ((dat1 & 0x00e00000) == 0x00600000)
r17813r17814
20162016         /* 8bpp DMA decompression
20172017              - this is used on SFIII NG Sean's Stage ONLY */
20182018         cps3_do_alt_char_dma( machine, real_source, real_destination, real_length);
2019         cputag_set_input_line(machine, "maincpu", 10, ASSERT_LINE);
2019         machine.device("maincpu")->execute().set_input_line(10, ASSERT_LINE);
20202020      }
20212021      else
20222022      {
r17813r17814
20742074
20752075WRITE32_MEMBER(cps3_state::cps3_irq10_ack_w)
20762076{
2077   cputag_set_input_line(machine(), "maincpu", 10, CLEAR_LINE); return;
2077   machine().device("maincpu")->execute().set_input_line(10, CLEAR_LINE); return;
20782078}
20792079
20802080WRITE32_MEMBER(cps3_state::cps3_irq12_ack_w)
20812081{
2082   cputag_set_input_line(machine(), "maincpu", 12, CLEAR_LINE); return;
2082   machine().device("maincpu")->execute().set_input_line(12, CLEAR_LINE); return;
20832083}
20842084
20852085WRITE32_MEMBER(cps3_state::cps3_unk_vidregs_w)
trunk/src/mame/drivers/spiders.c
r17813r17814
230230                                       pia2->irq_b_state() |
231231                   pia3->irq_a_state() | pia3->irq_b_state();
232232
233   cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
233   machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, combined_state ? ASSERT_LINE : CLEAR_LINE);
234234}
235235
236236
237237WRITE_LINE_MEMBER(spiders_state::main_cpu_firq)
238238{
239   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
239   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
240240}
241241
242242
243243WRITE_LINE_MEMBER(spiders_state::audio_cpu_irq)
244244{
245   cputag_set_input_line(machine(), "audiocpu", M6800_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
245   machine().device("audiocpu")->execute().set_input_line(M6800_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
246246}
247247
248248
trunk/src/mame/drivers/tonton.c
r17813r17814
6161
6262static void tonton_vdp0_interrupt(device_t *, v99x8_device &device, int i)
6363{
64   cputag_set_input_line (device.machine(), "maincpu", 0, (i ? HOLD_LINE : CLEAR_LINE));
64   device.machine().device("maincpu")->execute().set_input_line(0, (i ? HOLD_LINE : CLEAR_LINE));
6565}
6666
6767
trunk/src/mame/drivers/jchan.c
r17813r17814
392392{
393393
394394   COMBINE_DATA(&m_mainsub_shared_ram[0x03ffe/2]);
395   cputag_set_input_line(machine(), "sub", 4, HOLD_LINE);
395   machine().device("sub")->execute().set_input_line(4, HOLD_LINE);
396396}
397397
398398// is this called?
r17813r17814
400400{
401401
402402   COMBINE_DATA(&m_mainsub_shared_ram[0x0000/2]);
403   cputag_set_input_line(machine(), "maincpu", 3, HOLD_LINE);
403   machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
404404}
405405
406406/* ram convert for suprnova (requires 32-bit stuff) */
trunk/src/mame/drivers/mlanding.c
r17813r17814
299299      if(state->m_trigger == 0)
300300      {
301301         state->m_adpcm_pos++;
302         //cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
302         //device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
303303         /*TODO: simplify this */
304304         if(ROM[state->m_adpcm_pos] == 0x00 && ROM[state->m_adpcm_pos+1] == 0x00 && ROM[state->m_adpcm_pos+2] == 0x00 && ROM[state->m_adpcm_pos+3] == 0x00
305305             && ROM[state->m_adpcm_pos+4] == 0x00 && ROM[state->m_adpcm_pos+5] == 0x00 && ROM[state->m_adpcm_pos+6] == 0x00 && ROM[state->m_adpcm_pos+7] == 0x00
r17813r17814
331331   }
332332
333333   if(!(data & 0x40)) // unknown line used
334      cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, CLEAR_LINE);
334      machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
335335
336336   //data & 0x20 sound cpu?
337337
338338   if(!(data & 0x80)) // unknown line used
339339   {
340      cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, CLEAR_LINE);
340      machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
341341      m_dsp_HOLD_signal = data & 0x80;
342342   }
343343}
r17813r17814
349349      tc0140syt_port_w(tc0140syt, 0, data & 0xff);
350350   else if (offset == 1)
351351   {
352      //cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, ASSERT_LINE);
352      //machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
353353      tc0140syt_comm_w(tc0140syt, 0, data & 0xff);
354354   }
355355}
r17813r17814
361361      tc0140syt_slave_port_w(tc0140syt, 0, data & 0xff);
362362   else if (offset == 1)
363363   {
364      //cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
364      //machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
365365      tc0140syt_slave_comm_w(tc0140syt, 0, data & 0xff);
366366   }
367367}
r17813r17814
457457
458458WRITE16_MEMBER(mlanding_state::ml_nmi_to_sound_w)
459459{
460//  cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
460//  machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
461461}
462462
463463READ16_MEMBER(mlanding_state::ml_mecha_ram_r)
r17813r17814
730730
731731static void irq_handler(device_t *device, int irq)
732732{
733   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
733   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
734734}
735735
736736static const msm5205_interface msm5205_config =
r17813r17814
753753static MACHINE_RESET( mlanding )
754754{
755755   mlanding_state *state = machine.driver_data<mlanding_state>();
756   cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, ASSERT_LINE);
757   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
758   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
756   machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
757   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
758   machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
759759   state->m_adpcm_pos = 0;
760760   state->m_adpcm_data = -1;
761761   state->m_adpcm_idle = 1;
trunk/src/mame/drivers/tankbust.c
r17813r17814
5555//logerror("sound_irq_line write = %2x (after CPUs synced) \n",param);
5656
5757      if ((param & 1) == 0)
58         cputag_set_input_line(machine, "sub", 0, HOLD_LINE);
58         machine.device("sub")->execute().set_input_line(0, HOLD_LINE);
5959}
6060
6161
trunk/src/mame/drivers/neoprint.c
r17813r17814
164164
165165static void audio_cpu_assert_nmi(running_machine &machine)
166166{
167   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_NMI, ASSERT_LINE);
167   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
168168}
169169
170170
171171WRITE8_MEMBER(neoprint_state::audio_cpu_clear_nmi_w)
172172{
173   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
173   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
174174}
175175
176176WRITE16_MEMBER(neoprint_state::audio_command_w)
r17813r17814
448448
449449static void audio_cpu_irq(device_t *device, int assert)
450450{
451   cputag_set_input_line(device->machine(), "audiocpu", 0, assert ? ASSERT_LINE : CLEAR_LINE);
451   device->machine().device("audiocpu")->execute().set_input_line(0, assert ? ASSERT_LINE : CLEAR_LINE);
452452}
453453
454454static const ym2610_interface ym2610_config =
trunk/src/mame/drivers/seattle.c
r17813r17814
623623
624624static void ide_interrupt(device_t *device, int state)
625625{
626   cputag_set_input_line(device->machine(), "maincpu", IDE_IRQ_NUM, state);
626   device->machine().device("maincpu")->execute().set_input_line(IDE_IRQ_NUM, state);
627627}
628628
629629
r17813r17814
642642   {
643643      UINT8 assert = drvstate->m_ethernet_irq_state && (*drvstate->m_interrupt_enable & (1 << ETHERNET_IRQ_SHIFT));
644644      if (drvstate->m_ethernet_irq_num != 0)
645         cputag_set_input_line(machine, "maincpu", drvstate->m_ethernet_irq_num, assert ? ASSERT_LINE : CLEAR_LINE);
645         machine.device("maincpu")->execute().set_input_line(drvstate->m_ethernet_irq_num, assert ? ASSERT_LINE : CLEAR_LINE);
646646   }
647647   else if (drvstate->m_board_config == SEATTLE_WIDGET_CONFIG)
648648      update_widget_irq(machine);
r17813r17814
663663
664664static void ioasic_irq(running_machine &machine, int state)
665665{
666   cputag_set_input_line(machine, "maincpu", IOASIC_IRQ_NUM, state);
666   machine.device("maincpu")->execute().set_input_line(IOASIC_IRQ_NUM, state);
667667}
668668
669669
r17813r17814
698698
699699   /* VBLANK: clear anything pending on the old IRQ */
700700   if (m_vblank_irq_num != 0)
701      cputag_set_input_line(machine(), "maincpu", m_vblank_irq_num, CLEAR_LINE);
701      machine().device("maincpu")->execute().set_input_line(m_vblank_irq_num, CLEAR_LINE);
702702
703703   /* VBLANK: compute the new IRQ vector */
704704   irq = (*m_interrupt_config >> (2*VBLANK_IRQ_SHIFT)) & 3;
r17813r17814
709709   {
710710      /* Widget: clear anything pending on the old IRQ */
711711      if (m_widget.irq_num != 0)
712         cputag_set_input_line(machine(), "maincpu", m_widget.irq_num, CLEAR_LINE);
712         machine().device("maincpu")->execute().set_input_line(m_widget.irq_num, CLEAR_LINE);
713713
714714      /* Widget: compute the new IRQ vector */
715715      irq = (*m_interrupt_config >> (2*WIDGET_IRQ_SHIFT)) & 3;
r17813r17814
721721   {
722722      /* Ethernet: clear anything pending on the old IRQ */
723723      if (m_ethernet_irq_num != 0)
724         cputag_set_input_line(machine(), "maincpu", m_ethernet_irq_num, CLEAR_LINE);
724         machine().device("maincpu")->execute().set_input_line(m_ethernet_irq_num, CLEAR_LINE);
725725
726726      /* Ethernet: compute the new IRQ vector */
727727      irq = (*m_interrupt_config >> (2*ETHERNET_IRQ_SHIFT)) & 3;
r17813r17814
767767   /* if the VBLANK has been latched, and the interrupt is enabled, assert */
768768   if (drvstate->m_vblank_latch && (*drvstate->m_interrupt_enable & (1 << VBLANK_IRQ_SHIFT)))
769769      state = ASSERT_LINE;
770   cputag_set_input_line(machine, "maincpu", drvstate->m_vblank_irq_num, state);
770   machine.device("maincpu")->execute().set_input_line(drvstate->m_vblank_irq_num, state);
771771}
772772
773773
r17813r17814
936936   /* if any unmasked interrupts are live, we generate */
937937   if (drvstate->m_galileo.reg[GREG_INT_STATE] & drvstate->m_galileo.reg[GREG_INT_MASK])
938938      state = ASSERT_LINE;
939   cputag_set_input_line(machine, "maincpu", GALILEO_IRQ_NUM, state);
939   machine.device("maincpu")->execute().set_input_line(GALILEO_IRQ_NUM, state);
940940
941941   if (LOG_GALILEO)
942942      logerror("Galileo IRQ %s\n", (state == ASSERT_LINE) ? "asserted" : "cleared");
r17813r17814
15671567
15681568   /* update the IRQ state */
15691569   if (drvstate->m_widget.irq_num != 0)
1570      cputag_set_input_line(machine, "maincpu", drvstate->m_widget.irq_num, assert ? ASSERT_LINE : CLEAR_LINE);
1570      machine.device("maincpu")->execute().set_input_line(drvstate->m_widget.irq_num, assert ? ASSERT_LINE : CLEAR_LINE);
15711571}
15721572
15731573
trunk/src/mame/drivers/galastrm.c
r17813r17814
5757
5858static TIMER_CALLBACK( galastrm_interrupt6 )
5959{
60   cputag_set_input_line(machine, "maincpu", 6, HOLD_LINE);
60   machine.device("maincpu")->execute().set_input_line(6, HOLD_LINE);
6161}
6262
6363
trunk/src/mame/drivers/tetrisp2.c
r17813r17814
12501250
12511251static TIMER_CALLBACK( rockn_timer_level4_callback )
12521252{
1253   cputag_set_input_line(machine, "maincpu", 4, HOLD_LINE);
1253   machine.device("maincpu")->execute().set_input_line(4, HOLD_LINE);
12541254}
12551255
12561256static TIMER_CALLBACK( rockn_timer_sub_level4_callback )
12571257{
1258   cputag_set_input_line(machine, "sub", 4, HOLD_LINE);
1258   machine.device("sub")->execute().set_input_line(4, HOLD_LINE);
12591259}
12601260
12611261
12621262static TIMER_CALLBACK( rockn_timer_level1_callback )
12631263{
1264   cputag_set_input_line(machine, "maincpu", 1, HOLD_LINE);
1264   machine.device("maincpu")->execute().set_input_line(1, HOLD_LINE);
12651265}
12661266
12671267static TIMER_CALLBACK( rockn_timer_sub_level1_callback )
12681268{
1269   cputag_set_input_line(machine, "sub", 1, HOLD_LINE);
1269   machine.device("sub")->execute().set_input_line(1, HOLD_LINE);
12701270}
12711271
12721272static void init_rockn_timer(running_machine &machine)
trunk/src/mame/drivers/tmaster.c
r17813r17814
212212
213213static void duart_irq_handler(device_t *device, int state, UINT8 vector)
214214{
215   cputag_set_input_line_and_vector(device->machine(), "maincpu", 4, state, vector);
215   device->machine().device("maincpu")->execute().set_input_line_and_vector(4, state, vector);
216216};
217217
218218static void duart_tx(device_t *device, int channel, UINT8 data)
r17813r17814
509509   {
510510      case 0x0e:
511511         tmaster_draw(machine());
512         cputag_set_input_line(machine(), "maincpu", 2, HOLD_LINE);
512         machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
513513         break;
514514   }
515515}
trunk/src/mame/drivers/atarisy1.c
r17813r17814
210210static void update_interrupts(running_machine &machine)
211211{
212212   atarisy1_state *state = machine.driver_data<atarisy1_state>();
213   cputag_set_input_line(machine, "maincpu", 2, state->m_joystick_int && state->m_joystick_int_enable ? ASSERT_LINE : CLEAR_LINE);
214   cputag_set_input_line(machine, "maincpu", 3, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
215   cputag_set_input_line(machine, "maincpu", 4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
216   cputag_set_input_line(machine, "maincpu", 6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
213   machine.device("maincpu")->execute().set_input_line(2, state->m_joystick_int && state->m_joystick_int_enable ? ASSERT_LINE : CLEAR_LINE);
214   machine.device("maincpu")->execute().set_input_line(3, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
215   machine.device("maincpu")->execute().set_input_line(4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
216   machine.device("maincpu")->execute().set_input_line(6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
217217}
218218
219219
trunk/src/mame/drivers/sprint8.c
r17813r17814
1616   sprint8_state *state = machine.driver_data<sprint8_state>();
1717   if (state->m_collision_reset == 0)
1818   {
19      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
19      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
2020
2121      state->m_collision_index = n;
2222   }
r17813r17814
9595   m_collision_reset = !(data & 1);
9696
9797   if (m_collision_reset)
98      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
98      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
9999}
100100
101101
trunk/src/mame/drivers/ssv.c
r17813r17814
180180{
181181   ssv_state *state = machine.driver_data<ssv_state>();
182182
183   cputag_set_input_line(machine, "maincpu", 0, (state->m_requested_int & state->m_irq_enable)? ASSERT_LINE : CLEAR_LINE);
183   machine.device("maincpu")->execute().set_input_line(0, (state->m_requested_int & state->m_irq_enable)? ASSERT_LINE : CLEAR_LINE);
184184}
185185
186186static IRQ_CALLBACK(ssv_irq_callback)
trunk/src/mame/drivers/dec0.c
r17813r17814
187187         if (ACCESSING_BITS_0_7)
188188         {
189189            soundlatch_byte_w(space, 0, data & 0xff);
190            cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
190            machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
191191         }
192192         break;
193193
r17813r17814
196196         break;
197197
198198      case 8: /* Interrupt ack (VBL - IRQ 6) */
199         cputag_set_input_line(machine(), "maincpu", 6, CLEAR_LINE);
199         machine().device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
200200         break;
201201
202202      case 0xa: /* Mix Psel(?). */
r17813r17814
226226         if (ACCESSING_BITS_0_7)
227227         {
228228            soundlatch_byte_w(space, 0, data & 0xff);
229            cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
229            machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
230230         }
231231         break;
232232
r17813r17814
259259         if (ACCESSING_BITS_0_7)
260260         {
261261            soundlatch_byte_w(space, 0, data & 0xff);
262            cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
262            machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
263263         }
264264         break;
265265      case 2:
r17813r17814
273273   if (ACCESSING_BITS_0_7)
274274   {
275275      soundlatch_byte_w(space, 0, data & 0xff);
276      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
276      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
277277   }
278278}
279279
r17813r17814
12871287
12881288static void sound_irq(device_t *device, int linestate)
12891289{
1290   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate); /* IRQ */
1290   device->machine().device("audiocpu")->execute().set_input_line(0, linestate); /* IRQ */
12911291}
12921292
12931293static void sound_irq2(device_t *device, int linestate)
12941294{
1295   cputag_set_input_line(device->machine(), "audiocpu", 1, linestate); /* IRQ2 */
1295   device->machine().device("audiocpu")->execute().set_input_line(1, linestate); /* IRQ2 */
12961296}
12971297
12981298static const ym3812_interface ym3812_config =
r17813r17814
13851385   else
13861386   {
13871387      msm5205_data_w(device, state->m_automat_adpcm_byte >> 4);
1388      //cputag_set_input_line(device->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE); // gives some scratch samples but breaks other sounds too
1388      //device->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); // gives some scratch samples but breaks other sounds too
13891389   }
13901390
13911391   state->m_automat_msm5205_vclk_toggle ^= 1;
trunk/src/mame/drivers/atarig42.c
r17813r17814
3434static void update_interrupts(running_machine &machine)
3535{
3636   atarig42_state *state = machine.driver_data<atarig42_state>();
37   cputag_set_input_line(machine, "maincpu", 4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
38   cputag_set_input_line(machine, "maincpu", 5, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
37   machine.device("maincpu")->execute().set_input_line(4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(5, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
3939}
4040
4141
r17813r17814
111111   if (ACCESSING_BITS_0_7)
112112   {
113113      /* bit 4 resets the sound CPU */
114      cputag_set_input_line(machine(), "jsa", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
114      machine().device("jsa")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
115115      if (!(data & 0x10)) atarijsa_reset();
116116
117117      /* bit 5 is /XRESET, probably related to the ASIC */
trunk/src/mame/drivers/vindictr.c
r17813r17814
3434static void update_interrupts(running_machine &machine)
3535{
3636   vindictr_state *state = machine.driver_data<vindictr_state>();
37   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   cputag_set_input_line(machine, "maincpu", 6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
37   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
3939}
4040
4141
trunk/src/mame/drivers/midvunit.c
r17813r17814
126126{
127127   if (!(m_control_data & 0x40))
128128   {
129      cputag_set_input_line(machine(), "maincpu", 3, CLEAR_LINE);
129      machine().device("maincpu")->execute().set_input_line(3, CLEAR_LINE);
130130      return m_adc_data << m_adc_shift;
131131   }
132132   else
r17813r17814
137137
138138static TIMER_CALLBACK( adc_ready )
139139{
140   cputag_set_input_line(machine, "maincpu", 3, ASSERT_LINE);
140   machine.device("maincpu")->execute().set_input_line(3, ASSERT_LINE);
141141}
142142
143143
trunk/src/mame/drivers/pangofun.c
r17813r17814
167167
168168static void set_gate_a20(running_machine &machine, int a20)
169169{
170   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
170   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
171171}
172172
173173static void keyboard_interrupt(running_machine &machine, int state)
trunk/src/mame/drivers/shadfrce.c
r17813r17814
263263   if (ACCESSING_BITS_8_15)
264264   {
265265      soundlatch_byte_w(space, 1, data >> 8);
266      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE );
266      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
267267   }
268268   else
269269   {
r17813r17814
277277
278278WRITE16_MEMBER(shadfrce_state::shadfrce_irq_ack_w)
279279{
280   cputag_set_input_line(machine(), "maincpu", offset ^ 3, CLEAR_LINE);
280   machine().device("maincpu")->execute().set_input_line(offset ^ 3, CLEAR_LINE);
281281}
282282
283283WRITE16_MEMBER(shadfrce_state::shadfrce_irq_w)
r17813r17814
331331         state->m_raster_scanline = (state->m_raster_scanline + 1) % 240;
332332         if (state->m_raster_scanline > 0)
333333            timer.machine().primary_screen->update_partial(state->m_raster_scanline - 1);
334         cputag_set_input_line(timer.machine(), "maincpu", 1, ASSERT_LINE);
334         timer.machine().device("maincpu")->execute().set_input_line(1, ASSERT_LINE);
335335      }
336336   }
337337
r17813r17814
342342      {
343343         if (scanline > 0)
344344            timer.machine().primary_screen->update_partial(scanline - 1);
345         cputag_set_input_line(timer.machine(), "maincpu", 2, ASSERT_LINE);
345         timer.machine().device("maincpu")->execute().set_input_line(2, ASSERT_LINE);
346346      }
347347   }
348348
r17813r17814
352352      if (scanline == 248)
353353      {
354354         timer.machine().primary_screen->update_partial(scanline - 1);
355         cputag_set_input_line(timer.machine(), "maincpu", 3, ASSERT_LINE);
355         timer.machine().device("maincpu")->execute().set_input_line(3, ASSERT_LINE);
356356      }
357357   }
358358}
r17813r17814
546546
547547static void irq_handler(device_t *device, int irq)
548548{
549   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE );
549   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE );
550550}
551551
552552static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/firebeat.c
r17813r17814
640640         /* IRQ clear/enable; ppd writes bit off then on in response to interrupt */
641641         /* it enables bits 0x41, but 0x01 seems to be the one it cares about */
642642         if (ACCESSING_BITS_16_31 && (data & 0x0001) == 0)
643            cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
643            machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
644644         break;
645645
646646      case 0x30:
r17813r17814
907907
908908static void atapi_cause_irq(running_machine &machine)
909909{
910   cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ4, ASSERT_LINE);
910   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ4, ASSERT_LINE);
911911}
912912
913913static void atapi_clear_irq(running_machine &machine)
914914{
915   cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ4, CLEAR_LINE);
915   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ4, CLEAR_LINE);
916916}
917917
918918static void atapi_init(running_machine &machine)
r17813r17814
13221322static void comm_uart_irq_callback(running_machine &machine, int channel, int value)
13231323{
13241324   // TODO
1325   //cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ2, ASSERT_LINE);
1325   //machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ2, ASSERT_LINE);
13261326}
13271327
13281328/*****************************************************************************/
r17813r17814
13971397      if ((state->m_extend_board_irq_enable & 0x02) == 0 && value != CLEAR_LINE)
13981398      {
13991399         state->m_extend_board_irq_active |= 0x02;
1400         cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ1, ASSERT_LINE);
1400         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE);
14011401      }
14021402      else
1403         cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
1403         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
14041404   }
14051405   else
14061406   {
14071407      if ((state->m_extend_board_irq_enable & 0x01) == 0 && value != CLEAR_LINE)
14081408      {
14091409         state->m_extend_board_irq_active |= 0x01;
1410         cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ1, ASSERT_LINE);
1410         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, ASSERT_LINE);
14111411      }
14121412      else
1413         cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
1413         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
14141414   }
14151415}
14161416
trunk/src/mame/drivers/spdodgeb.c
r17813r17814
3232WRITE8_MEMBER(spdodgeb_state::sound_command_w)
3333{
3434   soundlatch_byte_w(space, offset, data);
35   cputag_set_input_line(machine(), "audiocpu", M6809_IRQ_LINE, HOLD_LINE);
35   machine().device("audiocpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
3636}
3737
3838WRITE8_MEMBER(spdodgeb_state::spd_adpcm_w)
r17813r17814
379379
380380static void irq_handler(device_t *device, int irq)
381381{
382   cputag_set_input_line(device->machine(), "audiocpu", M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
382   device->machine().device("audiocpu")->execute().set_input_line(M6809_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
383383}
384384
385385static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/plygonet.c
r17813r17814
183183
184184WRITE32_MEMBER(polygonet_state::sound_irq_w)
185185{
186   cputag_set_input_line(machine(), "soundcpu", 0, HOLD_LINE);
186   machine().device("soundcpu")->execute().set_input_line(0, HOLD_LINE);
187187}
188188
189189/* DSP communications */
r17813r17814
253253   if ((data >> 24) & 0x01)
254254   {
255255//      logerror("RESET CLEARED\n");
256      cputag_set_input_line(machine(), "dsp", DSP56K_IRQ_RESET, CLEAR_LINE);
256      machine().device("dsp")->execute().set_input_line(DSP56K_IRQ_RESET, CLEAR_LINE);
257257   }
258258   else
259259   {
260260//      logerror("RESET ASSERTED\n");
261      cputag_set_input_line(machine(), "dsp", DSP56K_IRQ_RESET, ASSERT_LINE);
261      machine().device("dsp")->execute().set_input_line(DSP56K_IRQ_RESET, ASSERT_LINE);
262262
263263      /* A little hacky - I can't seem to set these lines anywhere else where reset is asserted, so i do it here */
264      cputag_set_input_line(machine(), "dsp", DSP56K_IRQ_MODA, ASSERT_LINE);
265      cputag_set_input_line(machine(), "dsp", DSP56K_IRQ_MODB, CLEAR_LINE);
264      machine().device("dsp")->execute().set_input_line(DSP56K_IRQ_MODA, ASSERT_LINE);
265      machine().device("dsp")->execute().set_input_line(DSP56K_IRQ_MODB, CLEAR_LINE);
266266   }
267267
268268   /* 0x04000000 is the COMBNK line - it switches who has access to the shared RAM - the dsp or the 68020 */
r17813r17814
608608   /* It's presumed the hardware has hard-wired operating mode 1 (MODA = 1, MODB = 0) */
609609   /* TODO: This should work, but the MAME core appears to do something funny.
610610             Not a big deal - it's hacked in dsp_w_lines. */
611   //cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
612   //cputag_set_input_line(machine, "dsp", DSP56K_IRQ_MODA, ASSERT_LINE);
613   //cputag_set_input_line(machine, "dsp", DSP56K_IRQ_MODB, CLEAR_LINE);
611   //machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
612   //machine.device("dsp")->execute().set_input_line(DSP56K_IRQ_MODA, ASSERT_LINE);
613   //machine.device("dsp")->execute().set_input_line(DSP56K_IRQ_MODB, CLEAR_LINE);
614614}
615615
616616static const k053936_interface polygonet_k053936_intf =
trunk/src/mame/drivers/higemaru.c
r17813r17814
2121   int scanline = param;
2222
2323   if(scanline == 240) // vblank-out irq
24      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xcf);   /* RST 08h - vblank */
24      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf);   /* RST 08h - vblank */
2525
2626   if(scanline == 0) // unknown irq event, does various stuff like copying the spriteram
27      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xd7);   /* RST 10h */
27      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7);   /* RST 10h */
2828}
2929
3030
trunk/src/mame/drivers/batman.c
r17813r17814
3434static void update_interrupts(running_machine &machine)
3535{
3636   batman_state *state = machine.driver_data<batman_state>();
37   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   cputag_set_input_line(machine, "maincpu", 6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
37   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
3939}
4040
4141
r17813r17814
103103
104104   /* bit 4 is connected to the /RESET pin on the 6502 */
105105   if (m_latch_data & 0x0010)
106      cputag_set_input_line(machine(), "jsa", INPUT_LINE_RESET, CLEAR_LINE);
106      machine().device("jsa")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
107107   else
108      cputag_set_input_line(machine(), "jsa", INPUT_LINE_RESET, ASSERT_LINE);
108      machine().device("jsa")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
109109
110110   /* alpha bank is selected by the upper 4 bits */
111111   if ((oldword ^ m_latch_data) & 0x7000)
trunk/src/mame/drivers/progolf.c
r17813r17814
202202WRITE8_MEMBER(progolf_state::audio_command_w)
203203{
204204   m_sound_cmd = data;
205   cputag_set_input_line(machine(), "audiocpu", 0, ASSERT_LINE);
205   machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
206206}
207207
208208READ8_MEMBER(progolf_state::audio_command_r)
209209{
210   cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
210   machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
211211   return m_sound_cmd;
212212}
213213
r17813r17814
274274
275275INPUT_CHANGED_MEMBER(progolf_state::coin_inserted)
276276{
277   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
277   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
278278}
279279
280280/* verified from M6502 code */
trunk/src/mame/drivers/magmax.c
r17813r17814
3535   if (ACCESSING_BITS_0_7)
3636   {
3737      m_sound_latch = (data & 0xff) << 1;
38      cputag_set_input_line(machine(), "audiocpu", 0, ASSERT_LINE);
38      machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
3939   }
4040}
4141
4242READ8_MEMBER(magmax_state::magmax_sound_irq_ack)
4343{
44   cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
44   machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
4545   return 0;
4646}
4747
trunk/src/mame/drivers/jackie.c
r17813r17814
340340
341341WRITE8_MEMBER(jackie_state::igs_irqack_w)
342342{
343//  cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
343//  machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
344344   m_out[2] = data;
345345   show_out();
346346}
trunk/src/mame/drivers/trucocl.c
r17813r17814
4646
4747static TIMER_CALLBACK( dac_irq )
4848{
49   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE );
49   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
5050}
5151
5252WRITE8_MEMBER(trucocl_state::audio_dac_w)
trunk/src/mame/drivers/segag80v.c
r17813r17814
162162{
163163   /* pressing the service switch sends an NMI */
164164   if (newval)
165      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
165      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
166166}
167167
168168
trunk/src/mame/drivers/astrocde.c
r17813r17814
522522WRITE8_MEMBER(astrocde_state::tenpindx_sound_w)
523523{
524524   soundlatch_byte_w(space, offset, data);
525   cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, PULSE_LINE);
525   machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
526526}
527527
528528
trunk/src/mame/drivers/40love.c
r17813r17814
10341034
10351035static MACHINE_RESET( 40love )
10361036{
1037   cputag_set_input_line(machine, "mcu", 0, CLEAR_LINE);
1037   machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
10381038
10391039   MACHINE_RESET_CALL(common);
10401040}
trunk/src/mame/drivers/sg1000a.c
r17813r17814
240240
241241WRITE_LINE_MEMBER(sg1000a_state::vdp_interrupt)
242242{
243   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, state);
243   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, state);
244244}
245245
246246static TMS9928A_INTERFACE(sg1000a_tms9928a_interface)
trunk/src/mame/drivers/panicr.c
r17813r17814
494494   int scanline = param;
495495
496496   if(scanline == 240) // vblank-out irq
497      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xc4/4);
497      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xc4/4);
498498
499499   if(scanline == 0) // <unknown>
500      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xc8/4);
500      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xc8/4);
501501}
502502
503503static MACHINE_CONFIG_START( panicr, panicr_state )
trunk/src/mame/drivers/galaga.c
r17813r17814
742742      case 0x00:   /* IRQ1 */
743743         m_main_irq_mask = data & 1;
744744         if (!m_main_irq_mask)
745            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
745            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
746746         break;
747747
748748      case 0x01:   /* IRQ2 */
749749         m_sub_irq_mask = data & 1;
750750         if (!m_sub_irq_mask)
751            cputag_set_input_line(machine(), "sub", 0, CLEAR_LINE);
751            machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
752752         break;
753753
754754      case 0x02:   /* NMION */
r17813r17814
756756         break;
757757
758758      case 0x03:   /* RESET */
759         cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
760         cputag_set_input_line(machine(), "sub2", INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
759         machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
760         machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
761761         break;
762762
763763      case 0x04:   /* n.c. */
trunk/src/mame/drivers/istellar.c
r17813r17814
109109   if (m_z80_2_nmi_enable)
110110   {
111111      logerror("Executing an NMI on CPU2\n");
112      cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, PULSE_LINE);      /* Maybe this is a ASSERT_LINE, CLEAR_LINE combo? */
112      machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);      /* Maybe this is a ASSERT_LINE, CLEAR_LINE combo? */
113113      m_z80_2_nmi_enable = 0;
114114   }
115115}
r17813r17814
320320   device_set_input_line(device, 0, HOLD_LINE);
321321
322322   /* Interrupt presumably comes from the LDP's status strobe */
323   cputag_set_input_line(device->machine(), "sub", 0, ASSERT_LINE);
323   device->machine().device("sub")->execute().set_input_line(0, ASSERT_LINE);
324324}
325325
326326
trunk/src/mame/drivers/psychic5.c
r17813r17814
333333   int scanline = param;
334334
335335   if(scanline == 240) // vblank-out irq
336      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
336      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7);   /* RST 10h - vblank */
337337
338338   if(scanline == 0) // sprite buffer irq
339      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xcf);   /* RST 08h */
339      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf);   /* RST 08h */
340340}
341341
342342
r17813r17814
646646
647647static void irqhandler(device_t *device, int irq)
648648{
649   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
649   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
650650}
651651
652652static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/xyonix.c
r17813r17814
2727
2828WRITE8_MEMBER(xyonix_state::xyonix_irqack_w)
2929{
30   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
30   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
3131}
3232
3333
trunk/src/mame/drivers/pacland.c
r17813r17814
181181WRITE8_MEMBER(pacland_state::pacland_subreset_w)
182182{
183183   int bit = !BIT(offset,11);
184   cputag_set_input_line(machine(), "mcu", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
184   machine().device("mcu")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
185185}
186186
187187WRITE8_MEMBER(pacland_state::pacland_flipscreen_w)
r17813r17814
222222   int bit = !BIT(offset, 11);
223223   m_main_irq_mask = bit;
224224   if (!bit)
225      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
225      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
226226}
227227
228228WRITE8_MEMBER(pacland_state::pacland_irq_2_ctrl_w)
r17813r17814
230230   int bit = !BIT(offset, 13);
231231   m_mcu_irq_mask = bit;
232232   if (!bit)
233      cputag_set_input_line(machine(), "mcu", 0, CLEAR_LINE);
233      machine().device("mcu")->execute().set_input_line(0, CLEAR_LINE);
234234}
235235
236236
r17813r17814
401401   pacland_state *state = device->machine().driver_data<pacland_state>();
402402
403403   if(state->m_main_irq_mask)
404      cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
404      device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
405405}
406406
407407static INTERRUPT_GEN( mcu_vblank_irq )
r17813r17814
409409   pacland_state *state = device->machine().driver_data<pacland_state>();
410410
411411   if(state->m_mcu_irq_mask)
412      cputag_set_input_line(device->machine(), "mcu", 0, ASSERT_LINE);
412      device->machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE);
413413}
414414
415415static MACHINE_CONFIG_START( pacland, pacland_state )
trunk/src/mame/drivers/djboy.c
r17813r17814
504504   int scanline = param;
505505
506506   if(scanline == 240) // vblank-out irq
507      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xfd);
507      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xfd);
508508
509509   /* Pandora "sprite end dma" irq? TODO: timing is clearly off, attract mode relies on this */
510510   if(scanline == 64)
511      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE, 0xff);
511      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);
512512}
513513
514514static const kaneko_pandora_interface djboy_pandora_config =
trunk/src/mame/drivers/sidearms.c
r17813r17814
634634/* handler called by the 2203 emulator when the internal timers cause an IRQ */
635635static void irqhandler(device_t *device, int irq)
636636{
637   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
637   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
638638}
639639
640640static const ym2203_interface ym2203_config =
trunk/src/mame/drivers/taito_x.c
r17813r17814
794794/* handler called by the YM2610 emulator when the internal timers cause an IRQ */
795795static void irqhandler(device_t *device, int irq)
796796{
797   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
797   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
798798}
799799
800800static const ym2610_interface ym2610_config =
trunk/src/mame/drivers/tumblep.c
r17813r17814
7878WRITE16_MEMBER(tumblep_state::jumppop_sound_w)
7979{
8080   soundlatch_byte_w(space, 0, data & 0xff);
81   cputag_set_input_line(m_audiocpu, 0, ASSERT_LINE );
81   m_audiocpu.device(0)->execute().set_input_line(ASSERT_LINE );
8282}
8383#endif
8484
trunk/src/mame/drivers/esripsys.c
r17813r17814
4343
4444WRITE_LINE_MEMBER(esripsys_state::ptm_irq)
4545{
46   cputag_set_input_line(machine(), "sound_cpu", M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
46   machine().device("sound_cpu")->execute().set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
4747}
4848
4949static const ptm6840_interface ptm_intf =
r17813r17814
111111   bankaddress = 0x10000 + (data & 0x03) * 0x10000;
112112   membank("bank1")->set_base(&rom[bankaddress]);
113113
114   cputag_set_input_line(machine(), "frame_cpu", M6809_FIRQ_LINE, data & 0x10 ? CLEAR_LINE : ASSERT_LINE);
115   cputag_set_input_line(machine(), "frame_cpu", INPUT_LINE_NMI,  data & 0x80 ? CLEAR_LINE : ASSERT_LINE);
114   machine().device("frame_cpu")->execute().set_input_line(M6809_FIRQ_LINE, data & 0x10 ? CLEAR_LINE : ASSERT_LINE);
115   machine().device("frame_cpu")->execute().set_input_line(INPUT_LINE_NMI,  data & 0x80 ? CLEAR_LINE : ASSERT_LINE);
116116
117   cputag_set_input_line(machine(), "video_cpu", INPUT_LINE_RESET, data & 0x40 ? CLEAR_LINE : ASSERT_LINE);
117   machine().device("video_cpu")->execute().set_input_line(INPUT_LINE_RESET, data & 0x40 ? CLEAR_LINE : ASSERT_LINE);
118118
119119   /* /VBLANK IRQ acknowledge */
120120   if (!(data & 0x20))
121      cputag_set_input_line(machine(), "game_cpu", M6809_IRQ_LINE, CLEAR_LINE);
121      machine().device("game_cpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
122122}
123123
124124
r17813r17814
347347         }
348348         case 0x02:
349349         {
350            cputag_set_input_line(machine(), "sound_cpu", INPUT_LINE_NMI, m_g_iodata & 4 ? CLEAR_LINE : ASSERT_LINE);
350            machine().device("sound_cpu")->execute().set_input_line(INPUT_LINE_NMI, m_g_iodata & 4 ? CLEAR_LINE : ASSERT_LINE);
351351
352352            if (!(m_g_to_s_latch2 & 1) && (m_g_iodata & 1))
353353            {
r17813r17814
355355               m_u56a = 1;
356356
357357               /*...causing a sound CPU /IRQ */
358               cputag_set_input_line(machine(), "sound_cpu", M6809_IRQ_LINE, ASSERT_LINE);
358               machine().device("sound_cpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE);
359359            }
360360
361361            if (m_g_iodata & 2)
r17813r17814
408408   {
409409      m_io_firq_status |= 2;
410410      m_keypad_status |= 0x20;
411      cputag_set_input_line(machine(), "game_cpu", M6809_FIRQ_LINE, HOLD_LINE);
411      machine().device("game_cpu")->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
412412   }
413413}
414414
r17813r17814
418418   {
419419      m_io_firq_status |= 2;
420420      m_coin_latch = ioport("COINS")->read() << 2;
421      cputag_set_input_line(machine(), "game_cpu", M6809_FIRQ_LINE, HOLD_LINE);
421      machine().device("game_cpu")->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE);
422422   }
423423}
424424
r17813r17814
499499   if (m_s_to_g_latch2 & 0x40)
500500   {
501501      m_u56a = 0;
502      cputag_set_input_line(machine(), "sound_cpu", M6809_IRQ_LINE, CLEAR_LINE);
502      machine().device("sound_cpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
503503   }
504504
505505   if (!(m_s_to_g_latch2 & 0x80) && (data & 0x80))
trunk/src/mame/drivers/tsamurai.c
r17813r17814
8080WRITE8_MEMBER(tsamurai_state::sound_command1_w)
8181{
8282   m_sound_command1 = data;
83   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE );
83   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE );
8484}
8585
8686WRITE8_MEMBER(tsamurai_state::sound_command2_w)
8787{
8888   m_sound_command2 = data;
89   cputag_set_input_line(machine(), "audio2", 0, HOLD_LINE );
89   machine().device("audio2")->execute().set_input_line(0, HOLD_LINE );
9090}
9191
9292WRITE8_MEMBER(tsamurai_state::sound_command3_w)
9393{
9494   m_sound_command3 = data;
95   cputag_set_input_line(machine(), "audio3", 0, HOLD_LINE );
95   machine().device("audio3")->execute().set_input_line(0, HOLD_LINE );
9696}
9797
9898WRITE8_MEMBER(tsamurai_state::flip_screen_w)
r17813r17814
300300WRITE8_MEMBER(tsamurai_state::vsgongf_sound_command_w)
301301{
302302   soundlatch_byte_w(space, offset, data);
303   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
303   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
304304}
305305
306306static ADDRESS_MAP_START( vsgongf_map, AS_PROGRAM, 8, tsamurai_state )
trunk/src/mame/drivers/exzisus.c
r17813r17814
109109// is it ok that cpub_reset refers to cpuc?
110110WRITE8_MEMBER(exzisus_state::exzisus_cpub_reset_w)
111111{
112   cputag_set_input_line(machine(), "cpuc", INPUT_LINE_RESET, PULSE_LINE);
112   machine().device("cpuc")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
113113}
114114
115115#if 0
r17813r17814
254254
255255static void irqhandler(device_t *device, int irq)
256256{
257   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
257   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
258258}
259259
260260static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/tx1.c
r17813r17814
6161/* Main CPU and Z80 synchronisation */
6262WRITE16_MEMBER(tx1_state::z80_busreq_w)
6363{
64   cputag_set_input_line(machine(), "audio_cpu", INPUT_LINE_HALT, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
64   machine().device("audio_cpu")->execute().set_input_line(INPUT_LINE_HALT, (data & 1) ? CLEAR_LINE : ASSERT_LINE);
6565}
6666
6767WRITE16_MEMBER(tx1_state::resume_math_w)
6868{
69   cputag_set_input_line(machine(), "math_cpu", INPUT_LINE_TEST, ASSERT_LINE);
69   machine().device("math_cpu")->execute().set_input_line(INPUT_LINE_TEST, ASSERT_LINE);
7070}
7171
7272WRITE16_MEMBER(tx1_state::halt_math_w)
7373{
74   cputag_set_input_line(machine(), "math_cpu", INPUT_LINE_TEST, CLEAR_LINE);
74   machine().device("math_cpu")->execute().set_input_line(INPUT_LINE_TEST, CLEAR_LINE);
7575}
7676
7777/* Z80 can trigger its own interrupts */
7878WRITE8_MEMBER(tx1_state::z80_intreq_w)
7979{
80   cputag_set_input_line(machine(), "audio_cpu", 0, HOLD_LINE);
80   machine().device("audio_cpu")->execute().set_input_line(0, HOLD_LINE);
8181}
8282
8383/* Periodic Z80 interrupt */
trunk/src/mame/drivers/thayers.c
r17813r17814
9696   thayers_state *state = machine.driver_data<thayers_state>();
9797   if (!state->m_timer_int || !state->m_data_rdy_int || !state->m_ssi_data_request)
9898   {
99      cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, HOLD_LINE);
99      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, HOLD_LINE);
100100   }
101101   else
102102   {
103      cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
103      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
104104   }
105105}
106106
107107static TIMER_CALLBACK( intrq_tick )
108108{
109   cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
109   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
110110}
111111
112112WRITE8_MEMBER(thayers_state::intrq_w)
113113{
114114   // T = 1.1 * R30 * C53 = 1.1 * 750K * 0.01uF = 8.25 ms
115115
116   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, HOLD_LINE);
116   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, HOLD_LINE);
117117
118118   machine().scheduler().timer_set(attotime::from_usec(8250), FUNC(intrq_tick));
119119}
r17813r17814
353353
354354   if ((!BIT(data, 2)) & m_cart_present)
355355   {
356      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, HOLD_LINE);
356      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, HOLD_LINE);
357357   }
358358}
359359
trunk/src/mame/drivers/merit.c
r17813r17814
281281
282282WRITE_LINE_MEMBER(merit_state::vsync_changed)
283283{
284   cputag_set_input_line(machine(), "maincpu", 0, state ? ASSERT_LINE : CLEAR_LINE);
284   machine().device("maincpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
285285}
286286
287287static const mc6845_interface mc6845_intf =
trunk/src/mame/drivers/blstroid.c
r17813r17814
3535static void update_interrupts(running_machine &machine)
3636{
3737   blstroid_state *state = machine.driver_data<blstroid_state>();
38   cputag_set_input_line(machine, "maincpu", 1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
39   cputag_set_input_line(machine, "maincpu", 2, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
40   cputag_set_input_line(machine, "maincpu", 4, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(1, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
39   machine.device("maincpu")->execute().set_input_line(2, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
40   machine.device("maincpu")->execute().set_input_line(4, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
4141}
4242
4343
trunk/src/mame/drivers/retofinv.c
r17813r17814
3838
3939WRITE8_MEMBER(retofinv_state::cpu1_reset_w)
4040{
41   cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
41   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
4242}
4343
4444WRITE8_MEMBER(retofinv_state::cpu2_reset_w)
4545{
46   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
46   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
4747}
4848
4949WRITE8_MEMBER(retofinv_state::mcu_reset_w)
5050{
5151   /* the bootlegs don't have a MCU, so make sure it's there before trying to reset it */
5252   if (machine().device("68705") != NULL)
53      cputag_set_input_line(machine(), "68705", INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
53      machine().device("68705")->execute().set_input_line(INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
5454}
5555
5656WRITE8_MEMBER(retofinv_state::cpu2_m6000_w)
r17813r17814
6666WRITE8_MEMBER(retofinv_state::soundcommand_w)
6767{
6868      soundlatch_byte_w(space, 0, data);
69      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
69      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
7070}
7171
7272WRITE8_MEMBER(retofinv_state::irq0_ack_w)
7373{
7474   m_main_irq_mask = data & 1;
7575   if (!m_main_irq_mask)
76      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
76      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
7777}
7878
7979WRITE8_MEMBER(retofinv_state::irq1_ack_w)
8080{
8181   m_sub_irq_mask = data & 1;
8282   if (!m_sub_irq_mask)
83      cputag_set_input_line(machine(), "sub", 0, CLEAR_LINE);
83      machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
8484}
8585
8686WRITE8_MEMBER(retofinv_state::coincounter_w)
trunk/src/mame/drivers/meadows.c
r17813r17814
198198
199199INPUT_CHANGED_MEMBER(meadows_state::coin_inserted)
200200{
201   cputag_set_input_line_and_vector(machine(), "maincpu", 0, (newval ? ASSERT_LINE : CLEAR_LINE), 0x82);
201   machine().device("maincpu")->execute().set_input_line_and_vector(0, (newval ? ASSERT_LINE : CLEAR_LINE), 0x82);
202202}
203203
204204
trunk/src/mame/drivers/spoker.c
r17813r17814
144144   set_led_status(machine(), 6,      data & 0x40);   // led for coin out / hopper active
145145
146146   if(((m_nmi_ack & 0x80) == 0) && data & 0x80)
147      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
147      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
148148
149149   m_nmi_ack = data & 0x80;     // nmi acknowledge, 0 -> 1
150150
trunk/src/mame/drivers/srmp2.c
r17813r17814
376376
377377WRITE8_MEMBER(srmp2_state::srmp2_irq2_ack_w)
378378{
379   cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
379   machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
380380}
381381
382382WRITE8_MEMBER(srmp2_state::srmp2_irq4_ack_w)
383383{
384   cputag_set_input_line(machine(), "maincpu", 4, CLEAR_LINE);
384   machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
385385}
386386
387387
r17813r17814
408408
409409READ8_MEMBER(srmp2_state::mjyuugi_irq2_ack_r)
410410{
411   cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
411   machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
412412   return 0xff; // value returned doesn't matter
413413}
414414
415415READ8_MEMBER(srmp2_state::mjyuugi_irq4_ack_r)
416416{
417   cputag_set_input_line(machine(), "maincpu", 4, CLEAR_LINE);
417   machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
418418   return 0xff; // value returned doesn't matter
419419}
420420
r17813r17814
461461
462462WRITE8_MEMBER(srmp2_state::srmp3_irq_ack_w)
463463{
464   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
464   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
465465}
466466
467467static ADDRESS_MAP_START( srmp3_map, AS_PROGRAM, 8, srmp2_state )
trunk/src/mame/drivers/snk68.c
r17813r17814
109109   if (ACCESSING_BITS_8_15)
110110   {
111111      soundlatch_byte_w(space, 0, data >> 8);
112      cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
112      machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
113113   }
114114}
115115
r17813r17814
578578
579579static void irqhandler(device_t *device, int irq)
580580{
581   cputag_set_input_line(device->machine(), "soundcpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
581   device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
582582}
583583
584584static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/aeroboto.c
r17813r17814
5151
5252READ8_MEMBER(aeroboto_state::aeroboto_irq_ack_r)
5353{
54   cputag_set_input_line(machine(),"maincpu", 0, CLEAR_LINE);
54   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
5555   return 0xff;
5656}
5757
trunk/src/mame/drivers/madalien.c
r17813r17814
1919INPUT_CHANGED_MEMBER(madalien_state::coin_inserted)
2020{
2121   /* coin insertion causes an NMI */
22   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
22   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
2323}
2424
2525
r17813r17814
5454
5555WRITE8_MEMBER(madalien_state::madalien_sound_command_w)
5656{
57   cputag_set_input_line(machine(), "audiocpu", 0, ASSERT_LINE);
57   machine().device("audiocpu")->execute().set_input_line(0, ASSERT_LINE);
5858   soundlatch_byte_w(space, offset, data);
5959}
6060
6161
6262READ8_MEMBER(madalien_state::madalien_sound_command_r)
6363{
64   cputag_set_input_line(machine(), "audiocpu", 0, CLEAR_LINE);
64   machine().device("audiocpu")->execute().set_input_line(0, CLEAR_LINE);
6565   return soundlatch_byte_r(space, offset);
6666}
6767
trunk/src/mame/drivers/thedeep.c
r17813r17814
4646WRITE8_MEMBER(thedeep_state::thedeep_sound_w)
4747{
4848   soundlatch_byte_w(space, 0, data);
49   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
49   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
5050}
5151
5252
r17813r17814
394394
395395static void irqhandler(device_t *device, int irq)
396396{
397   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
397   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
398398}
399399
400400static const ym2203_interface thedeep_ym2203_intf =
trunk/src/mame/drivers/zr107.c
r17813r17814
335335                0x01 = EEPDI
336336            */
337337         ioport("EEPROMOUT")->write(data & 0x07, 0xff);
338         cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
338         machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
339339         mame_printf_debug("System register 0 = %02X\n", data);
340340         break;
341341
r17813r17814
351351                0x01 = ADDSCLK (ADC SCLK)
352352            */
353353         if (data & 0x80)   /* CG Board 1 IRQ Ack */
354            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
354            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
355355         if (data & 0x40)   /* CG Board 0 IRQ Ack */
356            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
356            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
357357         set_cgboard_id((data >> 4) & 3);
358358         ioport("OUT4")->write(data, 0xff);
359359         mame_printf_debug("System register 1 = %02X\n", data);
r17813r17814
675675
676676static TIMER_CALLBACK( irq_off )
677677{
678   cputag_set_input_line(machine, "audiocpu", param, CLEAR_LINE);
678   machine.device("audiocpu")->execute().set_input_line(param, CLEAR_LINE);
679679}
680680
681681static void sound_irq_callback( running_machine &machine, int irq )
682682{
683683   int line = (irq == 0) ? INPUT_LINE_IRQ1 : INPUT_LINE_IRQ2;
684684
685   cputag_set_input_line(machine, "audiocpu", line, ASSERT_LINE);
685   machine.device("audiocpu")->execute().set_input_line(line, ASSERT_LINE);
686686   machine.scheduler().timer_set(attotime::from_usec(1), FUNC(irq_off), line);
687687}
688688
r17813r17814
720720
721721static MACHINE_RESET( zr107 )
722722{
723   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
723   machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
724724}
725725
726726static MACHINE_CONFIG_START( zr107, zr107_state )
trunk/src/mame/drivers/sbrkout.c
r17813r17814
135135
136136   /* if this is a rising edge of 16V, assert the CPU interrupt */
137137   if (scanline % 32 == 16)
138      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
138      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
139139
140140   /* update the DAC state */
141141   machine.device<dac_device>("dac")->write_unsigned8((videoram[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
r17813r17814
157157
158158WRITE8_MEMBER(sbrkout_state::irq_ack_w)
159159{
160   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
160   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
161161}
162162
163163
r17813r17814
202202{
203203   sbrkout_state *state = machine.driver_data<sbrkout_state>();
204204   if ((state->m_pot_trigger[0] & ~state->m_pot_mask[0]) | (state->m_pot_trigger[1] & ~state->m_pot_mask[1]))
205      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
205      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
206206   else
207      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
207      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
208208}
209209
210210
trunk/src/mame/drivers/bladestl.c
r17813r17814
4242   int scanline = param;
4343
4444   if(scanline == 240 && k007342_is_int_enabled(state->m_k007342)) // vblank-out irq
45      cputag_set_input_line(timer.machine(), "maincpu", HD6309_FIRQ_LINE, HOLD_LINE);
45      timer.machine().device("maincpu")->execute().set_input_line(HD6309_FIRQ_LINE, HOLD_LINE);
4646
4747   if(scanline == 0) // vblank-in or timer irq
48      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
48      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
4949}
5050
5151/*************************************
trunk/src/mame/drivers/bwidow.c
r17813r17814
343343
344344WRITE8_MEMBER(bwidow_state::irq_ack_w)
345345{
346   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
346   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
347347}
348348
349349
trunk/src/mame/drivers/re900.c
r17813r17814
247247
248248WRITE_LINE_MEMBER(re900_state::vdp_interrupt)
249249{
250   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE );
250   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE );
251251}
252252
253253
trunk/src/mame/drivers/overdriv.c
r17813r17814
8181   /* TODO: irqs routines are TOO slow right now, it ends up firing spurious irqs for whatever reason (shared ram fighting?) */
8282   /*       this is a temporary solution to get rid of deprecat lib and the crashes, but also makes the game timer to be too slow */
8383   if(scanline == 256 && timer.machine().primary_screen->frame_number() & 1) // vblank-out irq
84      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
84      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
8585   else if((scanline % 128) == 0) // timer irq
86      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
86      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
8787}
8888
8989static INTERRUPT_GEN( cpuB_interrupt )
r17813r17814
312312   state->m_road_colorbase[1] = 0;
313313
314314   /* start with cpu B halted */
315   cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, ASSERT_LINE);
315   machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
316316}
317317
318318static const k053252_interface overdriv_k053252_intf =
trunk/src/mame/drivers/spcforce.c
r17813r17814
7676
7777WRITE8_MEMBER(spcforce_state::spcforce_soundtrigger_w)
7878{
79   cputag_set_input_line(machine(), "audiocpu", 0, (~data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
79   machine().device("audiocpu")->execute().set_input_line(0, (~data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
8080}
8181
8282WRITE8_MEMBER(spcforce_state::irq_mask_w)
trunk/src/mame/drivers/gsword.c
r17813r17814
324324WRITE8_MEMBER(gsword_state::adpcm_soundcommand_w)
325325{
326326   soundlatch_byte_w(space, 0, data);
327   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
327   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
328328}
329329
330330static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM , 8, gsword_state )
trunk/src/mame/drivers/xmen.c
r17813r17814
357357   int scanline = param;
358358
359359   if(scanline == 240 && state->m_vblank_irq_mask) // vblank-out irq
360      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
360      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
361361
362362   if(scanline == 0) // sprite DMA irq?
363      cputag_set_input_line(timer.machine(), "maincpu", 5, HOLD_LINE);
363      timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE);
364364
365365}
366366
trunk/src/mame/drivers/wink.c
r17813r17814
107107
108108WRITE8_MEMBER(wink_state::sound_irq_w)
109109{
110   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
110   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
111111   //sync with sound cpu (but it still loses some soundlatches...)
112112   //machine().scheduler().synchronize();
113113}
trunk/src/mame/drivers/tecmo16.c
r17813r17814
3737   if (ACCESSING_BITS_0_7)
3838   {
3939      soundlatch_byte_w(space, 0x00, data & 0xff);
40      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
40      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
4141   }
4242}
4343
r17813r17814
363363
364364static void irqhandler(device_t *device, int irq)
365365{
366   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
366   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
367367}
368368
369369static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/2mindril.c
r17813r17814
186186    ---- ---- -??- -??? connected to the other levels?
187187    */
188188   if(((irq_reg & 8) == 0) && data & 8)
189      cputag_set_input_line(machine(), "maincpu", 4, CLEAR_LINE);
189      machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
190190
191191   if(((irq_reg & 0x10) == 0) && data & 0x10)
192      cputag_set_input_line(machine(), "maincpu", 5, CLEAR_LINE);
192      machine().device("maincpu")->execute().set_input_line(5, CLEAR_LINE);
193193
194194   if(data & 0xffe7)
195195      printf("%04x\n",data);
trunk/src/mame/drivers/naughtyb.c
r17813r17814
281281
282282INPUT_CHANGED_MEMBER(naughtyb_state::coin_inserted)
283283{
284   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
284   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? ASSERT_LINE : CLEAR_LINE);
285285}
286286
287287static INPUT_PORTS_START( naughtyb )
trunk/src/mame/drivers/corona.c
r17813r17814
490490WRITE8_MEMBER(corona_state::sound_latch_w)
491491{
492492   soundlatch_byte_w(space, 0, data & 0xff);
493   cputag_set_input_line(machine(), "soundcpu", 0, ASSERT_LINE);
493   machine().device("soundcpu")->execute().set_input_line(0, ASSERT_LINE);
494494}
495495
496496READ8_MEMBER(corona_state::sound_latch_r)
497497{
498   cputag_set_input_line(machine(), "soundcpu", 0, CLEAR_LINE);
498   machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
499499   return soundlatch_byte_r(space, 0);
500500}
501501
trunk/src/mame/drivers/taitowlf.c
r17813r17814
380380
381381WRITE_LINE_MEMBER(taitowlf_state::pc_dma_hrq_changed)
382382{
383   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
383   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
384384
385385   /* Assert HLDA */
386386   i8237_hlda_w( m_dma8237_1, state );
r17813r17814
553553
554554WRITE_LINE_MEMBER(taitowlf_state::taitowlf_pic8259_1_set_int_line)
555555{
556   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
556   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
557557}
558558
559559READ8_MEMBER(taitowlf_state::get_slave_ack)
r17813r17814
663663
664664static void set_gate_a20(running_machine &machine, int a20)
665665{
666   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
666   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
667667}
668668
669669static void keyboard_interrupt(running_machine &machine, int state)
trunk/src/mame/drivers/taitogn.c
r17813r17814
893893   ide_set_gnet_readlock(machine.device(":card"), 1);
894894
895895   // halt sound CPU since it has no valid program at start
896   cputag_set_input_line(machine, "mn10200",INPUT_LINE_RESET,ASSERT_LINE); /* MCU */
896   machine.device("mn10200")->execute().set_input_line(INPUT_LINE_RESET,ASSERT_LINE); /* MCU */
897897}
898898
899899static ADDRESS_MAP_START( taitogn_map, AS_PROGRAM, 32, taitogn_state )
trunk/src/mame/drivers/scotrsht.c
r17813r17814
5757WRITE8_MEMBER(scotrsht_state::scotrsht_soundlatch_w)
5858{
5959   soundlatch_byte_w(space, 0, data);
60   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
60   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
6161}
6262
6363static ADDRESS_MAP_START( scotrsht_map, AS_PROGRAM, 8, scotrsht_state )
trunk/src/mame/drivers/gunbustr.c
r17813r17814
5454
5555static TIMER_CALLBACK( gunbustr_interrupt5 )
5656{
57   cputag_set_input_line(machine, "maincpu", 5, HOLD_LINE);
57   machine.device("maincpu")->execute().set_input_line(5, HOLD_LINE);
5858}
5959
6060static INTERRUPT_GEN( gunbustr_interrupt )
trunk/src/mame/drivers/msisaac.c
r17813r17814
468468   state->m_snd_ctrl1 = 0;
469469
470470#ifdef USE_MCU
471   cputag_set_input_line(machine, "mcu", 0, CLEAR_LINE);
471   machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE);
472472#else
473473   state->m_mcu_val = 0;
474474   state->m_direction = 0;
trunk/src/mame/drivers/mappy.c
r17813r17814
588588      case 0x00:   /* INT ON 2 */
589589         m_sub_irq_mask = bit;
590590         if (!bit)
591            cputag_set_input_line(machine(), "sub", 0, CLEAR_LINE);
591            machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
592592         break;
593593
594594      case 0x02:   /* INT ON */
595595         m_main_irq_mask = bit;
596596         if (!bit)
597            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
597            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
598598         break;
599599
600600      case 0x04:   /* n.c. */
r17813r17814
610610         break;
611611
612612      case 0x0a:   /* SUB RESET */
613         cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
613         machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
614614         break;
615615
616616      case 0x0c:   /* n.c. */
r17813r17814
632632      case 0x00:
633633         m_sub_irq_mask = bit;
634634         if (!bit)
635            cputag_set_input_line(machine(), "sub", 0, CLEAR_LINE);
635            machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
636636         break;
637637
638638      case 0x02:
639639         m_main_irq_mask = bit;
640640         if (!bit)
641            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
641            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
642642         break;
643643
644644      case 0x04:
645645         m_sub2_irq_mask = bit;
646646         if (!bit)
647            cputag_set_input_line(machine(), "sub2", 0, CLEAR_LINE);
647            machine().device("sub2")->execute().set_input_line(0, CLEAR_LINE);
648648         break;
649649
650650      case 0x06:
r17813r17814
657657         break;
658658
659659      case 0x0a:
660         cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
660         machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
661661         break;
662662
663663      case 0x0c:
664         cputag_set_input_line(machine(), "sub2", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
664         machine().device("sub2")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
665665         break;
666666
667667      case 0x0e:
r17813r17814
680680      case 0x00:   /* INT ON 2 */
681681         m_sub_irq_mask = bit;
682682         if (!bit)
683            cputag_set_input_line(machine(), "sub", 0, CLEAR_LINE);
683            machine().device("sub")->execute().set_input_line(0, CLEAR_LINE);
684684         break;
685685
686686      case 0x02:   /* INT ON */
687687         m_main_irq_mask = bit;
688688         if (!bit)
689            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
689            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
690690         break;
691691
692692      case 0x04:   /* FLIP */
r17813r17814
703703         break;
704704
705705      case 0x0a:   /* SUB RESET */
706         cputag_set_input_line(machine(), "sub", INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
706         machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET, bit ? CLEAR_LINE : ASSERT_LINE);
707707         break;
708708
709709      case 0x0c:   /* n.c. */
r17813r17814
773773   device_t *namcoio_2 = device->machine().device("namcoio_2");
774774
775775   if (state->m_main_irq_mask)
776      cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
776      device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
777777
778778   if (!namcoio_read_reset_line(namcoio_1))      /* give the cpu a tiny bit of time to write the command before processing it */
779779      device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(superpac_io_run));
r17813r17814
805805   device_t *namcoio_2 = device->machine().device("namcoio_2");
806806
807807   if (state->m_main_irq_mask)
808      cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
808      device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
809809
810810   if (!namcoio_read_reset_line(namcoio_1))      /* give the cpu a tiny bit of time to write the command before processing it */
811811      device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(pacnpal_io_run));
r17813r17814
837837   device_t *namcoio_2 = device->machine().device("namcoio_2");
838838
839839   if (state->m_main_irq_mask)
840      cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
840      device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
841841
842842   if (!namcoio_read_reset_line(namcoio_1))      /* give the cpu a tiny bit of time to write the command before processing it */
843843      device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(phozon_io_run));
r17813r17814
869869   device_t *namcoio_2 = device->machine().device("namcoio_2");
870870
871871   if(state->m_main_irq_mask)
872      cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
872      device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
873873
874874   if (!namcoio_read_reset_line(namcoio_1))      /* give the cpu a tiny bit of time to write the command before processing it */
875875      device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(mappy_io_run));
r17813r17814
883883   mappy_state *state = device->machine().driver_data<mappy_state>();
884884
885885   if(state->m_sub_irq_mask)
886      cputag_set_input_line(device->machine(), "sub", 0, ASSERT_LINE);
886      device->machine().device("sub")->execute().set_input_line(0, ASSERT_LINE);
887887}
888888
889889static INTERRUPT_GEN( sub2_vblank_irq )
r17813r17814
891891   mappy_state *state = device->machine().driver_data<mappy_state>();
892892
893893   if(state->m_sub2_irq_mask)
894      cputag_set_input_line(device->machine(), "sub2", 0, ASSERT_LINE);
894      device->machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE);
895895}
896896
897897static ADDRESS_MAP_START( superpac_cpu1_map, AS_PROGRAM, 8, mappy_state )
trunk/src/mame/drivers/uapce.c
r17813r17814
136136
137137   if ( diff & 0x40 )
138138   {
139      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
139      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x40) ? CLEAR_LINE : ASSERT_LINE);
140140   }
141141
142142/* D5 : Connected to a TIP31 which may control the coin meter:
trunk/src/mame/drivers/funkball.c
r17813r17814
346346
347347WRITE_LINE_MEMBER(funkball_state::pc_dma_hrq_changed)
348348{
349   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
349   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
350350
351351   /* Assert HLDA */
352352   i8237_hlda_w( m_dma8237_1, state );
trunk/src/mame/drivers/aristmk5.c
r17813r17814
182182   // reset 2KHz timer
183183    m_mk5_2KHz_timer->adjust(attotime::from_hz(1953.125));
184184    ioc_regs[IRQ_STATUS_A] &= ~0x01;
185    cputag_set_input_line(machine(), "maincpu", ARM_IRQ_LINE, CLEAR_LINE);
185    machine().device("maincpu")->execute().set_input_line(ARM_IRQ_LINE, CLEAR_LINE);
186186   return 0xffffffff;
187187}
188188
trunk/src/mame/drivers/metalmx.c
r17813r17814
493493
494494static void tms_interrupt(device_t *device, int state)
495495{
496   cputag_set_input_line(device->machine(), "maincpu", 4, state ? HOLD_LINE : CLEAR_LINE);
496   device->machine().device("maincpu")->execute().set_input_line(4, state ? HOLD_LINE : CLEAR_LINE);
497497}
498498
499499
trunk/src/mame/drivers/equites.c
r17813r17814
582582   int scanline = param;
583583
584584   if(scanline == 232) // vblank-out irq
585      cputag_set_input_line(timer.machine(), "maincpu", 1, HOLD_LINE);
585      timer.machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE);
586586
587587   if(scanline == 24) // vblank-in irq
588      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
588      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
589589}
590590
591591static TIMER_DEVICE_CALLBACK( splndrbt_scanline )
r17813r17814
593593   int scanline = param;
594594
595595   if(scanline == 224) // vblank-out irq
596      cputag_set_input_line(timer.machine(), "maincpu", 1, HOLD_LINE);
596      timer.machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE);
597597
598598   if(scanline == 32) // vblank-in irq
599      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
599      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
600600}
601601
602602WRITE8_MEMBER(equites_state::equites_8155_w)
trunk/src/mame/drivers/mirax.c
r17813r17814
262262WRITE8_MEMBER(mirax_state::mirax_sound_cmd_w)
263263{
264264   soundlatch_byte_w(space, 0, data & 0xff);
265   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
265   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
266266}
267267
268268
trunk/src/mame/drivers/gradius3.c
r17813r17814
113113   int scanline = param;
114114
115115   if(scanline == 240 && state->m_irqBmask & 1) // vblank-out irq
116      cputag_set_input_line(timer.machine(), "sub", 1, HOLD_LINE);
116      timer.machine().device("sub")->execute().set_input_line(1, HOLD_LINE);
117117
118118   if(scanline ==  16 && state->m_irqBmask & 2) // sprite end DMA irq
119      cputag_set_input_line(timer.machine(), "sub", 2, HOLD_LINE);
119      timer.machine().device("sub")->execute().set_input_line(2, HOLD_LINE);
120120}
121121
122122WRITE16_MEMBER(gradius3_state::cpuB_irqtrigger_w)
r17813r17814
307307   gradius3_state *state = machine.driver_data<gradius3_state>();
308308
309309   /* start with cpu B halted */
310   cputag_set_input_line(machine, "sub", INPUT_LINE_RESET, ASSERT_LINE);
310   machine.device("sub")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
311311   state->m_irqAen = 0;
312312   state->m_irqBmask = 0;
313313   state->m_priority = 0;
trunk/src/mame/drivers/omegrace.c
r17813r17814
328328WRITE8_MEMBER(omegrace_state::omegrace_soundlatch_w)
329329{
330330   soundlatch_byte_w (space, offset, data);
331   cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
331   machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
332332}
333333
334334
trunk/src/mame/drivers/mystwarr.c
r17813r17814
184184
185185WRITE16_MEMBER(mystwarr_state::sound_irq_w)
186186{
187   cputag_set_input_line(machine(), "soundcpu", 0, HOLD_LINE);
187   machine().device("soundcpu")->execute().set_input_line(0, HOLD_LINE);
188188}
189189
190190READ16_MEMBER(mystwarr_state::sound_status_r)
trunk/src/mame/drivers/dlair.c
r17813r17814
147147
148148static void dleuro_interrupt(device_t *device, int state)
149149{
150   cputag_set_input_line(device->machine(), "maincpu", 0, state);
150   device->machine().device("maincpu")->execute().set_input_line(0, state);
151151}
152152
153153
trunk/src/mame/drivers/irobot.c
r17813r17814
107107
108108WRITE8_MEMBER(irobot_state::irobot_clearirq_w)
109109{
110    cputag_set_input_line(machine(), "maincpu", M6809_IRQ_LINE ,CLEAR_LINE);
110    machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE ,CLEAR_LINE);
111111}
112112
113113
114114WRITE8_MEMBER(irobot_state::irobot_clearfirq_w)
115115{
116    cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE ,CLEAR_LINE);
116    machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE ,CLEAR_LINE);
117117}
118118
119119
trunk/src/mame/drivers/klax.c
r17813r17814
3434static void update_interrupts(running_machine &machine)
3535{
3636   klax_state *state = machine.driver_data<klax_state>();
37   cputag_set_input_line(machine, "maincpu", 4, state->m_video_int_state || state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
37   machine.device("maincpu")->execute().set_input_line(4, state->m_video_int_state || state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
3838}
3939
4040
trunk/src/mame/drivers/segas24.c
r17813r17814
687687   int changed = resetcontrol ^ prev_resetcontrol;
688688   if(changed & 2) {
689689      if(resetcontrol & 2) {
690         cputag_set_input_line(machine(), "subcpu", INPUT_LINE_HALT, CLEAR_LINE);
691         cputag_set_input_line(machine(), "subcpu", INPUT_LINE_RESET, PULSE_LINE);
690         machine().device("subcpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
691         machine().device("subcpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
692692//          mame_printf_debug("enable 2nd cpu!\n");
693693//          debugger_break(machine);
694694
695695      } else
696         cputag_set_input_line(machine(), "subcpu", INPUT_LINE_HALT, ASSERT_LINE);
696         machine().device("subcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
697697   }
698698   if(changed & 4)
699699      devtag_reset(machine(), "ymsnd");
r17813r17814
756756WRITE8_MEMBER( segas24_state::frc_w )
757757{
758758   /* Undocumented behaviour, Bonanza Bros. seems to use this for irq ack'ing ... */
759   cputag_set_input_line(machine(), "maincpu", IRQ_FRC+1, CLEAR_LINE);
760   cputag_set_input_line(machine(), "subcpu", IRQ_FRC+1, CLEAR_LINE);
759   machine().device("maincpu")->execute().set_input_line(IRQ_FRC+1, CLEAR_LINE);
760   machine().device("subcpu")->execute().set_input_line(IRQ_FRC+1, CLEAR_LINE);
761761}
762762
763763
r17813r17814
874874
875875   state->irq_timer_pend0 = state->irq_timer_pend1 = 1;
876876   if(state->irq_allow0 & (1 << IRQ_TIMER))
877      cputag_set_input_line(timer.machine(), "maincpu", IRQ_TIMER+1, ASSERT_LINE);
877      timer.machine().device("maincpu")->execute().set_input_line(IRQ_TIMER+1, ASSERT_LINE);
878878   if(state->irq_allow1 & (1 << IRQ_TIMER))
879      cputag_set_input_line(timer.machine(), "subcpu", IRQ_TIMER+1, ASSERT_LINE);
879      timer.machine().device("subcpu")->execute().set_input_line(IRQ_TIMER+1, ASSERT_LINE);
880880
881881   if(state->irq_tmode == 1 || state->irq_tmode == 2)
882882      timer.machine().primary_screen->update_now();
r17813r17814
886886{
887887   segas24_state *state = timer.machine().driver_data<segas24_state>();
888888   state->irq_sprite = state->irq_vblank = 0;
889   cputag_set_input_line(timer.machine(), "maincpu", IRQ_VBLANK+1, CLEAR_LINE);
890   cputag_set_input_line(timer.machine(), "maincpu", IRQ_SPRITE+1, CLEAR_LINE);
891   cputag_set_input_line(timer.machine(), "subcpu", IRQ_VBLANK+1, CLEAR_LINE);
892   cputag_set_input_line(timer.machine(), "subcpu", IRQ_SPRITE+1, CLEAR_LINE);
889   timer.machine().device("maincpu")->execute().set_input_line(IRQ_VBLANK+1, CLEAR_LINE);
890   timer.machine().device("maincpu")->execute().set_input_line(IRQ_SPRITE+1, CLEAR_LINE);
891   timer.machine().device("subcpu")->execute().set_input_line(IRQ_VBLANK+1, CLEAR_LINE);
892   timer.machine().device("subcpu")->execute().set_input_line(IRQ_SPRITE+1, CLEAR_LINE);
893893}
894894
895895static TIMER_DEVICE_CALLBACK( irq_frc_cb )
r17813r17814
897897   segas24_state *state = timer.machine().driver_data<segas24_state>();
898898
899899   if(state->irq_allow0 & (1 << IRQ_FRC) && state->frc_mode == 1)
900      cputag_set_input_line(timer.machine(), "maincpu", IRQ_FRC+1, ASSERT_LINE);
900      timer.machine().device("maincpu")->execute().set_input_line(IRQ_FRC+1, ASSERT_LINE);
901901
902902   if(state->irq_allow1 & (1 << IRQ_FRC) && state->frc_mode == 1)
903      cputag_set_input_line(timer.machine(), "subcpu", IRQ_FRC+1, ASSERT_LINE);
903      timer.machine().device("subcpu")->execute().set_input_line(IRQ_FRC+1, ASSERT_LINE);
904904}
905905
906906void segas24_state::irq_init()
r17813r17814
941941   case 2:
942942      irq_allow0 = data & 0x3f;
943943      irq_timer_pend0 = 0;
944      cputag_set_input_line(machine(), "maincpu", IRQ_TIMER+1, CLEAR_LINE);
945      cputag_set_input_line(machine(), "maincpu", IRQ_YM2151+1, irq_yms && (irq_allow0 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
946      cputag_set_input_line(machine(), "maincpu", IRQ_VBLANK+1, irq_vblank && (irq_allow0 & (1 << IRQ_VBLANK)) ? ASSERT_LINE : CLEAR_LINE);
947      cputag_set_input_line(machine(), "maincpu", IRQ_SPRITE+1, irq_sprite && (irq_allow0 & (1 << IRQ_SPRITE)) ? ASSERT_LINE : CLEAR_LINE);
948      //cputag_set_input_line(machine(), "maincpu", IRQ_FRC+1, irq_frc && (irq_allow0 & (1 << IRQ_FRC)) ? ASSERT_LINE : CLEAR_LINE);
944      machine().device("maincpu")->execute().set_input_line(IRQ_TIMER+1, CLEAR_LINE);
945      machine().device("maincpu")->execute().set_input_line(IRQ_YM2151+1, irq_yms && (irq_allow0 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
946      machine().device("maincpu")->execute().set_input_line(IRQ_VBLANK+1, irq_vblank && (irq_allow0 & (1 << IRQ_VBLANK)) ? ASSERT_LINE : CLEAR_LINE);
947      machine().device("maincpu")->execute().set_input_line(IRQ_SPRITE+1, irq_sprite && (irq_allow0 & (1 << IRQ_SPRITE)) ? ASSERT_LINE : CLEAR_LINE);
948      //machine().device("maincpu")->execute().set_input_line(IRQ_FRC+1, irq_frc && (irq_allow0 & (1 << IRQ_FRC)) ? ASSERT_LINE : CLEAR_LINE);
949949      break;
950950   case 3:
951951      irq_allow1 = data & 0x3f;
952952      irq_timer_pend1 = 0;
953      cputag_set_input_line(machine(), "subcpu", IRQ_TIMER+1, CLEAR_LINE);
954      cputag_set_input_line(machine(), "subcpu", IRQ_YM2151+1, irq_yms && (irq_allow1 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
955      cputag_set_input_line(machine(), "subcpu", IRQ_VBLANK+1, irq_vblank && (irq_allow1 & (1 << IRQ_VBLANK)) ? ASSERT_LINE : CLEAR_LINE);
956      cputag_set_input_line(machine(), "subcpu", IRQ_SPRITE+1, irq_sprite && (irq_allow1 & (1 << IRQ_SPRITE)) ? ASSERT_LINE : CLEAR_LINE);
957      //cputag_set_input_line(machine(), "subcpu", IRQ_FRC+1, irq_frc && (irq_allow1 & (1 << IRQ_FRC)) ? ASSERT_LINE : CLEAR_LINE);
953      machine().device("subcpu")->execute().set_input_line(IRQ_TIMER+1, CLEAR_LINE);
954      machine().device("subcpu")->execute().set_input_line(IRQ_YM2151+1, irq_yms && (irq_allow1 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
955      machine().device("subcpu")->execute().set_input_line(IRQ_VBLANK+1, irq_vblank && (irq_allow1 & (1 << IRQ_VBLANK)) ? ASSERT_LINE : CLEAR_LINE);
956      machine().device("subcpu")->execute().set_input_line(IRQ_SPRITE+1, irq_sprite && (irq_allow1 & (1 << IRQ_SPRITE)) ? ASSERT_LINE : CLEAR_LINE);
957      //machine().device("subcpu")->execute().set_input_line(IRQ_FRC+1, irq_frc && (irq_allow1 & (1 << IRQ_FRC)) ? ASSERT_LINE : CLEAR_LINE);
958958      break;
959959   }
960960}
r17813r17814
974974   switch(offset) {
975975   case 2:
976976      irq_timer_pend0 = 0;
977      cputag_set_input_line(machine(), "maincpu", IRQ_TIMER+1, CLEAR_LINE);
977      machine().device("maincpu")->execute().set_input_line(IRQ_TIMER+1, CLEAR_LINE);
978978      break;
979979   case 3:
980980      irq_timer_pend1 = 0;
981      cputag_set_input_line(machine(), "subcpu", IRQ_TIMER+1, CLEAR_LINE);
981      machine().device("subcpu")->execute().set_input_line(IRQ_TIMER+1, CLEAR_LINE);
982982      break;
983983   }
984984   irq_timer_sync();
r17813r17814
10021002   mask = 1 << irq;
10031003
10041004   if(state->irq_allow0 & mask)
1005      cputag_set_input_line(timer.machine(), "maincpu", 1+irq, ASSERT_LINE);
1005      timer.machine().device("maincpu")->execute().set_input_line(1+irq, ASSERT_LINE);
10061006
10071007   if(state->irq_allow1 & mask)
1008      cputag_set_input_line(timer.machine(), "subcpu", 1+irq, ASSERT_LINE);
1008      timer.machine().device("subcpu")->execute().set_input_line(1+irq, ASSERT_LINE);
10091009
10101010   if(scanline == 384) {
10111011      // Ensure one index pulse every 20 frames
r17813r17814
10241024{
10251025   segas24_state *state = device->machine().driver_data<segas24_state>();
10261026   state->irq_yms = irq;
1027   cputag_set_input_line(device->machine(), "maincpu", IRQ_YM2151+1, state->irq_yms && (state->irq_allow0 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
1028   cputag_set_input_line(device->machine(), "subcpu", IRQ_YM2151+1, state->irq_yms && (state->irq_allow1 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
1027   device->machine().device("maincpu")->execute().set_input_line(IRQ_YM2151+1, state->irq_yms && (state->irq_allow0 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
1028   device->machine().device("subcpu")->execute().set_input_line(IRQ_YM2151+1, state->irq_yms && (state->irq_allow1 & (1 << IRQ_YM2151)) ? ASSERT_LINE : CLEAR_LINE);
10291029}
10301030
10311031
r17813r17814
12791279static MACHINE_RESET( system24 )
12801280{
12811281   segas24_state *state = machine.driver_data<segas24_state>();
1282   cputag_set_input_line(machine, "subcpu", INPUT_LINE_HALT, ASSERT_LINE);
1282   machine.device("subcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
12831283   state->prev_resetcontrol = state->resetcontrol = 0x06;
12841284   state->fdc_init();
12851285   state->curbank = 0;
trunk/src/mame/drivers/peplus.c
r17813r17814
389389WRITE_LINE_MEMBER(peplus_state::crtc_vsync)
390390{
391391   device_t *device = machine().device("crtc");
392   cputag_set_input_line(machine(), "maincpu", 0, state ? ASSERT_LINE : CLEAR_LINE);
392   machine().device("maincpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
393393   handle_lightpen(device);
394394}
395395
trunk/src/mame/drivers/konamigx.c
r17813r17814
420420      if (konamigx_wrport1_1 & 0x10)
421421      {
422422         gx_rdport1_3 &= ~8;
423         cputag_set_input_line(machine(), "maincpu", 4, HOLD_LINE);
423         machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
424424      }
425425   }
426426   else
r17813r17814
510510      {
511511         // enable 68k
512512         // clear the halt condition and reset the 68000
513         cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_HALT, CLEAR_LINE);
514         cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, PULSE_LINE);
513         machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
514         machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
515515      }
516516      else
517517      {
518518         // disable 68k
519         cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
519         machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
520520      }
521521
522522      K053246_set_OBJCHA_line((data&0x100000) ? ASSERT_LINE : CLEAR_LINE);
r17813r17814
579579      // vblank interrupt ACK
580580      if (ACCESSING_BITS_24_31)
581581      {
582         cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
582         machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
583583         gx_syncen |= 0x20;
584584      }
585585
586586      // hblank interrupt ACK
587587      if (ACCESSING_BITS_8_15)
588588      {
589         cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
589         machine().device("maincpu")->execute().set_input_line(2, CLEAR_LINE);
590590         gx_syncen |= 0x40;
591591      }
592592   }
r17813r17814
616616
617617      // lower OBJINT-REQ flag and trigger interrupt
618618      gx_rdport1_3 &= ~0x80;
619      cputag_set_input_line(machine, "maincpu", 3, HOLD_LINE);
619      machine.device("maincpu")->execute().set_input_line(3, HOLD_LINE);
620620   }
621621}
622622
r17813r17814
840840
841841   if (reg == 7)
842842   {
843      cputag_set_input_line(machine, "soundcpu", 1, HOLD_LINE);
843      machine.device("soundcpu")->execute().set_input_line(1, HOLD_LINE);
844844   }
845845}
846846
r17813r17814
11331133            if (konamigx_wrport1_1 & 0x10)
11341134            {
11351135               gx_rdport1_3 &= ~8;
1136               cputag_set_input_line(machine(), "maincpu", 4, HOLD_LINE);
1136               machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
11371137            }
11381138
11391139            // don't accidentally do a phony command
r17813r17814
12831283   {
12841284      machine().device<tms57002_device>("dasp")->pload_w(space, 0, data & 4);
12851285      machine().device<tms57002_device>("dasp")->cload_w(space, 0, data & 8);
1286      cputag_set_input_line(machine(), "dasp", INPUT_LINE_RESET, !(data & 16) ? ASSERT_LINE : CLEAR_LINE);
1286      machine().device("dasp")->execute().set_input_line(INPUT_LINE_RESET, !(data & 16) ? ASSERT_LINE : CLEAR_LINE);
12871287   }
12881288}
12891289
r17813r17814
36453645   memset(sndto020, 0, 16);
36463646
36473647   // sound CPU initially disabled?
3648   cputag_set_input_line(machine, "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
3649   cputag_set_input_line(machine, "dasp", INPUT_LINE_RESET, ASSERT_LINE);
3648   machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
3649   machine.device("dasp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
36503650
36513651   if (!strcmp(machine.system().name, "tkmmpzdm"))
36523652   {
trunk/src/mame/drivers/thunderj.c
r17813r17814
3535static void update_interrupts(running_machine &machine)
3636{
3737   thunderj_state *state = machine.driver_data<thunderj_state>();
38   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
39   cputag_set_input_line(machine, "extra", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
40   cputag_set_input_line(machine, "maincpu", 6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
39   machine.device("extra")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
40   machine.device("maincpu")->execute().set_input_line(6, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
4141}
4242
4343
r17813r17814
8888   {
8989      /* 0 means hold CPU 2's reset low */
9090      if (data & 1)
91         cputag_set_input_line(machine(), "extra", INPUT_LINE_RESET, CLEAR_LINE);
91         machine().device("extra")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
9292      else
93         cputag_set_input_line(machine(), "extra", INPUT_LINE_RESET, ASSERT_LINE);
93         machine().device("extra")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
9494
9595      /* bits 2-5 are the alpha bank */
9696      if (m_alpha_tile_bank != ((data >> 2) & 7))
trunk/src/mame/drivers/quizpun2.c
r17813r17814
349349
350350WRITE8_MEMBER(quizpun2_state::quizpun2_irq_ack)
351351{
352   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
352   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
353353}
354354
355355WRITE8_MEMBER(quizpun2_state::quizpun2_soundlatch_w)
356356{
357357   soundlatch_byte_w(space, 0, data);
358   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
358   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
359359}
360360
361361static ADDRESS_MAP_START( quizpun2_map, AS_PROGRAM, 8, quizpun2_state )
trunk/src/mame/drivers/segac2.c
r17813r17814
12481248static void  segac2_irq2_interrupt(device_t *device, int state)
12491249{
12501250   //printf("sound irq %d\n", state);
1251   cputag_set_input_line(device->machine(), "maincpu", 2, state ? ASSERT_LINE : CLEAR_LINE);
1251   device->machine().device("maincpu")->execute().set_input_line(2, state ? ASSERT_LINE : CLEAR_LINE);
12521252}
12531253static const ym3438_interface ym3438_intf =
12541254{
r17813r17814
13431343void genesis_vdp_sndirqline_callback_segac2(running_machine &machine, bool state)
13441344{
13451345   if (state==true)
1346      cputag_set_input_line(machine, "maincpu", 6, HOLD_LINE);
1346      machine.device("maincpu")->execute().set_input_line(6, HOLD_LINE);
13471347}
13481348
13491349// the line usually used to drive irq6 is not connected
r17813r17814
13561356void genesis_vdp_lv4irqline_callback_segac2(running_machine &machine, bool state)
13571357{
13581358   if (state==true)
1359      cputag_set_input_line(machine, "maincpu", 4, HOLD_LINE);
1359      machine.device("maincpu")->execute().set_input_line(4, HOLD_LINE);
13601360   else
1361      cputag_set_input_line(machine, "maincpu", 4, CLEAR_LINE);
1361      machine.device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
13621362}
13631363
13641364static const sega315_5124_interface sms_vdp_ntsc_intf =
trunk/src/mame/drivers/gberet.c
r17813r17814
9090
9191   // NMI on d0
9292   if (ticks_mask & state->m_interrupt_mask & 1)
93      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
93      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
9494
9595   // IRQ on d3 (used by mrgoemon)
9696   if (ticks_mask & state->m_interrupt_mask<<2 & 8)
97      cputag_set_input_line(timer.machine(), "maincpu", 0, ASSERT_LINE);
97      timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
9898
9999   // IRQ on d4 (used by gberet)
100100   if (ticks_mask & state->m_interrupt_mask<<2 & 16)
101      cputag_set_input_line(timer.machine(), "maincpu", 0, ASSERT_LINE);
101      timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
102102}
103103
104104
r17813r17814
132132   UINT8 ack_mask = ~data & m_interrupt_mask; // 1->0
133133
134134   if (ack_mask & 1)
135      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
135      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
136136
137137   if (ack_mask & 6)
138      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
138      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
139139
140140   m_interrupt_mask = data & 7;
141141
r17813r17814
197197
198198READ8_MEMBER(gberet_state::gberetb_irq_ack_r)
199199{
200   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
200   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
201201   return 0xff;
202202}
203203
204204WRITE8_MEMBER(gberet_state::gberetb_nmi_ack_w)
205205{
206   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
206   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
207207}
208208
209209static ADDRESS_MAP_START( gberetb_map, AS_PROGRAM, 8, gberet_state )
trunk/src/mame/drivers/sandscrp.c
r17813r17814
151151{
152152   sandscrp_state *state = machine.driver_data<sandscrp_state>();
153153   if (state->m_vblank_irq || state->m_sprite_irq || state->m_unknown_irq)
154      cputag_set_input_line(machine, "maincpu", 1, ASSERT_LINE);
154      machine.device("maincpu")->execute().set_input_line(1, ASSERT_LINE);
155155   else
156      cputag_set_input_line(machine, "maincpu", 1, CLEAR_LINE);
156      machine.device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
157157}
158158
159159
r17813r17814
254254   {
255255      m_latch1_full = 1;
256256      soundlatch_byte_w(space, 0, data & 0xff);
257      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
257      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
258258      device_spin_until_time(&space.device(), attotime::from_usec(100));   // Allow the other cpu to reply
259259   }
260260}
r17813r17814
471471
472472static void irq_handler(device_t *device, int irq)
473473{
474   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
474   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
475475}
476476
477477static const ym2203_interface ym2203_intf_sandscrp =
trunk/src/mame/drivers/gpworld.c
r17813r17814
424424
425425static TIMER_CALLBACK( irq_stop )
426426{
427   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
427   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
428428}
429429
430430static INTERRUPT_GEN( vblank_callback_gpworld )
trunk/src/mame/drivers/tubep.c
r17813r17814
155155
156156WRITE8_MEMBER(tubep_state::main_cpu_irq_line_clear_w)
157157{
158   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
158   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
159159   logerror("CPU#0 VBLANK int clear at scanline=%3i\n", m_curr_scanline);
160160   return;
161161}
r17813r17814
191191
192192WRITE8_MEMBER(tubep_state::second_cpu_irq_line_clear_w)
193193{
194   cputag_set_input_line(machine(), "slave", 0, CLEAR_LINE);
194   machine().device("slave")->execute().set_input_line(0, CLEAR_LINE);
195195   logerror("CPU#1 VBLANK int clear at scanline=%3i\n", m_curr_scanline);
196196   return;
197197}
r17813r17814
226226
227227READ8_MEMBER(tubep_state::tubep_sound_irq_ack)
228228{
229   cputag_set_input_line(machine(), "soundcpu", 0, CLEAR_LINE);
229   machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE);
230230   return 0;
231231}
232232
r17813r17814
266266   if (scanline == 240)
267267   {
268268      logerror("VBLANK CPU#0\n");
269      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
269      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
270270   }
271271
272272
r17813r17814
275275   if (scanline == 16)
276276   {
277277      logerror("/VBLANK CPU#1\n");
278      cputag_set_input_line(machine, "slave", 0, ASSERT_LINE);
278      machine.device("slave")->execute().set_input_line(0, ASSERT_LINE);
279279   }
280280
281281
r17813r17814
285285   {
286286      logerror("/nmi CPU#3\n");
287287      tubep_vblank_end(machine); /* switch buffered sprite RAM page */
288      cputag_set_input_line(machine, "mcu", INPUT_LINE_NMI, ASSERT_LINE);
288      machine.device("mcu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
289289   }
290290   /* CPU #3 MS2010-A NMI */
291291   /* deactivates at the start of VBLANK signal which happens at the beginning of scanline number 240*/
292292   if (scanline == 240)
293293   {
294294      logerror("CPU#3 nmi clear\n");
295      cputag_set_input_line(machine, "mcu", INPUT_LINE_NMI, CLEAR_LINE);
295      machine.device("mcu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
296296   }
297297
298298
r17813r17814
300300   /* activates whenever line V6 from video part goes lo->hi that is when the scanline becomes 64 and 192 */
301301   if ((scanline == 64) || (scanline == 192))
302302   {
303      cputag_set_input_line(machine, "soundcpu", 0, ASSERT_LINE);   /* sound cpu interrupt (music tempo) */
303      machine.device("soundcpu")->execute().set_input_line(0, ASSERT_LINE);   /* sound cpu interrupt (music tempo) */
304304   }
305305
306306
r17813r17814
396396WRITE8_MEMBER(tubep_state::rjammer_soundlatch_w)
397397{
398398   m_sound_latch = data;
399   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
399   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
400400}
401401
402402
r17813r17814
451451   if (scanline == 240)
452452   {
453453      logerror("VBLANK CPU#0\n");
454      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
454      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
455455   }
456456
457457
r17813r17814
460460   if (scanline == 16)
461461   {
462462      logerror("/VBLANK CPU#1\n");
463      cputag_set_input_line(machine, "slave", 0, HOLD_LINE);
463      machine.device("slave")->execute().set_input_line(0, HOLD_LINE);
464464   }
465465
466466
r17813r17814
470470   {
471471      logerror("/nmi CPU#3\n");
472472      tubep_vblank_end(machine); /* switch buffered sprite RAM page */
473      cputag_set_input_line(machine, "mcu", INPUT_LINE_NMI, ASSERT_LINE);
473      machine.device("mcu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
474474   }
475475   /* CPU #3 MS2010-A NMI */
476476   /* deactivates at the start of VBLANK signal which happens at the beginning of scanline number 240*/
477477   if (scanline == 240)
478478   {
479479      logerror("CPU#3 nmi clear\n");
480      cputag_set_input_line(machine, "mcu", INPUT_LINE_NMI, CLEAR_LINE);
480      machine.device("mcu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
481481   }
482482
483483
r17813r17814
485485   /* activates whenever line V6 from video part goes lo->hi that is when the scanline becomes 64 and 192 */
486486   if ((scanline == 64) || (scanline == 192))
487487   {
488      cputag_set_input_line(machine, "soundcpu", 0, ASSERT_LINE);   /* sound cpu interrupt (music tempo) */
488      machine.device("soundcpu")->execute().set_input_line(0, ASSERT_LINE);   /* sound cpu interrupt (music tempo) */
489489   }
490490
491491
r17813r17814
564564   if (state->m_ls74 == 1)
565565   {
566566      msm5205_data_w(device, (state->m_ls377 >> 0) & 15 );
567      cputag_set_input_line(device->machine(), "soundcpu", 0, ASSERT_LINE );
567      device->machine().device("soundcpu")->execute().set_input_line(0, ASSERT_LINE );
568568   }
569569   else
570570   {
r17813r17814
586586            I do it here because this port (0x80) is first one accessed
587587            in the interrupt routine.
588588    */
589   cputag_set_input_line(machine(), "soundcpu", 0, CLEAR_LINE );
589   machine().device("soundcpu")->execute().set_input_line(0, CLEAR_LINE );
590590   return;
591591}
592592
trunk/src/mame/drivers/mw18w.c
r17813r17814
6464
6565WRITE8_MEMBER(mw18w_state::mw18w_irq0_clear_w)
6666{
67   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
67   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
6868}
6969
7070CUSTOM_INPUT_MEMBER(mw18w_state::mw18w_sensors_r)
trunk/src/mame/drivers/pcktgal.c
r17813r17814
4141WRITE8_MEMBER(pcktgal_state::pcktgal_sound_w)
4242{
4343   soundlatch_byte_w(space, 0, data);
44   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
44   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
4545}
4646
4747
r17813r17814
5454
5555   state->m_toggle = 1 - state->m_toggle;
5656   if (state->m_toggle)
57      cputag_set_input_line(device->machine(), "audiocpu", M6502_IRQ_LINE, HOLD_LINE);
57      device->machine().device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, HOLD_LINE);
5858}
5959
6060WRITE8_MEMBER(pcktgal_state::pcktgal_adpcm_data_w)
trunk/src/mame/drivers/hng64.c
r17813r17814
10481048      if (cmd==0x55AA)
10491049      {
10501050         printf("soundcpu ON\n");
1051         cputag_set_input_line(space.machine(), "audiocpu", INPUT_LINE_HALT, CLEAR_LINE);
1052         cputag_set_input_line(space.machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
1051         space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
1052         space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
10531053      }
10541054      else if (cmd==0xAA55)
10551055      {
10561056         printf("soundcpu OFF\n");
1057         cputag_set_input_line(space.machine(), "audiocpu", INPUT_LINE_HALT, ASSERT_LINE);
1058         cputag_set_input_line(space.machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
1057         space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
1058         space.machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
10591059      }
10601060      else
10611061      {
r17813r17814
17961796   UINT8 *RAM = (UINT8*)state->m_soundram;
17971797   state->membank("bank1")->set_base(&RAM[0x1f0000]); // allows us to boot
17981798   state->membank("bank2")->set_base(&RAM[0x1f0000]); // seems to be the right default for most games (initial area jumps to a DI here)
1799   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_HALT, ASSERT_LINE);
1800   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
1799   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
1800   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
18011801
18021802   /* Comm CPU */
18031803   KL5C80_init(state);
r17813r17814
18111811   address_space *space = machine.device<z80_device>("comm")->space(AS_PROGRAM);
18121812   space->set_direct_update_handler(direct_update_delegate(FUNC(hng64_state::KL5C80_direct_handler), state));
18131813
1814   cputag_set_input_line(machine, "comm", INPUT_LINE_RESET, PULSE_LINE);     // reset the CPU and let 'er rip
1815//  cputag_set_input_line(machine, "comm", INPUT_LINE_HALT, ASSERT_LINE);     // hold on there pardner...
1814   machine.device("comm")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);     // reset the CPU and let 'er rip
1815//  machine.device("comm")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);     // hold on there pardner...
18161816
18171817   // "Display List" init - ugly
18181818   state->m_activeBuffer = 0;
trunk/src/mame/drivers/solomon.c
r17813r17814
1414WRITE8_MEMBER(solomon_state::solomon_sh_command_w)
1515{
1616   soundlatch_byte_w(space, offset, data);
17   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
17   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
1818}
1919
2020/* this is checked on the title screen and when you reach certain scores in the game
trunk/src/mame/drivers/gladiatr.c
r17813r17814
273273static void gladiator_ym_irq(device_t *device, int irq)
274274{
275275   /* NMI IRQ is not used by gladiator sound program */
276   cputag_set_input_line(device->machine(), "sub", INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
276   device->machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, irq ? ASSERT_LINE : CLEAR_LINE);
277277}
278278
279279/*Sound Functions*/
r17813r17814
293293WRITE8_MEMBER(gladiatr_state::glad_cpu_sound_command_w)
294294{
295295   soundlatch_byte_w(space,0,data);
296   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, ASSERT_LINE);
296   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
297297}
298298
299299READ8_MEMBER(gladiatr_state::glad_cpu_sound_command_r)
300300{
301   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, CLEAR_LINE);
301   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
302302   return soundlatch_byte_r(space,0);
303303}
304304
r17813r17814
312312/* !!!!! patch to IRQ timming for 2nd CPU !!!!! */
313313WRITE8_MEMBER(gladiatr_state::gladiatr_irq_patch_w)
314314{
315   cputag_set_input_line(machine(), "sub", 0, HOLD_LINE);
315   machine().device("sub")->execute().set_input_line(0, HOLD_LINE);
316316}
317317#endif
318318
trunk/src/mame/drivers/umipoker.c
r17813r17814
174174
175175WRITE16_MEMBER(umipoker_state::umipoker_irq_ack_w)
176176{
177   cputag_set_input_line(machine(), "maincpu", 6, CLEAR_LINE);
177   machine().device("maincpu")->execute().set_input_line(6, CLEAR_LINE);
178178
179179   /* shouldn't happen */
180180   if(data)
trunk/src/mame/drivers/gamecstl.c
r17813r17814
452452
453453WRITE_LINE_MEMBER(gamecstl_state::pc_dma_hrq_changed)
454454{
455   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
455   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
456456
457457   /* Assert HLDA */
458458   i8237_hlda_w( m_dma8237_1, state );
r17813r17814
634634
635635WRITE_LINE_MEMBER(gamecstl_state::gamecstl_pic8259_1_set_int_line)
636636{
637   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
637   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
638638}
639639
640640READ8_MEMBER(gamecstl_state::get_slave_ack)
r17813r17814
737737
738738static void set_gate_a20(running_machine &machine, int a20)
739739{
740   cputag_set_input_line(machine, "maincpu", INPUT_LINE_A20, a20);
740   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
741741}
742742
743743static void keyboard_interrupt(running_machine &machine, int state)
trunk/src/mame/drivers/kangaroo.c
r17813r17814
203203   /* the copy protection. */
204204   /* Anyway, what I do here is just immediately generate the NMI, so the game */
205205   /* properly starts. */
206   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
206   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
207207
208208   state->m_clock = 0;
209209}
trunk/src/mame/drivers/cabal.c
r17813r17814
111111
112112WRITE16_MEMBER(cabal_state::cabalbl_sound_irq_trigger_word_w)
113113{
114   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE );
114   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE );
115115}
116116
117117
r17813r17814
468468
469469static void irqhandler(device_t *device, int irq)
470470{
471   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
471   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
472472}
473473
474474static const ym2151_interface cabalbl_ym2151_interface =
trunk/src/mame/drivers/cidelsa.c
r17813r17814
278278
279279INPUT_CHANGED_MEMBER(cidelsa_state::ef_w)
280280{
281   cputag_set_input_line(machine(), CDP1802_TAG, (int)(FPTR)param, newval);
281   machine().device(CDP1802_TAG)->execute().set_input_line((int)(FPTR)param, newval);
282282}
283283
284284static INPUT_PORTS_START( destryer )
trunk/src/mame/drivers/saturn.c
r17813r17814
16431643   if (irq > 0)
16441644   {
16451645      scsp_last_line = irq;
1646      cputag_set_input_line(device->machine(), "audiocpu", irq, ASSERT_LINE);
1646      device->machine().device("audiocpu")->execute().set_input_line(irq, ASSERT_LINE);
16471647   }
16481648   else if (irq < 0)
16491649   {
1650      cputag_set_input_line(device->machine(), "audiocpu", -irq, CLEAR_LINE);
1650      device->machine().device("audiocpu")->execute().set_input_line(-irq, CLEAR_LINE);
16511651   }
16521652   else
16531653   {
1654      cputag_set_input_line(device->machine(), "audiocpu", scsp_last_line, CLEAR_LINE);
1654      device->machine().device("audiocpu")->execute().set_input_line(scsp_last_line, CLEAR_LINE);
16551655   }
16561656}
16571657
r17813r17814
20372037{
20382038   saturn_state *state = machine.driver_data<saturn_state>();
20392039   // don't let the slave cpu and the 68k go anywhere
2040   cputag_set_input_line(machine, "slave", INPUT_LINE_RESET, ASSERT_LINE);
2041   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
2040   machine.device("slave")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
2041   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
20422042
20432043   state->m_smpc.SR = 0x40;   // this bit is always on according to docs
20442044
r17813r17814
21182118   saturn_state *state = machine.driver_data<saturn_state>();
21192119
21202120   // don't let the slave cpu and the 68k go anywhere
2121   cputag_set_input_line(machine, "slave", INPUT_LINE_RESET, ASSERT_LINE);
2122   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
2121   machine.device("slave")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
2122   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
21232123
21242124   state->m_en_68k = 0;
21252125   state->m_NMI_reset = 0;
trunk/src/mame/drivers/atarigx2.c
r17813r17814
3636static void update_interrupts(running_machine &machine)
3737{
3838   atarigx2_state *state = machine.driver_data<atarigx2_state>();
39   cputag_set_input_line(machine, "maincpu", 4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
40   cputag_set_input_line(machine, "maincpu", 5, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
39   machine.device("maincpu")->execute().set_input_line(4, state->m_video_int_state ? ASSERT_LINE : CLEAR_LINE);
40   machine.device("maincpu")->execute().set_input_line(5, state->m_sound_int_state ? ASSERT_LINE : CLEAR_LINE);
4141}
4242
4343
r17813r17814
123123
124124   /* lower byte */
125125   if (ACCESSING_BITS_16_23)
126      cputag_set_input_line(machine(), "jsa", INPUT_LINE_RESET, (data & 0x100000) ? CLEAR_LINE : ASSERT_LINE);
126      machine().device("jsa")->execute().set_input_line(INPUT_LINE_RESET, (data & 0x100000) ? CLEAR_LINE : ASSERT_LINE);
127127}
128128
129129
trunk/src/mame/drivers/nwk-tr.c
r17813r17814
267267
268268static void voodoo_vblank_0(device_t *device, int param)
269269{
270   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_IRQ0, param);
270   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, param);
271271}
272272
273273
r17813r17814
358358      if (ACCESSING_BITS_0_7)
359359      {
360360         if (data & 0x80)   // CG Board 1 IRQ Ack
361            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ1, CLEAR_LINE);
361            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ1, CLEAR_LINE);
362362         if (data & 0x40)   // CG Board 0 IRQ Ack
363            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
363            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
364364
365365         //set_cgboard_id((data >> 4) & 3);
366366      }
r17813r17814
510510
511511static TIMER_CALLBACK( irq_off )
512512{
513   cputag_set_input_line(machine, "audiocpu", param, CLEAR_LINE);
513   machine.device("audiocpu")->execute().set_input_line(param, CLEAR_LINE);
514514}
515515
516516static MACHINE_START( nwktr )
r17813r17814
675675   nwktr_state *state = machine.driver_data<nwktr_state>();
676676   int line = (irq == 0) ? INPUT_LINE_IRQ1 : INPUT_LINE_IRQ2;
677677
678   cputag_set_input_line(machine, "audiocpu", line, ASSERT_LINE);
678   machine.device("audiocpu")->execute().set_input_line(line, ASSERT_LINE);
679679    state->m_sound_irq_timer->adjust(attotime::from_usec(5), line);
680680}
681681
r17813r17814
705705
706706static MACHINE_RESET( nwktr )
707707{
708   cputag_set_input_line(machine, "dsp", INPUT_LINE_RESET, ASSERT_LINE);
708   machine.device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
709709}
710710
711711static const voodoo_config voodoo_intf =
trunk/src/mame/drivers/circus.c
r17813r17814
5353READ8_MEMBER(circus_state::circus_paddle_r)
5454{
5555   // also clears irq
56   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
56   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
5757   return ioport("PADDLE")->read();
5858}
5959
r17813r17814
360360   int scanline = param;
361361
362362   if(scanline == 256 || scanline == 0) // vblank-out / in irq
363      cputag_set_input_line(timer.machine(), "maincpu", 0, ASSERT_LINE);
363      timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
364364}
365365
366366static MACHINE_CONFIG_START( crash, circus_state )
trunk/src/mame/drivers/taotaido.c
r17813r17814
8484   {
8585      m_pending_command = 1;
8686      soundlatch_byte_w(space, offset, data & 0xff);
87      cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
87      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
8888   }
8989}
9090static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, taotaido_state )
r17813r17814
321321
322322static void irqhandler(device_t *device, int irq)
323323{
324   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
324   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
325325}
326326
327327static const ym2610_interface ym2610_config =
trunk/src/mame/drivers/relief.c
r17813r17814
3535static void update_interrupts(running_machine &machine)
3636{
3737   relief_state *state = machine.driver_data<relief_state>();
38   cputag_set_input_line(machine, "maincpu", 4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
38   machine.device("maincpu")->execute().set_input_line(4, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
3939}
4040
4141
trunk/src/mame/drivers/taito_f3.c
r17813r17814
110110
111111WRITE32_MEMBER(taito_f3_state::f3_sound_reset_0_w)
112112{
113   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
113   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
114114}
115115
116116WRITE32_MEMBER(taito_f3_state::f3_sound_reset_1_w)
117117{
118   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
118   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
119119}
120120
121121WRITE32_MEMBER(taito_f3_state::f3_sound_bankswitch_w)
r17813r17814
392392
393393static TIMER_CALLBACK( f3_interrupt3 )
394394{
395   cputag_set_input_line(machine, "maincpu", 3, HOLD_LINE);   // some signal from video hardware?
395   machine.device("maincpu")->execute().set_input_line(3, HOLD_LINE);   // some signal from video hardware?
396396}
397397
398398static INTERRUPT_GEN( f3_interrupt2 )
r17813r17814
404404static SOUND_RESET( f3 )
405405{
406406   SOUND_RESET_CALL( taito_en_soundsystem_reset );
407   cputag_set_input_line(machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
407   machine.device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
408408}
409409
410410
trunk/src/mame/drivers/jpmsys5.c
r17813r17814
128128
129129static void tms_interrupt(running_machine &machine, int state)
130130{
131   cputag_set_input_line(machine, "maincpu", INT_TMS34061, state);
131   machine.device("maincpu")->execute().set_input_line(INT_TMS34061, state);
132132}
133133
134134static const struct tms34061_interface tms34061intf =
r17813r17814
547547
548548WRITE_LINE_MEMBER(jpmsys5_state::ptm_irq)
549549{
550   cputag_set_input_line(machine(), "maincpu", INT_6840PTM, state ? ASSERT_LINE : CLEAR_LINE);
550   machine().device("maincpu")->execute().set_input_line(INT_6840PTM, state ? ASSERT_LINE : CLEAR_LINE);
551551}
552552
553553WRITE8_MEMBER(jpmsys5_state::u26_o1_callback)
r17813r17814
585585
586586WRITE_LINE_MEMBER(jpmsys5_state::acia_irq)
587587{
588   cputag_set_input_line(machine(), "maincpu", INT_6850ACIA, state ? CLEAR_LINE : ASSERT_LINE);
588   machine().device("maincpu")->execute().set_input_line(INT_6850ACIA, state ? CLEAR_LINE : ASSERT_LINE);
589589}
590590
591591/* Clocks are incorrect */
trunk/src/mame/drivers/ssozumo.c
r17813r17814
1717WRITE8_MEMBER(ssozumo_state::ssozumo_sh_command_w)
1818{
1919   soundlatch_byte_w(space, 0, data);
20   cputag_set_input_line(machine(), "audiocpu", M6502_IRQ_LINE, HOLD_LINE);
20   machine().device("audiocpu")->execute().set_input_line(M6502_IRQ_LINE, HOLD_LINE);
2121}
2222
2323
r17813r17814
5959
6060INPUT_CHANGED_MEMBER(ssozumo_state::coin_inserted)
6161{
62   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
62   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
6363}
6464
6565static INPUT_PORTS_START( ssozumo )
trunk/src/mame/drivers/m107.c
r17813r17814
5757   if (scanline == state->m_raster_irq_position)
5858   {
5959      machine.primary_screen->update_partial(scanline);
60      cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, M107_IRQ_2);
60      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, M107_IRQ_2);
6161   }
6262
6363   /* VBLANK interrupt */
6464   else if (scanline == machine.primary_screen->visible_area().max_y + 1)
6565   {
6666      machine.primary_screen->update_partial(scanline);
67      cputag_set_input_line_and_vector(machine, "maincpu", 0, HOLD_LINE, M107_IRQ_0);
67      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, M107_IRQ_0);
6868   }
6969}
7070
r17813r17814
9191
9292WRITE16_MEMBER(m107_state::m107_soundlatch_w)
9393{
94   cputag_set_input_line(machine(), "soundcpu", NEC_INPUT_LINE_INTP1, ASSERT_LINE);
94   machine().device("soundcpu")->execute().set_input_line(NEC_INPUT_LINE_INTP1, ASSERT_LINE);
9595   soundlatch_byte_w(space, 0, data & 0xff);
9696//      logerror("soundlatch_byte_w %02x\n",data);
9797}
r17813r17814
103103
104104READ16_MEMBER(m107_state::m107_soundlatch_r)
105105{
106   cputag_set_input_line(machine(), "soundcpu", NEC_INPUT_LINE_INTP1, CLEAR_LINE);
106   machine().device("soundcpu")->execute().set_input_line(NEC_INPUT_LINE_INTP1, CLEAR_LINE);
107107   return soundlatch_byte_r(space, offset) | 0xff00;
108108}
109109
110110WRITE16_MEMBER(m107_state::m107_sound_irq_ack_w)
111111{
112   cputag_set_input_line(machine(), "soundcpu", NEC_INPUT_LINE_INTP1, CLEAR_LINE);
112   machine().device("soundcpu")->execute().set_input_line(NEC_INPUT_LINE_INTP1, CLEAR_LINE);
113113}
114114
115115WRITE16_MEMBER(m107_state::m107_sound_status_w)
116116{
117117   COMBINE_DATA(&m_sound_status);
118   cputag_set_input_line_and_vector(machine(), "maincpu", 0, HOLD_LINE, M107_IRQ_3);
118   machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, M107_IRQ_3);
119119}
120120
121121WRITE16_MEMBER(m107_state::m107_sound_reset_w)
122122{
123   cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_RESET, (data) ? CLEAR_LINE : ASSERT_LINE);
123   machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_RESET, (data) ? CLEAR_LINE : ASSERT_LINE);
124124}
125125
126126/*****************************************************************************/
r17813r17814
756756
757757static void sound_irq(device_t *device, int state)
758758{
759   cputag_set_input_line(device->machine(), "soundcpu", NEC_INPUT_LINE_INTP0, state ? ASSERT_LINE : CLEAR_LINE);
759   device->machine().device("soundcpu")->execute().set_input_line(NEC_INPUT_LINE_INTP0, state ? ASSERT_LINE : CLEAR_LINE);
760760}
761761
762762static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/twin16.c
r17813r17814
122122   if (m_CPUA_register != old)
123123   {
124124      if ((old & 0x08) == 0 && (m_CPUA_register & 0x08))
125         cputag_set_input_line_and_vector(machine(), "audiocpu", 0, HOLD_LINE, 0xff);
125         machine().device("audiocpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);
126126
127127      if ((old & 0x40) && (m_CPUA_register & 0x40) == 0)
128128         twin16_spriteram_process(machine());
129129
130130      if ((old & 0x10) == 0 && (m_CPUA_register & 0x10))
131         cputag_set_input_line(machine(), "sub", M68K_IRQ_6, HOLD_LINE);
131         machine().device("sub")->execute().set_input_line(M68K_IRQ_6, HOLD_LINE);
132132
133133      coin_counter_w(machine(), 0, m_CPUA_register & 0x01);
134134      coin_counter_w(machine(), 1, m_CPUA_register & 0x02);
r17813r17814
149149   if( m_CPUB_register!=old )
150150   {
151151      if ((old & 0x01) == 0 && (m_CPUB_register & 0x01))
152         cputag_set_input_line(machine(), "maincpu", M68K_IRQ_6, HOLD_LINE);
152         machine().device("maincpu")->execute().set_input_line(M68K_IRQ_6, HOLD_LINE);
153153   }
154154}
155155
r17813r17814
165165   if (m_CPUA_register != old)
166166   {
167167      if ((old & 0x08) == 0 && (m_CPUA_register & 0x08))
168         cputag_set_input_line_and_vector(machine(), "audiocpu", 0, HOLD_LINE, 0xff);
168         machine().device("audiocpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);
169169
170170      coin_counter_w(machine(), 0, m_CPUA_register & 0x01);
171171      coin_counter_w(machine(), 1, m_CPUA_register & 0x02);
trunk/src/mame/drivers/megasys1.c
r17813r17814
162162   int scanline = param;
163163
164164   if(scanline == 240) // vblank-out irq
165      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
165      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
166166
167167   if(scanline == 0)
168      cputag_set_input_line(timer.machine(), "maincpu", 1, HOLD_LINE);
168      timer.machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE);
169169
170170   if(scanline == 128)
171      cputag_set_input_line(timer.machine(), "maincpu", 3, HOLD_LINE);
171      timer.machine().device("maincpu")->execute().set_input_line(3, HOLD_LINE);
172172}
173173
174174static ADDRESS_MAP_START( megasys1A_map, AS_PROGRAM, 16, megasys1_state )
r17813r17814
198198   int scanline = param;
199199
200200   if(scanline == 240) // vblank-out irq
201      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
201      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
202202
203203   if(scanline == 0)
204      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
204      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
205205
206206   if(scanline == 128)
207      cputag_set_input_line(timer.machine(), "maincpu", 1, HOLD_LINE);
207      timer.machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE);
208208}
209209
210210
r17813r17814
249249WRITE16_MEMBER(megasys1_state::ip_select_w)
250250{
251251   COMBINE_DATA(&m_ip_select);
252   cputag_set_input_line(machine(), "maincpu", 2, HOLD_LINE);
252   machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
253253}
254254
255255
r17813r17814
376376static void megasys1_sound_irq(device_t *device, int irq)
377377{
378378   if (irq)
379      cputag_set_input_line(device->machine(), "soundcpu", 4, HOLD_LINE);
379      device->machine().device("soundcpu")->execute().set_input_line(4, HOLD_LINE);
380380}
381381
382382READ8_MEMBER(megasys1_state::oki_status_1_r)
r17813r17814
13981398      }
13991399   }
14001400
1401   cputag_set_input_line(machine(), "maincpu", 4, HOLD_LINE);
1401   machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
14021402}
14031403
14041404/*************************************
r17813r17814
16471647
16481648static void irq_handler(device_t *device, int irq)
16491649{
1650   cputag_set_input_line(device->machine(), "soundcpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
1650   device->machine().device("soundcpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
16511651}
16521652
16531653
trunk/src/mame/drivers/airbustr.c
r17813r17814
553553   int scanline = param;
554554
555555   if(scanline == 240) // vblank-out irq
556      cputag_set_input_line_and_vector(timer.machine(), "master", 0, HOLD_LINE, 0xff);
556      timer.machine().device("master")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xff);
557557
558558   /* Pandora "sprite end dma" irq? TODO: timing is likely off */
559559   if(scanline == 64)
560      cputag_set_input_line_and_vector(timer.machine(), "master", 0, HOLD_LINE, 0xfd);
560      timer.machine().device("master")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xfd);
561561}
562562
563563/* Sub Z80 uses IM2 too, but 0xff irq routine just contains an irq ack in it */
trunk/src/mame/drivers/igs011.c
r17813r17814
39333933
39343934static void sound_irq(device_t *device, int state)
39353935{
3936//   cputag_set_input_line(machine, "maincpu", 3, state);
3936//   machine.device("maincpu")->execute().set_input_line(3, state);
39373937}
39383938
39393939static MACHINE_CONFIG_DERIVED( vbowl, igs011_base )
trunk/src/mame/drivers/bwing.c
r17813r17814
193193
194194INPUT_CHANGED_MEMBER(bwing_state::coin_inserted)
195195{
196   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
196   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, newval ? CLEAR_LINE : ASSERT_LINE);
197197}
198198
199199INPUT_CHANGED_MEMBER(bwing_state::tilt_pressed)
200200{
201   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, newval ? ASSERT_LINE : CLEAR_LINE);
201   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, newval ? ASSERT_LINE : CLEAR_LINE);
202202}
203203
204204static INPUT_PORTS_START( bwing )
trunk/src/mame/drivers/srmp6.c
r17813r17814
541541
542542READ16_MEMBER(srmp6_state::srmp6_irq_ack_r)
543543{
544   cputag_set_input_line(machine(), "maincpu", 4, CLEAR_LINE);
544   machine().device("maincpu")->execute().set_input_line(4, CLEAR_LINE);
545545   return 0; // value read doesn't matter
546546}
547547
trunk/src/mame/drivers/konamim2.c
r17813r17814
370370      if (data & 0x800000)
371371      {
372372//          mame_printf_debug("CPU '%s': CPU1 IRQ at %08X\n", device().tag(), space.device().safe_pc());
373         cputag_set_input_line(machine(), "sub", INPUT_LINE_IRQ0, ASSERT_LINE);
373         machine().device("sub")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
374374      }
375375
376376      m_unk20004 = (UINT32)(data);
r17813r17814
464464   {
465465      if (data & U64(0x100000000))
466466      {
467         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
467         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
468468         m_unk3 = 0;
469469      }
470470   }
trunk/src/mame/drivers/cave.c
r17813r17814
18291829
18301830static void irqhandler(device_t *device, int irq)
18311831{
1832   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
1832   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
18331833}
18341834
18351835static const ym2151_interface ym2151_config =
trunk/src/mame/drivers/slotcarn.c
r17813r17814
162162
163163WRITE_LINE_MEMBER(slotcarn_state::vsync_changed)
164164{
165   cputag_set_input_line(machine(), "maincpu", 0, state ? ASSERT_LINE : CLEAR_LINE);
165   machine().device("maincpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
166166}
167167
168168static const mc6845_interface mc6845_intf =
trunk/src/mame/drivers/tbowl.c
r17813r17814
7070WRITE8_MEMBER(tbowl_state::tbowl_sound_command_w)
7171{
7272   soundlatch_byte_w(space, offset, data);
73   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
73   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
7474}
7575
7676
r17813r17814
123123WRITE8_MEMBER(tbowl_state::tbowl_trigger_nmi)
124124{
125125   /* trigger NMI on 6206B's Cpu? (guess but seems to work..) */
126   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
126   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
127127}
128128
129129static ADDRESS_MAP_START( 6206C_map, AS_PROGRAM, 8, tbowl_state )
r17813r17814
421421
422422static void irqhandler(device_t *device, int linestate)
423423{
424   cputag_set_input_line(device->machine(), "audiocpu", 0, linestate);
424   device->machine().device("audiocpu")->execute().set_input_line(0, linestate);
425425}
426426
427427static const ym3812_interface ym3812_config =
trunk/src/mame/drivers/atarigt.c
r17813r17814
5050static void update_interrupts(running_machine &machine)
5151{
5252   atarigt_state *state = machine.driver_data<atarigt_state>();
53   cputag_set_input_line(machine, "maincpu", 3, state->m_sound_int_state    ? ASSERT_LINE : CLEAR_LINE);
54   cputag_set_input_line(machine, "maincpu", 4, state->m_video_int_state    ? ASSERT_LINE : CLEAR_LINE);
55   cputag_set_input_line(machine, "maincpu", 6, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
53   machine.device("maincpu")->execute().set_input_line(3, state->m_sound_int_state    ? ASSERT_LINE : CLEAR_LINE);
54   machine.device("maincpu")->execute().set_input_line(4, state->m_video_int_state    ? ASSERT_LINE : CLEAR_LINE);
55   machine.device("maincpu")->execute().set_input_line(6, state->m_scanline_int_state ? ASSERT_LINE : CLEAR_LINE);
5656}
5757
5858
trunk/src/mame/drivers/rabbit.c
r17813r17814
560560static TIMER_CALLBACK( rabbit_blit_done )
561561{
562562   rabbit_state *state = machine.driver_data<rabbit_state>();
563   cputag_set_input_line(machine, "maincpu", state->m_bltirqlevel, HOLD_LINE);
563   machine.device("maincpu")->execute().set_input_line(state->m_bltirqlevel, HOLD_LINE);
564564}
565565
566566static void rabbit_do_blit(running_machine &machine)
r17813r17814
872872static INTERRUPT_GEN( rabbit_vblank_interrupt )
873873{
874874   rabbit_state *state = device->machine().driver_data<rabbit_state>();
875   cputag_set_input_line(device->machine(), "maincpu", state->m_vblirqlevel, HOLD_LINE);
875   device->machine().device("maincpu")->execute().set_input_line(state->m_vblirqlevel, HOLD_LINE);
876876}
877877
878878static MACHINE_CONFIG_START( rabbit, rabbit_state )
trunk/src/mame/drivers/asuka.c
r17813r17814
771771
772772static void irq_handler(device_t *device, int irq)
773773{
774   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
774   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
775775}
776776
777777static const ym2610_interface ym2610_config =
trunk/src/mame/drivers/triplhnt.c
r17813r17814
2828   triplhnt_state *state = machine.driver_data<triplhnt_state>();
2929   state->m_hit_code = code;
3030
31   cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
31   machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
3232}
3333
3434
trunk/src/mame/drivers/rollerg.c
r17813r17814
234234
235235WRITE_LINE_MEMBER(rollerg_state::rollerg_irq_ack_w)
236236{
237   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
237   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
238238}
239239
240240static const k053252_interface rollerg_k053252_intf =
trunk/src/mame/drivers/wolfpack.c
r17813r17814
1313{
1414   int scanline = param;
1515
16   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
16   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
1717
1818   scanline += 64;
1919
trunk/src/mame/drivers/tankbatt.c
r17813r17814
139139WRITE8_MEMBER(tankbatt_state::tankbatt_irq_ack_w)
140140{
141141   /* 0x6e written at the end of the irq routine, could be either irq ack or a coin sample */
142   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
142   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
143143}
144144
145145WRITE8_MEMBER(tankbatt_state::tankbatt_coin_counter_w)
r17813r17814
187187
188188INPUT_CHANGED_MEMBER(tankbatt_state::coin_inserted)
189189{
190   cputag_set_input_line(machine(), "maincpu", 0, ASSERT_LINE);
190   machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
191191}
192192
193193static INPUT_PORTS_START( tankbatt )
trunk/src/mame/drivers/royalmah.c
r17813r17814
762762WRITE8_MEMBER(royalmah_state::jansou_sound_w)
763763{
764764   soundlatch_byte_w(space, 0, data);
765   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
765   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
766766}
767767
768768
trunk/src/mame/drivers/darkmist.c
r17813r17814
218218   int scanline = param;
219219
220220   if(scanline == 240) // vblank-out irq
221      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0x10); /* RST 10h */
221      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0x10); /* RST 10h */
222222
223223   if(scanline == 0) // vblank-in irq
224      cputag_set_input_line_and_vector(timer.machine(), "maincpu", 0, HOLD_LINE,0x08); /* RST 08h */
224      timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0x08); /* RST 08h */
225225}
226226
227227
trunk/src/mame/drivers/nmk16.c
r17813r17814
206206   if (ACCESSING_BITS_0_7)
207207   {
208208      soundlatch_byte_w(space, 0, data & 0xff);
209      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
209      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
210210   }
211211}
212212
r17813r17814
264264{
265265   /* PCB behaviour verified by Corrado Tomaselli at MAME Italia Forum:
266266       every time music changes Z80 is resetted */
267   cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
267   machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, data ? CLEAR_LINE : ASSERT_LINE);
268268}
269269
270270WRITE16_MEMBER(nmk16_state::macross2_sound_command_w)
r17813r17814
303303   if (ACCESSING_BITS_0_7)
304304   {
305305      soundlatch_byte_w(space, 0, data&0xff);
306      cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
306      machine().device("audiocpu")->execute().set_input_line(0, HOLD_LINE);
307307   }
308308}
309309
r17813r17814
34993499
35003500static void ym2203_irqhandler(device_t *device, int irq)
35013501{
3502   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
3502   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
35033503}
35043504
35053505static const ym2203_interface ym2203_config =
r17813r17814
35173517   int scanline = param;
35183518
35193519   if(scanline == 240) // vblank-out irq
3520      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
3520      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
35213521
35223522   /* This is either vblank-in or sprite dma irq complete, Vandyke definitely relies that irq fires at scanline ~0 instead of 112 (as per previous
35233523       cpu_getiloops function implementation), mostly noticeable with sword collisions and related attract mode behaviour. */
35243524   if(scanline == 0)
3525      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
3525      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
35263526}
35273527
35283528/* bee-oh board, almost certainly it has different timings */
r17813r17814
35313531   int scanline = param;
35323532
35333533   if(scanline == 248) // vblank-out irq
3534      cputag_set_input_line(timer.machine(), "maincpu", 4, HOLD_LINE);
3534      timer.machine().device("maincpu")->execute().set_input_line(4, HOLD_LINE);
35353535
35363536   /* This is either vblank-in or sprite dma irq complete */
35373537   if(scanline == 0)
3538      cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
3538      timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
35393539}
35403540
35413541
r17813r17814
48014801
48024802static void irq_handler(device_t *device, int irq)
48034803{
4804   cputag_set_input_line(device->machine(), "audiocpu", 0, irq ? ASSERT_LINE : CLEAR_LINE);
4804   device->machine().device("audiocpu")->execute().set_input_line(0, irq ? ASSERT_LINE : CLEAR_LINE);
48054805}
48064806
48074807static const ym2151_interface afega_ym2151_intf =
trunk/src/emu/cpu/psx/irq.c
r17813r17814
6161   if( ( n_irqdata & n_irqmask ) != 0 )
6262   {
6363      verboselog( machine(), 2, "psx irq assert\n" );
64      cputag_set_input_line( machine(), "maincpu", PSXCPU_IRQ0, ASSERT_LINE );
64      machine().device("maincpu")->execute().set_input_line(PSXCPU_IRQ0, ASSERT_LINE );
6565   }
6666   else
6767   {
6868      verboselog( machine(), 2, "psx irq clear\n" );
69      cputag_set_input_line( machine(), "maincpu", PSXCPU_IRQ0, CLEAR_LINE );
69      machine().device("maincpu")->execute().set_input_line(PSXCPU_IRQ0, CLEAR_LINE );
7070   }
7171}
7272
trunk/src/emu/devcpu.h
r17813r17814
292292#define CPU_EXPORT_STRING_CALL(name)   CPU_EXPORT_STRING_NAME(name)(device, entry, string)
293293
294294
295// helpers for using machine/cputag instead of cpu objects
296#define cputag_set_input_line(mach, tag, line, state)               device_execute((mach).device(tag))->set_input_line(line, state)
297#define cputag_set_input_line_and_vector(mach, tag, line, state, vec)   device_execute((mach).device(tag))->set_input_line_and_vector(line, state, vec)
298
299
300295// this template function creates a stub which constructs a device
301296template<class _DeviceClass>
302297device_t *legacy_device_creator(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
trunk/src/emu/machine/s3c24xx.c
r17813r17814
11911191         if (s3c24xx->irq.line_irq != ASSERT_LINE)
11921192         {
11931193            verboselog( device->machine(), 5, "ARM7_IRQ_LINE -> ASSERT_LINE\n");
1194            cputag_set_input_line( device->machine(), "maincpu", ARM7_IRQ_LINE, ASSERT_LINE);
1194            device->machine().device("maincpu")->execute().set_input_line(ARM7_IRQ_LINE, ASSERT_LINE);
11951195            s3c24xx->irq.line_irq = ASSERT_LINE;
11961196         }
11971197      }
r17813r17814
12011201         {
12021202            verboselog( device->machine(), 5, "srcpnd %08X intmsk %08X intmod %08X\n", s3c24xx->irq.regs.srcpnd, s3c24xx->irq.regs.intmsk, s3c24xx->irq.regs.intmod);
12031203            verboselog( device->machine(), 5, "ARM7_IRQ_LINE -> CLEAR_LINE\n");
1204            cputag_set_input_line( device->machine(), "maincpu", ARM7_IRQ_LINE, CLEAR_LINE);
1204            device->machine().device("maincpu")->execute().set_input_line(ARM7_IRQ_LINE, CLEAR_LINE);
12051205            s3c24xx->irq.line_irq = CLEAR_LINE;
12061206         }
12071207      }
r17813r17814
12201220      if (s3c24xx->irq.line_fiq != ASSERT_LINE)
12211221      {
12221222         verboselog( device->machine(), 5, "ARM7_FIRQ_LINE -> ASSERT_LINE\n");
1223         cputag_set_input_line( device->machine(), "maincpu", ARM7_FIRQ_LINE, ASSERT_LINE);
1223         device->machine().device("maincpu")->execute().set_input_line(ARM7_FIRQ_LINE, ASSERT_LINE);
12241224         s3c24xx->irq.line_fiq = ASSERT_LINE;
12251225      }
12261226   }
r17813r17814
12291229      if (s3c24xx->irq.line_fiq != CLEAR_LINE)
12301230      {
12311231         verboselog( device->machine(), 5, "ARM7_FIRQ_LINE -> CLEAR_LINE\n");
1232         cputag_set_input_line( device->machine(), "maincpu", ARM7_FIRQ_LINE, CLEAR_LINE);
1232         device->machine().device("maincpu")->execute().set_input_line(ARM7_FIRQ_LINE, CLEAR_LINE);
12331233         s3c24xx->irq.line_fiq = CLEAR_LINE;
12341234      }
12351235   }
trunk/src/mess/machine/dgn_beta.c
r17813r17814
698698         HALT_DMA = CLEAR_LINE;
699699
700700      LOG_HALT(("DMA_CPU HALT=%d\n", HALT_DMA));
701      cputag_set_input_line(device->machine(), DMACPU_TAG, INPUT_LINE_HALT, HALT_DMA);
701      device->machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_HALT, HALT_DMA);
702702
703703      /* CPU un-halted let it run ! */
704704      if (HALT_DMA == CLEAR_LINE)
r17813r17814
735735         HALT_CPU = ASSERT_LINE;
736736
737737      LOG_HALT(("MAIN_CPU HALT=%d\n", HALT_CPU));
738      cputag_set_input_line(device->machine(), MAINCPU_TAG, INPUT_LINE_HALT, HALT_CPU);
738      device->machine().device(MAINCPU_TAG)->execute().set_input_line(INPUT_LINE_HALT, HALT_CPU);
739739
740740      state->m_d_pia1_pb_last = data & 0x02;
741741
r17813r17814
787787      LOG_INTS(("cpu1 NMI : %d\n", NMI));
788788      if(!NMI)
789789      {
790         cputag_set_input_line(device->machine(), DMACPU_TAG, INPUT_LINE_NMI, ASSERT_LINE);
790         device->machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
791791         logerror("device_yield()\n");
792792         device_yield(device->machine().device(DMACPU_TAG));   /* Let DMA CPU run */
793793      }
794794      else
795795      {
796         cputag_set_input_line(device->machine(), DMACPU_TAG, INPUT_LINE_NMI, CLEAR_LINE);
796         device->machine().device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
797797      }
798798
799799      state->m_DMA_NMI_LAST = NMI;   /* Save it for next time */
r17813r17814
875875   else
876876      IRQ = CLEAR_LINE;
877877
878   cputag_set_input_line(machine, MAINCPU_TAG, M6809_IRQ_LINE, IRQ);
878   machine.device(MAINCPU_TAG)->execute().set_input_line(M6809_IRQ_LINE, IRQ);
879879   LOG_INTS(("cpu0 IRQ : %d\n", IRQ));
880880}
881881
r17813r17814
890890   else
891891      FIRQ = CLEAR_LINE;
892892
893   cputag_set_input_line(machine, MAINCPU_TAG, M6809_FIRQ_LINE, FIRQ);
893   machine.device(MAINCPU_TAG)->execute().set_input_line(M6809_FIRQ_LINE, FIRQ);
894894
895895   LOG_INTS(("cpu0 FIRQ : %d\n", FIRQ));
896896}
r17813r17814
899899
900900static void cpu1_recalc_firq(running_machine &machine, int state)
901901{
902   cputag_set_input_line(machine, DMACPU_TAG, M6809_FIRQ_LINE, state);
902   machine.device(DMACPU_TAG)->execute().set_input_line(M6809_FIRQ_LINE, state);
903903   LOG_INTS(("cpu1 FIRQ : %d\n",state));
904904}
905905
r17813r17814
10661066   state->m_system_rom = state->memregion(MAINCPU_TAG)->base();
10671067
10681068   /* Make sure CPU 1 is started out halted ! */
1069   cputag_set_input_line(machine, DMACPU_TAG, INPUT_LINE_HALT, ASSERT_LINE);
1069   machine.device(DMACPU_TAG)->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
10701070
10711071   /* Reset to task 0, and map banks disabled, so standard memory map */
10721072   /* with ram at $0000-$BFFF, ROM at $C000-FBFF, IO at $FC00-$FEFF */
trunk/src/mess/machine/apple3.c
r17813r17814
499499   apple3_state *drvstate = device->machine().driver_data<apple3_state>();
500500   if (!drvstate->m_via_1_irq && state)
501501   {
502      cputag_set_input_line(device->machine(), "maincpu", M6502_IRQ_LINE, ASSERT_LINE);
503      cputag_set_input_line(device->machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
502      device->machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
503      device->machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
504504   }
505505   drvstate->m_via_1_irq = state;
506506}
trunk/src/mess/machine/dai.c
r17813r17814
6262static TMS5501_IRQ_CALLBACK(dai_interrupt_callback)
6363{
6464   if (intreq)
65      cputag_set_input_line_and_vector(device.machine(), "maincpu", 0, HOLD_LINE, vector);
65      device.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, vector);
6666   else
67      cputag_set_input_line(device.machine(), "maincpu", 0, CLEAR_LINE);
67      device.machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
6868}
6969
7070TMS5501_INTERFACE( dai_tms5501_interface )
trunk/src/mess/machine/cbmb.c
r17813r17814
242242   if (state != driver_state->m_old_level)
243243   {
244244      DBG_LOG(device->machine(), 3, "mos6509", ("irq %s\n", state ? "start" : "end"));
245      cputag_set_input_line(device->machine(), "maincpu", M6502_IRQ_LINE, state);
245      device->machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, state);
246246      driver_state->m_old_level = state;
247247   }
248248}
trunk/src/mess/machine/pokemini.c
r17813r17814
155155   {
156156      //logerror("Triggering IRQ with vector %02x\n", vector );
157157      /* Trigger interrupt and set vector */
158      cputag_set_input_line_and_vector( machine, "maincpu", 0, ASSERT_LINE, vector );
158      machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, vector );
159159   }
160160   else
161161   {
162      cputag_set_input_line( machine, "maincpu", 0, CLEAR_LINE );
162      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE );
163163   }
164164}
165165
trunk/src/mess/machine/x1.c
r17813r17814
5353{
5454   x1_state *state = machine().driver_data<x1_state>();
5555   state->m_key_irq_flag = 0;
56   cputag_set_input_line(device().machine(),"x1_cpu",INPUT_LINE_IRQ0,CLEAR_LINE);
56   device().machine().device("x1_cpu")->execute().set_input_line(INPUT_LINE_IRQ0,CLEAR_LINE);
5757   return state->m_key_irq_vector;
5858}
5959
trunk/src/mess/machine/gamecom.c
r17813r17814
1010   UINT8 * RAM = machine.root_device().memregion("maincpu")->base();
1111   UINT8 val = ( ( RAM[SM8521_CLKT] & 0x3F ) + 1 ) & 0x3F;
1212   RAM[SM8521_CLKT] = ( RAM[SM8521_CLKT] & 0xC0 ) | val;
13   cputag_set_input_line(machine, "maincpu", CK_INT, ASSERT_LINE );
13   machine.device("maincpu")->execute().set_input_line(CK_INT, ASSERT_LINE );
1414}
1515
1616MACHINE_RESET( gamecom )
r17813r17814
498498      state->m_dma.dest_current = state->m_dma.dest_line;
499499   }
500500   state->m_dma.enabled = 0;
501   cputag_set_input_line(device->machine(), "maincpu", DMA_INT, ASSERT_LINE );
501   device->machine().device("maincpu")->execute().set_input_line(DMA_INT, ASSERT_LINE );
502502}
503503
504504void gamecom_update_timers( device_t *device, int cycles )
r17813r17814
515515         if ( RAM[SM8521_TM0D] >= state->m_timer[0].check_value )
516516         {
517517            RAM[SM8521_TM0D] = 0;
518            cputag_set_input_line(device->machine(), "maincpu", TIM0_INT, ASSERT_LINE );
518            device->machine().device("maincpu")->execute().set_input_line(TIM0_INT, ASSERT_LINE );
519519         }
520520      }
521521   }
r17813r17814
529529         if ( RAM[SM8521_TM1D] >= state->m_timer[1].check_value )
530530         {
531531            RAM[SM8521_TM1D] = 0;
532            cputag_set_input_line(device->machine(), "maincpu", TIM1_INT, ASSERT_LINE );
532            device->machine().device("maincpu")->execute().set_input_line(TIM1_INT, ASSERT_LINE );
533533         }
534534      }
535535   }
trunk/src/mess/machine/egret.c
r17813r17814
185185               }
186186            }
187187
188            cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, (reset_line & 8) ? ASSERT_LINE : CLEAR_LINE);
188            machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, (reset_line & 8) ? ASSERT_LINE : CLEAR_LINE);
189189         }
190190         break;
191191   }
trunk/src/mess/machine/ay3600.c
r17813r17814
435435         {
436436            state->m_reset_flag = 1;
437437            /* using PULSE_LINE does not allow us to press and hold key */
438            cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, ASSERT_LINE);
438            machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
439439         }
440440         return;
441441   }
442442   if (state->m_reset_flag)
443443   {
444444      state->m_reset_flag = 0;
445      cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, CLEAR_LINE);
445      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
446446      machine.schedule_soft_reset();
447447   }
448448
trunk/src/mess/machine/electron.c
r17813r17814
302302   if ( state->m_ula.interrupt_status & state->m_ula.interrupt_control & ~0x83 )
303303   {
304304      state->m_ula.interrupt_status |= 0x01;
305      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE );
305      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE );
306306   }
307307   else
308308   {
309309      state->m_ula.interrupt_status &= ~0x01;
310      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE );
310      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE );
311311   }
312312}
313313
trunk/src/mess/machine/irisha.c
r17813r17814
121121
122122static WRITE_LINE_DEVICE_HANDLER( irisha_pic_set_int_line )
123123{
124   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
124   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
125125}
126126
127127const struct pic8259_interface irisha_pic8259_config =
trunk/src/mess/machine/microtan.c
r17813r17814
150150    /* The 6502 IRQ line is active low and probably driven
151151       by open collector outputs (guess). Since MAME/MESS use
152152       a non-0 value for ASSERT_LINE we OR the signals here */
153    cputag_set_input_line(machine, "maincpu", 0, state->m_via_0_irq_line | state->m_via_1_irq_line | state->m_kbd_irq_line);
153    machine.device("maincpu")->execute().set_input_line(0, state->m_via_0_irq_line | state->m_via_1_irq_line | state->m_kbd_irq_line);
154154}
155155
156156static cassette_image_device *cassette_device_image(running_machine &machine)
r17813r17814
384384/* This callback is called one clock cycle after BFF2 is written (delayed nmi) */
385385static TIMER_CALLBACK(microtan_pulse_nmi)
386386{
387    cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
387    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
388388}
389389
390390WRITE8_MEMBER(microtan_state::microtan_bffx_w)
trunk/src/mess/machine/hecdisk2.c
r17813r17814
8686   /* Take NMI only if RNMI ok*/
8787   if ((state->m_hector_disc2_RNMI==1) &&  (state->m_NMI_current_state==1))
8888   {
89      cputag_set_input_line(machine, "disc2cpu", INPUT_LINE_NMI, CLEAR_LINE); // Clear NMI...
89      machine.device("disc2cpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE); // Clear NMI...
9090      state->m_DMA_timer->adjust(attotime::from_usec(6) );//a little time to let the Z80 terminate he's previous job !
9191      state->m_NMI_current_state=0;
9292   }
r17813r17814
103103{
104104   hec2hrp_state *state = machine.driver_data<hec2hrp_state>();
105105   /* To generate the NMI signal (late) when uPD DMA request*/
106   cputag_set_input_line(machine, "disc2cpu", INPUT_LINE_NMI, ASSERT_LINE);  //NMI...
106   machine.device("disc2cpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);  //NMI...
107107   state->m_hector_nb_cde =0; // clear the cde length
108108}
109109
110110static TIMER_CALLBACK( Callback_INT_irq )
111111{
112112   /* To generate the INT signal (late) when uPD DMA request*/
113   cputag_set_input_line(/*device->*/machine, "disc2cpu", INPUT_LINE_IRQ0, ASSERT_LINE);
113   /*device->*/machine.device("disc2cpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
114114}
115115
116116/* upd765 INT is connected to interrupt of Z80 within a RNMI hardware authorization*/
117117static WRITE_LINE_DEVICE_HANDLER( disc2_fdc_interrupt )
118118{
119119   hec2hrp_state *drvstate = device->machine().driver_data<hec2hrp_state>();
120   cputag_set_input_line(device->machine(), "disc2cpu", INPUT_LINE_IRQ0, CLEAR_LINE);
120   device->machine().device("disc2cpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
121121   if (state)
122122      drvstate->m_INT_timer->adjust(attotime::from_usec(500) );//a little time to let the Z80 terminate he's previous job !
123123}
r17813r17814
144144{
145145   hec2hrp_state *state = machine.driver_data<hec2hrp_state>();
146146   // Initialization Disc2 unit
147   cputag_set_input_line(machine, "disc2cpu" , INPUT_LINE_RESET, PULSE_LINE);
147   machine.device("disc2cpu" )->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
148148   //switch ON and OFF the reset line uPD
149149   upd765_reset_w(machine.device("upd765"), 1);
150150   upd765_reset_w(machine.device("upd765"), 0);
trunk/src/mess/machine/poly88.c
r17813r17814
119119   }
120120   if (key_code==0 && state->m_last_code !=0){
121121      state->m_int_vector = 0xef;
122      cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
122      machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
123123   } else {
124124      state->m_last_code = key_code;
125125   }
r17813r17814
247247READ8_MEMBER(poly88_state::poly88_keyboard_r)
248248{
249249   UINT8 retVal = m_last_code;
250   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
250   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
251251   m_last_code = 0x00;
252252   return retVal;
253253}
254254
255255WRITE8_MEMBER(poly88_state::poly88_intr_w)
256256{
257   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
257   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
258258}
259259
260260SNAPSHOT_LOAD( poly88 )
trunk/src/mess/machine/trs80.c
r17813r17814
3838      {
3939         state->m_cassette_data = 0;
4040         state->m_irq |= CASS_FALL;
41         cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
41         machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
4242      }
4343   }
4444   else
r17813r17814
4848      {
4949         state->m_cassette_data = 1;
5050         state->m_irq |= CASS_RISE;
51         cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
51         machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
5252      }
5353   }
5454
r17813r17814
7979    d1 Cass 1500 baud Falling
8080    d0 Cass 1500 baud Rising */
8181
82   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
82   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
8383   return ~(m_mask & m_irq);
8484}
8585
r17813r17814
9595    d6 status of Motor Timeout (0=true)
9696    d5 status of Reset signal (0=true - this will reboot the computer) */
9797
98   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
98   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
9999
100100   return ~(m_nmi_mask & m_nmi_data);
101101}
r17813r17814
654654      if (state->m_nmi_mask & 0x80)   // Model 4 does a NMI
655655      {
656656         state->m_nmi_data = 0x80;
657         cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
657         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
658658      }
659659   }
660660   else      // Model 1 does a IRQ
661661   {
662662      state->m_irq |= IRQ_M1_FDC;
663      cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
663      machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
664664   }
665665}
666666
r17813r17814
752752    which is dealt with by the DOS. We take the opportunity to reset the cpu INT line. */
753753
754754   int result = m_irq;
755   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
755   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
756756   m_irq = 0;
757757   return result;
758758}
trunk/src/mess/machine/svi318.c
r17813r17814
3939   svi318_state *drvstate = device->machine().driver_data<svi318_state>();
4040   if (drvstate->m_svi.bankLow != SVI_CART)
4141   {
42      cputag_set_input_line(device->machine(), "maincpu", 0, (state ? HOLD_LINE : CLEAR_LINE));
42      device->machine().device("maincpu")->execute().set_input_line(0, (state ? HOLD_LINE : CLEAR_LINE));
4343   }
4444}
4545#if 0
r17813r17814
408408
409409void svi318_vdp_interrupt(running_machine &machine, int i)
410410{
411   cputag_set_input_line(machine, "maincpu", 0, (i ? HOLD_LINE : CLEAR_LINE));
411   machine.device("maincpu")->execute().set_input_line(0, (i ? HOLD_LINE : CLEAR_LINE));
412412}
413413
414414
trunk/src/mess/machine/wswan.c
r17813r17814
8787{
8888   wswan_state *state = machine.driver_data<wswan_state>();
8989   if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_HBLTMR ) {
90      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_HBLTMR );
90      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_HBLTMR );
9191   } else if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_VBL ) {
92      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_VBL );
92      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_VBL );
9393   } else if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_VBLTMR ) {
94      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_VBLTMR );
94      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_VBLTMR );
9595   } else if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_LCMP ) {
96      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_LCMP );
96      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_LCMP );
9797   } else if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_SRX ) {
98      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_SRX );
98      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_SRX );
9999   } else if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_RTC ) {
100      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_RTC );
100      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_RTC );
101101   } else if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_KEY ) {
102      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_KEY );
102      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_KEY );
103103   } else if ( state->m_ws_portram[0xb2] & state->m_ws_portram[0xb6] & WSWAN_IFLAG_STX ) {
104      cputag_set_input_line_and_vector( machine, "maincpu", 0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_STX );
104      machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, state->m_ws_portram[0xb0] + WSWAN_INT_STX );
105105   } else {
106      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE );
106      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE );
107107   }
108108}
109109
trunk/src/mess/machine/z80ne.c
r17813r17814
173173   if (!m_nmi_delay_counter)
174174   {
175175      machine().device("z80ne")->memory().space(AS_PROGRAM)->set_direct_update_handler(direct_update_delegate(FUNC(z80ne_state::z80ne_default), this));
176      cputag_set_input_line(machine(), "z80ne", INPUT_LINE_NMI, PULSE_LINE);
176      machine().device("z80ne")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
177177   }
178178   return address;
179179}
r17813r17814
389389
390390   if ( ! BIT(nmi, 0))
391391   {
392      cputag_set_input_line(field.machine(), "z80ne", INPUT_LINE_NMI, PULSE_LINE);
392      field.machine().device("z80ne")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
393393   }
394394}
395395
trunk/src/mess/machine/apple2gs.c
r17813r17814
261261         logerror("apple2gs_add_irq(): adding %s\n", apple2gs_irq_name(irq_mask));
262262
263263      state->m_pending_irqs |= irq_mask;
264      cputag_set_input_line(machine, "maincpu", G65816_LINE_IRQ, state->m_pending_irqs ? ASSERT_LINE : CLEAR_LINE);
264      machine.device("maincpu")->execute().set_input_line(G65816_LINE_IRQ, state->m_pending_irqs ? ASSERT_LINE : CLEAR_LINE);
265265   }
266266}
267267
r17813r17814
276276         logerror("apple2gs_remove_irq(): removing %s\n", apple2gs_irq_name(irq_mask));
277277
278278      state->m_pending_irqs &= ~irq_mask;
279      cputag_set_input_line(machine, "maincpu", G65816_LINE_IRQ, state->m_pending_irqs ? ASSERT_LINE : CLEAR_LINE);
279      machine.device("maincpu")->execute().set_input_line(G65816_LINE_IRQ, state->m_pending_irqs ? ASSERT_LINE : CLEAR_LINE);
280280   }
281281}
282282
trunk/src/mess/machine/apollo.c
r17813r17814
574574
575575static WRITE_LINE_DEVICE_HANDLER( apollo_dma_2_hrq_changed ) {
576576   // DLOG2(("dma 2 hrq changed state %02x", state));
577   cputag_set_input_line(device->machine(), MAINCPU, INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
577   device->machine().device(MAINCPU)->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
578578
579579   /* Assert HLDA */
580580   i8237_hlda_w(device, state);
r17813r17814
713713      apollo_set_cache_status_register(0x10, state ? 0x10 : 0x00);
714714   }
715715
716   cputag_set_input_line_and_vector(device->machine(), MAINCPU, M68K_IRQ_6,state ? ASSERT_LINE : CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
716   device->machine().device(MAINCPU)->execute().set_input_line_and_vector(M68K_IRQ_6,state ? ASSERT_LINE : CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
717717}
718718
719719static WRITE_LINE_DEVICE_HANDLER( apollo_pic8259_slave_set_int_line ) {
trunk/src/mess/machine/sym1.c
r17813r17814
174174
175175static void sym1_irq(device_t *device, int level)
176176{
177   cputag_set_input_line(device->machine(), "maincpu", M6502_IRQ_LINE, level);
177   device->machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, level);
178178}
179179
180180
trunk/src/mess/machine/ondra.c
r17813r17814
7979{
8080   if ((machine.root_device().ioport("NMI")->read() & 1) == 1)
8181   {
82      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
82      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
8383   }
8484}
8585
trunk/src/mess/machine/kaypro.c
r17813r17814
1515
1616static void kaypro_interrupt(device_t *device, int state)
1717{
18   cputag_set_input_line(device->machine(), "maincpu", 0, state);
18   device->machine().device("maincpu")->execute().set_input_line(0, state);
1919}
2020
2121READ8_MEMBER( kaypro_state::pio_system_r )
r17813r17814
281281static TIMER_CALLBACK( kaypro_timer_callback )
282282{
283283   if (machine.device("maincpu")->state().state_int(Z80_HALT))
284      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
284      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
285285}
286286
287287WRITE_LINE_MEMBER( kaypro_state::kaypro_fdc_intrq_w )
r17813r17814
289289   if (state)
290290      machine().scheduler().timer_set(attotime::from_usec(25), FUNC(kaypro_timer_callback));
291291   else
292      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
292      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
293293}
294294
295295WRITE_LINE_MEMBER( kaypro_state::kaypro_fdc_drq_w )
r17813r17814
297297   if (state)
298298      machine().scheduler().timer_set(attotime::from_usec(25), FUNC(kaypro_timer_callback));
299299   else
300      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
300      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
301301
302302}
303303
trunk/src/mess/machine/partner.c
r17813r17814
360360static WRITE_LINE_DEVICE_HANDLER( hrq_w )
361361{
362362   /* HACK - this should be connected to the BUSREQ line of Z80 */
363   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_HALT, state);
363   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state);
364364
365365   /* HACK - this should be connected to the BUSACK line of Z80 */
366366   i8257_hlda_w(device, state);
trunk/src/mess/machine/hec2hrp.c
r17813r17814
246246
247247      if (data & 0x01) /* Reset machine ! (on ESC key)*/
248248      {
249        cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
249        machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
250250        if (isHectorHR(machine())) /* aviable for HR and up */
251251         {
252252            m_hector_flag_hr=1;
r17813r17814
871871   state->m_hector_flag_hr = hr;
872872   state->m_flag_clk = 0;
873873   state->m_write_cassette = 0;
874   cputag_set_input_line(machine, "maincpu" , INPUT_LINE_RESET, PULSE_LINE);
874   machine.device("maincpu" )->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
875875
876876   // Initialization Disc II
877877   if (with_D2==1)
878878
879879   {
880      cputag_set_input_line(machine, "disc2cpu", INPUT_LINE_RESET, PULSE_LINE);
880      machine.device("disc2cpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
881881      device_t *fdc = machine.device("upd765");
882      cputag_set_input_line(machine, "disc2cpu", INPUT_LINE_RESET, PULSE_LINE);
882      machine.device("disc2cpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
883883      upd765_reset(fdc, 1);
884884      upd765_reset_w(fdc, 1);
885885   }
trunk/src/mess/machine/bebox.c
r17813r17814
249249                    */
250250         }
251251
252         cputag_set_input_line(space->machine(), cputags[crossproc_map[i].cpunum], crossproc_map[i].inputline, line);
252         space->machine().device(cputags[crossproc_map[i].cpunum])->execute().set_input_line(crossproc_map[i].inputline, line);
253253      }
254254   }
255255}
r17813r17814
260260
261261   if (b & 0x20)
262262   {
263      cputag_set_input_line(space->machine(), "ppc2", INPUT_LINE_RESET, (b & 0x80) ? CLEAR_LINE : ASSERT_LINE);
263      space->machine().device("ppc2")->execute().set_input_line(INPUT_LINE_RESET, (b & 0x80) ? CLEAR_LINE : ASSERT_LINE);
264264   }
265265}
266266
r17813r17814
282282            state->m_interrupts, state->m_cpu_imask[cpunum], interrupt ? "on" : "off");
283283      }
284284
285      cputag_set_input_line(machine, cputags[cpunum], INPUT_LINE_IRQ0, interrupt ? ASSERT_LINE : CLEAR_LINE);
285      machine.device(cputags[cpunum])->execute().set_input_line(INPUT_LINE_IRQ0, interrupt ? ASSERT_LINE : CLEAR_LINE);
286286   }
287287}
288288
r17813r17814
670670
671671static WRITE_LINE_DEVICE_HANDLER( bebox_dma_hrq_changed )
672672{
673   cputag_set_input_line(device->machine(), "ppc1", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
673   device->machine().device("ppc1")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
674674
675675   /* Assert HLDA */
676676   i8237_hlda_w( device, state );
r17813r17814
993993
994994   machine.scheduler().timer_set(attotime::zero, FUNC(bebox_get_devices));
995995
996   cputag_set_input_line(machine, "ppc1", INPUT_LINE_RESET, CLEAR_LINE);
997   cputag_set_input_line(machine, "ppc2", INPUT_LINE_RESET, ASSERT_LINE);
996   machine.device("ppc1")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
997   machine.device("ppc2")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
998998
999999   memcpy(machine.device<fujitsu_29f016a_device>("flash")->space()->get_read_ptr(0),state->memregion("user1")->base(),0x200000);
10001000}
trunk/src/mess/machine/intv.c
r17813r17814
654654static TIMER_CALLBACK(intv_interrupt_complete)
655655{
656656   intv_state *state = machine.driver_data<intv_state>();
657   cputag_set_input_line(machine, "maincpu", CP1610_INT_INTRM, CLEAR_LINE);
657   machine.device("maincpu")->execute().set_input_line(CP1610_INT_INTRM, CLEAR_LINE);
658658   state->m_bus_copy_mode = 0;
659659}
660660
r17813r17814
675675INTERRUPT_GEN( intv_interrupt )
676676{
677677   intv_state *state = device->machine().driver_data<intv_state>();
678   cputag_set_input_line(device->machine(), "maincpu", CP1610_INT_INTRM, ASSERT_LINE);
678   device->machine().device("maincpu")->execute().set_input_line(CP1610_INT_INTRM, ASSERT_LINE);
679679   state->m_sr1_int_pending = 1;
680680   state->m_bus_copy_mode = 1;
681681   state->m_backtab_row = 0;
trunk/src/mess/machine/mz80.c
r17813r17814
6969
7070WRITE_LINE_MEMBER( mz80_state::pit_out2_changed )
7171{
72   cputag_set_input_line(machine(), "maincpu", 0, HOLD_LINE);
72   machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
7373}
7474
7575I8255_INTERFACE( mz80k_8255_int )
trunk/src/mess/machine/c64.c
r17813r17814
5555
5656   if (state->m_nmilevel != (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq)   /* KEY_RESTORE */
5757   {
58      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq);
58      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq);
5959
6060      state->m_nmilevel = (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq;
6161   }
r17813r17814
104104   if (level != state->m_old_level)
105105   {
106106      DBG_LOG(machine, 3, "mos6510", ("irq %s\n", level ? "start" : "end"));
107      cputag_set_input_line(machine, "maincpu", M6510_IRQ_LINE, level);
107      machine.device("maincpu")->execute().set_input_line(M6510_IRQ_LINE, level);
108108      state->m_old_level = level;
109109   }
110110}
trunk/src/mess/machine/pecom.c
r17813r17814
169169
170170   case COSMAC_STATE_CODE_S2_DMA:
171171      // DMA acknowledge clears the DMAOUT request
172      cputag_set_input_line(device->machine(), CDP1802_TAG, COSMAC_INPUT_LINE_DMAOUT, CLEAR_LINE);
172      device->machine().device(CDP1802_TAG)->execute().set_input_line(COSMAC_INPUT_LINE_DMAOUT, CLEAR_LINE);
173173      break;
174174   case COSMAC_STATE_CODE_S3_INTERRUPT:
175175      break;
trunk/src/mess/machine/pce.c
r17813r17814
11121112
11131113   if ( pce_cd.regs[0x02] & pce_cd.regs[0x03] & ( PCE_CD_IRQ_TRANSFER_DONE | PCE_CD_IRQ_TRANSFER_READY | PCE_CD_IRQ_SAMPLE_HALF_PLAY | PCE_CD_IRQ_SAMPLE_FULL_PLAY) )
11141114   {
1115      cputag_set_input_line(machine, "maincpu", 1, ASSERT_LINE );
1115      machine.device("maincpu")->execute().set_input_line(1, ASSERT_LINE );
11161116   }
11171117   else
11181118   {
1119      cputag_set_input_line(machine, "maincpu", 1, CLEAR_LINE );
1119      machine.device("maincpu")->execute().set_input_line(1, CLEAR_LINE );
11201120   }
11211121}
11221122
r17813r17814
13481348      pce_cd.adpcm_dma_timer->adjust(attotime::never); // stop ADPCM DMA here
13491349      /* any write here clears CD transfer irqs */
13501350      pce_cd.regs[0x03] &= ~0x70;
1351      cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE );
1351      machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE );
13521352      break;
13531353   case 0x01:   /* CDC command / status / data */
13541354      break;
trunk/src/mess/machine/bbc.c
r17813r17814
15601560      {
15611561         /* I'll pulse it because if I used hold-line I'm not sure
15621562            it would clear - to be checked */
1563         cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI,PULSE_LINE);
1563         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE);
15641564      }
15651565   }
15661566
trunk/src/mess/machine/hp48.c
r17813r17814
8585
8686static void hp48_pulse_irq( running_machine &machine, int irq_line)
8787{
88   cputag_set_input_line(machine, "maincpu", irq_line, ASSERT_LINE );
89   cputag_set_input_line(machine, "maincpu", irq_line, CLEAR_LINE );
88   machine.device("maincpu")->execute().set_input_line(irq_line, ASSERT_LINE );
89   machine.device("maincpu")->execute().set_input_line(irq_line, CLEAR_LINE );
9090}
9191
9292
trunk/src/mess/machine/macpci.c
r17813r17814
154154
155155    m_via_cycles = -256;    // for a 66 MHz PowerMac
156156
157    cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, ASSERT_LINE);
157    machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
158158}
159159
160160WRITE_LINE_MEMBER(macpci_state::cuda_reset_w)
161161{
162    cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, state);
162    machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, state);
163163}
164164
165165static void mac_driver_init(running_machine &machine, model_t model)
trunk/src/mess/machine/c65.c
r17813r17814
4747
4848   if (state->m_nmilevel != (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq)   /* KEY_RESTORE */
4949   {
50      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq);
50      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq);
5151
5252      state->m_nmilevel = (machine.root_device().ioport("SPECIAL")->read() & 0x80) || cia1irq;
5353   }
r17813r17814
104104   if (level != state->m_old_level)
105105   {
106106      DBG_LOG(machine, 3, "mos6510", ("irq %s\n", level ? "start" : "end"));
107      cputag_set_input_line(machine, "maincpu", M6510_IRQ_LINE, level);
107      machine.device("maincpu")->execute().set_input_line(M6510_IRQ_LINE, level);
108108      state->m_old_level = level;
109109   }
110110}
trunk/src/mess/machine/ti99/ti_fdc.c
r17813r17814
213213      state = CLEAR_LINE;
214214
215215   m_slot->set_ready((state==CLEAR_LINE)? ASSERT_LINE : CLEAR_LINE);
216//  cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state);
216//  machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state);
217217}
218218
219219/*
trunk/src/mess/machine/ti99/bwg.c
r17813r17814
7979      state = CLEAR_LINE;
8080
8181   m_slot->set_ready((state==CLEAR_LINE)? ASSERT_LINE : CLEAR_LINE);
82//  cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, state);
82//  machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state);
8383}
8484
8585/*
trunk/src/mess/machine/gb.c
r17813r17814
19151915   {
19161916      state->SIOCONT &= 0x7F;
19171917      state->m_gb_serial_timer->enable( 0 );
1918      cputag_set_input_line(machine, "maincpu", SIO_INT, ASSERT_LINE);
1918      machine.device("maincpu")->execute().set_input_line(SIO_INT, ASSERT_LINE);
19191919   }
19201920}
19211921
r17813r17814
19291929      if ( state->TIMECNT == 0 )
19301930      {
19311931         state->TIMECNT = state->TIMEMOD;
1932         cputag_set_input_line(machine, "maincpu", TIM_INT, ASSERT_LINE );
1932         machine.device("maincpu")->execute().set_input_line(TIM_INT, ASSERT_LINE );
19331933         state->m_reloading = 1;
19341934      }
19351935   }
trunk/src/mess/machine/radio86.c
r17813r17814
134134static WRITE_LINE_DEVICE_HANDLER( hrq_w )
135135{
136136   /* HACK - this should be connected to the BUSREQ line of Z80 */
137   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_HALT, state);
137   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state);
138138
139139   /* HACK - this should be connected to the BUSACK line of Z80 */
140140   i8257_hlda_w(device, state);
trunk/src/mess/machine/ti990.c
r17813r17814
3131   {
3232      for (level = 0; ! (intlines & (1 << level)); level++)
3333         ;
34      cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, level);   /* interrupt it, baby */
34      machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, level);   /* interrupt it, baby */
3535   }
3636   else
37      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
37      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
3838}
3939
4040void ti990_set_int2(device_t *device, int state)
r17813r17814
7878
7979static TIMER_CALLBACK(clear_load)
8080{
81   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
81   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
8282}
8383
8484void ti990_hold_load(running_machine &machine)
8585{
86   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
86   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
8787   machine.scheduler().timer_set(attotime::from_msec(100), FUNC(clear_load));
8888}
8989
trunk/src/mess/machine/b2m.c
r17813r17814
273273
274274static WRITE_LINE_DEVICE_HANDLER( b2m_pic_set_int_line )
275275{
276   cputag_set_input_line(device->machine(), "maincpu", 0, state ?  HOLD_LINE : CLEAR_LINE);
276   device->machine().device("maincpu")->execute().set_input_line(0, state ?  HOLD_LINE : CLEAR_LINE);
277277}
278278
279279/* Driver initialization */
trunk/src/mess/machine/thomson.c
r17813r17814
272272   if ( old && !thom_irq )
273273      LOG_IRQ(( "%f thom_set_irq: irq line down %i\n", machine.time().as_double(), line ));
274274
275   cputag_set_input_line(machine, "maincpu", M6809_IRQ_LINE, thom_irq ? ASSERT_LINE : CLEAR_LINE);
275   machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, thom_irq ? ASSERT_LINE : CLEAR_LINE);
276276}
277277
278278
r17813r17814
291291   if ( old && !thom_firq )
292292      LOG_IRQ(( "%f thom_set_firq: firq line down %i\n", machine.time().as_double(), line ));
293293
294   cputag_set_input_line(machine, "maincpu", M6809_FIRQ_LINE, thom_firq ? ASSERT_LINE : CLEAR_LINE);
294   machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, thom_firq ? ASSERT_LINE : CLEAR_LINE);
295295}
296296
297297
r17813r17814
300300{
301301   thom_irq = 0;
302302   thom_firq = 0;
303   cputag_set_input_line( machine, "maincpu", M6809_IRQ_LINE, CLEAR_LINE );
304   cputag_set_input_line( machine, "maincpu", M6809_FIRQ_LINE, CLEAR_LINE );
303   machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, CLEAR_LINE );
304   machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE );
305305}
306306
307307
trunk/src/mess/machine/pet.c
r17813r17814
728728      state->m_spet.rom = 0;
729729      if (machine.root_device().ioport("CFG")->read() & 0x04)
730730      {
731         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, 1);
732         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, 0);
731         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 1);
732         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 0);
733733         state->m_font = 2;
734734      }
735735      else
736736      {
737         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, 0);
738         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, 1);
737         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 0);
738         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, 1);
739739         state->m_font = 0;
740740      }
741741   }
trunk/src/mess/machine/oric.c
r17813r17814
6464
6565   /* any irq set? */
6666   if (state->m_irqs & 0x0f)
67      cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
67      machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
6868   else
69      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
69      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
7070}
7171
7272
trunk/src/mess/machine/bk.c
r17813r17814
5959         {
6060            state->m_key_irq_vector = 0xBC;
6161         }
62         cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
62         machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
6363         break;
6464      }
6565   }
trunk/src/mess/machine/amigacrt.c
r17813r17814
8787static TIMER_CALLBACK( amiga_ar1_delayed_nmi )
8888{
8989   (void)param;
90   cputag_set_input_line(machine, "maincpu", 7, PULSE_LINE);
90   machine.device("maincpu")->execute().set_input_line(7, PULSE_LINE);
9191}
9292
9393static void amiga_ar1_nmi( running_machine &machine )
r17813r17814
286286      machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x000000, state->m_chip_ram.bytes() - 1, FUNC(amiga_ar23_chipmem_w));
287287
288288      /* trigger NMI irq */
289      cputag_set_input_line(machine, "maincpu", 7, PULSE_LINE);
289      machine.device("maincpu")->execute().set_input_line(7, PULSE_LINE);
290290   }
291291}
292292
trunk/src/mess/machine/osborne1.c
r17813r17814
186186WRITE_LINE_MEMBER( osborne1_state::ieee_pia_irq_a_func )
187187{
188188   m_pia_0_irq_state = state;
189   cputag_set_input_line(machine(), "maincpu", 0, ( m_pia_1_irq_state ) ? ASSERT_LINE : CLEAR_LINE);
189   machine().device("maincpu")->execute().set_input_line(0, ( m_pia_1_irq_state ) ? ASSERT_LINE : CLEAR_LINE);
190190}
191191
192192
r17813r17814
297297WRITE_LINE_MEMBER( osborne1_state::video_pia_irq_a_func )
298298{
299299   m_pia_1_irq_state = state;
300   cputag_set_input_line(machine(), "maincpu", 0, ( m_pia_1_irq_state ) ? ASSERT_LINE : CLEAR_LINE);
300   machine().device("maincpu")->execute().set_input_line(0, ( m_pia_1_irq_state ) ? ASSERT_LINE : CLEAR_LINE);
301301}
302302
303303
trunk/src/mess/machine/amstrad.c
r17813r17814
549549      {
550550         state->m_plus_irq_cause = channel * 2;
551551         state->m_asic.ram[0x2c0f] |= (0x40 >> channel);
552         cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
552         machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
553553         logerror("DMA %i: INT\n",channel);
554554      }
555555      if (command & 0x20)  // Stop processing on this channel
r17813r17814
857857         {
858858            if (drvstate->m_gate_array.hsync_counter >= 32)
859859            {
860               cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
860               device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
861861            }
862862            drvstate->m_gate_array.hsync_counter = 0;
863863         }
r17813r17814
866866      if ( drvstate->m_gate_array.hsync_counter >= 52 )
867867      {
868868         drvstate->m_gate_array.hsync_counter = 0;
869         cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
869         device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
870870      }
871871   }
872872   drvstate->m_gate_array.hsync = state ? 1 : 0;
r17813r17814
903903            {
904904               if( drvstate->m_asic.pri == 0 || drvstate->m_asic.enabled == 0)
905905               {
906                  cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
906                  device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
907907               }
908908            }
909909            drvstate->m_gate_array.hsync_counter = 0;
r17813r17814
915915         drvstate->m_gate_array.hsync_counter = 0;
916916         if ( drvstate->m_asic.pri == 0 || drvstate->m_asic.enabled == 0 )
917917         {
918            cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
918            device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
919919         }
920920      }
921921
r17813r17814
927927            if ( drvstate->m_asic.pri == drvstate->m_asic.vpos - 1 )
928928            {
929929               logerror("PRI: triggered, scanline %d\n",drvstate->m_asic.pri);
930               cputag_set_input_line(device->machine(), "maincpu", 0, ASSERT_LINE);
930               device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
931931               drvstate->m_plus_irq_cause = 0x06;  // raster interrupt vector
932932               drvstate->m_gate_array.hsync_counter &= ~0x20;  // ASIC PRI resets the MSB of the raster counter
933933            }
r17813r17814
11391139
11401140WRITE_LINE_DEVICE_HANDLER(cpc_irq_w)
11411141{
1142   cputag_set_input_line(device->machine(), "maincpu", 0, state);
1142   device->machine().device("maincpu")->execute().set_input_line(0, state);
11431143}
11441144
11451145WRITE_LINE_DEVICE_HANDLER(cpc_nmi_w)
11461146{
1147   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, state);
1147   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, state);
11481148}
11491149
11501150WRITE_LINE_DEVICE_HANDLER(cpc_romdis)
r17813r17814
14901490         if(data & 0x40)
14911491         {
14921492            logerror("ASIC: DMA 0 IRQ acknowledge\n");
1493            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
1493            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
14941494            m_plus_irq_cause = 0x06;
14951495            m_asic.ram[0x2c0f] &= ~0x40;
14961496         }
14971497         if(data & 0x20)
14981498         {
14991499            logerror("ASIC: DMA 1 IRQ acknowledge\n");
1500            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
1500            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
15011501            m_plus_irq_cause = 0x06;
15021502            m_asic.ram[0x2c0f] &= ~0x20;
15031503         }
15041504         if(data & 0x10)
15051505         {
15061506            logerror("ASIC: DMA 2 IRQ acknowledge\n");
1507            cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
1507            machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
15081508            m_plus_irq_cause = 0x06;
15091509            m_asic.ram[0x2c0f] &= ~0x10;
15101510         }
r17813r17814
17101710      if ( state->m_gate_array.mrer & 0x10 )
17111711      {
17121712         state->m_gate_array.hsync_counter = 0;
1713         cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
1713         machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
17141714      }
17151715
17161716      /* b3b2 != 0 then change the state of upper or lower rom area and rethink memory */
r17813r17814
26932693      state->m_asic.ram[0x2c0f] &= ~0x80;  // not a raster interrupt, so this bit is reset
26942694      return (state->m_asic.ram[0x2805] & 0xf8) | state->m_plus_irq_cause;
26952695   }
2696   cputag_set_input_line(device->machine(),"maincpu", 0, CLEAR_LINE);
2696   device->machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
26972697   state->m_gate_array.hsync_counter &= 0x1F;
26982698   if ( state->m_asic.enabled )
26992699   {
trunk/src/mess/machine/sms.c
r17813r17814
785785   {
786786      if (!driver_state->m_paused)
787787      {
788         cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
788         device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
789789      }
790790      driver_state->m_paused = 1;
791791   }
trunk/src/mess/machine/compis.c
r17813r17814
8383void compis_irq_set(UINT8 irq)
8484{
8585   cputag_set_input_line_vector(machine, "maincpu", 0, irq);
86   cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
86   machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
8787}
8888#endif
8989
r17813r17814
523523   /* generate the appropriate interrupt */
524524   state->m_i186.intr.poll_status = 0x8000 | new_vector;
525525   if (!state->m_i186.intr.pending)
526      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
526      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
527527   state->m_i186.intr.pending = 1;
528528   machine.scheduler().trigger(CPU_RESUME_TRIGGER);
529529   if (LOG_OPTIMIZATION) logerror("  - trigger due to interrupt pending\n");
r17813r17814
13251325
13261326WRITE_LINE_MEMBER( compis_state::compis_pic8259_master_set_int_line )
13271327{
1328   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
1328   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
13291329}
13301330
13311331WRITE_LINE_MEMBER( compis_state::compis_pic8259_slave_set_int_line )
trunk/src/mess/machine/mac.c
r17813r17814
291291
292292   if (m_last_taken_interrupt > -1)
293293   {
294      cputag_set_input_line(machine(), "maincpu", m_last_taken_interrupt, CLEAR_LINE);
294      machine().device("maincpu")->execute().set_input_line(m_last_taken_interrupt, CLEAR_LINE);
295295      m_last_taken_interrupt = -1;
296296   }
297297
298298   if (take_interrupt > -1)
299299   {
300      cputag_set_input_line(machine(), "maincpu", take_interrupt, ASSERT_LINE);
300      machine().device("maincpu")->execute().set_input_line(take_interrupt, ASSERT_LINE);
301301      m_last_taken_interrupt = take_interrupt;
302302   }
303303}
r17813r17814
19581958        set_memory_overlay(1);
19591959    }
19601960
1961    cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, state);
1961    machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, state);
19621962}
19631963
19641964static void mac_state_load(mac_state *mac)
trunk/src/mess/machine/concept.c
r17813r17814
133133
134134   if (final_level)
135135      /* assert interrupt */
136      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_1 + final_level - 1, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
136      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_1 + final_level - 1, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
137137   else
138138      /* clear all interrupts */
139      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_1, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
139      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_1, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
140140}
141141
142142INLINE void post_in_KeyQueue(concept_state *state, int keycode)
trunk/src/mess/machine/msx.c
r17813r17814
358358
359359void msx_vdp_interrupt(device_t *, v99x8_device &device, int i)
360360{
361   cputag_set_input_line (device.machine(), "maincpu", 0, (i ? HOLD_LINE : CLEAR_LINE));
361   device.machine().device("maincpu")->execute().set_input_line(0, (i ? HOLD_LINE : CLEAR_LINE));
362362}
363363
364364void msx_state::msx_ch_reset_core ()
trunk/src/mess/machine/mz700.c
r17813r17814
425425   mz_state *mz = device->machine().driver_data<mz_state>();
426426
427427   if (!mz->m_intmsk)
428      cputag_set_input_line(device->machine(), "maincpu", 0, state);
428      device->machine().device("maincpu")->execute().set_input_line(0, state);
429429}
430430
431431
r17813r17814
541541
542542static void mz800_z80pio_irq(device_t *device, int which)
543543{
544   cputag_set_input_line(device->machine(), "maincpu", 0, which);
544   device->machine().device("maincpu")->execute().set_input_line(0, which);
545545}
546546
547547static READ8_DEVICE_HANDLER( mz800_z80pio_port_a_r )
trunk/src/mess/machine/lisa.c
r17813r17814
164164#if 0
165165   if (RSIR)
166166      // serial interrupt
167      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_6, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
167      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_6, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
168168   else if (int0)
169169      // external interrupt
170      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_5, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
170      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_5, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
171171   else if (int1)
172172      // external interrupt
173      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_4, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
173      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_4, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
174174   else if (int2)
175175      // external interrupt
176      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_3, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
176      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_3, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
177177   else
178178#endif
179179   if (state->m_KBIR)
180180      /* COPS VIA interrupt */
181      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_2, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
181      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_2, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
182182   else if (state->m_FDIR || state->m_VTIR)
183183      /* floppy disk or VBl */
184      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_1, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
184      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_1, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
185185   else
186186      /* clear all interrupts */
187      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_1, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
187      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_1, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
188188}
189189
190190static void set_parity_error_pending(running_machine &machine, int value)
r17813r17814
195195   state->m_parity_error_pending = value;
196196   if (state->m_parity_error_pending)
197197   {
198      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_7, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
198      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_7, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
199199   }
200200   else
201201   {
202      cputag_set_input_line(machine, "maincpu", M68K_IRQ_7, CLEAR_LINE);
202      machine.device("maincpu")->execute().set_input_line(M68K_IRQ_7, CLEAR_LINE);
203203   }
204204#else
205205   /* work-around... */
206206   if ((! state->m_parity_error_pending) && value)
207207   {
208208      state->m_parity_error_pending = 1;
209      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_7, PULSE_LINE, M68K_INT_ACK_AUTOVECTOR);
209      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_7, PULSE_LINE, M68K_INT_ACK_AUTOVECTOR);
210210   }
211211   else if (state->m_parity_error_pending && (! value))
212212   {
r17813r17814
327327#if 0
328328                  if (keycode == state->m_NMIcode)
329329                  {   /* generate NMI interrupt */
330                     cputag_set_input_line(machine, "maincpu", M68K_IRQ_7, PULSE_LINE);
330                     machine.device("maincpu")->execute().set_input_line(M68K_IRQ_7, PULSE_LINE);
331331                     device_set_input_line_vector(machine.device("maincpu"), M68K_IRQ_7, M68K_INT_ACK_AUTOVECTOR);
332332                  }
333333#endif
trunk/src/mess/machine/lynx.c
r17813r17814
604604{
605605   lynx_state *state = machine.driver_data<lynx_state>();
606606   state->m_blitter.busy=0; // blitter finished
607   cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
607   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
608608}
609609
610610/*
r17813r17814
14091409   if ( ( state->m_timer[which].cntrl1 & 0x80 ) && ( which != 4 ) ) // if interrupts are enabled and timer != 4
14101410   {
14111411      state->m_mikey.data[0x81] |= ( 1 << which ); // set interupt poll register
1412      cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1413      cputag_set_input_line(machine, "maincpu", M65SC02_IRQ_LINE, ASSERT_LINE);
1412      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
1413      machine.device("maincpu")->execute().set_input_line(M65SC02_IRQ_LINE, ASSERT_LINE);
14141414   }
14151415   switch ( which ) // count down linked timers
14161416   {
r17813r17814
16401640      if (state->m_uart.serctl & 0x40)
16411641      {
16421642         state->m_mikey.data[0x81] |= 0x10;
1643         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1644         cputag_set_input_line(machine, "maincpu", M65SC02_IRQ_LINE, ASSERT_LINE);
1643         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
1644         machine.device("maincpu")->execute().set_input_line(M65SC02_IRQ_LINE, ASSERT_LINE);
16451645      }
16461646   }
16471647
16481648   if (state->m_uart.serctl & 0x80)
16491649   {
16501650      state->m_mikey.data[0x81] |= 0x10;
1651      cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1652      cputag_set_input_line(machine, "maincpu", M65SC02_IRQ_LINE, ASSERT_LINE);
1651      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
1652      machine.device("maincpu")->execute().set_input_line(M65SC02_IRQ_LINE, ASSERT_LINE);
16531653   }
16541654}
16551655
r17813r17814
18061806      m_mikey.data[0x81] &= ~data; // clear interrupt source
18071807      // logerror("mikey write %.2x %.2x\n", offset, data);
18081808      if (!m_mikey.data[0x81])
1809         cputag_set_input_line(machine(), "maincpu", M65SC02_IRQ_LINE, CLEAR_LINE);
1809         machine().device("maincpu")->execute().set_input_line(M65SC02_IRQ_LINE, CLEAR_LINE);
18101810      break;
18111811
18121812   /* Is this correct? */ // Notes say writing to register will result in interupt being triggered.
r17813r17814
18141814      m_mikey.data[0x81] |= data;
18151815      if (data)
18161816      {
1817         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1818         cputag_set_input_line(machine(), "maincpu", M65SC02_IRQ_LINE, ASSERT_LINE);
1817         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
1818         machine().device("maincpu")->execute().set_input_line(M65SC02_IRQ_LINE, ASSERT_LINE);
18191819         logerror("direct write to interupt register\n");
18201820      }
18211821      break;
r17813r17814
18691869      m_mikey.data[offset] = data;
18701870      if (!data && m_blitter.busy)
18711871      {
1872         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_HALT, ASSERT_LINE);
1872         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
18731873         /* A write of '0' to this address will reset the CPU bus request flip flop */
18741874      }
18751875      break;
r17813r17814
19291929   lynx_state *state = machine.driver_data<lynx_state>();
19301930   state->lynx_memory_config_w(*machine.device("maincpu")->memory().space(AS_PROGRAM), 0, 0);
19311931
1932   cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1933   cputag_set_input_line(machine, "maincpu", M65SC02_IRQ_LINE, CLEAR_LINE);
1932   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
1933   machine.device("maincpu")->execute().set_input_line(M65SC02_IRQ_LINE, CLEAR_LINE);
19341934
19351935   memset(&state->m_suzy, 0, sizeof(state->m_suzy));
19361936   memset(&state->m_mikey, 0, sizeof(state->m_mikey));
trunk/src/mess/machine/cgenie.c
r17813r17814
419419   if( (state->m_irq_status & IRQ_TIMER) == 0 )
420420   {
421421      state->m_irq_status |= IRQ_TIMER;
422      cputag_set_input_line(device->machine(), "maincpu", 0, HOLD_LINE);
422      device->machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
423423   }
424424}
425425
r17813r17814
435435      if( (drvstate->m_irq_status & IRQ_FDC) == 0 )
436436      {
437437         drvstate->m_irq_status |= IRQ_FDC;
438         cputag_set_input_line(device->machine(), "maincpu", 0, HOLD_LINE);
438         device->machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
439439      }
440440   }
441441   else
trunk/src/mess/machine/super80.c
r17813r17814
115115   if (!go_fast)
116116   {
117117      if (!state->m_int_sw)
118         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE);   // if going, stop it
118         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);   // if going, stop it
119119
120120      state->m_int_sw++;
121121      if (state->m_int_sw > 1)
122122      {
123         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);      // if stopped, start it
123         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);      // if stopped, start it
124124         state->m_int_sw = 0;
125125      }
126126   }
r17813r17814
128128   {
129129      if (state->m_int_sw < 8)                        // @2MHz, reset just once
130130      {
131         cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
131         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
132132         state->m_int_sw = 8;                     // ...not every time
133133      }
134134   }
trunk/src/mess/machine/apple1.c
r17813r17814
297297      if (!state->m_reset_flag) {
298298         state->m_reset_flag = 1;
299299         /* using PULSE_LINE does not allow us to press and hold key */
300         cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, ASSERT_LINE);
300         machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
301301         pia->reset();
302302      }
303303   }
304304   else if (state->m_reset_flag) {
305305      /* RESET released--allow the processor to continue. */
306306      state->m_reset_flag = 0;
307      cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, CLEAR_LINE);
307      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
308308   }
309309
310310   /* The CLEAR SCREEN switch clears the video hardware. */
trunk/src/mess/machine/rmnimbus.c
r17813r17814
345345   /* generate the appropriate interrupt */
346346   state->m_i186.intr.poll_status = 0x8000 | new_vector;
347347   if (!state->m_i186.intr.pending)
348      cputag_set_input_line(machine, MAINCPU_TAG, 0, ASSERT_LINE);
348      machine.device(MAINCPU_TAG)->execute().set_input_line(0, ASSERT_LINE);
349349   state->m_i186.intr.pending = 1;
350350   machine.scheduler().trigger(CPU_RESUME_TRIGGER);
351351   if (LOG_OPTIMIZATION) logerror("  - trigger due to interrupt pending\n");
trunk/src/mess/machine/pk8020.c
r17813r17814
979979
980980static WRITE_LINE_DEVICE_HANDLER( pk8020_pic_set_int_line )
981981{
982   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
982   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
983983}
984984
985985const struct pic8259_interface pk8020_pic8259_config =
trunk/src/mess/video/zx.c
r17813r17814
100100   r.set(r1.min_x, r1.max_x, state->m_ula_scanline_count, state->m_ula_scanline_count);
101101   bitmap.fill(1, r);
102102//  logerror("ULA %3d[%d] NMI, R:$%02X, $%04x\n", machine.primary_screen->vpos(), ula_scancode_count, (unsigned) machine.device("maincpu")->state().state_int(Z80_R), (unsigned) machine.device("maincpu")->state().state_int(Z80_PC));
103   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
103   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
104104   if (++state->m_ula_scanline_count == height)
105105      state->m_ula_scanline_count = 0;
106106}
r17813r17814
119119//      logerror("ULA %3d[%d] IRQ, R:$%02X, $%04x\n", machine.primary_screen->vpos(), ula_scancode_count, (unsigned) machine.device("maincpu")->state().state_int(Z80_R), (unsigned) machine.device("maincpu")->state().state_int(Z80_PC));
120120
121121      state->m_ula_irq_active = 0;
122      cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
122      machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
123123   }
124124}
125125
trunk/src/mess/video/gb.c
r17813r17814
11981198
11991199static TIMER_CALLBACK( gb_video_init_vbl )
12001200{
1201   cputag_set_input_line( machine, "maincpu", VBL_INT, ASSERT_LINE );
1201   machine.device("maincpu")->execute().set_input_line(VBL_INT, ASSERT_LINE );
12021202}
12031203
12041204MACHINE_START( gb_video )
r17813r17814
13911391               if ( ! state->m_lcd.line_irq && ! state->m_lcd.delayed_line_irq )
13921392               {
13931393                  state->m_lcd.mode_irq = 1;
1394                  cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1394                  machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
13951395               }
13961396            }
13971397            else
r17813r17814
14321432         if ( ! state->m_lcd.mode_irq && ( LCDSTAT & 0x08 ) &&
14331433              ( ( ! state->m_lcd.line_irq && state->m_lcd.delayed_line_irq ) || ! ( LCDSTAT & 0x40 ) ) )
14341434         {
1435            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1435            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
14361436         }
14371437         state->m_lcd.lcd_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(196 - state->m_lcd.scrollx_adjust - state->m_lcd.sprite_cycles), GB_LCD_STATE_LYXX_M0_PRE_INC);
14381438         break;
r17813r17814
14481448                  if ( ! state->m_lcd.line_irq && ! state->m_lcd.delayed_line_irq )
14491449                  {
14501450                     state->m_lcd.mode_irq = 1;
1451                     cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1451                     machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
14521452                  }
14531453               }
14541454               else
r17813r17814
14671467         if ( ! state->m_lcd.mode_irq && ! state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq && ! state->m_lcd.triggering_mode_irq )
14681468         {
14691469            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1470            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1470            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
14711471         }
14721472         /* Reset LY==LYC STAT bit */
14731473         LCDSTAT &= 0xFB;
r17813r17814
14851485                ( ( ! state->m_lcd.triggering_line_irq && ! state->m_lcd.delayed_line_irq ) || ! ( LCDSTAT & 0x40 ) ) )
14861486            {
14871487               state->m_lcd.mode_irq = 1;
1488               cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1488               machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
14891489            }
14901490            state->m_lcd.lcd_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(4), GB_LCD_STATE_LYXX_M2);
14911491         }
r17813r17814
14981498         /* Generate lcd interrupt if requested */
14991499         if ( ( LCDSTAT & 0x20 ) && ! state->m_lcd.line_irq )
15001500         {
1501            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1501            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
15021502         }
15031503         /* Check for regular compensation of x-scroll register */
15041504         state->m_lcd.scrollx_adjust = ( SCROLLX & 0x04 ) ? 4 : 0;
r17813r17814
15131513         if ( ( state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq && ! ( LCDSTAT & 0x20 ) ) ||
15141514             ( ! state->m_lcd.mode_irq && ! state->m_lcd.line_irq && ! state->m_lcd.delayed_line_irq && state->m_lcd.triggering_mode_irq ) )
15151515         {
1516            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1516            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
15171517         }
15181518         state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
15191519         state->m_lcd.triggering_mode_irq = 0;
r17813r17814
15431543         if ( CURLINE == 144 )
15441544         {
15451545            /* Trigger VBlank interrupt */
1546            cputag_set_input_line( machine, "maincpu", VBL_INT, ASSERT_LINE );
1546            machine.device("maincpu")->execute().set_input_line(VBL_INT, ASSERT_LINE );
15471547            /* Set VBlank lcdstate */
15481548            state->m_lcd.mode = 1;
15491549            LCDSTAT = (LCDSTAT & 0xFC) | 0x01;
15501550            /* Trigger LCD interrupt if requested */
15511551            if ( LCDSTAT & 0x10 )
15521552            {
1553               cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1553               machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
15541554            }
15551555         }
15561556         /* Check if LY==LYC STAT bit should be set */
r17813r17814
15601560         }
15611561         if ( state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
15621562         {
1563            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1563            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
15641564         }
15651565         state->m_lcd.lcd_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(452), GB_LCD_STATE_LY9X_M1_INC);
15661566         break;
r17813r17814
15721572         if ( ! state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
15731573         {
15741574            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1575            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1575            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
15761576         }
15771577         /* Reset LY==LYC STAT bit */
15781578         LCDSTAT &= 0xFB;
r17813r17814
15911591         {
15921592            if ( state->m_lcd.triggering_line_irq )
15931593            {
1594               cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1594               machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
15951595            }
15961596         }
15971597         state->m_lcd.delayed_line_irq = state->m_lcd.delayed_line_irq | state->m_lcd.line_irq;
r17813r17814
16091609         if ( ! state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
16101610         {
16111611            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1612            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1612            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
16131613         }
16141614         state->m_lcd.lcd_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(4), GB_LCD_STATE_LY00_M1_2);
16151615         break;
r17813r17814
16171617         if ( state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
16181618         {
16191619            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1620            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1620            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
16211621         }
16221622         if ( CURLINE == CMPLINE )
16231623         {
r17813r17814
16641664               if ( ! state->m_lcd.line_irq && ! state->m_lcd.delayed_line_irq )
16651665               {
16661666                  state->m_lcd.mode_irq = 1;
1667                  cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1667                  machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
16681668               }
16691669            }
16701670            else
r17813r17814
17061706         if ( ! state->m_lcd.mode_irq && state->m_lcd.triggering_mode_irq &&
17071707              ( ( ! state->m_lcd.line_irq && state->m_lcd.delayed_line_irq ) || ! ( LCDSTAT & 0x40 ) ) )
17081708         {
1709            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1709            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
17101710            state->m_lcd.triggering_mode_irq = 0;
17111711         }
17121712         if ( ( SCROLLX & 0x03 ) == 0x03 )
r17813r17814
17411741                  if ( ! state->m_lcd.line_irq && ! state->m_lcd.delayed_line_irq )
17421742                  {
17431743                     state->m_lcd.mode_irq = 1;
1744                     cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1744                     machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
17451745                  }
17461746               }
17471747               else
r17813r17814
17601760         if ( ! state->m_lcd.mode_irq && ! state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq && ! ( LCDSTAT & 0x20 ) )
17611761         {
17621762            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1763            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1763            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
17641764         }
17651765         state->m_lcd.hdma_possible = 0;
17661766         /* Check if we're going into VBlank next */
r17813r17814
17771777                ( ( ! state->m_lcd.triggering_line_irq && ! state->m_lcd.delayed_line_irq ) || ! ( LCDSTAT & 0x40 ) ) )
17781778            {
17791779               state->m_lcd.mode_irq = 1;
1780               cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1780               machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
17811781            }
17821782            state->m_lcd.lcd_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(4), GB_LCD_STATE_LYXX_M2);
17831783         }
r17813r17814
17901790         /* Generate lcd interrupt if requested */
17911791         if ( ( LCDSTAT & 0x20 ) && ! state->m_lcd.line_irq )
17921792         {
1793            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1793            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
17941794         }
17951795         /* Check for regular compensation of x-scroll register */
17961796         state->m_lcd.scrollx_adjust = ( SCROLLX & 0x04 ) ? 4 : 0;
r17813r17814
18051805         if ( ( state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq && ! ( LCDSTAT & 0x20 ) ) ||
18061806             ( !state->m_lcd.mode_irq && ! state->m_lcd.line_irq && ! state->m_lcd.delayed_line_irq && ( LCDSTAT & 0x20 ) ) )
18071807         {
1808            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1808            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
18091809         }
18101810         state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
18111811         /* Check if LY==LYC STAT bit should be set */
r17813r17814
18391839         if ( CURLINE == 144 )
18401840         {
18411841            /* Trigger VBlank interrupt */
1842            cputag_set_input_line( machine, "maincpu", VBL_INT, ASSERT_LINE );
1842            machine.device("maincpu")->execute().set_input_line(VBL_INT, ASSERT_LINE );
18431843            /* Set VBlank lcdstate */
18441844            state->m_lcd.mode = 1;
18451845            LCDSTAT = (LCDSTAT & 0xFC) | 0x01;
18461846            /* Trigger LCD interrupt if requested */
18471847            if ( LCDSTAT & 0x10 )
18481848            {
1849               cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1849               machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
18501850            }
18511851         }
18521852         /* Check if LY==LYC STAT bit should be set */
r17813r17814
18601860         }
18611861         if ( state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
18621862         {
1863            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1863            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
18641864         }
18651865         state->m_lcd.lcd_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(452), GB_LCD_STATE_LY9X_M1_INC);
18661866         break;
r17813r17814
18721872         if ( ! state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
18731873         {
18741874            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1875            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1875            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
18761876         }
18771877         if ( state->m_lcd.current_line == 153 )
18781878         {
r17813r17814
18891889         {
18901890            if ( state->m_lcd.triggering_line_irq )
18911891            {
1892               cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1892               machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
18931893            }
18941894         }
18951895         state->m_lcd.delayed_line_irq = state->m_lcd.delayed_line_irq | state->m_lcd.line_irq;
r17813r17814
19111911         if ( ! state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
19121912         {
19131913            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1914            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1914            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
19151915         }
19161916         state->m_lcd.lcd_timer->adjust(machine.device<cpu_device>("maincpu")->cycles_to_attotime(4), GB_LCD_STATE_LY00_M1_2);
19171917         break;
r17813r17814
19191919         if ( state->m_lcd.delayed_line_irq && state->m_lcd.triggering_line_irq )
19201920         {
19211921            state->m_lcd.line_irq = state->m_lcd.triggering_line_irq;
1922            cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1922            machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
19231923         }
19241924         if ( CURLINE == CMPLINE )
19251925         {
r17813r17814
19661966      /* Generate lcd interrupt if requested */
19671967      if ( LCDSTAT & 0x40 )
19681968      {
1969         cputag_set_input_line( machine, "maincpu", LCD_INT, ASSERT_LINE );
1969         machine.device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
19701970      }
19711971   }
19721972   state->m_lcd.state = GB_LCD_STATE_LY00_M2;
r17813r17814
20612061            ( ( LCDSTAT & 0x60 ) == 0x20 && ( data & 0x40 ) )
20622062            ) )
20632063         {
2064               cputag_set_input_line( machine(), "maincpu", LCD_INT, ASSERT_LINE );
2064               machine().device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
20652065         }
20662066         /*
20672067               - 0x20 -> 0x08/0x18/0x28/0x48 (mode 0, after m2int) - trigger
r17813r17814
20702070            */
20712071         if ( m_lcd.mode_irq && m_lcd.mode == 0 )
20722072         {
2073            cputag_set_input_line( machine(), "maincpu", LCD_INT, ASSERT_LINE );
2073            machine().device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
20742074         }
20752075      }
20762076      break;
r17813r17814
20872087               /* Generate lcd interrupt if requested */
20882088               if ( LCDSTAT & 0x40 )
20892089               {
2090                  cputag_set_input_line( machine(), "maincpu", LCD_INT, ASSERT_LINE );
2090                  machine().device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
20912091               }
20922092            }
20932093         }
r17813r17814
21962196            */
21972197         if ( m_lcd.mode_irq && m_lcd.mode == 0 && ( LCDSTAT & 0x28 ) == 0x20 && ( data & 0x08 ) )
21982198         {
2199            cputag_set_input_line( machine(), "maincpu", LCD_INT, ASSERT_LINE );
2199            machine().device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
22002200         }
22012201         /* Check if line irqs are being disabled */
22022202         if ( ! ( data & 0x40 ) )
r17813r17814
22092209            if ( CMPLINE == CURLINE )
22102210            {
22112211               m_lcd.line_irq = 1;
2212               cputag_set_input_line( machine(), "maincpu", LCD_INT, ASSERT_LINE );
2212               machine().device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
22132213            }
22142214         }
22152215      }
r17813r17814
22242224            /* Generate lcd interrupt if requested */
22252225            if ( LCDSTAT & 0x40 )
22262226            {
2227               cputag_set_input_line( machine(), "maincpu", LCD_INT, ASSERT_LINE );
2227               machine().device("maincpu")->execute().set_input_line(LCD_INT, ASSERT_LINE );
22282228            }
22292229         }
22302230         else
trunk/src/mess/video/x68k.c
r17813r17814
12771277      state->m_mfp.isra = 0;
12781278      state->m_mfp.isrb = 0;
12791279//      mfp_trigger_irq(MFP_IRQ_GPIP6);
1280//      cputag_set_input_line_and_vector(machine, "maincpu",6,ASSERT_LINE,0x43);
1280//      machine.device("maincpu")->execute().set_input_line_and_vector(6,ASSERT_LINE,0x43);
12811281   }
12821282   if(screen.machine().input().code_pressed(KEYCODE_9))
12831283   {
trunk/src/mess/video/odyssey2.c
r17813r17814
151151        case 0xa1:
152152         data = m_control_status;
153153         m_iff = 0;
154         cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
154         machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
155155         m_control_status &= ~ 0x08;
156156         if ( machine().primary_screen->hpos() < I824X_START_ACTIVE_SCAN || machine().primary_screen->hpos() > I824X_END_ACTIVE_SCAN )
157157         {
r17813r17814
538538      state->m_control_status |= 0x08;
539539      if ( ! state->m_iff )
540540      {
541         cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
541         machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
542542         state->m_iff = 1;
543543      }
544544   }
r17813r17814
659659         /* Throw an interrupt if enabled */
660660         if( state->m_o2_vdc.s.control & 0x4 )
661661         {
662            cputag_set_input_line(device->machine(), "maincpu", 1, HOLD_LINE); /* Is this right? */
662            device->machine().device("maincpu")->execute().set_input_line(1, HOLD_LINE); /* Is this right? */
663663         }
664664
665665         /* Adjust volume */
trunk/src/mess/video/pecom.c
r17813r17814
7777   // every other PRD triggers a DMAOUT request
7878   if (driver_state->m_dma)
7979   {
80      cputag_set_input_line(device->machine(), CDP1802_TAG, COSMAC_INPUT_LINE_DMAOUT, HOLD_LINE);
80      device->machine().device(CDP1802_TAG)->execute().set_input_line(COSMAC_INPUT_LINE_DMAOUT, HOLD_LINE);
8181   }
8282
8383   driver_state->m_dma = !driver_state->m_dma;
trunk/src/mess/video/vc4000.c
r17813r17814
596596
597597   if (state->m_irq_pause>10)
598598   {
599      cputag_set_input_line(device->machine(), "maincpu", 0, CLEAR_LINE);
599      device->machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
600600      state->m_irq_pause = 0;
601601   }
602602
r17813r17814
642642      (state->m_video.sprites[1].finished_now) |
643643      (state->m_video.sprites[0].finished_now)) && (!state->m_irq_pause))
644644      {
645         cputag_set_input_line_and_vector(device->machine(), "maincpu", 0, ASSERT_LINE, 3);
645         device->machine().device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 3);
646646         state->m_irq_pause=1;
647647      }
648648}
trunk/src/mess/video/fm7.c
r17813r17814
3939   if(data & 0x80)
4040      m_video.sub_busy = data & 0x80;
4141
42   cputag_set_input_line(machine(),"sub",INPUT_LINE_HALT,(data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
42   machine().device("sub")->execute().set_input_line(INPUT_LINE_HALT,(data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
4343   if(data & 0x40)
44      cputag_set_input_line(machine(),"sub",M6809_IRQ_LINE,ASSERT_LINE);
44      machine().device("sub")->execute().set_input_line(M6809_IRQ_LINE,ASSERT_LINE);
4545   //popmessage("Sub CPU Interface write: %02x\n",data);
4646}
4747
r17813r17814
6363 */
6464READ8_MEMBER(fm7_state::fm7_cancel_ack)
6565{
66   cputag_set_input_line(machine(),"sub",M6809_IRQ_LINE,CLEAR_LINE);
66   machine().device("sub")->execute().set_input_line(M6809_IRQ_LINE,CLEAR_LINE);
6767   return 0x00;
6868}
6969
r17813r17814
7373READ8_MEMBER(fm7_state::fm7_attn_irq_r)
7474{
7575   m_video.attn_irq = 1;
76   cputag_set_input_line(machine(),"maincpu",M6809_FIRQ_LINE,ASSERT_LINE);
76   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE,ASSERT_LINE);
7777   return 0xff;
7878}
7979
r17813r17814
11771177         break;
11781178   }
11791179   // reset sub CPU, set busy flag, set reset flag
1180   cputag_set_input_line(machine(),"sub",INPUT_LINE_RESET,PULSE_LINE);
1180   machine().device("sub")->execute().set_input_line(INPUT_LINE_RESET,PULSE_LINE);
11811181   m_video.sub_busy = 0x80;
11821182   m_video.sub_halt = 0;
11831183   m_video.sub_reset = 1;
trunk/src/mess/formats/spec_snqk.c
r17813r17814
405405    LOAD_REG(cpu, Z80_IFF2, data);
406406
407407    intr = BIT(status, 4) ? ASSERT_LINE : CLEAR_LINE;
408    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
409    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
408    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
409    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
410410
411411    data = BIT(status, 5);
412412    state->m_flash_invert = data;
r17813r17814
583583    LOAD_REG(cpu, Z80_IFF2, BIT(data, 2));
584584
585585    intr = BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE;
586    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
587    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
586    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
587    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
588588
589589    if (snapsize == SNA48_SIZE)
590590        /* 48K Snapshot */
r17813r17814
796796    LOAD_REG(cpu, Z80_IFF2, data);
797797
798798    intr = snapdata[ACH_OFFSET + 191] ? CLEAR_LINE : ASSERT_LINE;
799    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
800    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
799    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
800    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
801801
802802    logerror("Skipping the 16K ROM dump at offset:%04X\n", ACH_OFFSET + 256);
803803
r17813r17814
928928    LOAD_REG(cpu, Z80_IFF2, BIT(data, 2));
929929
930930    intr = BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE;
931    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
932    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
931    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
932    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
933933
934934    data = space->read_byte(addr + 1);
935935    LOAD_REG(cpu, Z80_R, data);
r17813r17814
11301130    LOAD_REG(cpu, Z80_IFF2, BIT(data, 2));
11311131
11321132    intr = BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE;
1133    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
1134    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1133    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
1134    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
11351135
11361136    data = space->read_byte(addr + 1);
11371137    LOAD_REG(cpu, Z80_R, data);
r17813r17814
12671267    LOAD_REG(cpu, Z80_IFF2, BIT(data, 0));
12681268
12691269    intr = BIT(snapdata[SEM_OFFSET + 30], 0) ? CLEAR_LINE : ASSERT_LINE;
1270    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
1271    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1270    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
1271    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
12721272
12731273    /* Memory dump */
12741274    logerror("Loading %04X bytes of RAM at %04X\n", 3*SPECTRUM_BANK, BASE_RAM);
r17813r17814
13851385    LOAD_REG(cpu, Z80_IFF2, data);
13861386
13871387    intr = data ? CLEAR_LINE : ASSERT_LINE;
1388    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
1389    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1388    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
1389    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
13901390
13911391    /* Memory dump */
13921392    logerror("Skipping the 16K ROM dump at offset:%04X\n", SIT_OFFSET + 28);
r17813r17814
15301530    LOAD_REG(cpu, Z80_IFF2, data);
15311531
15321532    intr = BIT(snapdata[ZX_OFFSET + 142], 0) ? CLEAR_LINE : ASSERT_LINE;
1533    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
1534    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1533    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
1534    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
15351535
15361536    /* Memory dump */
15371537    logerror("Loading %04X bytes of RAM at %04X\n", 3*SPECTRUM_BANK, BASE_RAM);
r17813r17814
16481648    LOAD_REG(cpu, Z80_IFF2, data);
16491649
16501650    intr = BIT(snapdata[SNP_OFFSET + 19], 0) ? CLEAR_LINE : ASSERT_LINE;
1651    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
1652    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1651    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
1652    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
16531653
16541654    /* Memory dump */
16551655    logerror("Loading %04X bytes of RAM at %04X\n", 3*SPECTRUM_BANK, BASE_RAM);
r17813r17814
18781878    LOAD_REG(cpu, Z80_IFF2, BIT(data, 2));
18791879
18801880    intr = BIT(data, 0) ? CLEAR_LINE : ASSERT_LINE;
1881    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
1882    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
1881    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
1882    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
18831883
18841884    /* Memory dump */
18851885    logerror("Uncompressing %04X bytes of RAM at %04X\n", 3*SPECTRUM_BANK, BASE_RAM);
r17813r17814
20352035    LOAD_REG(cpu, Z80_IFF2, BIT(data, 2));
20362036
20372037    intr = BIT(data, 2) ? CLEAR_LINE : ASSERT_LINE;
2038    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, intr);
2039    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
2038    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, intr);
2039    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
20402040
20412041    /* Memory dump */
20422042    addr = 0;
r17813r17814
23012301        /* machine.device("maincpu")->state().set_state_int(Z80_IRQ_STATE, 1); */
23022302    }
23032303
2304    cputag_set_input_line(machine, "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
2305//  cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, data);
2306    cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, CLEAR_LINE);
2304    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
2305//  machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, data);
2306    machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
23072307
23082308    /* IFF2 */
23092309    if (snapdata[28] != 0)
trunk/src/mess/drivers/pb1000.c
r17813r17814
483483
484484static TIMER_CALLBACK( keyboard_timer )
485485{
486   cputag_set_input_line(machine, "maincpu", HD61700_KEY_INT, ASSERT_LINE);
487   cputag_set_input_line(machine, "maincpu", HD61700_KEY_INT, CLEAR_LINE);
486   machine.device("maincpu")->execute().set_input_line(HD61700_KEY_INT, ASSERT_LINE);
487   machine.device("maincpu")->execute().set_input_line(HD61700_KEY_INT, CLEAR_LINE);
488488}
489489
490490void pb1000_state::machine_start()
trunk/src/mess/drivers/pdp1.c
r17813r17814
13731373   {
13741374      state->m_io_status &= ~io_st_tyi;
13751375      if (USE_SBS)
1376         cputag_set_input_line_and_vector(device->machine(), "maincpu", 0, CLEAR_LINE, 0);   /* interrupt it, baby */
1376         device->machine().device("maincpu")->execute().set_input_line_and_vector(0, CLEAR_LINE, 0);   /* interrupt it, baby */
13771377   }
13781378}
13791379
r17813r17814
17351735         state->m_typewriter.tb = (i << 4) + j;
17361736         state->m_io_status |= io_st_tyi;
17371737         #if USE_SBS
1738            cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, 0);   /* interrupt it, baby */
1738            machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0);   /* interrupt it, baby */
17391739         #endif
17401740         machine.device("maincpu")->state().set_state_int(PDP1_PF1, 1);
17411741         pdp1_typewriter_drawchar(machine, state->m_typewriter.tb);   /* we want to echo input */
trunk/src/mess/drivers/dectalk.c
r17813r17814
199199/* Devices */
200200static void duart_irq_handler(device_t *device, int state, UINT8 vector)
201201{
202   cputag_set_input_line_and_vector(device->machine(), "maincpu", M68K_IRQ_6, state, M68K_INT_ACK_AUTOVECTOR);
203   //cputag_set_input_line_and_vector(device->machine(), "maincpu", M68K_IRQ_6, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
204   //cputag_set_input_line_and_vector(device->machine(), "maincpu", M68K_IRQ_6, HOLD_LINE, vector);
202   device->machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_6, state, M68K_INT_ACK_AUTOVECTOR);
203   //device->machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_6, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
204   //device->machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_6, HOLD_LINE, vector);
205205};
206206
207207static UINT8 duart_input(device_t *device)
r17813r17814
249249   dectalk_state *state = machine.driver_data<dectalk_state>();
250250   // check if output fifo is full; if it isn't, set the int on the dsp
251251   if (((state->m_outfifo_head_ptr-1)&0xF) != state->m_outfifo_tail_ptr)
252   cputag_set_input_line(machine, "dsp", 0, ASSERT_LINE); // TMS32010 INT
252   machine.device("dsp")->execute().set_input_line(0, ASSERT_LINE); // TMS32010 INT
253253   else
254   cputag_set_input_line(machine, "dsp", 0, CLEAR_LINE); // TMS32010 INT
254   machine.device("dsp")->execute().set_input_line(0, CLEAR_LINE); // TMS32010 INT
255255}
256256
257257static void dectalk_clear_all_fifos( running_machine &machine )
r17813r17814
300300#ifdef VERBOSE
301301      logerror("speech int fired!\n");
302302#endif
303      cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_5, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
303      machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_5, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
304304   }
305305   else
306   cputag_set_input_line_and_vector(machine, "maincpu", M68K_IRQ_5, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
306   machine.device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_5, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR);
307307}
308308
309309// read the output fifo and set the interrupt line active on the dsp
r17813r17814
336336   dectalk_clear_all_fifos(device->machine()); // speech reset clears the fifos, though we have to do it explicitly here since we're not actually in the m68k_spcflags_w function.
337337   dectalk_semaphore_w(device->machine(), 0); // on the original state->m_dectalk pcb revision, this is a semaphore for the INPUT fifo, later dec hacked on a check for the 3 output fifo chips to see if they're in sync, and set both of these latches if true.
338338   state->m_spc_error_latch = 0; // spc error latch is cleared on /reset
339   cputag_set_input_line(device->machine(), "dsp", INPUT_LINE_RESET, ASSERT_LINE); // speech reset forces the CLR line active on the tms32010
339   device->machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // speech reset forces the CLR line active on the tms32010
340340   state->m_tlc_tonedetect = 0; // TODO, needed for selftest pass
341341   state->m_tlc_ringdetect = 0; // TODO
342342   state->m_tlc_dtmf = 0; // TODO
r17813r17814
432432      logerror(" | 0x01: initialize speech: fifos reset, clear error+semaphore latches and dsp reset\n");
433433#endif
434434      dectalk_clear_all_fifos(machine());
435      cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, ASSERT_LINE); // speech reset forces the CLR line active on the tms32010
435      machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // speech reset forces the CLR line active on the tms32010
436436      // clear the two speech side latches
437437      m_spc_error_latch = 0;
438438      dectalk_semaphore_w(machine(), 0);
r17813r17814
442442#ifdef SPC_LOG_68K
443443      logerror(" | 0x01 = 0: initialize speech off, dsp running\n");
444444#endif
445      cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, CLEAR_LINE); // speech reset deassert clears the CLR line on the tms32010
445      machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE); // speech reset deassert clears the CLR line on the tms32010
446446   }
447447   if ((data&0x2) == 0x2) // bit 1 - clear error and semaphore latches
448448   {
r17813r17814
463463#ifdef SPC_LOG_68K
464464         logerror("    speech int fired!\n");
465465#endif
466         cputag_set_input_line_and_vector(machine(), "maincpu", M68K_IRQ_5, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR); // set int because semaphore was set
466         machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_5, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR); // set int because semaphore was set
467467      }
468468   }
469469   else // data&0x40 == 0
r17813r17814
471471#ifdef SPC_LOG_68K
472472      logerror(" | 0x40 = 0: speech int disabled\n");
473473#endif
474      cputag_set_input_line_and_vector(machine(), "maincpu", M68K_IRQ_5, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); // clear int because int is now disabled
474      machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_5, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); // clear int because int is now disabled
475475   }
476476}
477477
r17813r17814
503503#ifdef TLC_LOG
504504         logerror("    TLC int fired!\n");
505505#endif
506         cputag_set_input_line_and_vector(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR); // set int because tone detect was set
506         machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_4, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR); // set int because tone detect was set
507507      }
508508   }
509509   else // data&0x40 == 0
r17813r17814
512512      logerror(" | 0x40 = 0: tone detect int disabled\n");
513513#endif
514514   if (((data&0x4000)!=0x4000) || (m_tlc_ringdetect == 0)) // check to be sure we don't disable int if both ints fired at once
515      cputag_set_input_line_and_vector(machine(), "maincpu", M68K_IRQ_4, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); // clear int because int is now disabled
515      machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_4, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); // clear int because int is now disabled
516516   }
517517   if ((data&0x100) == 0x100) // bit 8: answer phone relay enable
518518   {
r17813r17814
536536#ifdef TLC_LOG
537537         logerror("    TLC int fired!\n");
538538#endif
539         cputag_set_input_line_and_vector(machine(), "maincpu", M68K_IRQ_4, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR); // set int because tone detect was set
539         machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_4, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR); // set int because tone detect was set
540540      }
541541   }
542542   else // data&0x4000 == 0
r17813r17814
545545      logerror(" | 0x4000 = 0: ring detect int disabled\n");
546546#endif
547547   if (((data&0x40)!=0x40) || (m_tlc_tonedetect == 0)) // check to be sure we don't disable int if both ints fired at once
548      cputag_set_input_line_and_vector(machine(), "maincpu", M68K_IRQ_4, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); // clear int because int is now disabled
548      machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_4, CLEAR_LINE, M68K_INT_ACK_AUTOVECTOR); // clear int because int is now disabled
549549   }
550550}
551551
r17813r17814
593593#ifdef SPC_LOG_DSP
594594   logerror("dsp: SPC outfifo write, data = %04X, fifo head was: %02X; fifo tail: %02X\n", data, m_outfifo_head_ptr, m_outfifo_tail_ptr);
595595#endif
596   cputag_set_input_line(machine(), "dsp", 0, CLEAR_LINE); //TMS32010 INT (cleared because LDCK inverts the IR line, clearing int on any outfifo write... for a moment at least.)
596   machine().device("dsp")->execute().set_input_line(0, CLEAR_LINE); //TMS32010 INT (cleared because LDCK inverts the IR line, clearing int on any outfifo write... for a moment at least.)
597597   // if fifo is full (head ptr = tail ptr-1), do not increment the head ptr and do not store the data
598598   if (((m_outfifo_tail_ptr-1)&0xF) == m_outfifo_head_ptr)
599599   {
trunk/src/mess/drivers/pc100.c
r17813r17814
317317WRITE_LINE_MEMBER( pc100_state::pc100_set_int_line )
318318{
319319   //printf("%02x\n",interrupt);
320   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
320   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
321321}
322322
323323static const struct pic8259_interface pc100_pic8259_config =
trunk/src/mess/drivers/pc9801.c
r17813r17814
13251325      /* reset POR bit, TODO: is there any other way? */
13261326      por = machine().device<i8255_device>("ppi8255_sys")->read(space, 2) & ~0x20;
13271327      machine().device<i8255_device>("ppi8255_sys")->write(space, 2,por);
1328      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
1328      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
13291329   }
13301330
13311331   if(offset == 0x02)
r17813r17814
21942194static WRITE_LINE_DEVICE_HANDLER( pc9801_master_set_int_line )
21952195{
21962196   //printf("%02x\n",interrupt);
2197   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
2197   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
21982198}
21992199
22002200static READ8_DEVICE_HANDLER( get_slave_ack )
r17813r17814
22712271
22722272static WRITE_LINE_DEVICE_HANDLER( pc_dma_hrq_changed )
22732273{
2274   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
2274   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE);
22752275
22762276   /* Assert HLDA */
22772277   i8237_hlda_w( device, state );
trunk/src/mess/drivers/mz2000.c
r17813r17814
691691   {
692692      state->m_ipl_enable = 0;
693693      /* correct? */
694      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
694      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
695695   }
696696
697697   beep_set_state(device->machine().device(BEEPER_TAG),data & 0x04);
trunk/src/mess/drivers/z100.c
r17813r17814
600600
601601WRITE_LINE_MEMBER( z100_state::z100_pic_irq )
602602{
603   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
603   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
604604//  logerror("PIC#1: set IRQ line to %i\n",interrupt);
605605}
606606
trunk/src/mess/drivers/tec1.c
r17813r17814
188188
189189READ8_MEMBER( tec1_state::tec1_kbd_r )
190190{
191   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
191   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
192192   return m_kbd | ioport("SHIFT")->read();
193193}
194194
r17813r17814
250250   if (machine.root_device().ioport(keynames[state->m_kbd_row])->read())
251251   {
252252      state->m_kbd = state->tec1_convert_col_to_bin(machine.root_device().ioport(keynames[state->m_kbd_row])->read(), state->m_kbd_row);
253      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, HOLD_LINE);
253      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, HOLD_LINE);
254254      state->m_key_pressed = TRUE;
255255   }
256256   else
trunk/src/mess/drivers/multi16.c
r17813r17814
121121WRITE_LINE_MEMBER( multi16_state::multi16_set_int_line )
122122{
123123   //printf("%02x\n",interrupt);
124   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
124   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
125125}
126126
127127static const struct pic8259_interface multi16_pic8259_config =
trunk/src/mess/drivers/adam.c
r17813r17814
15051505
15061506   if (state && !driver_state->m_vdp_nmi)
15071507   {
1508      cputag_set_input_line(device->machine(), Z80_TAG, INPUT_LINE_NMI, PULSE_LINE);
1508      device->machine().device(Z80_TAG)->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
15091509   }
15101510
15111511   driver_state->m_vdp_nmi = state;
trunk/src/mess/drivers/pc88va.c
r17813r17814
984984        */
985985      case 0x00: // FDC mode register
986986         m_fdc_mode = data & 1;
987         cputag_set_input_line(machine(), "fdccpu", INPUT_LINE_HALT, (m_fdc_mode) ? ASSERT_LINE : CLEAR_LINE);
987         machine().device("fdccpu")->execute().set_input_line(INPUT_LINE_HALT, (m_fdc_mode) ? ASSERT_LINE : CLEAR_LINE);
988988         break;
989989      /*
990990        --x- ---- CLK: FDC clock selection (0) 4.8MHz (1) 8 MHz
r17813r17814
14991499
15001500static WRITE_LINE_DEVICE_HANDLER( pc88va_pic_irq )
15011501{
1502   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
1502   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
15031503//  logerror("PIC#1: set IRQ line to %i\n",interrupt);
15041504}
15051505
r17813r17814
16261626   if(drvstate->m_fdc_mode)
16271627      pic8259_ir3_w(device->machine().device( "pic8259_slave"), state);
16281628   else
1629      cputag_set_input_line(device->machine(), "fdccpu", 0, HOLD_LINE);
1629      device->machine().device("fdccpu")->execute().set_input_line(0, HOLD_LINE);
16301630};
16311631
16321632static const struct upd765_interface pc88va_upd765_interface =
trunk/src/mess/drivers/pc6001.c
r17813r17814
759759      //machine().device(CASSETTE_TAG )->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
760760      //machine().device(CASSETTE_TAG )->change_state(CASSETTE_STOPPED,CASSETTE_MASK_UISTATE);
761761      //m_irq_vector = 0x00;
762      //cputag_set_input_line(machine(),"maincpu", 0, ASSERT_LINE);
762      //machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
763763   }
764764
765765   m_sys_latch = data;
r17813r17814
12451245      //machine().device(CASSETTE_TAG )->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
12461246      //machine().device(CASSETTE_TAG )->change_state(CASSETTE_STOPPED,CASSETTE_MASK_UISTATE);
12471247      //m_irq_vector = 0x00;
1248      //cputag_set_input_line(machine(),"maincpu", 0, ASSERT_LINE);
1248      //machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
12491249   }
12501250
12511251   m_sys_latch = data;
r17813r17814
13551355   {
13561356      if(IRQ_LOG) printf("Timer IRQ called %02x\n",state->m_timer_irq_vector);
13571357      state->m_irq_vector = state->m_timer_irq_vector;
1358      cputag_set_input_line(machine,"maincpu", 0, ASSERT_LINE);
1358      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
13591359   }
13601360}
13611361
r17813r17814
15911591      //machine().device(CASSETTE_TAG )->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR);
15921592      //machine().device(CASSETTE_TAG )->change_state(CASSETTE_STOPPED,CASSETTE_MASK_UISTATE);
15931593      //m_irq_vector = 0x00;
1594      //cputag_set_input_line(machine(),"maincpu", 0, ASSERT_LINE);
1594      //machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
15951595   }
15961596
15971597   m_sys_latch = data;
r17813r17814
20322032         cas_data_i = 0x80;
20332033         /* data ready, poll irq */
20342034         state->m_irq_vector = 0x08;
2035         cputag_set_input_line(timer.machine(),"maincpu", 0, ASSERT_LINE);
2035         timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
20362036      }
20372037      else
20382038         cas_data_i>>=1;
r17813r17814
20472047            state->m_cas_switch = 0;
20482048            if(IRQ_LOG) printf("Tape-E IRQ 0x12\n");
20492049            state->m_irq_vector = 0x12;
2050            cputag_set_input_line(timer.machine(),"maincpu", 0, ASSERT_LINE);
2050            timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
20512051         }
20522052         else
20532053         {
20542054            if(IRQ_LOG) printf("Tape-D IRQ 0x08\n");
20552055            state->m_irq_vector = 0x08;
2056            cputag_set_input_line(timer.machine(),"maincpu", 0, ASSERT_LINE);
2056            timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
20572057         }
20582058      #endif
20592059   }
r17813r17814
20752075         state->m_cur_keycode = check_keyboard_press(space->machine());
20762076         if(IRQ_LOG) printf("KEY IRQ 0x02\n");
20772077         state->m_irq_vector = 0x02;
2078         cputag_set_input_line(timer.machine(),"maincpu", 0, ASSERT_LINE);
2078         timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
20792079         state->m_old_key1 = key1;
20802080         state->m_old_key2 = key2;
20812081         state->m_old_key3 = key3;
r17813r17814
20872087         if(state->m_cur_keycode)
20882088         {
20892089            state->m_irq_vector = 0x16;
2090            cputag_set_input_line(timer.machine(),"maincpu", 0, ASSERT_LINE);
2090            timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
20912091         }
20922092      }
20932093      #endif
trunk/src/mess/drivers/vii.c
r17813r17814
502502         VII_VIDEO_IRQ_STATUS &= ~data;
503503         if(!VII_VIDEO_IRQ_STATUS)
504504         {
505            cputag_set_input_line(machine(), "maincpu", UNSP_IRQ0_LINE, CLEAR_LINE);
505            machine().device("maincpu")->execute().set_input_line(UNSP_IRQ0_LINE, CLEAR_LINE);
506506         }
507507         break;
508508
r17813r17814
743743         COMBINE_DATA(&VII_CTLR_IRQ_ENABLE);
744744         if(!VII_CTLR_IRQ_ENABLE)
745745         {
746            cputag_set_input_line(machine(), "maincpu", UNSP_IRQ3_LINE, CLEAR_LINE);
746            machine().device("maincpu")->execute().set_input_line(UNSP_IRQ3_LINE, CLEAR_LINE);
747747         }
748748         break;
749749
r17813r17814
752752         m_io_regs[0x22] &= ~data;
753753         if(!m_io_regs[0x22])
754754         {
755            cputag_set_input_line(machine(), "maincpu", UNSP_IRQ3_LINE, CLEAR_LINE);
755            machine().device("maincpu")->execute().set_input_line(UNSP_IRQ3_LINE, CLEAR_LINE);
756756         }
757757         break;
758758
r17813r17814
10451045   if(state->VII_VIDEO_IRQ_STATUS)
10461046   {
10471047      verboselog(device->machine(), 0, "Video IRQ\n");
1048      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ0_LINE, ASSERT_LINE);
1048      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ0_LINE, ASSERT_LINE);
10491049   }
10501050
10511051//  {
10521052//      verboselog(device->machine(), 0, "audio 1 IRQ\n");
1053//      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ1_LINE, ASSERT_LINE);
1053//      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ1_LINE, ASSERT_LINE);
10541054//  }
10551055    if(state->m_io_regs[0x22] & state->m_io_regs[0x21] & 0x0c00)
10561056   {
10571057      verboselog(device->machine(), 0, "timerA, timer B IRQ\n");
1058      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ2_LINE, ASSERT_LINE);
1058      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ2_LINE, ASSERT_LINE);
10591059   }
10601060
10611061    //if(state->m_io_regs[0x22] & state->m_io_regs[0x21] & 0x2100)
r17813r17814
10631063   if(state->VII_CTLR_IRQ_ENABLE)
10641064   {
10651065      verboselog(device->machine(), 0, "UART, ADC IRQ\n");
1066      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ3_LINE, ASSERT_LINE);
1066      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ3_LINE, ASSERT_LINE);
10671067   }
10681068//  {
10691069//      verboselog(device->machine(), 0, "audio 4 IRQ\n");
1070//      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ4_LINE, ASSERT_LINE);
1070//      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ4_LINE, ASSERT_LINE);
10711071//  }
10721072
10731073    if(state->m_io_regs[0x22] & state->m_io_regs[0x21] & 0x1200)
10741074   {
10751075      verboselog(device->machine(), 0, "External IRQ\n");
1076      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ5_LINE, ASSERT_LINE);
1076      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ5_LINE, ASSERT_LINE);
10771077   }
10781078    if(state->m_io_regs[0x22] & state->m_io_regs[0x21] & 0x0070)
10791079   {
10801080      verboselog(device->machine(), 0, "1024Hz, 2048HZ, 4096HZ IRQ\n");
1081      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ6_LINE, ASSERT_LINE);
1081      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ6_LINE, ASSERT_LINE);
10821082   }
10831083    if(state->m_io_regs[0x22] & state->m_io_regs[0x21] & 0x008b)
10841084   {
10851085      verboselog(device->machine(), 0, "TMB1, TMB2, 4Hz, key change IRQ\n");
1086      cputag_set_input_line(device->machine(), "maincpu", UNSP_IRQ7_LINE, ASSERT_LINE);
1086      device->machine().device("maincpu")->execute().set_input_line(UNSP_IRQ7_LINE, ASSERT_LINE);
10871087   }
10881088
10891089}
trunk/src/mess/drivers/pes.c
r17813r17814
8787   fprintf(stderr,"kb input fifo fullness: %d\n",(state->m_infifo_head_ptr-state->m_infifo_tail_ptr)&0x1F);
8888#endif
8989   // todo: following two should be set so clear happens after one cpu cycle
90   cputag_set_input_line(device->machine(), "maincpu", MCS51_RX_LINE, ASSERT_LINE);
91   cputag_set_input_line(device->machine(), "maincpu", MCS51_RX_LINE, CLEAR_LINE);
90   device->machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, ASSERT_LINE);
91   device->machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, CLEAR_LINE);
9292}
9393
9494static GENERIC_TERMINAL_INTERFACE( pes_terminal_intf )
r17813r17814
217217   m_rsstate = 1;
218218
219219   m_port3_state = 0; // reset the openbus state of port 3
220   //cputag_set_input_line(machine, "maincpu", INPUT_LINE_RESET, ASSERT_LINE); // this causes debugger to fail badly if included
220   //machine.device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // this causes debugger to fail badly if included
221221   devtag_reset(machine(), "tms5220"); // reset the 5220
222222}
223223
trunk/src/mess/drivers/mk1.c
r17813r17814
168168{
169169   device_set_input_line_vector(device->machine().device("maincpu"), F8_INPUT_LINE_INT_REQ, addr );
170170
171   cputag_set_input_line(device->machine(),"maincpu", F8_INPUT_LINE_INT_REQ, level ? ASSERT_LINE : CLEAR_LINE );
171   device->machine().device("maincpu")->execute().set_input_line(F8_INPUT_LINE_INT_REQ, level ? ASSERT_LINE : CLEAR_LINE );
172172}
173173
174174
trunk/src/mess/drivers/x1.c
r17813r17814
24262426         state->x1_sub_io_w(*space,0,0xe6);
24272427         state->m_irq_vector = state->m_key_irq_vector;
24282428         state->m_key_irq_flag = 1;
2429         cputag_set_input_line(timer.machine(),"x1_cpu",0,ASSERT_LINE);
2429         timer.machine().device("x1_cpu")->execute().set_input_line(0,ASSERT_LINE);
24302430         state->m_old_key1 = key1;
24312431         state->m_old_key2 = key2;
24322432         state->m_old_key3 = key3;
trunk/src/mess/drivers/glasgow.c
r17813r17814
272272
273273static TIMER_DEVICE_CALLBACK( update_nmi )
274274{
275   cputag_set_input_line(timer.machine(), "maincpu", 7, HOLD_LINE);
275   timer.machine().device("maincpu")->execute().set_input_line(7, HOLD_LINE);
276276}
277277
278278static TIMER_DEVICE_CALLBACK( update_nmi32 )
279279{
280   cputag_set_input_line(timer.machine(), "maincpu", 6, HOLD_LINE);
280   timer.machine().device("maincpu")->execute().set_input_line(6, HOLD_LINE);
281281}
282282
283283static MACHINE_START( glasgow )
trunk/src/mess/drivers/fp1100.c
r17813r17814
166166WRITE8_MEMBER( fp1100_state::irq_mask_w )
167167{
168168   //if((irq_mask & 0x80) != (data & 0x80))
169   //  cputag_set_input_line(machine(), "sub", UPD7810_INTF2, HOLD_LINE);
169   //  machine().device("sub")->execute().set_input_line(UPD7810_INTF2, HOLD_LINE);
170170
171171   irq_mask = data;
172172   ///printf("%02x\n",data);
r17813r17814
178178WRITE8_MEMBER( fp1100_state::main_to_sub_w )
179179{
180180   machine().scheduler().synchronize(); // force resync
181   cputag_set_input_line(machine(), "sub", UPD7810_INTF2, ASSERT_LINE);
181   machine().device("sub")->execute().set_input_line(UPD7810_INTF2, ASSERT_LINE);
182182   m_sub_latch = data;
183183}
184184
185185READ8_MEMBER( fp1100_state::sub_to_main_r )
186186{
187187   machine().scheduler().synchronize(); // force resync
188//  cputag_set_input_line_and_vector(machine(), "maincpu", 0, CLEAR_LINE, 0xf0);
188//  machine().device("maincpu")->execute().set_input_line_and_vector(0, CLEAR_LINE, 0xf0);
189189   return m_main_latch;
190190}
191191
r17813r17814
230230READ8_MEMBER( fp1100_state::main_to_sub_r )
231231{
232232   machine().scheduler().synchronize(); // force resync
233   cputag_set_input_line(machine(), "sub", UPD7810_INTF2, CLEAR_LINE);
233   machine().device("sub")->execute().set_input_line(UPD7810_INTF2, CLEAR_LINE);
234234   return m_sub_latch;
235235}
236236
237237WRITE8_MEMBER( fp1100_state::sub_to_main_w )
238238{
239239   machine().scheduler().synchronize(); // force resync
240//  cputag_set_input_line_and_vector(machine(), "maincpu", 0, ASSERT_LINE, 0xf0);
240//  machine().device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xf0);
241241   m_main_latch = data;
242242}
243243
r17813r17814
256256WRITE8_MEMBER( fp1100_state::portc_w )
257257{
258258   if((!(m_upd7801.portc & 8)) && data & 8)
259      cputag_set_input_line_and_vector(machine(), "maincpu", 0, HOLD_LINE,0xf8); // TODO
259      machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xf8); // TODO
260260
261261   m_upd7801.portc = data;
262262}
r17813r17814
398398   fp1100_state *state = device->machine().driver_data<fp1100_state>();
399399
400400   if(state->irq_mask & 0x10)
401      cputag_set_input_line_and_vector(device->machine(), "maincpu", 0, HOLD_LINE, 0xf0);
401      device->machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xf0);
402402}
403403
404404static MACHINE_CONFIG_START( fp1100, fp1100_state )
trunk/src/mess/drivers/gamecom.c
r17813r17814
9191
9292static INTERRUPT_GEN( gamecom_interrupt )
9393{
94   cputag_set_input_line(device->machine(), "maincpu", LCDC_INT, ASSERT_LINE );
94   device->machine().device("maincpu")->execute().set_input_line(LCDC_INT, ASSERT_LINE );
9595}
9696
9797static MACHINE_CONFIG_START( gamecom, gamecom_state )
trunk/src/mess/drivers/ace.c
r17813r17814
366366
367367static TIMER_DEVICE_CALLBACK( set_irq )
368368{
369   cputag_set_input_line(timer.machine(), Z80_TAG, INPUT_LINE_IRQ0, ASSERT_LINE);
369   timer.machine().device(Z80_TAG)->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
370370}
371371
372372
r17813r17814
376376
377377static TIMER_DEVICE_CALLBACK( clear_irq )
378378{
379   cputag_set_input_line(timer.machine(), Z80_TAG, INPUT_LINE_IRQ0, CLEAR_LINE);
379   timer.machine().device(Z80_TAG)->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
380380}
381381
382382
trunk/src/mess/drivers/scorpion.c
r17813r17814
278278   {
279279      state->m_port_1ffd_data |= 0x02;
280280      scorpion_update_memory(timer.machine());
281      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
281      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
282282   }
283283}
284284
trunk/src/mess/drivers/cat.c
r17813r17814
291291
292292static TIMER_CALLBACK(keyboard_callback)
293293{
294   cputag_set_input_line(machine, "maincpu", M68K_IRQ_1, ASSERT_LINE);
294   machine.device("maincpu")->execute().set_input_line(M68K_IRQ_1, ASSERT_LINE);
295295}
296296
297297static IRQ_CALLBACK(cat_int_ack)
298298{
299   cputag_set_input_line(device->machine(), "maincpu",M68K_IRQ_1,CLEAR_LINE);
299   device->machine().device("maincpu")->execute().set_input_line(M68K_IRQ_1,CLEAR_LINE);
300300   return M68K_INT_ACK_AUTOVECTOR;
301301}
302302
trunk/src/mess/drivers/sg1000.c
r17813r17814
519519
520520static WRITE_LINE_DEVICE_HANDLER(sg1000_vdp_interrupt)
521521{
522   cputag_set_input_line(device->machine(), Z80_TAG, INPUT_LINE_IRQ0, state);
522   device->machine().device(Z80_TAG)->execute().set_input_line(INPUT_LINE_IRQ0, state);
523523}
524524
525525static TMS9928A_INTERFACE(sg1000_tms9918a_interface)
trunk/src/mess/drivers/ip22.c
r17813r17814
204204   // if it's not masked, also assert it now at the CPU
205205   if (state->m_int3_regs[1] & source_mask)
206206   {
207      cputag_set_input_line(machine, "maincpu", MIPS3_IRQ0, ASSERT_LINE);
207      machine.device("maincpu")->execute().set_input_line(MIPS3_IRQ0, ASSERT_LINE);
208208   }
209209}
210210
r17813r17814
225225   // if it's not masked, also assert it now at the CPU
226226   if (state->m_int3_regs[2] & source_mask)
227227   {
228      cputag_set_input_line(machine, "maincpu", MIPS3_IRQ1, ASSERT_LINE);
228      machine.device("maincpu")->execute().set_input_line(MIPS3_IRQ1, ASSERT_LINE);
229229   }
230230}
231231
r17813r17814
374374      // if no local0 interrupts now, clear the input to the CPU
375375      if ((m_int3_regs[0] & m_int3_regs[1]) == 0)
376376      {
377         cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ0, CLEAR_LINE);
377         machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ0, CLEAR_LINE);
378378      }
379379      else
380380      {
381         cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ0, ASSERT_LINE);
381         machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ0, ASSERT_LINE);
382382      }
383383
384384      // if no local1 interrupts now, clear the input to the CPU
385385      if ((m_int3_regs[2] & m_int3_regs[3]) == 0)
386386      {
387         cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ1, CLEAR_LINE);
387         machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ1, CLEAR_LINE);
388388      }
389389      else
390390      {
391         cputag_set_input_line(machine(), "maincpu", MIPS3_IRQ1, ASSERT_LINE);
391         machine().device("maincpu")->execute().set_input_line(MIPS3_IRQ1, ASSERT_LINE);
392392      }
393393      break;
394394   case 0xb0/4:
trunk/src/mess/drivers/p2000t.c
r17813r17814
204204
205205static INTERRUPT_GEN( p2000_interrupt )
206206{
207   cputag_set_input_line(device->machine(), "maincpu", 0, HOLD_LINE);
207   device->machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
208208}
209209
210210
trunk/src/mess/drivers/pcw.c
r17813r17814
142142   pcw_state *state = machine.driver_data<pcw_state>();
143143   // set NMI line, remains set until FDC interrupt type is changed
144144   if(state->m_nmi_flag != 0)
145      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
145      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
146146   else
147      cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
147      machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
148148
149149   // set IRQ line, timer pulses IRQ line, all other devices hold it as necessary
150150   if(state->m_fdc_interrupt_code == 1 && (state->m_system_status & 0x20))
151151   {
152      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
152      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
153153      return;
154154   }
155155
156156   if(state->m_timer_irq_flag != 0)
157157   {
158      cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
158      machine.device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
159159      return;
160160   }
161161
162   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
162   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
163163}
164164
165165static TIMER_CALLBACK(pcw_timer_pulse)
r17813r17814
436436      /* reboot */
437437      case 1:
438438      {
439         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
439         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
440440         popmessage("SYS: Reboot");
441441      }
442442      break;
trunk/src/mess/drivers/mk2.c
r17813r17814
177177
178178   m_led[4]|=data;
179179
180   cputag_set_input_line(machine(), "maincpu", M6502_IRQ_LINE, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE );
180   machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE );
181181}
182182
183183static MOS6530_INTERFACE( mk2_mos6530_interface )
trunk/src/mess/drivers/mekd2.c
r17813r17814
161161
162162static TIMER_CALLBACK( mekd2_trace )
163163{
164   cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
164   machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
165165}
166166
167167WRITE_LINE_MEMBER( mekd2_state::mekd2_nmi_w )
168168{
169169   if (state)
170      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
170      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
171171   else
172172      machine().scheduler().timer_set(attotime::from_usec(18), FUNC(mekd2_trace));
173173}
trunk/src/mess/drivers/ex800.c
r17813r17814
196196   ex800_state *state = field.machine().driver_data<ex800_state>();
197197   if (newval)
198198   {
199      cputag_set_input_line(field.machine(), "maincpu", UPD7810_INTF1, state->m_irq_state);
199      field.machine().device("maincpu")->execute().set_input_line(UPD7810_INTF1, state->m_irq_state);
200200      state->m_irq_state = (state->m_irq_state == ASSERT_LINE) ? CLEAR_LINE : ASSERT_LINE;
201201   }
202202}
trunk/src/mess/drivers/qx10.c
r17813r17814
526526
527527WRITE_LINE_MEMBER( qx10_state::qx10_pic8259_master_set_int_line )
528528{
529   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
529   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
530530}
531531
532532READ8_MEMBER( qx10_state::get_slave_ack )
trunk/src/mess/drivers/bigbord2.c
r17813r17814
387387
388388static void bigbord2_interrupt(device_t *device, int state)
389389{
390   cputag_set_input_line(device->machine(), Z80_TAG, 0, state);
390   device->machine().device(Z80_TAG)->execute().set_input_line(0, state);
391391}
392392
393393const z80sio_interface sio_intf =
trunk/src/mess/drivers/mz2500.c
r17813r17814
18751875   {
18761876      mz2500_reset(state, WRAM_RESET);
18771877      /* correct? */
1878      cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_RESET, PULSE_LINE);
1878      device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
18791879   }
18801880
18811881   /* bit 2 is speaker */
r17813r17814
20422042{
20432043   mz2500_state *drvstate = device->machine().driver_data<mz2500_state>();
20442044   if(drvstate->m_irq_mask[1]/* && state & 1*/)
2045      cputag_set_input_line_and_vector(device->machine(), "maincpu", 0, HOLD_LINE,drvstate->m_irq_vector[1]);
2045      device->machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,drvstate->m_irq_vector[1]);
20462046}
20472047
20482048static const struct pit8253_config mz2500_pit8253_intf =
r17813r17814
20712071   //mz2500_state *drvstate = device->machine().driver_data<mz2500_state>();
20722072   /* TODO: doesn't work yet */
20732073//  if(drvstate->m_irq_mask[3] && state & 1)
2074//      cputag_set_input_line_and_vector(device, "maincpu", 0, HOLD_LINE,drvstate->m_irq_vector[3]);
2074//      device.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,drvstate->m_irq_vector[3]);
20752075}
20762076
20772077static RP5C15_INTERFACE( rtc_intf )
trunk/src/mess/drivers/fmtowns.c
r17813r17814
270270   switch(offset)
271271   {
272272      case 0x00:  // bit 7 = NMI vector protect, bit 6 = power off, bit 0 = software reset, bit 3 = A20 line?
273//          cputag_set_input_line(space->machine(),"maincpu",INPUT_LINE_A20,(data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
273//          space->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_A20,(data & 0x08) ? CLEAR_LINE : ASSERT_LINE);
274274         logerror("SYS: port 0x20 write %02x\n",data);
275275         break;
276276      case 0x02:
r17813r17814
20062006
20072007static WRITE_LINE_DEVICE_HANDLER( towns_pic_irq )
20082008{
2009   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
2009   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
20102010//  logerror("PIC#1: set IRQ line to %i\n",interrupt);
20112011}
20122012
trunk/src/mess/drivers/gmaster.c
r17813r17814
208208
209209static INTERRUPT_GEN( gmaster_interrupt )
210210{
211   cputag_set_input_line(device->machine(), "maincpu", UPD7810_INTFE1, ASSERT_LINE);
211   device->machine().device("maincpu")->execute().set_input_line(UPD7810_INTFE1, ASSERT_LINE);
212212}
213213
214214static const UPD7810_CONFIG config = {
trunk/src/mess/drivers/fk1.c
r17813r17814
391391   if (timer.machine().root_device().ioport("LINE0")->read())
392392   {
393393      state->m_int_vector = 6;
394      cputag_set_input_line(timer.machine(), "maincpu", 0, HOLD_LINE);
394      timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
395395   }
396396}
397397
r17813r17814
419419   fk1_state *state = timer.machine().driver_data<fk1_state>();
420420
421421   state->m_int_vector = 3;
422   cputag_set_input_line(timer.machine(), "maincpu", 0, HOLD_LINE);
422   timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
423423}
424424
425425
trunk/src/mess/drivers/camplynx.c
r17813r17814
351351
352352WRITE8_MEMBER( camplynx_state::lynx128k_irq )
353353{
354   cputag_set_input_line(machine(), "maincpu", 0, data);
354   machine().device("maincpu")->execute().set_input_line(0, data);
355355}
356356
357357
trunk/src/mess/drivers/ng_aes.c
r17813r17814
153153
154154   if(strcmp((char*)machine.system().name,"aes") != 0)
155155   {  // raster and vblank IRQs are swapped on the NeoCD.
156      cputag_set_input_line(machine, "maincpu", 2, state->m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
157      cputag_set_input_line(machine, "maincpu", 1, state->m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
158      cputag_set_input_line(machine, "maincpu", 3, state->m_irq3_pending ? ASSERT_LINE : CLEAR_LINE);
156      machine.device("maincpu")->execute().set_input_line(2, state->m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
157      machine.device("maincpu")->execute().set_input_line(1, state->m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
158      machine.device("maincpu")->execute().set_input_line(3, state->m_irq3_pending ? ASSERT_LINE : CLEAR_LINE);
159159   }
160160   else
161161   {
162      cputag_set_input_line(machine, "maincpu", 1, state->m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
163      cputag_set_input_line(machine, "maincpu", 2, state->m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
164      cputag_set_input_line(machine, "maincpu", 3, state->m_irq3_pending ? ASSERT_LINE : CLEAR_LINE);
162      machine.device("maincpu")->execute().set_input_line(1, state->m_vblank_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
163      machine.device("maincpu")->execute().set_input_line(2, state->m_display_position_interrupt_pending ? ASSERT_LINE : CLEAR_LINE);
164      machine.device("maincpu")->execute().set_input_line(3, state->m_irq3_pending ? ASSERT_LINE : CLEAR_LINE);
165165   }
166166}
167167
r17813r17814
696696   {
697697      state->m_audio_cpu_rom_source_last = state->m_audio_cpu_rom_source;
698698
699      cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, PULSE_LINE);
699      space->machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE);
700700
701701      if (LOG_AUDIO_CPU_BANKING) logerror("Audio CPU PC %03x: selectign %s ROM\n", space->device().safe_pc(), state->m_audio_cpu_rom_source ? "CARTRIDGE" : "BIOS");
702702   }
r17813r17814
977977   case 0x142/2:  // end PCM transfer
978978      break;
979979   case 0x146/2:  // end Z80 transfer
980      cputag_set_input_line(machine(),"audiocpu",INPUT_LINE_RESET,PULSE_LINE);
980      machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_RESET,PULSE_LINE);
981981      break;
982982   case 0x148/2:  // end FIX transfer
983983      video_reset_neogeo(machine());
trunk/src/mess/drivers/bml3.c
r17813r17814
586586            {
587587               state->m_keyb_press = scancode;
588588               state->m_keyb_press_flag = 1;
589               cputag_set_input_line(timer.machine(), "maincpu", M6809_IRQ_LINE, HOLD_LINE);
589               timer.machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
590590               return;
591591            }
592592         }
r17813r17814
599599#if 0
600600static INTERRUPT_GEN( bml3_irq )
601601{
602   cputag_set_input_line(device->machine(), "maincpu", M6809_IRQ_LINE, HOLD_LINE);
602   device->machine().device("maincpu")->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE);
603603}
604604#endif
605605
trunk/src/mess/drivers/sms.c
r17813r17814
308308
309309static WRITE_LINE_DEVICE_HANDLER( sms_int_callback )
310310{
311   cputag_set_input_line(device->machine(), "maincpu", 0, state);
311   device->machine().device("maincpu")->execute().set_input_line(0, state);
312312}
313313
314314static const sega315_5124_interface _315_5124_ntsc_intf =
trunk/src/mess/drivers/junior.c
r17813r17814
175175
176176WRITE_LINE_MEMBER( junior_state::junior_riot_irq )
177177{
178   cputag_set_input_line(machine(), "maincpu", M6502_IRQ_LINE, state ? HOLD_LINE : CLEAR_LINE);
178   machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, state ? HOLD_LINE : CLEAR_LINE);
179179}
180180
181181
trunk/src/mess/drivers/samcoupe.c
r17813r17814
333333
334334   /* clear interrupt */
335335   if ((state->m_status & 0x1f) == 0x1f)
336      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
336      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
337337
338338}
339339
trunk/src/mess/drivers/tutor.c
r17813r17814
403403{
404404   tutor_state *state = machine.driver_data<tutor_state>();
405405   //assert(state->m_tape_interrupt_enable);
406   cputag_set_input_line(machine, "maincpu", 1, (state->m_cass->input() > 0.0) ? ASSERT_LINE : CLEAR_LINE);
406   machine.device("maincpu")->execute().set_input_line(1, (state->m_cass->input() > 0.0) ? ASSERT_LINE : CLEAR_LINE);
407407}
408408
409409/* CRU handler */
r17813r17814
439439            else
440440            {
441441               m_tape_interrupt_timer->adjust(attotime::never);
442               cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
442               machine().device("maincpu")->execute().set_input_line(1, CLEAR_LINE);
443443            }
444444         }
445445         break;
trunk/src/mess/drivers/casloopy.c
r17813r17814
185185
186186static MACHINE_RESET( casloopy )
187187{
188   //cputag_set_input_line(machine, "maincpu", INPUT_LINE_HALT, ASSERT_LINE); //halt the CPU until we find enough data to proceed
188   //machine.device("maincpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE); //halt the CPU until we find enough data to proceed
189189
190190}
191191
trunk/src/mess/drivers/svi318.c
r17813r17814
262262
263263static WRITE_LINE_DEVICE_HANDLER(vdp_interrupt)
264264{
265    cputag_set_input_line(device->machine(), "maincpu", 0, (state ? HOLD_LINE : CLEAR_LINE));
265    device->machine().device("maincpu")->execute().set_input_line(0, (state ? HOLD_LINE : CLEAR_LINE));
266266}
267267
268268static TMS9928A_INTERFACE(svi318_tms9928a_interface)
trunk/src/mess/drivers/mod8.c
r17813r17814
9494WRITE8_MEMBER( mod8_state::kbd_put )
9595{
9696   m_tty_key_data = data ^ 0xff;
97   cputag_set_input_line(machine(), "maincpu", 0, HOLD_LINE);
97   machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
9898}
9999
100100static GENERIC_TELEPRINTER_INTERFACE( teleprinter_intf )
trunk/src/mess/drivers/csc.c
r17813r17814
175175
176176static TIMER_DEVICE_CALLBACK( irq_timer )
177177{
178   cputag_set_input_line(timer.machine(), "maincpu", M6502_IRQ_LINE, ASSERT_LINE);
179   cputag_set_input_line(timer.machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
178   timer.machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
179   timer.machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
180180}
181181
182182/* Address maps */
trunk/src/mess/drivers/nanos.c
r17813r17814
126126
127127static void z80daisy_interrupt(device_t *device, int state)
128128{
129   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_IRQ0, state);
129   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, state);
130130}
131131
132132static const z80sio_interface sio_intf =
trunk/src/mess/drivers/pasopia7.c
r17813r17814
538538      m_nmi_trap |= 2;
539539
540540      if(m_nmi_mask == 0)
541         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
541         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
542542   }
543543}
544544
r17813r17814
867867   {
868868      m_nmi_reset &= ~4;
869869      m_nmi_trap &= ~2;
870      //cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE); //guess
870      //machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE); //guess
871871   }
872872
873873}
trunk/src/mess/drivers/sm1800.c
r17813r17814
9595static INTERRUPT_GEN( sm1800_vblank_interrupt )
9696{
9797   sm1800_state *state = device->machine().driver_data<sm1800_state>();
98   cputag_set_input_line(device->machine(), "maincpu", 0, state->m_irq_state ?  HOLD_LINE : CLEAR_LINE);
98   device->machine().device("maincpu")->execute().set_input_line(0, state->m_irq_state ?  HOLD_LINE : CLEAR_LINE);
9999   state->m_irq_state ^= 1;
100100}
101101
trunk/src/mess/drivers/fm7.c
r17813r17814
171171   state->m_irq_flags |= flag;
172172
173173   if(state->m_irq_flags != 0)
174      cputag_set_input_line(machine,"maincpu",M6809_IRQ_LINE,ASSERT_LINE);
174      machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE,ASSERT_LINE);
175175}
176176
177177static void main_irq_clear_flag(running_machine &machine, UINT8 flag)
r17813r17814
180180   state->m_irq_flags &= ~flag;
181181
182182   if(state->m_irq_flags == 0)
183      cputag_set_input_line(machine,"maincpu",M6809_IRQ_LINE,CLEAR_LINE);
183      machine.device("maincpu")->execute().set_input_line(M6809_IRQ_LINE,CLEAR_LINE);
184184}
185185
186186
r17813r17814
12171217{
12181218   fm7_state *state = machine.driver_data<fm7_state>();
12191219   if(state->m_video.nmi_mask == 0 && state->m_video.sub_halt == 0)
1220      cputag_set_input_line(machine,"sub",INPUT_LINE_NMI,PULSE_LINE);
1220      machine.device("sub")->execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE);
12211221}
12221222
12231223// When a key is pressed or released (in scan mode only), an IRQ is generated on the main CPU,
r17813r17814
12371237   }
12381238   else
12391239   {
1240      cputag_set_input_line(machine,"sub",M6809_FIRQ_LINE,ASSERT_LINE);
1240      machine.device("sub")->execute().set_input_line(M6809_FIRQ_LINE,ASSERT_LINE);
12411241   }
12421242   logerror("KEY: sent scancode 0x%03x\n",scancode);
12431243}
r17813r17814
13011301   if(machine.root_device().ioport("key3")->read() & 0x40000)
13021302   {
13031303      state->m_break_flag = 1;
1304      cputag_set_input_line(machine,"maincpu",M6809_FIRQ_LINE,ASSERT_LINE);
1304      machine.device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE,ASSERT_LINE);
13051305   }
13061306   else
13071307      state->m_break_flag = 0;
r17813r17814
13451345static IRQ_CALLBACK(fm7_irq_ack)
13461346{
13471347   if(irqline == M6809_FIRQ_LINE)
1348      cputag_set_input_line(device->machine(),"maincpu",irqline,CLEAR_LINE);
1348      device->machine().device("maincpu")->execute().set_input_line(irqline,CLEAR_LINE);
13491349   return -1;
13501350}
13511351
13521352static IRQ_CALLBACK(fm7_sub_irq_ack)
13531353{
1354   cputag_set_input_line(device->machine(),"sub",irqline,CLEAR_LINE);
1354   device->machine().device("sub")->execute().set_input_line(irqline,CLEAR_LINE);
13551355   return -1;
13561356}
13571357
r17813r17814
19731973   if(state->m_type == SYS_FM11)
19741974   {
19751975      // Probably best to halt the 8088, I'm pretty sure it and the main 6809 should not be running at the same time
1976      cputag_set_input_line(machine,"x86",INPUT_LINE_HALT,ASSERT_LINE);
1976      machine.device("x86")->execute().set_input_line(INPUT_LINE_HALT,ASSERT_LINE);
19771977   }
19781978}
19791979
trunk/src/mess/drivers/vtech2.c
r17813r17814
400400
401401static INTERRUPT_GEN( vtech2_interrupt )
402402{
403   cputag_set_input_line(device->machine(), "maincpu", 0, HOLD_LINE);
403   device->machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
404404}
405405
406406static const cassette_interface laser_cassette_interface =
trunk/src/mess/drivers/babbage.c
r17813r17814
185185
186186READ8_MEMBER( babbage_state::pio2_a_r )
187187{
188   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE); // release interrupt
188   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE); // release interrupt
189189   return m_key;
190190}
191191
trunk/src/mess/drivers/esq1.c
r17813r17814
192192
193193static void duart_irq_handler(device_t *device, int state, UINT8 vector)
194194{
195   cputag_set_input_line(device->machine(), "maincpu", 0, state);
195   device->machine().device("maincpu")->execute().set_input_line(0, state);
196196};
197197
198198static UINT8 duart_input(device_t *device)
trunk/src/mess/drivers/nc.c
r17813r17814
287287   {
288288      logerror("int set %02x\n", state->m_irq_status & state->m_irq_mask);
289289      /* set int */
290      cputag_set_input_line(machine, "maincpu", 0, HOLD_LINE);
290      machine.device("maincpu")->execute().set_input_line(0, HOLD_LINE);
291291   }
292292   else
293293   {
294294      /* clear int */
295      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
295      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
296296   }
297297}
298298
r17813r17814
515515            case NC_TYPE_1xx:
516516            {
517517                 LOG(("nmi triggered\n"));
518                cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
518                timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
519519            }
520520            break;
521521
trunk/src/mess/drivers/mac.c
r17813r17814
433433
434434READ32_MEMBER(mac_state::buserror_r)
435435{
436   cputag_set_input_line(machine(), "maincpu", M68K_LINE_BUSERROR, ASSERT_LINE);
437   cputag_set_input_line(machine(), "maincpu", M68K_LINE_BUSERROR, CLEAR_LINE);
436   machine().device("maincpu")->execute().set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
437   machine().device("maincpu")->execute().set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
438438   return 0;
439439}
440440
trunk/src/mess/drivers/p8k.c
r17813r17814
201201
202202static void p8k_daisy_interrupt(device_t *device, int state)
203203{
204   cputag_set_input_line(device->machine(), "maincpu", 0, state);
204   device->machine().device("maincpu")->execute().set_input_line(0, state);
205205}
206206
207207/* Z80 DMA */
trunk/src/mess/drivers/prestige.c
r17813r17814
470470
471471static TIMER_DEVICE_CALLBACK( irq_timer )
472472{
473   cputag_set_input_line(timer.machine(), "maincpu", 0, ASSERT_LINE);
473   timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
474474}
475475
476476static MACHINE_CONFIG_START( prestige, prestige_state )
trunk/src/mess/drivers/nes.c
r17813r17814
425425
426426static void ppu_nmi(device_t *device, int *ppu_regs)
427427{
428   cputag_set_input_line(device->machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
428   device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
429429}
430430
431431
trunk/src/mess/drivers/sgi_ip2.c
r17813r17814
412412static void duarta_irq_handler(device_t *device, int state, UINT8 vector)
413413{
414414   verboselog(device->machine(), 0, "duarta_irq_handler\n");
415   cputag_set_input_line_and_vector(device->machine(), "maincpu", M68K_IRQ_6, state, M68K_INT_ACK_AUTOVECTOR);
415   device->machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_6, state, M68K_INT_ACK_AUTOVECTOR);
416416};
417417
418418static UINT8 duarta_input(device_t *device)
r17813r17814
444444static void duartb_irq_handler(device_t *device, int state, UINT8 vector)
445445{
446446   verboselog(device->machine(), 0, "duartb_irq_handler\n");
447   cputag_set_input_line_and_vector(device->machine(), "maincpu", M68K_IRQ_6, state, M68K_INT_ACK_AUTOVECTOR);
447   device->machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_6, state, M68K_INT_ACK_AUTOVECTOR);
448448};
449449
450450static UINT8 duartb_input(device_t *device)
trunk/src/mess/drivers/pcw16.c
r17813r17814
125125   /* any bits set excluding vsync */
126126   if ((m_system_status & (~0x04))!=0)
127127   {
128      cputag_set_input_line(machine(), "maincpu", 0, HOLD_LINE);
128      machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
129129   }
130130   else
131131   {
132      cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
132      machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
133133   }
134134}
135135
r17813r17814
11081108            {
11091109               /* I'll pulse it because if I used hold-line I'm not sure
11101110                    it would clear - to be checked */
1111               cputag_set_input_line(machine, "maincpu", INPUT_LINE_NMI, PULSE_LINE);
1111               machine.device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
11121112            }
11131113         }
11141114      }
trunk/src/mess/drivers/ht68k.c
r17813r17814
9191
9292static void duart_irq_handler(device_t *device, int state, UINT8 vector)
9393{
94   cputag_set_input_line_and_vector(device->machine(), "maincpu", M68K_IRQ_3, state, M68K_INT_ACK_AUTOVECTOR);
94   device->machine().device("maincpu")->execute().set_input_line_and_vector(M68K_IRQ_3, state, M68K_INT_ACK_AUTOVECTOR);
9595}
9696
9797static void duart_tx(device_t *device, int channel, UINT8 data)
trunk/src/mess/drivers/paso1600.c
r17813r17814
279279WRITE_LINE_MEMBER( paso1600_state::paso1600_set_int_line )
280280{
281281   //printf("%02x\n",interrupt);
282   cputag_set_input_line(machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
282   machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
283283}
284284
285285static const struct pic8259_interface paso1600_pic8259_config =
trunk/src/mess/drivers/vt100.c
r17813r17814
126126         {
127127            state->m_keyboard_int = 1;
128128            state->m_key_code = i | bit_sel(code);
129            cputag_set_input_line(timer.machine(), "maincpu", 0, HOLD_LINE);
129            timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
130130            break;
131131         }
132132      }
trunk/src/mess/drivers/vt240.c
r17813r17814
9595/* presumably communication with T11 */
9696READ8_MEMBER( vt240_state::test_r )
9797{
98   //cputag_set_input_line(machine(), "maincpu", I8085_RST65_LINE, CLEAR_LINE);
98   //machine().device("maincpu")->execute().set_input_line(I8085_RST65_LINE, CLEAR_LINE);
9999
100100   return rand();
101101}
trunk/src/mess/drivers/apollo.c
r17813r17814
271271
272272static void apollo_bus_error(running_machine &machine)
273273{
274    cputag_set_input_line(machine, MAINCPU, M68K_LINE_BUSERROR, ASSERT_LINE);
275    cputag_set_input_line(machine, MAINCPU, M68K_LINE_BUSERROR, CLEAR_LINE);
274    machine.device(MAINCPU)->execute().set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
275    machine.device(MAINCPU)->execute().set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
276276
277277    apollo_csr_set_status_register(APOLLO_CSR_SR_CPU_TIMEOUT, APOLLO_CSR_SR_CPU_TIMEOUT);
278278}
r17813r17814
280280static IRQ_CALLBACK(apollo_irq_acknowledge) {
281281   int result = M68K_INT_ACK_AUTOVECTOR;
282282
283   cputag_set_input_line(device->machine(), MAINCPU, irqline, CLEAR_LINE);
283   device->machine().device(MAINCPU)->execute().set_input_line(irqline, CLEAR_LINE);
284284
285285   DLOG2(("apollo_irq_acknowledge: interrupt level=%d", irqline));
286286
r17813r17814
455455      if (apollo_csr_get_control_register() & APOLLO_CSR_CR_INTERRUPT_ENABLE) {
456456         // force parity error (if NMI is enabled)
457457//          cpu_set_input_line_and_vector(&space.device(), 7, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
458         cputag_set_input_line_and_vector(machine(), MAINCPU, 7, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
458         machine().device(MAINCPU)->execute().set_input_line_and_vector(7, ASSERT_LINE, M68K_INT_ACK_AUTOVECTOR);
459459
460460      }
461461   }
trunk/src/mess/drivers/dc.c
r17813r17814
219219
220220static void aica_irq(device_t *device, int irq)
221221{
222   cputag_set_input_line(device->machine(), "soundcpu", ARM7_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
222   device->machine().device("soundcpu")->execute().set_input_line(ARM7_FIRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
223223}
224224
225225static const aica_interface dc_aica_interface =
trunk/src/mess/drivers/pasogo.c
r17813r17814
450450
451451static INTERRUPT_GEN( pasogo_interrupt )
452452{
453//  cputag_set_input_line(machine, "maincpu", UPD7810_INTFE1, PULSE_LINE);
453//  machine.device("maincpu")->execute().set_input_line(UPD7810_INTFE1, PULSE_LINE);
454454}
455455
456456static IRQ_CALLBACK(pasogo_irq_callback)
r17813r17814
487487
488488static WRITE_LINE_DEVICE_HANDLER( pasogo_pic8259_set_int_line )
489489{
490   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
490   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
491491}
492492
493493static const struct pic8259_interface pasogo_pic8259_config =
trunk/src/mess/drivers/basic52.c
r17813r17814
103103
104104WRITE8_MEMBER( basic52_state::kbd_put )
105105{
106   cputag_set_input_line(machine(), "maincpu", MCS51_RX_LINE, ASSERT_LINE);
107   cputag_set_input_line(machine(), "maincpu", MCS51_RX_LINE, CLEAR_LINE);
106   machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, ASSERT_LINE);
107   machine().device("maincpu")->execute().set_input_line(MCS51_RX_LINE, CLEAR_LINE);
108108   m_term_data = data;
109109}
110110
trunk/src/mess/drivers/aquarius.c
r17813r17814
260260/* the 'reset' key is directly tied to the reset line of the cpu */
261261static INPUT_CHANGED( aquarius_reset )
262262{
263   cputag_set_input_line(field.machine(), "maincpu", INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
263   field.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, newval ? CLEAR_LINE : ASSERT_LINE);
264264}
265265
266266static INPUT_PORTS_START( aquarius )
trunk/src/mess/drivers/x68k.c
r17813r17814
208208//              if(state->m_mfp.iera & (1 << x))
209209                {
210210                    state->m_current_vector[6] = (state->m_mfp.vr & 0xf0) | (x+8);
211                    cputag_set_input_line_and_vector(machine, "maincpu",state->m_mfp.irqline,ASSERT_LINE,(state->m_mfp.vr & 0xf0) | (x + 8));
211                    machine.device("maincpu")->execute().set_input_line_and_vector(state->m_mfp.irqline,ASSERT_LINE,(state->m_mfp.vr & 0xf0) | (x + 8));
212212//                  logerror("MFP: Sent IRQ vector 0x%02x (IRQ line %i)\n",(state->m_mfp.vr & 0xf0) | (x+8),state->m_mfp.irqline);
213213                    return;  // one at a time only
214214                }
r17813r17814
227227//              if(state->m_mfp.ierb & (1 << x))
228228                {
229229                    state->m_current_vector[6] = (state->m_mfp.vr & 0xf0) | x;
230                    cputag_set_input_line_and_vector(machine, "maincpu",state->m_mfp.irqline,ASSERT_LINE,(state->m_mfp.vr & 0xf0) | x);
230                    machine.device("maincpu")->execute().set_input_line_and_vector(state->m_mfp.irqline,ASSERT_LINE,(state->m_mfp.vr & 0xf0) | x);
231231//                  logerror("MFP: Sent IRQ vector 0x%02x (IRQ line %i)\n",(state->m_mfp.vr & 0xf0) | x,state->m_mfp.irqline);
232232                    return;  // one at a time only
233233                }
r17813r17814
455455         if(machine.root_device().ioport("options")->read() & 0x01)
456456         {
457457            state->m_current_vector[6] = 0x4c;
458            cputag_set_input_line_and_vector(machine, "maincpu",6,ASSERT_LINE,0x4c);
458            machine.device("maincpu")->execute().set_input_line_and_vector(6,ASSERT_LINE,0x4c);
459459            logerror("MFP: Receive buffer full IRQ sent\n");
460460         }
461461      }
r17813r17814
466466      state->m_keyboard.headpos = 0;
467467//      mfp_trigger_irq(MFP_IRQ_RX_ERROR);
468468      state->m_current_vector[6] = 0x4b;
469//      cputag_set_input_line_and_vector(machine, "maincpu",6,ASSERT_LINE,0x4b);
469//      machine.device("maincpu")->execute().set_input_line_and_vector(6,ASSERT_LINE,0x4b);
470470   }
471471}
472472
r17813r17814
654654            state->m_mouse.irqactive = 1;
655655            state->m_current_vector[5] = 0x54;
656656            state->m_current_irq_line = 5;
657            cputag_set_input_line_and_vector(machine, "maincpu",5,ASSERT_LINE,0x54);
657            machine.device("maincpu")->execute().set_input_line_and_vector(5,ASSERT_LINE,0x54);
658658         }
659659      }
660660   }
r17813r17814
10921092      drvstate->m_ioc.irqstatus |= 0x80;
10931093      drvstate->m_current_irq_line = 1;
10941094      logerror("FDC: IRQ triggered\n");
1095      cputag_set_input_line_and_vector(device->machine(), "maincpu", 1, ASSERT_LINE, drvstate->m_current_vector[1]);
1095      device->machine().device("maincpu")->execute().set_input_line_and_vector(1, ASSERT_LINE, drvstate->m_current_vector[1]);
10961096   }
10971097}
10981098
r17813r17814
17011701      v = 0x09;
17021702   if(ram[v] != 0x02)  // normal vector for bus errors points to 02FF0540
17031703   {
1704      cputag_set_input_line(machine, "maincpu", M68K_LINE_BUSERROR, ASSERT_LINE);
1705      cputag_set_input_line(machine, "maincpu", M68K_LINE_BUSERROR, CLEAR_LINE);
1704      machine.device("maincpu")->execute().set_input_line(M68K_LINE_BUSERROR, ASSERT_LINE);
1705      machine.device("maincpu")->execute().set_input_line(M68K_LINE_BUSERROR, CLEAR_LINE);
17061706      popmessage("Bus error: Unused RAM access [%08x]", val);
17071707   }
17081708}
r17813r17814
17141714       then access causes a bus error */
17151715   state->m_current_vector[2] = 0x02;  // bus error
17161716   state->m_current_irq_line = 2;
1717//  cputag_set_input_line_and_vector(space->machine(), "maincpu",2,ASSERT_LINE,state->m_current_vector[2]);
1717//  space->machine().device("maincpu")->execute().set_input_line_and_vector(2,ASSERT_LINE,state->m_current_vector[2]);
17181718   if(state->ioport("options")->read() & 0x02)
17191719   {
17201720      offset *= 2;
r17813r17814
17321732       then access causes a bus error */
17331733   state->m_current_vector[2] = 0x02;  // bus error
17341734   state->m_current_irq_line = 2;
1735//  cputag_set_input_line_and_vector(space->machine(), "maincpu",2,ASSERT_LINE,state->m_current_vector[2]);
1735//  space->machine().device("maincpu")->execute().set_input_line_and_vector(2,ASSERT_LINE,state->m_current_vector[2]);
17361736   if(state->ioport("options")->read() & 0x02)
17371737   {
17381738      offset *= 2;
r17813r17814
17491749       Often a method for detecting amount of installed RAM, is to read or write at 1MB intervals, until a bus error occurs */
17501750   state->m_current_vector[2] = 0x02;  // bus error
17511751   state->m_current_irq_line = 2;
1752//  cputag_set_input_line_and_vector(space->machine(), "maincpu",2,ASSERT_LINE,state->m_current_vector[2]);
1752//  space->machine().device("maincpu")->execute().set_input_line_and_vector(2,ASSERT_LINE,state->m_current_vector[2]);
17531753   if(state->ioport("options")->read() & 0x02)
17541754   {
17551755      offset *= 2;
r17813r17814
17671767       Often a method for detecting amount of installed RAM, is to read or write at 1MB intervals, until a bus error occurs */
17681768   state->m_current_vector[2] = 0x02;  // bus error
17691769   state->m_current_irq_line = 2;
1770//  cputag_set_input_line_and_vector(space->machine(), "maincpu",2,ASSERT_LINE,state->m_current_vector[2]);
1770//  space->machine().device("maincpu")->execute().set_input_line_and_vector(2,ASSERT_LINE,state->m_current_vector[2]);
17711771   if(state->ioport("options")->read() & 0x02)
17721772   {
17731773      offset *= 2;
r17813r17814
17891789      if(ACCESSING_BITS_0_7)
17901790         offset++;
17911791      space->machine().scheduler().timer_set(space->machine().device<cpu_device>("maincpu")->cycles_to_attotime(16), FUNC(x68k_bus_error), 0xeafa00+offset);
1792//      cputag_set_input_line_and_vector(machine, "maincpu",2,ASSERT_LINE,state->m_current_vector[2]);
1792//      machine.device("maincpu")->execute().set_input_line_and_vector(2,ASSERT_LINE,state->m_current_vector[2]);
17931793   }
17941794   return 0xffff;
17951795}
r17813r17814
18061806      if(ACCESSING_BITS_0_7)
18071807         offset++;
18081808      space->machine().scheduler().timer_set(space->machine().device<cpu_device>("maincpu")->cycles_to_attotime(16), FUNC(x68k_bus_error), 0xeafa00+offset);
1809//      cputag_set_input_line_and_vector(machine, "maincpu",2,ASSERT_LINE,state->m_current_vector[2]);
1809//      machine.device("maincpu")->execute().set_input_line_and_vector(2,ASSERT_LINE,state->m_current_vector[2]);
18101810   }
18111811}
18121812
r17813r17814
18171817   state->m_current_vector[3] = hd63450_get_vector(device, channel);
18181818   state->m_current_irq_line = 3;
18191819   logerror("DMA#%i: DMA End (vector 0x%02x)\n",channel,state->m_current_vector[3]);
1820   cputag_set_input_line_and_vector(machine, "maincpu",3,ASSERT_LINE,state->m_current_vector[3]);
1820   machine.device("maincpu")->execute().set_input_line_and_vector(3,ASSERT_LINE,state->m_current_vector[3]);
18211821}
18221822
18231823static void x68k_dma_end(running_machine &machine, int channel,int irq)
r17813r17814
18361836   {
18371837      state->m_current_vector[3] = hd63450_get_error_vector(device,channel);
18381838      state->m_current_irq_line = 3;
1839      cputag_set_input_line_and_vector(machine, "maincpu",3,ASSERT_LINE,state->m_current_vector[3]);
1839      machine.device("maincpu")->execute().set_input_line_and_vector(3,ASSERT_LINE,state->m_current_vector[3]);
18401840   }
18411841}
18421842
r17813r17814
18901890      state = HOLD_LINE;  // to get around erroneous spurious interrupt
18911891//  if((state->m_ioc.irqstatus & 0xc0) != 0)  // if the FDC is busy, then we don't want to miss that IRQ
18921892//      return;
1893   cputag_set_input_line(device->machine(), "maincpu", 6, state);
1893   device->machine().device("maincpu")->execute().set_input_line(6, state);
18941894   drvstate->m_current_vector[6] = 0;
18951895   drvstate->m_mfp_prev = state;
18961896}
r17813r17814
19241924      if(state->m_current_vector[6] != 0x4b && state->m_current_vector[6] != 0x4c)
19251925         state->m_current_vector[6] = state->m_mfpdev->get_vector();
19261926      else
1927         cputag_set_input_line_and_vector(device->machine(), "maincpu",irqline,CLEAR_LINE,state->m_current_vector[irqline]);
1927         device->machine().device("maincpu")->execute().set_input_line_and_vector(irqline,CLEAR_LINE,state->m_current_vector[irqline]);
19281928      logerror("SYS: IRQ acknowledged (vector=0x%02x, line = %i)\n",state->m_current_vector[6],irqline);
19291929      return state->m_current_vector[6];
19301930   }
19311931
1932   cputag_set_input_line_and_vector(device->machine(), "maincpu",irqline,CLEAR_LINE,state->m_current_vector[irqline]);
1932   device->machine().device("maincpu")->execute().set_input_line_and_vector(irqline,CLEAR_LINE,state->m_current_vector[irqline]);
19331933   if(irqline == 1)  // IOSC
19341934   {
19351935      state->m_ioc.irqstatus &= ~0xf0;
r17813r17814
19511951   {
19521952      tstate->m_current_vector[1] = 0x6c;
19531953      tstate->m_current_irq_line = 1;
1954      cputag_set_input_line_and_vector(device->machine(), "maincpu",1,ASSERT_LINE,tstate->m_current_vector[1]);
1954      device->machine().device("maincpu")->execute().set_input_line_and_vector(1,ASSERT_LINE,tstate->m_current_vector[1]);
19551955   }
19561956}
19571957
r17813r17814
24632463      state->m_current_vector[1] = 0x61;
24642464      state->m_ioc.irqstatus |= 0x40;
24652465      state->m_current_irq_line = 1;
2466      cputag_set_input_line_and_vector(image.device().machine(), "maincpu",1,ASSERT_LINE,state->m_current_vector[1]);  // Disk insert/eject interrupt
2466      image.device().machine().device("maincpu")->execute().set_input_line_and_vector(1,ASSERT_LINE,state->m_current_vector[1]);  // Disk insert/eject interrupt
24672467      logerror("IOC: Disk image inserted\n");
24682468   }
24692469   state->m_fdc.disk_inserted[floppy_get_drive(&image.device())] = 1;
r17813r17814
24772477      state->m_current_vector[1] = 0x61;
24782478      state->m_ioc.irqstatus |= 0x40;
24792479      state->m_current_irq_line = 1;
2480      cputag_set_input_line_and_vector(image.device().machine(), "maincpu",1,ASSERT_LINE,state->m_current_vector[1]);  // Disk insert/eject interrupt
2480      image.device().machine().device("maincpu")->execute().set_input_line_and_vector(1,ASSERT_LINE,state->m_current_vector[1]);  // Disk insert/eject interrupt
24812481   }
24822482   state->m_fdc.disk_inserted[floppy_get_drive(&image.device())] = 0;
24832483}
r17813r17814
24882488
24892489   state->m_current_vector[2] = 0xf9;
24902490   state->m_current_irq_line = 2;
2491   cputag_set_input_line_and_vector(machine, "maincpu",2,ASSERT_LINE,state->m_current_vector[2]);
2491   machine.device("maincpu")->execute().set_input_line_and_vector(2,ASSERT_LINE,state->m_current_vector[2]);
24922492}
24932493
24942494static void x68k_irq2_line(device_t* device,int state)
r17813r17814
24992499      tstate->m_net_timer->adjust(attotime::from_usec(16));
25002500   }
25012501   else
2502      cputag_set_input_line_and_vector(device->machine(), "maincpu",2,CLEAR_LINE,tstate->m_current_vector[2]);
2502      device->machine().device("maincpu")->execute().set_input_line_and_vector(2,CLEAR_LINE,tstate->m_current_vector[2]);
25032503   logerror("EXP: IRQ2 set to %i\n",state);
25042504
25052505}
trunk/src/mess/drivers/px4.c
r17813r17814
282282   if (px4->m_ier & px4->m_isr & INT0_7508)
283283   {
284284      px4->m_isr &= ~INT0_7508;
285      cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, 0xf0);
285      machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xf0);
286286   }
287287   else if (px4->m_ier & px4->m_isr & INT1_ART)
288      cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, 0xf2);
288      machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xf2);
289289   else if (px4->m_ier & px4->m_isr & INT2_ICF)
290      cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, 0xf4);
290      machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xf4);
291291   else if (px4->m_ier & px4->m_isr & INT3_OVF)
292      cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, 0xf6);
292      machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xf6);
293293   else if (px4->m_ier & px4->m_isr & INT4_EXT)
294      cputag_set_input_line_and_vector(machine, "maincpu", 0, ASSERT_LINE, 0xf8);
294      machine.device("maincpu")->execute().set_input_line_and_vector(0, ASSERT_LINE, 0xf8);
295295   else
296      cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
296      machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
297297}
298298
299299/* external cassette or barcode reader input */
trunk/src/mess/drivers/mmodular.c
r17813r17814
804804
805805static TIMER_DEVICE_CALLBACK( cause_nmi )
806806{
807   cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI,PULSE_LINE);
807   timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE);
808808}
809809
810810static TIMER_DEVICE_CALLBACK( cause_M6502_irq )
811811{
812   cputag_set_input_line(timer.machine(), "maincpu", M6502_IRQ_LINE, ASSERT_LINE);
813   cputag_set_input_line(timer.machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
812   timer.machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
813   timer.machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
814814
815815}
816816
r17813r17814
974974
975975static TIMER_DEVICE_CALLBACK( timer_update_irq6 )
976976{
977   cputag_set_input_line(timer.machine(), "maincpu", 6, HOLD_LINE);
977   timer.machine().device("maincpu")->execute().set_input_line(6, HOLD_LINE);
978978}
979979
980980static TIMER_DEVICE_CALLBACK( timer_update_irq2 )
981981{
982   cputag_set_input_line(timer.machine(), "maincpu", 2, HOLD_LINE);
982   timer.machine().device("maincpu")->execute().set_input_line(2, HOLD_LINE);
983983}
984984
985985
986986static TIMER_DEVICE_CALLBACK( timer_update_irq_academy )
987987{
988988   if (academyallowNMI) {
989      cputag_set_input_line(timer.machine(), "maincpu", 6, HOLD_LINE);
989      timer.machine().device("maincpu")->execute().set_input_line(6, HOLD_LINE);
990990   }
991991}
992992
trunk/src/mess/drivers/socrates.c
r17813r17814
905905static TIMER_CALLBACK( clear_irq_cb )
906906{
907907   socrates_state *state = machine.driver_data<socrates_state>();
908   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
908   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
909909   state->m_vblankstate = 0;
910910}
911911
trunk/src/mess/drivers/pc8801.c
r17813r17814
13141314      m_vrtc_irq_latch = 0;
13151315
13161316   if(m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
1317      cputag_set_input_line(machine(),"maincpu",0,CLEAR_LINE);
1317      machine().device("maincpu")->execute().set_input_line(0,CLEAR_LINE);
13181318
13191319//  IRQ_LOG(("%02x MASK (%02x %02x)\n",data,m_timer_irq_latch,m_vrtc_irq_latch));
13201320
r17813r17814
13621362      m_sound_irq_latch = 0;
13631363
13641364   if(m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
1365      cputag_set_input_line(machine(),"maincpu",0,CLEAR_LINE);
1365      machine().device("maincpu")->execute().set_input_line(0,CLEAR_LINE);
13661366
13671367   if(m_sound_irq_mask && m_sound_irq_pending)
13681368   {
1369      cputag_set_input_line(machine(),"maincpu",0,HOLD_LINE);
1369      machine().device("maincpu")->execute().set_input_line(0,HOLD_LINE);
13701370      m_sound_irq_latch = 1;
13711371      m_sound_irq_pending = 0;
13721372   }
r17813r17814
17141714         m_sound_irq_latch = 0;
17151715
17161716      if(m_timer_irq_latch == 0 && m_vrtc_irq_latch == 0 && m_sound_irq_latch == 0)
1717         cputag_set_input_line(machine(),"maincpu",0,CLEAR_LINE);
1717         machine().device("maincpu")->execute().set_input_line(0,CLEAR_LINE);
17181718
17191719      if(m_sound_irq_mask && m_sound_irq_pending)
17201720      {
1721         cputag_set_input_line(machine(),"maincpu",0,HOLD_LINE);
1721         machine().device("maincpu")->execute().set_input_line(0,HOLD_LINE);
17221722         m_sound_irq_latch = 1;
17231723         m_sound_irq_pending = 0;
17241724      }
r17813r17814
22822282
22832283      drvstate->m_pic->r_w(~irq);
22842284
2285      cputag_set_input_line(machine,"maincpu",0,ASSERT_LINE);
2285      machine.device("maincpu")->execute().set_input_line(0,ASSERT_LINE);
22862286   }
22872287   else
22882288   {
22892289      //drvstate->m_int_state &= ~irq;
22902290
2291      //cputag_set_input_line(machine,"maincpu",0,CLEAR_LINE);
2291      //machine.device("maincpu")->execute().set_input_line(0,CLEAR_LINE);
22922292   }
22932293}
22942294
r17813r17814
23182318   UINT8 vector = (7 - state->m_pic->a_r());
23192319
23202320   state->m_int_state &= ~(1<<vector);
2321   cputag_set_input_line(device->machine(),"maincpu",0,CLEAR_LINE);
2321   device->machine().device("maincpu")->execute().set_input_line(0,CLEAR_LINE);
23222322
23232323   return vector << 1;
23242324}
r17813r17814
23862386         state->m_sound_irq_latch = 1;
23872387         state->m_sound_irq_pending = 0;
23882388         //IRQ_LOG(("sound\n"));
2389         cputag_set_input_line(device->machine(),"maincpu",0,HOLD_LINE);
2389         device->machine().device("maincpu")->execute().set_input_line(0,HOLD_LINE);
23902390      }
23912391      else
23922392         state->m_sound_irq_pending = 1;
r17813r17814
24002400   {
24012401      state->m_timer_irq_latch = 1;
24022402      //IRQ_LOG(("timer\n"));
2403      cputag_set_input_line(timer.machine(),"maincpu",0,HOLD_LINE);
2403      timer.machine().device("maincpu")->execute().set_input_line(0,HOLD_LINE);
24042404   }
24052405}
24062406
trunk/src/mess/drivers/supracan.c
r17813r17814
14291429            {
14301430               /* Reset and enable the sound cpu */
14311431#if !(SOUNDCPU_BOOT_HACK)
1432               cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_HALT, CLEAR_LINE);
1432               machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, CLEAR_LINE);
14331433               machine().device("soundcpu")->reset();
14341434#endif
14351435            }
r17813r17814
14381438         else
14391439         {
14401440            /* Halt the sound cpu */
1441            cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
1441            machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
14421442         }
14431443         verboselog("maincpu", machine(), 0, "sound cpu ctrl: %04x\n", data);
14441444         break;
r17813r17814
17831783{
17841784   supracan_state *state = machine.driver_data<supracan_state>();
17851785
1786   cputag_set_input_line(machine, "soundcpu", INPUT_LINE_HALT, ASSERT_LINE);
1786   machine.device("soundcpu")->execute().set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
17871787
17881788   state->m_video_timer->adjust( machine.primary_screen->time_until_pos( 0, 0 ) );
17891789   state->m_irq_mask = 0;
trunk/src/mess/drivers/pegasus.c
r17813r17814
9595
9696WRITE_LINE_MEMBER( pegasus_state::pegasus_firq_clr )
9797{
98   cputag_set_input_line(machine(), "maincpu", M6809_FIRQ_LINE, CLEAR_LINE);
98   machine().device("maincpu")->execute().set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
9999}
100100
101101READ8_MEMBER( pegasus_state::pegasus_keyboard_r )
trunk/src/mess/drivers/vg5k.c
r17813r17814
276276
277277static TIMER_CALLBACK( z80_irq_clear )
278278{
279   cputag_set_input_line(machine, "maincpu", 0, CLEAR_LINE);
279   machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
280280}
281281
282282
283283static TIMER_DEVICE_CALLBACK( z80_irq )
284284{
285   cputag_set_input_line(timer.machine(), "maincpu", 0, ASSERT_LINE);
285   timer.machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE);
286286
287287   timer.machine().scheduler().timer_set(attotime::from_usec(100), FUNC(z80_irq_clear));
288288}
trunk/src/mess/drivers/tsispch.c
r17813r17814
170170*****************************************************************************/
171171static WRITE_LINE_DEVICE_HANDLER( pic8259_set_int_line )
172172{
173   cputag_set_input_line(device->machine(), "maincpu", 0, state ? HOLD_LINE : CLEAR_LINE);
173   device->machine().device("maincpu")->execute().set_input_line(0, state ? HOLD_LINE : CLEAR_LINE);
174174}
175175
176176static const struct pic8259_interface pic8259_config =
r17813r17814
210210    */
211211   tsispch_state *state = machine().driver_data<tsispch_state>();
212212   state->m_paramReg = data;
213   cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, BIT(data,6)?CLEAR_LINE:ASSERT_LINE);
213   machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, BIT(data,6)?CLEAR_LINE:ASSERT_LINE);
214214#ifdef DEBUG_PARAM
215215   //fprintf(stderr,"8086: Parameter Reg written: UNK7: %d, DSPRST6: %d; UNK5: %d; LED4: %d; LED3: %d; LED2: %d; LED1: %d; DSPIRQMASK: %d\n", BIT(data,7), BIT(data,6), BIT(data,5), BIT(data,4), BIT(data,3), BIT(data,2), BIT(data,1), BIT(data,0));
216216   logerror("8086: Parameter Reg written: UNK7: %d, DSPRST6: %d; UNK5: %d; LED4: %d; LED3: %d; LED2: %d; LED1: %d; DSPIRQMASK: %d\n", BIT(data,7), BIT(data,6), BIT(data,5), BIT(data,4), BIT(data,3), BIT(data,2), BIT(data,1), BIT(data,0));
r17813r17814
320320            dspprg++;
321321        }
322322    m_paramReg = 0x00; // on power up, all leds on, reset to upd7720 is high
323    cputag_set_input_line(machine(), "dsp", INPUT_LINE_RESET, ASSERT_LINE); // starts in reset
323    machine().device("dsp")->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE); // starts in reset
324324}
325325
326326/******************************************************************************
trunk/src/mess/drivers/intv.c
r17813r17814
798798
799799static TIMER_CALLBACK(intv_interrupt2_complete)
800800{
801   cputag_set_input_line(machine, "keyboard", 0, CLEAR_LINE);
801   machine.device("keyboard")->execute().set_input_line(0, CLEAR_LINE);
802802}
803803
804804static INTERRUPT_GEN( intv_interrupt2 )
805805{
806   cputag_set_input_line(device->machine(), "keyboard", 0, ASSERT_LINE);
806   device->machine().device("keyboard")->execute().set_input_line(0, ASSERT_LINE);
807807   device->machine().scheduler().timer_set(device->machine().device<cpu_device>("keyboard")->cycles_to_attotime(100), FUNC(intv_interrupt2_complete));
808808}
809809
trunk/src/mess/drivers/fidelz80.c
r17813r17814
10101010
10111011static TIMER_DEVICE_CALLBACK( nmi_timer )
10121012{
1013   cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
1013   timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
10141014}
10151015
10161016/******************************************************************************
trunk/src/mess/drivers/pv2000.c
r17813r17814
8282
8383   m_keyb_column = data & 0x0f;
8484
85   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, CLEAR_LINE);
85   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
8686}
8787
8888
r17813r17814
305305{
306306    // only if it goes up
307307   if (state && !m_last_state)
308      cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
308      machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
309309
310310   m_last_state = state;
311311
r17813r17814
326326         | ioport( "IN8" )->read();
327327
328328      if ( key_pressed && m_key_pressed != key_pressed )
329         cputag_set_input_line(machine(), "maincpu", INPUT_LINE_IRQ0, ASSERT_LINE);
329         machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
330330
331331      m_key_pressed = key_pressed;
332332   }
trunk/src/mess/drivers/mephisto.c
r17813r17814
333333   if (state->m_allowNMI)
334334   {
335335      state->m_allowNMI = 0;
336      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI,PULSE_LINE);
336      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE);
337337   }
338338   beep_set_state(state->m_beep, state->m_led_status&64?1:0);
339339}
r17813r17814
341341static TIMER_DEVICE_CALLBACK( update_nmi_r5 )
342342{
343343   mephisto_state *state = timer.machine().driver_data<mephisto_state>();
344   cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI,PULSE_LINE);
344   timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE);
345345   beep_set_state(state->m_beep, state->m_led_status&64?1:0);
346346}
347347
348348static TIMER_DEVICE_CALLBACK( update_irq )      //only mm2
349349{
350350   mephisto_state *state = timer.machine().driver_data<mephisto_state>();
351   cputag_set_input_line(timer.machine(), "maincpu", M6502_IRQ_LINE, ASSERT_LINE);
352   cputag_set_input_line(timer.machine(), "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
351   timer.machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
352   timer.machine().device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
353353
354354   beep_set_state(state->m_beep, state->m_led_status&64?1:0);
355355}
trunk/src/mess/drivers/scv.c
r17813r17814
411411   switch( vpos )
412412   {
413413   case 240:
414      cputag_set_input_line(machine, "maincpu", UPD7810_INTF2, ASSERT_LINE);
414      machine.device("maincpu")->execute().set_input_line(UPD7810_INTF2, ASSERT_LINE);
415415      break;
416416   case 0:
417      cputag_set_input_line(machine, "maincpu", UPD7810_INTF2, CLEAR_LINE);
417      machine.device("maincpu")->execute().set_input_line(UPD7810_INTF2, CLEAR_LINE);
418418      break;
419419   }
420420
r17813r17814
741741
742742WRITE_LINE_MEMBER( scv_state::scv_upd1771_ack_w )
743743{
744   cputag_set_input_line(machine(), "maincpu", UPD7810_INTF1, (state) ? ASSERT_LINE : CLEAR_LINE);
744   machine().device("maincpu")->execute().set_input_line(UPD7810_INTF1, (state) ? ASSERT_LINE : CLEAR_LINE);
745745}
746746
747747
trunk/src/mess/drivers/supercon.c
r17813r17814
520520
521521static TIMER_CALLBACK( update_irq )
522522{
523   cputag_set_input_line(machine, "maincpu", M6502_IRQ_LINE, ASSERT_LINE);
524   cputag_set_input_line(machine, "maincpu", M6502_IRQ_LINE, CLEAR_LINE);
523   machine.device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, ASSERT_LINE);
524   machine.device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, CLEAR_LINE);
525525}
526526
527527/* Save state call backs */
trunk/src/mess/drivers/h19.c
r17813r17814
8888READ8_MEMBER( h19_state::h19_a0_r )
8989{
9090// keyboard status
91   cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE);
91   machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
9292   return 0x7f; // says that a key is ready and no modifier keys are pressed
9393}
9494
r17813r17814
338338
339339static WRITE_LINE_DEVICE_HANDLER(h19_ace_irq)
340340{
341   cputag_set_input_line(device->machine(), "maincpu", 0, (state ? HOLD_LINE : CLEAR_LINE));
341   device->machine().device("maincpu")->execute().set_input_line(0, (state ? HOLD_LINE : CLEAR_LINE));
342342}
343343
344344static const ins8250_interface h19_ace_interface =
r17813r17814
386386WRITE8_MEMBER( h19_state::h19_kbd_put )
387387{
388388   m_term_data = data;
389   cputag_set_input_line(machine(), "maincpu", 0, HOLD_LINE);
389   machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
390390}
391391
392392static ASCII_KEYBOARD_INTERFACE( keyboard_intf )
trunk/src/mess/drivers/zrt80.c
r17813r17814
5353READ8_MEMBER( zrt80_state::zrt80_10_r )
5454{
5555   UINT8 ret = m_term_data;
56   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, CLEAR_LINE);
56   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
5757   return ret;
5858}
5959
r17813r17814
255255WRITE8_MEMBER( zrt80_state::kbd_put )
256256{
257257   m_term_data = data;
258   cputag_set_input_line(machine(), "maincpu", INPUT_LINE_NMI, ASSERT_LINE);
258   machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
259259}
260260
261261static ASCII_KEYBOARD_INTERFACE( keyboard_intf )
trunk/src/mess/drivers/svision.c
r17813r17814
6262   int irq = state->m_svision.timer_shot && (state->BANK & 2);
6363   irq = irq || (*state->m_dma_finished && (state->BANK & 4));
6464
65   cputag_set_input_line(machine, "maincpu", M6502_IRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
65   machine.device("maincpu")->execute().set_input_line(M6502_IRQ_LINE, irq ? ASSERT_LINE : CLEAR_LINE);
6666}
6767
6868static TIMER_CALLBACK(svision_timer)
trunk/src/mess/drivers/chesstrv.c
r17813r17814
196196/*
197197static TIMER_DEVICE_CALLBACK( borisdpl_timer_interrupt )
198198{
199    cputag_set_input_line_and_vector(timer.machine(), "maincpu", F8_INPUT_LINE_INT_REQ, HOLD_LINE, 0x20);
199    timer.machine().device("maincpu")->execute().set_input_line_and_vector(F8_INPUT_LINE_INT_REQ, HOLD_LINE, 0x20);
200200}
201201*/
202202
trunk/src/mess/drivers/pecom.c
r17813r17814
4949
5050static INPUT_CHANGED( ef_w )
5151{
52   cputag_set_input_line(field.machine(), CDP1802_TAG, (int)(FPTR)param, newval);
52   field.machine().device(CDP1802_TAG)->execute().set_input_line((int)(FPTR)param, newval);
5353}
5454
5555static INPUT_PORTS_START( pecom )
trunk/src/mess/drivers/pce.c
r17813r17814
503503
504504static WRITE_LINE_DEVICE_HANDLER( pce_irq_changed )
505505{
506   cputag_set_input_line( device->machine(), "maincpu", 0, state);
506   device->machine().device("maincpu")->execute().set_input_line(0, state);
507507}
508508
509509
trunk/src/mess/drivers/psion.c
r17813r17814
2727   psion_state *state = timer.machine().driver_data<psion_state>();
2828
2929   if (state->m_enable_nmi)
30      cputag_set_input_line(timer.machine(), "maincpu", INPUT_LINE_NMI, PULSE_LINE);
30      timer.machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
3131}
3232
3333UINT8 psion_state::kb_read(running_machine &machine)
trunk/src/mess/drivers/bbcbc.c
r17813r17814
9898
9999static WRITE_LINE_DEVICE_HANDLER(tms_interrupt)
100100{
101   cputag_set_input_line(device->machine(), "maincpu", 0, state ? ASSERT_LINE : CLEAR_LINE);
101   device->machine().device("maincpu")->execute().set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
102102}
103103
104104static TMS9928A_INTERFACE(tms9129_interface)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team