Previous | 199869 Revisions | Next |
r17997 Tuesday 18th September, 2012 at 14:10:42 UTC by Miodrag Milanović |
---|
INTERRUPT_GEN -> INTERRUPT_GEN_MEMBER (no whatsnew) |
[src/emu] | devcpu.h |
[src/mame/audio] | aztarac.c cyberbal.c dkong.c redalert.c |
[src/mame/drivers] | 1942.c 1943.c 1945kiii.c 20pacgal.c 2mindril.c 39in1.c 40love.c 4enraya.c 4roses.c 5clown.c 8080bw.c 88games.c acefruit.c actfancr.c adp.c aeroboto.c aerofgt.c airbustr.c ajax.c albazc.c albazg.c aliens.c alpha68k.c amaticmg.c ambush.c ampoker2.c amspdwy.c angelkds.c appoooh.c aquarium.c arabian.c aristmk4.c arkanoid.c armedf.c ashnojoe.c asterix.c asteroid.c astinvad.c astrocorp.c asuka.c atarifb.c atarisy2.c atarisy4.c atronic.c attckufo.c avalnche.c avt.c aztarac.c backfire.c badlands.c bagman.c balsente.c bankp.c baraduke.c battlane.c battlex.c battlnts.c bbusters.c bestleag.c bfcobra.c bfm_sc1.c bfm_sc2.c bfm_sc5.c bfmsys85.c bigevglf.c bigstrkb.c bingoc.c bingor.c bionicc.c bking.c blackt96.c blitz.c blitz68k.c blktiger.c blmbycar.c blockade.c blockhl.c bloodbro.c blueprnt.c bmcbowl.c bmcpokr.c bogeyman.c bombjack.c boogwing.c bottom9.c brkthru.c btoads.c bublbobl.c buggychl.c buster.c bwidow.c bwing.c bzone.c cabal.c cabaret.c calomega.c calorie.c canyon.c capbowl.c cardline.c carjmbre.c carpolo.c carrera.c caswin.c cave.c cb2001.c cbasebal.c cbuster.c cchance.c cclimber.c cesclass.c chaknpop.c champbas.c champbwl.c chance32.c changela.c cheekyms.c chinsan.c chsuper.c circusc.c cischeat.c citycon.c clayshoo.c cloak.c clshroad.c cmmb.c cninja.c cntsteer.c cobra.c coinmstr.c coinmvga.c combatsc.c commando.c compgolf.c contra.c coolridr.c cop01.c corona.c cps1.c cps3.c crbaloon.c crgolf.c crimfght.c crospang.c crshrace.c crystal.c cubeqst.c cultures.c cvs.c cyberbal.c cybertnk.c cyclemb.c d9final.c dacholer.c dai3wksi.c darius.c darkseal.c dassault.c dblewing.c dcheese.c dcon.c ddayjlc.c ddealer.c ddribble.c ddz.c dec0.c dec8.c deco156.c deco32.c deco_ld.c deniam.c deshoros.c destroyr.c dietgo.c discoboy.c diverboy.c djboy.c djmain.c dkong.c dlair.c dmndrby.c docastle.c dogfgt.c dominob.c dooyong.c dorachan.c dotrikun.c dragrace.c dreamwld.c drgnmst.c dribling.c drmicro.c drtomy.c drw80pkr.c dunhuang.c dynax.c dynduke.c egghunt.c enigma2.c epos.c ertictac.c esd16.c esh.c espial.c esripsys.c ettrivia.c exedexes.c exidy.c exidy440.c exprraid.c exzisus.c f-32.c f1gp.c fantland.c fastfred.c fcrash.c feversoc.c firebeat.c firetrap.c firetrk.c fitfight.c flipjack.c flkatck.c flower.c flstory.c flyball.c fortecar.c freekick.c fromanc2.c fromance.c funkybee.c funkyjet.c funworld.c funybubl.c gaelco.c gaelco2.c gaelco3d.c gaiden.c gal3.c galaga.c galastrm.c galaxi.c galaxia.c galaxian.c galaxold.c galgame.c galivan.c galspnbl.c gamtor.c gaplus.c gatron.c gberet.c gbusters.c gcpinbal.c gei.c gijoe.c ginganin.c gladiatr.c glass.c gng.c go2000.c goal92.c goindol.c goldngam.c goldnpkr.c goldstar.c gomoku.c good.c goodejan.c gotcha.c gottlieb.c gotya.c gpworld.c gradius3.c grchamp.c groundfx.c gstream.c gstriker.c gsword.c gticlub.c gumbo.c gunbustr.c gunpey.c gunsmoke.c gyruss.c halleys.c hanaawas.c harddriv.c hcastle.c highvdeo.c himesiki.c hitpoker.c hnayayoi.c holeland.c homedata.c homerun.c hornet.c hotblock.c hotstuff.c hvyunit.c hyperspt.c igs009.c igs011.c igs_m027.c ikki.c imolagp.c intrscti.c inufuku.c invqix.c istellar.c itech32.c itech8.c jack.c jackal.c jackpool.c jailbrek.c jalmah.c jangou.c jantotsu.c jclub2.c jokrwild.c jollyjgr.c jongkyo.c jrpacman.c jubilee.c junofrst.c kangaroo.c karnov.c kchamp.c kickgoal.c kingdrby.c kingobox.c kingpin.c kinst.c kncljoe.c koikoi.c konamigq.c konamigx.c konamim2.c kontest.c kopunch.c ksayakyu.c kungfur.c kyugo.c labyrunr.c ladybug.c ladyfrog.c laserbas.c laserbat.c lasso.c lastbank.c lastduel.c lastfght.c legionna.c leland.c lemmings.c lethal.c lgp.c liberate.c limenko.c lkage.c looping.c lordgun.c lsasquad.c ltcasino.c luckgrln.c lucky74.c lvcards.c lwings.c m10.c m14.c m52.c m57.c m58.c m62.c m63.c m72.c m79amb.c m90.c macrossp.c macs.c madalien.c madmotor.c magic10.c magicard.c magicfly.c magmax.c mainevt.c mainsnk.c majorpkr.c mappy.c marineb.c marinedt.c mario.c markham.c mastboy.c matmania.c maygayv1.c mayumi.c mazerbla.c mcatadv.c mcr68.c meadows.c megasys1.c megazone.c meijinsn.c mermaid.c metro.c mexico86.c micro3d.c midas.c midzeus.c mikie.c mil4000.c miniboy7.c minivadr.c mirage.c mirax.c missb2.c mitchell.c mjkjidai.c mjsister.c mlanding.c model2.c mogura.c mole.c momoko.c monzagp.c moo.c mosaic.c mouser.c mpoker.c mpu4plasma.c mrdo.c mrflea.c mrjong.c msisaac.c mugsmash.c multfish.c munchmo.c murogem.c mustache.c mw18w.c mwarr.c mystwarr.c namconb1.c namcond1.c namcos1.c namcos2.c namcos21.c namcos22.c namcos23.c namcos86.c nbmj9195.c nemesis.c neoprint.c neptunp2.c news.c nightgal.c ninjakd2.c ninjaw.c nitedrvr.c niyanpai.c nmg5.c nmk16.c norautp.c nova2001.c nsmpoker.c nss.c nycaptor.c nyny.c ohmygod.c ojankohs.c olibochu.c omegrace.c oneshot.c onetwo.c opwolf.c orbit.c othello.c othldrby.c othunder.c overdriv.c pachifev.c pacland.c pacman.c pandoras.c paradise.c parodius.c pasha2.c pass.c pastelg.c pbaction.c pcktgal.c pengo.c peyper.c pgm.c photon.c pinkiri8.c pipeline.c pirates.c pitnrun.c pkscram.c pktgaldx.c playch10.c playmark.c plygonet.c pokechmp.c poker72.c policetr.c polyplay.c poo.c poolshrk.c pooyan.c popeye.c popobear.c popper.c portrait.c powerins.c ppmast93.c prehisle.c progolf.c psattack.c psikyo.c psikyo4.c psikyosh.c pturn.c punchout.c pushman.c pzletime.c qdrmfgp.c quantum.c quasar.c quizdna.c quizo.c quizpani.c quizpun2.c r2dx_v33.c rabbit.c raiden.c raiden2.c rainbow.c rallyx.c rastan.c rbmk.c rcorsair.c realbrk.c redalert.c retofinv.c rgum.c rltennis.c rmhaihai.c rockrage.c rocnrope.c rohga.c rollerg.c rollrace.c roul.c route16.c royalmah.c rungun.c sandscrp.c sauro.c sbasketb.c scotrsht.c scramble.c sderby.c segag80r.c segag80v.c segajw.c segald.c segas32.c seibuspi.c seicross.c sengokmj.c senjyo.c seta.c seta2.c sf.c sfbonus.c shangha3.c shanghai.c shangkid.c shisen.c shougi.c sidearms.c sidepckt.c sigmab52.c sigmab98.c silkroad.c silvmil.c simpl156.c simpsons.c skimaxx.c skyarmy.c skydiver.c skyfox.c skykid.c skylncr.c skyraid.c slapfght.c slapshot.c sliver.c snk.c snk6502.c snk68.c snookr10.c snowbros.c solomon.c sonson.c spaceg.c spbactn.c spcforce.c speedatk.c speedbal.c speedspn.c speglsht.c spiders.c splash.c spoker.c spool99.c sprcros2.c sprint2.c spy.c srmp2.c srmp5.c srmp6.c srumbler.c ssfindo.c sshangha.c ssingles.c sslam.c ssozumo.c sspeedr.c ssrj.c sstrangr.c stactics.c stadhero.c starcrus.c starfire.c starshp1.c starwars.c statriv2.c stfight.c stlforce.c strnskil.c sub.c subs.c subsino2.c summit.c suna16.c suna8.c supbtime.c supdrapo.c superchs.c superdq.c superqix.c supertnk.c superwng.c suprgolf.c suprloco.c suprridr.c suprslam.c surpratk.c system1.c system16.c tagteam.c tail2nos.c taito_b.c taito_f2.c taito_f3.c taito_h.c taito_l.c taito_x.c taito_z.c taitoair.c taitojc.c taitosj.c taitotz.c tankbatt.c tankbust.c taotaido.c tapatune.c tasman.c tatsumi.c tattack.c taxidriv.c tbowl.c tceptor.c techno.c tecmo.c tecmo16.c tecmosys.c tehkanwc.c tempest.c terracre.c tetrisp2.c tgtpanic.c thedeep.c thepit.c thief.c thoop2.c thunderx.c tiamc1.c tigeroad.c timelimt.c timeplt.c timetrv.c tmnt.c tmspoker.c tnzs.c toaplan1.c toaplan2.c toki.c tomcat.c topspeed.c toratora.c toypop.c tp84.c trackfld.c travrusa.c triplhnt.c truco.c trucocl.c trvmadns.c trvquest.c tryout.c tsamurai.c ttchamp.c tubep.c tugboat.c tumbleb.c tumblep.c tunhunt.c turbo.c tutankhm.c twin16.c twincobr.c twins.c tx1.c ultraman.c ultrsprt.c umipoker.c undrfire.c unico.c unkhorse.c usgames.c vamphalf.c vaportra.c vastar.c vcombat.c vega.c vendetta.c vertigo.c victory.c videopkr.c vigilant.c viper.c vmetal.c volfied.c vpoker.c vroulet.c vulgus.c wallc.c wardner.c warpsped.c warpwarp.c warriorb.c wc90.c wc90b.c wecleman.c welltris.c wgp.c wheelfir.c whitestar.c wildpkr.c wink.c wiping.c witch.c wiz.c wrally.c xorworld.c xtheball.c xxmissio.c xyonix.c yiear.c yunsun16.c yunsung8.c zaccaria.c zaxxon.c zerozone.c zn.c zodiack.c zr107.c |
[src/mame/includes] | 20pacgal.h 8080bw.h 88games.h aeroboto.h airbustr.h ajax.h aliens.h alpha68k.h appoooh.h asterix.h asteroid.h asuka.h atarisy2.h aztarac.h badlands.h bagman.h balsente.h bankp.h battlane.h battlex.h battlnts.h blockade.h blockhl.h bombjack.h bottom9.h brkthru.h bublbobl.h bwing.h bzone.h capbowl.h carjmbre.h carpolo.h cave.h cclimber.h champbas.h changela.h cheekyms.h circusc.h commando.h contra.h cps1.h cps3.h crbaloon.h crimfght.h cvs.h cyberbal.h dcheese.h ddribble.h dec8.h deco32.h djmain.h dkong.h dribling.h drmicro.h dynax.h dynduke.h espial.h esripsys.h exidy.h exidy440.h exprraid.h fantland.h fastfred.h firetrap.h firetrk.h fitfight.h flkatck.h freekick.h fromanc2.h gaelco3d.h galaga.h galastrm.h galaxia.h galaxian.h galaxold.h gameplan.h gaplus.h gbusters.h gcpinbal.h gijoe.h glass.h goldstar.h gottlieb.h gradius3.h grchamp.h groundfx.h gsword.h gunbustr.h gyruss.h harddriv.h homedata.h hyperspt.h itech32.h itech8.h jack.h jackal.h jailbrek.h karnov.h kchamp.h kickgoal.h kingobox.h kncljoe.h konamigx.h kopunch.h kyugo.h labyrunr.h laserbat.h leland.h lethal.h liberate.h lucky74.h lwings.h m10.h m72.h m90.h mainevt.h mappy.h marineb.h mario.h mcr68.h meadows.h megasys1.h megazone.h mermaid.h metro.h mexico86.h micro3d.h midzeus.h mikie.h mjkjidai.h moo.h mouser.h munchmo.h mustache.h mystwarr.h namconb1.h namcond1.h namcos2.h namcos22.h nbmj9195.h nemesis.h ninjakd2.h niyanpai.h orbit.h othunder.h overdriv.h pacland.h pacman.h pandoras.h paradise.h parodius.h pbaction.h pitnrun.h playch10.h plygonet.h policetr.h polyplay.h pooyan.h popeye.h popper.h psikyo4.h psikyosh.h punchout.h qdrmfgp.h quasar.h raiden.h raiden2.h rallyx.h realbrk.h redalert.h retofinv.h rltennis.h rockrage.h rocnrope.h rollrace.h rungun.h sauro.h sbasketb.h scotrsht.h segag80r.h segas32.h seibuspi.h seicross.h senjyo.h seta.h seta2.h simpl156.h simpsons.h skydiver.h skyfox.h skykid.h slapfght.h slapshot.h snk6502.h solomon.h spcforce.h spiders.h splash.h sprcros2.h sprint2.h spy.h ssozumo.h stactics.h starshp1.h stfight.h subs.h superqix.h suprridr.h surpratk.h system1.h system16.h tagteam.h taito_b.h taito_f2.h taito_f3.h taito_z.h taitojc.h tankbatt.h tankbust.h tatsumi.h tceptor.h thedeep.h thepit.h thief.h thunderx.h timelimt.h timeplt.h tmnt.h tnzs.h toaplan1.h toaplan2.h topspeed.h toypop.h tp84.h trackfld.h truco.h trucocl.h tsamurai.h tumbleb.h tutankhm.h twin16.h twincobr.h tx1.h undrfire.h vastar.h vendetta.h vertigo.h victory.h vulgus.h warpwarp.h wecleman.h wgp.h wiping.h wiz.h xxmissio.h yiear.h zaccaria.h zaxxon.h zodiack.h |
[src/mame/machine] | ajax.c asteroid.c balsente.c bublbobl.c carpolo.c galaxold.c harddriv.c leland.c mcr68.c mexico86.c namcos2.c slapfght.c stfight.c subs.c tnzs.c toaplan1.c twincobr.c vertigo.c xevious.c |
[src/mame/video] | esripsys.c exidy.c exidy440.c micro3d.c segag80r.c victory.c |
r17996 | r17997 | |
---|---|---|
100 | 100 | } |
101 | 101 | |
102 | 102 | |
103 | INTERRUPT_GEN( | |
103 | INTERRUPT_GEN_MEMBER( | |
104 | 104 | { |
105 | cyberbal_state *state = device->machine().driver_data<cyberbal_state>(); | |
106 | if (!state->m_fast_68k_int) | |
105 | if (!m_fast_68k_int) | |
107 | 106 | { |
108 | state->m_fast_68k_int = 1; | |
109 | update_sound_68k_interrupts(device->machine()); | |
107 | m_fast_68k_int = 1; | |
108 | update_sound_68k_interrupts(machine()); | |
110 | 109 | } |
111 | 110 | } |
112 | 111 |
r17996 | r17997 | |
---|---|---|
43 | 43 | m_sound_status &= ~0x10; |
44 | 44 | } |
45 | 45 | |
46 | INTERRUPT_GEN( | |
46 | INTERRUPT_GEN_MEMBER( | |
47 | 47 | { |
48 | aztarac_state *state = device->machine().driver_data<aztarac_state>(); | |
49 | state->m_sound_status ^= 0x10; | |
48 | m_sound_status ^= 0x10; | |
50 | 49 | |
51 | if (state->m_sound_status & 0x10) | |
52 | device->execute().set_input_line(0,HOLD_LINE); | |
50 | if (m_sound_status & 0x10) | |
51 | device.execute().set_input_line(0,HOLD_LINE); | |
53 | 52 | } |
r17996 | r17997 | |
---|---|---|
1466 | 1466 | |
1467 | 1467 | MCFG_CPU_ADD("n2a03a", N2A03,N2A03_DEFAULTCLOCK) |
1468 | 1468 | MCFG_CPU_PROGRAM_MAP(dkong3_sound1_map) |
1469 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1469 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dkong_state, nmi_line_pulse) | |
1470 | 1470 | |
1471 | 1471 | MCFG_CPU_ADD("n2a03b", N2A03,N2A03_DEFAULTCLOCK) |
1472 | 1472 | MCFG_CPU_PROGRAM_MAP(dkong3_sound2_map) |
1473 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1473 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dkong_state, nmi_line_pulse) | |
1474 | 1474 | |
1475 | 1475 | /* sound latches */ |
1476 | 1476 | MCFG_LATCH8_ADD( "latch1") |
r17996 | r17997 | |
---|---|---|
212 | 212 | |
213 | 213 | MCFG_CPU_ADD("audiocpu", M6502, REDALERT_AUDIO_CPU_CLOCK) |
214 | 214 | MCFG_CPU_PROGRAM_MAP(redalert_audio_map) |
215 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, REDALERT_AUDIO_CPU_IRQ_FREQ) | |
215 | MCFG_CPU_PERIODIC_INT_DRIVER(redalert_state, irq0_line_hold, REDALERT_AUDIO_CPU_IRQ_FREQ) | |
216 | 216 | |
217 | 217 | MCFG_SOUND_ADD("aysnd", AY8910, REDALERT_AY8910_CLOCK) |
218 | 218 | MCFG_SOUND_CONFIG(redalert_ay8910_interface) |
r17996 | r17997 | |
404 | 404 | |
405 | 405 | MCFG_CPU_ADD("audiocpu", M6802, DEMONEYE_AUDIO_CPU_CLOCK) |
406 | 406 | MCFG_CPU_PROGRAM_MAP(demoneye_audio_map) |
407 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, REDALERT_AUDIO_CPU_IRQ_FREQ) /* guess */ | |
407 | MCFG_CPU_PERIODIC_INT_DRIVER(redalert_state, irq0_line_hold, REDALERT_AUDIO_CPU_IRQ_FREQ) /* guess */ | |
408 | 408 | |
409 | 409 | MCFG_PIA6821_ADD("sndpia", demoneye_pia_intf) |
410 | 410 |
r17996 | r17997 | |
---|---|---|
182 | 182 | } |
183 | 183 | |
184 | 184 | |
185 | INTERRUPT_GEN( | |
185 | INTERRUPT_GEN_MEMBER(xevious_state::battles_interrupt_4 | |
186 | 186 | { |
187 | device | |
187 | device. | |
188 | 188 | } |
189 | 189 |
r17996 | r17997 | |
---|---|---|
372 | 372 | machine.device("mcu")->execute().set_input_line(0, CLEAR_LINE); |
373 | 373 | } |
374 | 374 | |
375 | INTERRUPT_GEN( | |
375 | INTERRUPT_GEN_MEMBER( | |
376 | 376 | { |
377 | device | |
377 | device. | |
378 | 378 | |
379 | | |
379 | | |
380 | 380 | } |
381 | 381 | |
382 | 382 |
r17996 | r17997 | |
---|---|---|
614 | 614 | } |
615 | 615 | } |
616 | 616 | |
617 | INTERRUPT_GEN( | |
617 | INTERRUPT_GEN_MEMBER(tnzs_state::arknoid2_interrupt | |
618 | 618 | { |
619 | tnzs_state *state = device->machine().driver_data<tnzs_state>(); | |
620 | 619 | int coin; |
621 | 620 | |
622 | switch ( | |
621 | switch ( | |
623 | 622 | { |
624 | 623 | case MCU_ARKANOID: |
625 | 624 | case MCU_EXTRMATN: |
626 | 625 | case MCU_DRTOPPEL: |
627 | 626 | case MCU_PLUMPOP: |
628 | 627 | coin = 0; |
629 | coin |= ((state->ioport("COIN1")->read() & 1) << 0); | |
630 | coin |= ((state->ioport("COIN2")->read() & 1) << 1); | |
631 | coin |= ((state->ioport("IN2")->read() & 3) << 2); | |
628 | coin |= ((ioport("COIN1")->read() & 1) << 0); | |
629 | coin |= ((ioport("COIN2")->read() & 1) << 1); | |
630 | coin |= ((ioport("IN2")->read() & 3) << 2); | |
632 | 631 | coin ^= 0x0c; |
633 | mcu_handle_coins( | |
632 | mcu_handle_coins( | |
634 | 633 | break; |
635 | 634 | default: |
636 | 635 | break; |
637 | 636 | } |
638 | 637 | |
639 | device | |
638 | device. | |
640 | 639 | } |
641 | 640 | |
642 | 641 | MACHINE_RESET_MEMBER(tnzs_state,tnzs) |
r17996 | r17997 | |
---|---|---|
13 | 13 | #include "includes/asteroid.h" |
14 | 14 | |
15 | 15 | |
16 | INTERRUPT_GEN( | |
16 | INTERRUPT_GEN_MEMBER( | |
17 | 17 | { |
18 | 18 | /* Turn off interrupts if self-test is enabled */ |
19 | if (!(device->machine().root_device().ioport("IN0")->read() & 0x80)) | |
20 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
19 | if (!(machine().root_device().ioport("IN0")->read() & 0x80)) | |
20 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
21 | 21 | } |
22 | 22 | |
23 | INTERRUPT_GEN( | |
23 | INTERRUPT_GEN_MEMBER( | |
24 | 24 | { |
25 | 25 | /* Turn off interrupts if self-test is enabled */ |
26 | if ((device->machine().root_device().ioport("IN0")->read() & 0x80)) | |
27 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
26 | if ((machine().root_device().ioport("IN0")->read() & 0x80)) | |
27 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
28 | 28 | } |
29 | 29 | |
30 | INTERRUPT_GEN( | |
30 | INTERRUPT_GEN_MEMBER(asteroid_state::llander_interrupt | |
31 | 31 | { |
32 | 32 | /* Turn off interrupts if self-test is enabled */ |
33 | if (device->machine().root_device().ioport("IN0")->read() & 0x02) | |
34 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
33 | if (machine().root_device().ioport("IN0")->read() & 0x02) | |
34 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
35 | 35 | } |
36 | 36 | |
37 | 37 | READ8_MEMBER(asteroid_state::asteroid_IN0_r) |
r17996 | r17997 | |
---|---|---|
14 | 14 | static const int toaplan_port_type[2] = { 0x7800c, 0x5c }; |
15 | 15 | |
16 | 16 | |
17 | INTERRUPT_GEN( | |
17 | INTERRUPT_GEN_MEMBER( | |
18 | 18 | { |
19 | twincobr_state *state = device->machine().driver_data<twincobr_state>(); | |
20 | if (state->m_intenable) { | |
21 | state->m_intenable = 0; | |
22 | device->execute().set_input_line(M68K_IRQ_4, HOLD_LINE); | |
19 | if (m_intenable) { | |
20 | m_intenable = 0; | |
21 | device.execute().set_input_line(M68K_IRQ_4, HOLD_LINE); | |
23 | 22 | } |
24 | 23 | } |
25 | 24 | |
26 | INTERRUPT_GEN( | |
25 | INTERRUPT_GEN_MEMBER(twincobr_state::wardner_interrupt | |
27 | 26 | { |
28 | twincobr_state *state = device->machine().driver_data<twincobr_state>(); | |
29 | if (state->m_intenable) { | |
30 | state->m_intenable = 0; | |
31 | device->execute().set_input_line(0, HOLD_LINE); | |
27 | if (m_intenable) { | |
28 | m_intenable = 0; | |
29 | device.execute().set_input_line(0, HOLD_LINE); | |
32 | 30 | } |
33 | 31 | } |
34 | 32 |
r17996 | r17997 | |
---|---|---|
202 | 202 | } |
203 | 203 | |
204 | 204 | |
205 | INTERRUPT_GEN( | |
205 | INTERRUPT_GEN_MEMBER( | |
206 | 206 | { |
207 | carpolo_state *state = device->machine().driver_data<carpolo_state>(); | |
208 | 207 | UINT8 port_value; |
209 | 208 | int player; |
210 | 209 | |
211 | 210 | |
212 | 211 | /* cause the timer interrupt */ |
213 | ttl74148_input_line_w(state->m_ttl74148_3s, PRI0_PRIORTITY_LINE, 0); | |
214 | state->m_priority_0_extension = TIMER_EXTRA_BITS; | |
212 | ttl74148_input_line_w(m_ttl74148_3s, PRI0_PRIORTITY_LINE, 0); | |
213 | m_priority_0_extension = TIMER_EXTRA_BITS; | |
215 | 214 | |
216 | ttl74148_update( | |
215 | ttl74148_update( | |
217 | 216 | |
218 | 217 | |
219 | 218 | /* check the coins here as well - they drive the clock of the flip-flops */ |
220 | port_value = | |
219 | port_value = | |
221 | 220 | |
222 | state->m_ttl7474_2s_1->clock_w((port_value & 0x01) >> 0); | |
223 | state->m_ttl7474_2s_2->clock_w((port_value & 0x02) >> 1); | |
224 | state->m_ttl7474_2u_1->clock_w((port_value & 0x04) >> 2); | |
225 | state->m_ttl7474_2u_2->clock_w((port_value & 0x08) >> 3); | |
221 | m_ttl7474_2s_1->clock_w((port_value & 0x01) >> 0); | |
222 | m_ttl7474_2s_2->clock_w((port_value & 0x02) >> 1); | |
223 | m_ttl7474_2u_1->clock_w((port_value & 0x04) >> 2); | |
224 | m_ttl7474_2u_2->clock_w((port_value & 0x08) >> 3); | |
226 | 225 | |
227 | 226 | /* read the steering controls */ |
228 | 227 | for (player = 0; player < 4; player++) |
r17996 | r17997 | |
234 | 233 | switch (player) |
235 | 234 | { |
236 | 235 | default: |
237 | case 0: movement_flip_flop = state->m_ttl7474_1f_1; dir_flip_flop = state->m_ttl7474_1f_2; break; | |
238 | case 1: movement_flip_flop = state->m_ttl7474_1d_1; dir_flip_flop = state->m_ttl7474_1d_2; break; | |
239 | case 2: movement_flip_flop = state->m_ttl7474_1c_1; dir_flip_flop = state->m_ttl7474_1c_2; break; | |
240 | case 3: movement_flip_flop = state->m_ttl7474_1a_1; dir_flip_flop = state->m_ttl7474_1a_2; break; | |
236 | case 0: movement_flip_flop = m_ttl7474_1f_1; dir_flip_flop = m_ttl7474_1f_2; break; | |
237 | case 1: movement_flip_flop = m_ttl7474_1d_1; dir_flip_flop = m_ttl7474_1d_2; break; | |
238 | case 2: movement_flip_flop = m_ttl7474_1c_1; dir_flip_flop = m_ttl7474_1c_2; break; | |
239 | case 3: movement_flip_flop = m_ttl7474_1a_1; dir_flip_flop = m_ttl7474_1a_2; break; | |
241 | 240 | } |
242 | 241 | |
243 | port_value = | |
242 | port_value = | |
244 | 243 | |
245 | if (port_value != | |
244 | if (port_value != | |
246 | 245 | { |
247 | 246 | /* set the movement direction */ |
248 | dir_flip_flop->d_w(((port_value - | |
247 | dir_flip_flop->d_w(((port_value - | |
249 | 248 | |
250 | | |
249 | | |
251 | 250 | } |
252 | 251 | |
253 | 252 | /* as the wheel moves, both flip-flops are clocked */ |
r17996 | r17997 | |
258 | 257 | |
259 | 258 | |
260 | 259 | /* finally read the accelerator pedals */ |
261 | port_value = | |
260 | port_value = | |
262 | 261 | |
263 | 262 | for (player = 0; player < 4; player++) |
264 | 263 | { |
r17996 | r17997 | |
266 | 265 | how much, resulting in only two different possible levels */ |
267 | 266 | if (port_value & 0x01) |
268 | 267 | { |
269 | ttl74153_input_line_w(state->m_ttl74153_1k, 0, player, 1); | |
270 | ttl74153_input_line_w(state->m_ttl74153_1k, 1, player, 0); | |
268 | ttl74153_input_line_w(m_ttl74153_1k, 0, player, 1); | |
269 | ttl74153_input_line_w(m_ttl74153_1k, 1, player, 0); | |
271 | 270 | } |
272 | 271 | else if (port_value & 0x02) |
273 | 272 | { |
274 | ttl74153_input_line_w(state->m_ttl74153_1k, 0, player, 1); | |
275 | ttl74153_input_line_w(state->m_ttl74153_1k, 1, player, 1); | |
273 | ttl74153_input_line_w(m_ttl74153_1k, 0, player, 1); | |
274 | ttl74153_input_line_w(m_ttl74153_1k, 1, player, 1); | |
276 | 275 | } |
277 | 276 | else |
278 | 277 | { |
279 | ttl74153_input_line_w( | |
278 | ttl74153_input_line_w( | |
280 | 279 | /* the other line is irrelevant */ |
281 | 280 | } |
282 | 281 | |
283 | 282 | port_value >>= 2; |
284 | 283 | } |
285 | 284 | |
286 | ttl74153_update( | |
285 | ttl74153_update( | |
287 | 286 | } |
288 | 287 | |
289 | 288 | // FIXME: Remove trampolines |
r17996 | r17997 | |
---|---|---|
556 | 556 | * |
557 | 557 | *************************************/ |
558 | 558 | |
559 | INTERRUPT_GEN( | |
559 | INTERRUPT_GEN_MEMBER( | |
560 | 560 | { |
561 | balsente_state *state = device->machine().driver_data<balsente_state>(); | |
562 | 561 | int i; |
563 | 562 | static const char *const analog[] = { "AN0", "AN1", "AN2", "AN3" }; |
564 | 563 | |
r17996 | r17997 | |
567 | 566 | /* ports are read once a frame, just at varying intervals. To get around this, we */ |
568 | 567 | /* read all the analog inputs at VBLANK time and just return the cached values. */ |
569 | 568 | for (i = 0; i < 4; i++) |
570 | | |
569 | | |
571 | 570 | } |
572 | 571 | |
573 | 572 |
r17996 | r17997 | |
---|---|---|
150 | 150 | } |
151 | 151 | |
152 | 152 | |
153 | INTERRUPT_GEN( | |
153 | INTERRUPT_GEN_MEMBER(mexico86_state::kikikai_interrupt | |
154 | 154 | { |
155 | mexico86_state *state = device->machine().driver_data<mexico86_state>(); | |
156 | 155 | |
157 | if (state->m_mcu_running) | |
158 | mcu_simulate(device->machine()); | |
156 | if (m_mcu_running) | |
157 | mcu_simulate(machine()); | |
159 | 158 | |
160 | device->execute().set_input_line_vector(0, state->m_protection_ram[0]); | |
161 | device->execute().set_input_line(0, HOLD_LINE); | |
159 | device.execute().set_input_line_vector(0, m_protection_ram[0]); | |
160 | device.execute().set_input_line(0, HOLD_LINE); | |
162 | 161 | } |
163 | 162 | |
164 | 163 | |
r17996 | r17997 | |
218 | 217 | |
219 | 218 | ***************************************************************************/ |
220 | 219 | |
221 | INTERRUPT_GEN( | |
220 | INTERRUPT_GEN_MEMBER( | |
222 | 221 | { |
223 | device | |
222 | device. | |
224 | 223 | } |
225 | 224 | |
226 | 225 |
r17996 | r17997 | |
---|---|---|
140 | 140 | } |
141 | 141 | |
142 | 142 | |
143 | INTERRUPT_GEN( | |
143 | INTERRUPT_GEN_MEMBER( | |
144 | 144 | { |
145 | 145 | /* Coin inputs cause IRQ6 */ |
146 | if ((device->machine().root_device().ioport("COIN")->read() & 0x7) < 0x7) | |
147 | update_irq_encoder(device->machine(), INPUT_LINE_IRQ6, ASSERT_LINE); | |
146 | if ((machine().root_device().ioport("COIN")->read() & 0x7) < 0x7) | |
147 | update_irq_encoder(machine(), INPUT_LINE_IRQ6, ASSERT_LINE); | |
148 | 148 | } |
149 | 149 | |
150 | 150 |
r17996 | r17997 | |
---|---|---|
680 | 680 | namcos2_posirq_timer->adjust(machine.primary_screen->time_until_pos(scanline, 80), scanline); |
681 | 681 | } |
682 | 682 | |
683 | INTERRUPT_GEN( | |
683 | INTERRUPT_GEN_MEMBER( | |
684 | 684 | { |
685 | namcos2_shared_state *state = device->machine().driver_data<namcos2_shared_state>(); | |
686 | if (!state->is_system21()) namcos2_adjust_posirq_timer(device->machine(), GetPosIRQScanline(device->machine())); | |
687 | device->execute().set_input_line(namcos2_68k_master_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE); | |
685 | if (!is_system21()) namcos2_adjust_posirq_timer(machine(), GetPosIRQScanline(machine())); | |
686 | device.execute().set_input_line(namcos2_68k_master_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE); | |
688 | 687 | } |
689 | 688 | |
690 | INTERRUPT_GEN( | |
689 | INTERRUPT_GEN_MEMBER( | |
691 | 690 | { |
692 | namcos2_shared_state *state = device->machine().driver_data<namcos2_shared_state>(); | |
693 | if (!state->is_system21()) namcos2_adjust_posirq_timer(device->machine(), GetPosIRQScanline(device->machine())); | |
694 | device->execute().set_input_line(namcos2_68k_slave_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE); | |
691 | if (!is_system21()) namcos2_adjust_posirq_timer(machine(), GetPosIRQScanline(machine())); | |
692 | device.execute().set_input_line(namcos2_68k_slave_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE); | |
695 | 693 | } |
696 | 694 | |
697 | INTERRUPT_GEN( | |
695 | INTERRUPT_GEN_MEMBER( | |
698 | 696 | { |
699 | 697 | /* only used by namcos21 */ |
700 | int scanline = GetPosIRQScanline( | |
698 | int scanline = GetPosIRQScanline( | |
701 | 699 | scanline = 0x50+0x89; /* HACK for Winning Run */ |
702 | 700 | |
703 | 701 | //printf( "namcos2_68k_gpu_vblank(%d)\n",namcos2_68k_gpu_C148[NAMCOS2_C148_POSIRQ] ); |
704 | namcos2_adjust_posirq_timer(device->machine(), scanline); | |
705 | device->execute().set_input_line(namcos2_68k_gpu_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE); | |
702 | namcos2_adjust_posirq_timer(machine(), scanline); | |
703 | device.execute().set_input_line(namcos2_68k_gpu_C148[NAMCOS2_C148_VBLANKIRQ], HOLD_LINE); | |
706 | 704 | } |
707 | 705 | |
708 | 706 | /**************************************************************/ |
r17996 | r17997 | |
---|---|---|
113 | 113 | } |
114 | 114 | |
115 | 115 | |
116 | INTERRUPT_GEN( | |
116 | INTERRUPT_GEN_MEMBER( | |
117 | 117 | { |
118 | harddriv_state *state = device->machine().driver_data<harddriv_state>(); | |
119 | state->m_irq_state = 1; | |
120 | atarigen_update_interrupts(device->machine()); | |
118 | m_irq_state = 1; | |
119 | atarigen_update_interrupts(machine()); | |
121 | 120 | } |
122 | 121 | |
123 | 122 |
r17996 | r17997 | |
---|---|---|
212 | 212 | * |
213 | 213 | *************************************/ |
214 | 214 | |
215 | INTERRUPT_GEN( | |
215 | INTERRUPT_GEN_MEMBER( | |
216 | 216 | { |
217 | mcr68_state *state = device->machine().driver_data<mcr68_state>(); | |
218 | 217 | /* update the 6840 VBLANK clock */ |
219 | if (!state->m_m6840_state[0].timer_active) | |
220 | subtract_from_counter(device->machine(), 0, 1); | |
218 | if (!m_m6840_state[0].timer_active) | |
219 | subtract_from_counter(machine(), 0, 1); | |
221 | 220 | |
222 | 221 | logerror("--- VBLANK ---\n"); |
223 | 222 | |
224 | 223 | /* also set a timer to generate the 493 signal at a specific time before the next VBLANK */ |
225 | 224 | /* the timing of this is crucial for Blasted and Tri-Sports, which check the timing of */ |
226 | 225 | /* VBLANK and 493 using counter 2 */ |
227 | | |
226 | | |
228 | 227 | } |
229 | 228 | |
230 | 229 |
r17996 | r17997 | |
---|---|---|
761 | 761 | |
762 | 762 | |
763 | 763 | /* Generate interrups only if they have been enabled */ |
764 | INTERRUPT_GEN( | |
764 | INTERRUPT_GEN_MEMBER(slapfght_state::getstar_interrupt | |
765 | 765 | { |
766 | slapfght_state *state = device->machine().driver_data<slapfght_state>(); | |
767 | if (state->m_getstar_sh_intenabled) | |
768 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
766 | if (m_getstar_sh_intenabled) | |
767 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
769 | 768 | } |
770 | 769 | |
771 | 770 | #ifdef UNUSED_FUNCTION |
r17996 | r17997 | |
---|---|---|
446 | 446 | } |
447 | 447 | |
448 | 448 | |
449 | INTERRUPT_GEN( | |
449 | INTERRUPT_GEN_MEMBER( | |
450 | 450 | { |
451 | 451 | /* check for coins here */ |
452 | if ((device->machine().root_device().ioport("IN1")->read() & 0x0e) != 0x0e) | |
453 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
452 | if ((machine().root_device().ioport("IN1")->read() & 0x0e) != 0x0e) | |
453 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
454 | 454 | } |
455 | 455 | |
456 | 456 |
r17996 | r17997 | |
---|---|---|
39 | 39 | }; |
40 | 40 | |
41 | 41 | |
42 | INTERRUPT_GEN( | |
42 | INTERRUPT_GEN_MEMBER( | |
43 | 43 | { |
44 | toaplan1_state *state = device->machine().driver_data<toaplan1_state>(); | |
45 | 44 | |
46 | if (state->m_intenable) | |
47 | device->execute().set_input_line(4, HOLD_LINE); | |
45 | if (m_intenable) | |
46 | device.execute().set_input_line(4, HOLD_LINE); | |
48 | 47 | } |
49 | 48 | |
50 | 49 | WRITE16_MEMBER(toaplan1_state::toaplan1_intenable_w) |
r17996 | r17997 | |
---|---|---|
115 | 115 | machine.device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE, 0xcf); |
116 | 116 | } |
117 | 117 | |
118 | INTERRUPT_GEN( | |
118 | INTERRUPT_GEN_MEMBER( | |
119 | 119 | { |
120 | 120 | // Do a RST10 |
121 | device->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); | |
122 | device->machine().scheduler().timer_set(attotime::from_hz(120), FUNC(stfight_interrupt_1)); | |
121 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); | |
122 | machine().scheduler().timer_set(attotime::from_hz(120), FUNC(stfight_interrupt_1)); | |
123 | 123 | } |
124 | 124 | |
125 | 125 | /* |
r17996 | r17997 | |
---|---|---|
413 | 413 | state_save_register_global(machine(), m__4in1_bank); |
414 | 414 | } |
415 | 415 | |
416 | INTERRUPT_GEN( | |
416 | INTERRUPT_GEN_MEMBER(galaxold_state::hunchbks_vh_interrupt | |
417 | 417 | { |
418 | generic_pulse_irq_line_and_vector(device,0,0x03,1); | |
418 | generic_pulse_irq_line_and_vector(device.execute(),0,0x03,1); | |
419 | 419 | } |
420 | 420 | |
421 | 421 | DRIVER_INIT_MEMBER(galaxold_state,ladybugg) |
r17996 | r17997 | |
---|---|---|
22 | 22 | /*************************************************************************** |
23 | 23 | subs_interrupt |
24 | 24 | ***************************************************************************/ |
25 | INTERRUPT_GEN( | |
25 | INTERRUPT_GEN_MEMBER( | |
26 | 26 | { |
27 | 27 | /* only do NMI interrupt if not in TEST mode */ |
28 | if ((device->machine().root_device().ioport("IN1")->read() & 0x40)==0x40) | |
29 | device->execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE); | |
28 | if ((machine().root_device().ioport("IN1")->read() & 0x40)==0x40) | |
29 | device.execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE); | |
30 | 30 | } |
31 | 31 | |
32 | 32 | /*************************************************************************** |
r17996 | r17997 | |
---|---|---|
225 | 225 | m_firq_enable = 0; |
226 | 226 | } |
227 | 227 | |
228 | INTERRUPT_GEN( | |
228 | INTERRUPT_GEN_MEMBER( | |
229 | 229 | { |
230 | ajax_state *state = device->machine().driver_data<ajax_state>(); | |
231 | 230 | |
232 | if (k051960_is_irq_enabled(state->m_k051960)) | |
233 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
231 | if (k051960_is_irq_enabled(m_k051960)) | |
232 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
234 | 233 | } |
r17996 | r17997 | |
---|---|---|
39 | 39 | } |
40 | 40 | |
41 | 41 | |
42 | INTERRUPT_GEN( | |
42 | INTERRUPT_GEN_MEMBER( | |
43 | 43 | { |
44 | segag80r_state *state = device->machine().driver_data<segag80r_state>(); | |
45 | vblank_latch_set(device->machine()); | |
44 | vblank_latch_set(machine()); | |
46 | 45 | |
47 | 46 | /* if interrupts are enabled, clock one */ |
48 | if ( | |
47 | if ( | |
49 | 48 | irq0_line_hold(device); |
50 | 49 | } |
51 | 50 | |
52 | 51 | |
53 | INTERRUPT_GEN( | |
52 | INTERRUPT_GEN_MEMBER( | |
54 | 53 | { |
55 | vblank_latch_set( | |
54 | vblank_latch_set( | |
56 | 55 | |
57 | 56 | /* interrupts appear to always be enabled, but they have a manual */ |
58 | 57 | /* acknowledge rather than an automatic ack; they are also not masked */ |
r17996 | r17997 | |
---|---|---|
80 | 80 | } |
81 | 81 | |
82 | 82 | |
83 | INTERRUPT_GEN( | |
83 | INTERRUPT_GEN_MEMBER( | |
84 | 84 | { |
85 | victory_state *state = device->machine().driver_data<victory_state>(); | |
86 | state->m_vblank_irq = 1; | |
85 | m_vblank_irq = 1; | |
87 | 86 | |
88 | victory_update_irq( | |
87 | victory_update_irq( | |
89 | 88 | } |
90 | 89 | |
91 | 90 |
r17996 | r17997 | |
---|---|---|
9 | 9 | #include "includes/esripsys.h" |
10 | 10 | |
11 | 11 | |
12 | INTERRUPT_GEN( | |
12 | INTERRUPT_GEN_MEMBER( | |
13 | 13 | { |
14 | esripsys_state *state = device->machine().driver_data<esripsys_state>(); | |
15 | device->machine().device("game_cpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE); | |
16 | state->m_frame_vbl = 0; | |
14 | machine().device("game_cpu")->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE); | |
15 | m_frame_vbl = 0; | |
17 | 16 | } |
18 | 17 | |
19 | 18 | static TIMER_CALLBACK( hblank_start_callback ) |
r17996 | r17997 | |
---|---|---|
233 | 233 | } |
234 | 234 | |
235 | 235 | |
236 | INTERRUPT_GEN( | |
236 | INTERRUPT_GEN_MEMBER( | |
237 | 237 | { |
238 | exidy440_state *state = device->machine().driver_data<exidy440_state>(); | |
239 | 238 | /* set the FIRQ line on a VBLANK */ |
240 | state->m_firq_vblank = 1; | |
241 | exidy440_update_firq(device->machine()); | |
239 | m_firq_vblank = 1; | |
240 | exidy440_update_firq(machine()); | |
242 | 241 | } |
243 | 242 | |
244 | 243 |
r17996 | r17997 | |
---|---|---|
752 | 752 | return m_pipe_data; |
753 | 753 | } |
754 | 754 | |
755 | INTERRUPT_GEN( | |
755 | INTERRUPT_GEN_MEMBER( | |
756 | 756 | { |
757 | // mc68901_int_gen(device->machine(), GPIP7); | |
758 | micro3d_state *state = device->machine().driver_data<micro3d_state>(); | |
757 | // mc68901_int_gen(machine(), GPIP7); | |
759 | 758 | |
760 | | |
759 | | |
761 | 760 | } |
r17996 | r17997 | |
---|---|---|
65 | 65 | } |
66 | 66 | |
67 | 67 | |
68 | INTERRUPT_GEN( | |
68 | INTERRUPT_GEN_MEMBER( | |
69 | 69 | { |
70 | exidy_state *state = device->machine().driver_data<exidy_state>(); | |
71 | 70 | /* latch the current condition */ |
72 | latch_condition(device->machine(), 0); | |
73 | state->m_int_condition &= ~0x80; | |
71 | latch_condition(machine(), 0); | |
72 | m_int_condition &= ~0x80; | |
74 | 73 | |
75 | 74 | /* set the IRQ line */ |
76 | device | |
75 | device. | |
77 | 76 | } |
78 | 77 | |
79 | 78 |
r17996 | r17997 | |
---|---|---|
32 | 32 | DECLARE_MACHINE_START(tutankhm); |
33 | 33 | DECLARE_MACHINE_RESET(tutankhm); |
34 | 34 | UINT32 screen_update_tutankhm(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
35 | INTERRUPT_GEN_MEMBER(tutankhm_interrupt); | |
35 | 36 | }; |
r17996 | r17997 | |
---|---|---|
88 | 88 | DECLARE_VIDEO_START(m15); |
89 | 89 | UINT32 screen_update_m10(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
90 | 90 | UINT32 screen_update_m15(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
91 | INTERRUPT_GEN_MEMBER(m11_interrupt); | |
92 | INTERRUPT_GEN_MEMBER(m10_interrupt); | |
93 | INTERRUPT_GEN_MEMBER(m15_interrupt); | |
91 | 94 | }; |
92 | 95 |
r17996 | r17997 | |
---|---|---|
41 | 41 | TILE_GET_INFO_MEMBER(get_tx_tile_info); |
42 | 42 | virtual void video_start(); |
43 | 43 | UINT32 screen_update_dynduke(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
44 | INTERRUPT_GEN_MEMBER(dynduke_interrupt); | |
44 | 45 | }; |
r17996 | r17997 | |
---|---|---|
53 | 53 | virtual void machine_reset(); |
54 | 54 | virtual void video_start(); |
55 | 55 | UINT32 screen_update_rng(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
56 | INTERRUPT_GEN_MEMBER(rng_interrupt); | |
57 | INTERRUPT_GEN_MEMBER(audio_interrupt); | |
56 | 58 | }; |
57 | 59 | /*----------- defined in video/rungun.c -----------*/ |
58 | 60 |
r17996 | r17997 | |
---|---|---|
32 | 32 | virtual void machine_reset(); |
33 | 33 | virtual void palette_init(); |
34 | 34 | UINT32 screen_update_skyfox(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
35 | INTERRUPT_GEN_MEMBER(skyfox_interrupt); | |
35 | 36 | }; |
r17996 | r17997 | |
---|---|---|
109 | 109 | DECLARE_MACHINE_START(common); |
110 | 110 | DECLARE_MACHINE_RESET(common); |
111 | 111 | UINT32 screen_update_bublbobl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
112 | INTERRUPT_GEN_MEMBER(bublbobl_m68705_interrupt); | |
112 | 113 | }; |
113 | ||
114 | /*----------- defined in machine/bublbobl.c -----------*/ | |
115 | // for 68705 bootleg | |
116 | INTERRUPT_GEN( bublbobl_m68705_interrupt ); |
r17996 | r17997 | |
---|---|---|
29 | 29 | virtual void video_start(); |
30 | 30 | virtual void palette_init(); |
31 | 31 | UINT32 screen_update_rocnrope(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
32 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
32 | 33 | }; |
r17996 | r17997 | |
---|---|---|
82 | 82 | virtual void machine_reset(); |
83 | 83 | virtual void video_start(); |
84 | 84 | UINT32 screen_update_senjyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
85 | INTERRUPT_GEN_MEMBER(senjyo_interrupt); | |
85 | 86 | }; |
86 | 87 | |
87 | 88 | /*----------- defined in audio/senjyo.c -----------*/ |
r17996 | r17997 | |
---|---|---|
36 | 36 | virtual void video_start(); |
37 | 37 | virtual void palette_init(); |
38 | 38 | UINT32 screen_update_yiear(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
39 | INTERRUPT_GEN_MEMBER(yiear_vblank_interrupt); | |
40 | INTERRUPT_GEN_MEMBER(yiear_nmi_interrupt); | |
39 | 41 | }; |
r17996 | r17997 | |
---|---|---|
26 | 26 | DECLARE_DRIVER_INIT(bradley); |
27 | 27 | virtual void machine_start(); |
28 | 28 | DECLARE_MACHINE_START(redbaron); |
29 | INTERRUPT_GEN_MEMBER(bzone_interrupt); | |
29 | 30 | }; |
30 | 31 | |
31 | 32 |
r17996 | r17997 | |
---|---|---|
111 | 111 | DECLARE_VIDEO_START(nbmj9195_1layer); |
112 | 112 | DECLARE_VIDEO_START(nbmj9195_nb22090); |
113 | 113 | UINT32 screen_update_nbmj9195(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
114 | INTERRUPT_GEN_MEMBER(ctc0_trg1); | |
114 | 115 | }; |
115 | 116 | |
116 | 117 | /*----------- defined in video/nbmj9195.c -----------*/ |
r17996 | r17997 | |
---|---|---|
59 | 59 | DECLARE_DRIVER_INIT(chainrec); |
60 | 60 | virtual void video_start(); |
61 | 61 | UINT32 screen_update_simpl156(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(simpl156_vbl_interrupt); | |
62 | 63 | }; |
r17996 | r17997 | |
---|---|---|
105 | 105 | DECLARE_VIDEO_START(toaplan0); |
106 | 106 | DECLARE_MACHINE_RESET(wardner); |
107 | 107 | UINT32 screen_update_toaplan0(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
108 | INTERRUPT_GEN_MEMBER(twincobr_interrupt); | |
109 | INTERRUPT_GEN_MEMBER(wardner_interrupt); | |
108 | 110 | }; |
109 | 111 | |
110 | 112 | |
111 | 113 | /*----------- defined in machine/twincobr.c -----------*/ |
112 | ||
113 | INTERRUPT_GEN( twincobr_interrupt ); | |
114 | INTERRUPT_GEN( wardner_interrupt ); | |
115 | 114 | extern void twincobr_driver_savestate(running_machine &machine); |
116 | 115 | |
117 | 116 | /*----------- defined in video/twincobr.c -----------*/ |
r17996 | r17997 | |
---|---|---|
29 | 29 | virtual void machine_start(); |
30 | 30 | virtual void machine_reset(); |
31 | 31 | UINT32 screen_update_battlnts(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
32 | INTERRUPT_GEN_MEMBER(battlnts_interrupt); | |
32 | 33 | }; |
33 | 34 | |
34 | 35 | /*----------- defined in video/battlnts.c -----------*/ |
r17996 | r17997 | |
---|---|---|
42 | 42 | virtual void video_start(); |
43 | 43 | virtual void palette_init(); |
44 | 44 | UINT32 screen_update_labyrunr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
45 | INTERRUPT_GEN_MEMBER(labyrunr_vblank_interrupt); | |
46 | INTERRUPT_GEN_MEMBER(labyrunr_timer_interrupt); | |
45 | 47 | }; |
r17996 | r17997 | |
---|---|---|
34 | 34 | DECLARE_DRIVER_INIT(thief); |
35 | 35 | virtual void video_start(); |
36 | 36 | UINT32 screen_update_thief(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
37 | INTERRUPT_GEN_MEMBER(thief_interrupt); | |
37 | 38 | }; |
r17996 | r17997 | |
---|---|---|
66 | 66 | virtual void palette_init(); |
67 | 67 | UINT32 screen_update_sprint2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
68 | 68 | void screen_eof_sprint2(screen_device &screen, bool state); |
69 | INTERRUPT_GEN_MEMBER(sprint2); | |
69 | 70 | }; |
70 | 71 | |
71 | 72 | /*----------- defined in audio/sprint2.c -----------*/ |
r17996 | r17997 | |
---|---|---|
44 | 44 | virtual void machine_reset(); |
45 | 45 | virtual void video_start(); |
46 | 46 | UINT32 screen_update_orbit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
47 | INTERRUPT_GEN_MEMBER(orbit_interrupt); | |
47 | 48 | }; |
48 | 49 | /*----------- defined in audio/orbit.c -----------*/ |
49 | 50 | DECLARE_WRITE8_DEVICE_HANDLER( orbit_note_w ); |
r17996 | r17997 | |
---|---|---|
47 | 47 | DECLARE_DRIVER_INIT(plctr13b); |
48 | 48 | virtual void video_start(); |
49 | 49 | UINT32 screen_update_policetr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(irq4_gen); | |
50 | 51 | }; |
r17996 | r17997 | |
---|---|---|
115 | 115 | DECLARE_MACHINE_RESET(sxx2f); |
116 | 116 | UINT32 screen_update_spi(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
117 | 117 | UINT32 screen_update_sys386f2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
118 | INTERRUPT_GEN_MEMBER(spi_interrupt); | |
118 | 119 | }; |
119 | 120 | /*----------- defined in machine/spisprit.c -----------*/ |
120 | 121 | void seibuspi_sprite_decrypt(UINT8 *src, int romsize); |
r17996 | r17997 | |
---|---|---|
38 | 38 | DECLARE_VIDEO_START(sauro); |
39 | 39 | UINT32 screen_update_trckydoc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
40 | 40 | UINT32 screen_update_sauro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
41 | INTERRUPT_GEN_MEMBER(sauro_interrupt); | |
41 | 42 | }; |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void palette_init(); |
48 | 48 | UINT32 screen_update_gaplus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | 49 | void screen_eof_gaplus(screen_device &screen, bool state); |
50 | INTERRUPT_GEN_MEMBER(gaplus_vblank_main_irq); | |
51 | INTERRUPT_GEN_MEMBER(gaplus_vblank_sub_irq); | |
52 | INTERRUPT_GEN_MEMBER(gaplus_vblank_sub2_irq); | |
50 | 53 | }; |
r17996 | r17997 | |
---|---|---|
35 | 35 | virtual void video_start(); |
36 | 36 | virtual void palette_init(); |
37 | 37 | UINT32 screen_update_drmicro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
38 | INTERRUPT_GEN_MEMBER(drmicro_interrupt); | |
38 | 39 | }; |
r17996 | r17997 | |
---|---|---|
68 | 68 | virtual void palette_init(); |
69 | 69 | UINT32 screen_update_carpolo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
70 | 70 | void screen_eof_carpolo(screen_device &screen, bool state); |
71 | INTERRUPT_GEN_MEMBER(carpolo_timer_interrupt); | |
71 | 72 | }; |
72 | 73 | |
73 | 74 | |
r17996 | r17997 | |
83 | 84 | WRITE_LINE_DEVICE_HANDLER( carpolo_7474_2u_1_q_cb ); |
84 | 85 | WRITE_LINE_DEVICE_HANDLER( carpolo_7474_2u_2_q_cb ); |
85 | 86 | |
86 | INTERRUPT_GEN( carpolo_timer_interrupt ); | |
87 | ||
88 | 87 | void carpolo_generate_car_car_interrupt(running_machine &machine, int car1, int car2); |
89 | 88 | void carpolo_generate_ball_screen_interrupt(running_machine &machine, UINT8 cause); |
90 | 89 | void carpolo_generate_car_goal_interrupt(running_machine &machine, int car, int right_goal); |
r17996 | r17997 | |
---|---|---|
107 | 107 | UINT32 screen_update_system1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
108 | 108 | UINT32 screen_update_system2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
109 | 109 | UINT32 screen_update_system2_rowscroll(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
110 | INTERRUPT_GEN_MEMBER(mcu_irq_assert); | |
110 | 111 | }; |
111 | 112 | |
112 | 113 |
r17996 | r17997 | |
---|---|---|
80 | 80 | virtual void machine_reset(); |
81 | 81 | virtual void video_start(); |
82 | 82 | UINT32 screen_update_niyanpai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
83 | INTERRUPT_GEN_MEMBER(niyanpai_interrupt); | |
83 | 84 | }; |
r17996 | r17997 | |
---|---|---|
71 | 71 | DECLARE_VIDEO_START(seta2_xoffset); |
72 | 72 | UINT32 screen_update_seta2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
73 | 73 | void screen_eof_seta2(screen_device &screen, bool state); |
74 | INTERRUPT_GEN_MEMBER(seta2_interrupt); | |
75 | INTERRUPT_GEN_MEMBER(samshoot_interrupt); | |
76 | INTERRUPT_GEN_MEMBER(funcube_sub_timer_irq); | |
74 | 77 | }; |
r17996 | r17997 | |
---|---|---|
39 | 39 | virtual void machine_reset(); |
40 | 40 | virtual void video_start(); |
41 | 41 | UINT32 screen_update_flkatck(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(flkatck_interrupt); | |
42 | 43 | }; |
r17996 | r17997 | |
---|---|---|
471 | 471 | UINT32 screen_update_jantouki_top(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
472 | 472 | UINT32 screen_update_jantouki_bottom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
473 | 473 | UINT32 screen_update_htengoku(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
474 | INTERRUPT_GEN_MEMBER(sprtmtch_vblank_interrupt); | |
475 | INTERRUPT_GEN_MEMBER(jantouki_vblank_interrupt); | |
476 | INTERRUPT_GEN_MEMBER(jantouki_sound_vblank_interrupt); | |
477 | INTERRUPT_GEN_MEMBER(yarunara_clock_interrupt); | |
478 | INTERRUPT_GEN_MEMBER(mjelctrn_vblank_interrupt); | |
474 | 479 | }; |
475 | 480 | |
476 | 481 | //----------- defined in drivers/dynax.c ----------- |
r17996 | r17997 | |
---|---|---|
61 | 61 | virtual void video_start(); |
62 | 62 | virtual void palette_init(); |
63 | 63 | UINT32 screen_update_contra(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
64 | INTERRUPT_GEN_MEMBER(contra_interrupt); | |
64 | 65 | }; |
r17996 | r17997 | |
---|---|---|
54 | 54 | UINT32 screen_update_paradise(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | 55 | UINT32 screen_update_torus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
56 | 56 | UINT32 screen_update_madball(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
57 | INTERRUPT_GEN_MEMBER(paradise_irq); | |
57 | 58 | }; |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void machine_reset(); |
48 | 48 | virtual void palette_init(); |
49 | 49 | UINT32 screen_update_dribling(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(dribling_irq_gen); | |
50 | 51 | }; |
r17996 | r17997 | |
---|---|---|
193 | 193 | virtual void machine_reset(); |
194 | 194 | virtual void video_start(); |
195 | 195 | UINT32 screen_update_balsente(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
196 | INTERRUPT_GEN_MEMBER(balsente_update_analog_inputs); | |
196 | 197 | }; |
197 | 198 | |
198 | 199 | |
r17996 | r17997 | |
202 | 203 | |
203 | 204 | void balsente_noise_gen(device_t *device, int count, short *buffer); |
204 | 205 | |
205 | INTERRUPT_GEN( balsente_update_analog_inputs ); | |
206 | ||
207 | 206 | TIMER_DEVICE_CALLBACK( balsente_counter_callback ); |
208 | 207 | |
209 | 208 | TIMER_DEVICE_CALLBACK( balsente_clock_counter_0_ff ); |
r17996 | r17997 | |
---|---|---|
158 | 158 | virtual void video_start(); |
159 | 159 | DECLARE_MACHINE_RESET(drivedge); |
160 | 160 | UINT32 screen_update_itech32(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
161 | INTERRUPT_GEN_MEMBER(generate_int1); | |
161 | 162 | }; |
162 | 163 | |
163 | 164 | /*----------- defined in drivers/itech32.c -----------*/ |
r17996 | r17997 | |
---|---|---|
55 | 55 | virtual void machine_reset(); |
56 | 56 | UINT32 screen_update_mexico86(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
57 | 57 | UINT32 screen_update_kikikai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
58 | INTERRUPT_GEN_MEMBER(kikikai_interrupt); | |
59 | INTERRUPT_GEN_MEMBER(mexico86_m68705_interrupt); | |
58 | 60 | }; |
59 | ||
60 | /*----------- defined in machine/mexico86.c -----------*/ | |
61 | INTERRUPT_GEN( kikikai_interrupt ); | |
62 | INTERRUPT_GEN( mexico86_m68705_interrupt ); |
r17996 | r17997 | |
---|---|---|
62 | 62 | virtual void machine_reset(); |
63 | 63 | virtual void video_start(); |
64 | 64 | UINT32 screen_update_fitfight(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | INTERRUPT_GEN_MEMBER(snd_irq); | |
65 | 66 | }; |
r17996 | r17997 | |
---|---|---|
60 | 60 | virtual void video_start(); |
61 | 61 | virtual void palette_init(); |
62 | 62 | UINT32 screen_update_ddribble(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
63 | INTERRUPT_GEN_MEMBER(ddribble_interrupt_0); | |
64 | INTERRUPT_GEN_MEMBER(ddribble_interrupt_1); | |
63 | 65 | }; |
r17996 | r17997 | |
---|---|---|
36 | 36 | virtual void machine_reset(); |
37 | 37 | virtual void palette_init(); |
38 | 38 | UINT32 screen_update_mouser(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
39 | INTERRUPT_GEN_MEMBER(mouser_nmi_interrupt); | |
40 | INTERRUPT_GEN_MEMBER(mouser_sound_nmi_assert); | |
39 | 41 | }; |
r17996 | r17997 | |
---|---|---|
45 | 45 | virtual void video_start(); |
46 | 46 | UINT32 screen_update_undrfire(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
47 | 47 | UINT32 screen_update_cbombers(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
48 | INTERRUPT_GEN_MEMBER(undrfire_interrupt); | |
48 | 49 | }; |
r17996 | r17997 | |
---|---|---|
109 | 109 | UINT32 screen_update_fghthist(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
110 | 110 | UINT32 screen_update_nslasher(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
111 | 111 | void screen_eof_captaven(screen_device &screen, bool state); |
112 | INTERRUPT_GEN_MEMBER(deco32_vbl_interrupt); | |
112 | 113 | }; |
113 | 114 | |
114 | 115 | class dragngun_state : public deco32_state |
r17996 | r17997 | |
---|---|---|
110 | 110 | DECLARE_WRITE16_MEMBER(vertigo_pit8254_lsb_w); |
111 | 111 | virtual void machine_start(); |
112 | 112 | virtual void machine_reset(); |
113 | INTERRUPT_GEN_MEMBER(vertigo_interrupt); | |
113 | 114 | }; |
114 | 115 | |
115 | 116 | /*----------- defined in machine/vertigo.c -----------*/ |
r17996 | r17997 | |
118 | 119 | |
119 | 120 | extern const struct pit8253_config vertigo_pit8254_config; |
120 | 121 | |
121 | INTERRUPT_GEN( vertigo_interrupt ); | |
122 | ||
123 | 122 | /*----------- defined in video/vertigo.c -----------*/ |
124 | 123 | |
125 | 124 | void vertigo_vproc_init(running_machine &machine); |
r17996 | r17997 | |
---|---|---|
58 | 58 | DECLARE_VIDEO_START(midzeus2); |
59 | 59 | UINT32 screen_update_midzeus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
60 | 60 | UINT32 screen_update_midzeus2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
61 | INTERRUPT_GEN_MEMBER(display_irq); | |
61 | 62 | }; |
62 | 63 | |
63 | 64 | /*----------- defined in video/midzeus2.c -----------*/ |
r17996 | r17997 | |
---|---|---|
72 | 72 | virtual void video_start(); |
73 | 73 | virtual void palette_init(); |
74 | 74 | UINT32 screen_update_grchamp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
75 | INTERRUPT_GEN_MEMBER(grchamp_cpu0_interrupt); | |
76 | INTERRUPT_GEN_MEMBER(grchamp_cpu1_interrupt); | |
75 | 77 | }; |
76 | 78 | |
77 | 79 | /* Discrete Sound Input Nodes */ |
r17996 | r17997 | |
---|---|---|
72 | 72 | UINT32 screen_update_futspy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
73 | 73 | UINT32 screen_update_razmataz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
74 | 74 | UINT32 screen_update_congo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
75 | INTERRUPT_GEN_MEMBER(vblank_int); | |
75 | 76 | }; |
76 | 77 | |
77 | 78 |
r17996 | r17997 | |
---|---|---|
66 | 66 | DECLARE_PALETTE_INIT(trackfld); |
67 | 67 | DECLARE_VIDEO_START(atlantol); |
68 | 68 | UINT32 screen_update_trackfld(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
69 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
70 | INTERRUPT_GEN_MEMBER(vblank_nmi); | |
71 | INTERRUPT_GEN_MEMBER(yieartf_timer_irq); | |
69 | 72 | }; |
r17996 | r17997 | |
---|---|---|
63 | 63 | DECLARE_VIDEO_START(imago); |
64 | 64 | UINT32 screen_update_fastfred(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | 65 | UINT32 screen_update_imago(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
66 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
67 | INTERRUPT_GEN_MEMBER(sound_timer_irq); | |
66 | 68 | }; |
67 | 69 | |
68 | 70 | /*----------- defined in video/fastfred.c -----------*/ |
r17996 | r17997 | |
---|---|---|
58 | 58 | DECLARE_VIDEO_START(karnov); |
59 | 59 | DECLARE_VIDEO_START(wndrplnt); |
60 | 60 | UINT32 screen_update_karnov(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
61 | INTERRUPT_GEN_MEMBER(karnov_interrupt); | |
61 | 62 | }; |
62 | 63 | |
63 | 64 | enum { |
r17996 | r17997 | |
---|---|---|
60 | 60 | DECLARE_VIDEO_START(avengers); |
61 | 61 | UINT32 screen_update_lwings(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | 62 | UINT32 screen_update_trojan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
63 | INTERRUPT_GEN_MEMBER(lwings_interrupt); | |
64 | INTERRUPT_GEN_MEMBER(avengers_interrupt); | |
63 | 65 | }; |
r17996 | r17997 | |
---|---|---|
67 | 67 | UINT32 screen_update_punchout_bottom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
68 | 68 | UINT32 screen_update_armwrest_top(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
69 | 69 | UINT32 screen_update_armwrest_bottom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
70 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
70 | 71 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void video_start(); |
44 | 44 | virtual void palette_init(); |
45 | 45 | UINT32 screen_update_kopunch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(kopunch_interrupt); | |
46 | 47 | }; |
r17996 | r17997 | |
---|---|---|
70 | 70 | UINT32 screen_update_swimmer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
71 | 71 | UINT32 screen_update_yamato(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
72 | 72 | UINT32 screen_update_toprollr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
73 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
73 | 74 | }; |
r17996 | r17997 | |
---|---|---|
256 | 256 | UINT32 screen_update_dkong(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
257 | 257 | UINT32 screen_update_pestplce(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
258 | 258 | UINT32 screen_update_spclforc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
259 | INTERRUPT_GEN_MEMBER(s2650_interrupt); | |
260 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
259 | 261 | }; |
260 | 262 | |
261 | 263 | /*----------- defined in audio/dkong.c -----------*/ |
r17996 | r17997 | |
---|---|---|
52 | 52 | DECLARE_PALETTE_INIT(robowres); |
53 | 53 | UINT32 screen_update_appoooh(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | 54 | UINT32 screen_update_robowres(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
55 | 56 | }; |
56 | 57 | |
57 | 58 | #define CHR1_OFST 0x00 /* palette page of char set #1 */ |
r17996 | r17997 | |
---|---|---|
39 | 39 | virtual void machine_reset(); |
40 | 40 | virtual void video_start(); |
41 | 41 | UINT32 screen_update_aliens(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(aliens_interrupt); | |
42 | 43 | }; |
43 | 44 | |
44 | 45 | /*----------- defined in video/aliens.c -----------*/ |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void machine_start(); |
48 | 48 | virtual void machine_reset(); |
49 | 49 | UINT32 screen_update_88games(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(k88games_interrupt); | |
50 | 51 | }; |
51 | 52 | |
52 | 53 | /*----------- defined in video/88games.c -----------*/ |
r17996 | r17997 | |
---|---|---|
147 | 147 | UINT32 screen_update_magical(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
148 | 148 | UINT32 screen_update_amcoe1a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
149 | 149 | UINT32 screen_update_unkch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
150 | INTERRUPT_GEN_MEMBER(lucky8_irq); | |
150 | 151 | }; |
r17996 | r17997 | |
---|---|---|
55 | 55 | virtual void machine_start(); |
56 | 56 | virtual void machine_reset(); |
57 | 57 | UINT32 screen_update_20pacgal(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
58 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
58 | 59 | }; |
59 | 60 | |
60 | 61 |
r17996 | r17997 | |
---|---|---|
30 | 30 | virtual void video_start(); |
31 | 31 | virtual void palette_init(); |
32 | 32 | UINT32 screen_update_seicross(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
33 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
33 | 34 | }; |
r17996 | r17997 | |
---|---|---|
193 | 193 | UINT32 screen_update_system18old(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
194 | 194 | UINT32 screen_update_s16a_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
195 | 195 | UINT32 screen_update_s16a_bootleg_passht4b(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
196 | INTERRUPT_GEN_MEMBER(sys16_interrupt); | |
196 | 197 | }; |
r17996 | r17997 | |
---|---|---|
40 | 40 | UINT32 screen_update_redalert(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
41 | 41 | UINT32 screen_update_demoneye(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
42 | 42 | UINT32 screen_update_panther(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(redalert_vblank_interrupt); | |
43 | 44 | }; |
44 | 45 | /*----------- defined in audio/redalert.c -----------*/ |
45 | 46 |
r17996 | r17997 | |
---|---|---|
40 | 40 | virtual void machine_start(); |
41 | 41 | virtual void machine_reset(); |
42 | 42 | UINT32 screen_update_simpsons(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(simpsons_irq); | |
43 | 44 | }; |
44 | 45 | |
45 | 46 | /*----------- defined in machine/simpsons.c -----------*/ |
r17996 | r17997 | |
---|---|---|
73 | 73 | UINT32 screen_update_taitob(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
74 | 74 | UINT32 screen_update_realpunc(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
75 | 75 | void screen_eof_taitob(screen_device &screen, bool state); |
76 | INTERRUPT_GEN_MEMBER(rastansaga2_interrupt); | |
77 | INTERRUPT_GEN_MEMBER(crimec_interrupt); | |
78 | INTERRUPT_GEN_MEMBER(hitice_interrupt); | |
79 | INTERRUPT_GEN_MEMBER(rambo3_interrupt); | |
80 | INTERRUPT_GEN_MEMBER(pbobble_interrupt); | |
81 | INTERRUPT_GEN_MEMBER(viofight_interrupt); | |
82 | INTERRUPT_GEN_MEMBER(masterw_interrupt); | |
83 | INTERRUPT_GEN_MEMBER(silentd_interrupt); | |
84 | INTERRUPT_GEN_MEMBER(selfeena_interrupt); | |
85 | INTERRUPT_GEN_MEMBER(sbm_interrupt); | |
86 | INTERRUPT_GEN_MEMBER(realpunc_interrupt); | |
76 | 87 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void video_start(); |
44 | 44 | virtual void palette_init(); |
45 | 45 | UINT32 screen_update_jackal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(jackal_interrupt); | |
46 | 47 | }; |
47 | 48 | |
48 | 49 | /*----------- defined in video/jackal.c -----------*/ |
r17996 | r17997 | |
---|---|---|
39 | 39 | DECLARE_MACHINE_START(qdrmfgp2); |
40 | 40 | DECLARE_VIDEO_START(qdrmfgp2); |
41 | 41 | UINT32 screen_update_qdrmfgp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(qdrmfgp2_interrupt); | |
42 | 43 | }; |
43 | 44 | |
44 | 45 | /*----------- defined in video/qdrmfgp.c -----------*/ |
r17996 | r17997 | |
---|---|---|
213 | 213 | UINT32 screen_update_fcrash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
214 | 214 | UINT32 screen_update_kodb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
215 | 215 | void screen_eof_cps1(screen_device &screen, bool state); |
216 | INTERRUPT_GEN_MEMBER(cps1_interrupt); | |
217 | INTERRUPT_GEN_MEMBER(cps1_qsound_interrupt); | |
216 | 218 | }; |
217 | 219 | |
218 | 220 | /*----------- defined in drivers/cps1.c -----------*/ |
219 | 221 | |
220 | 222 | ADDRESS_MAP_EXTERN( qsound_sub_map, 8 ); |
221 | 223 | |
222 | INTERRUPT_GEN( cps1_interrupt ); | |
223 | ||
224 | 224 | GFXDECODE_EXTERN( cps1 ); |
225 | 225 | |
226 | 226 |
r17996 | r17997 | |
---|---|---|
51 | 51 | UINT32 screen_update_wiz(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
52 | 52 | UINT32 screen_update_stinger(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
53 | 53 | UINT32 screen_update_kungfut(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | INTERRUPT_GEN_MEMBER(wiz_vblank_interrupt); | |
55 | INTERRUPT_GEN_MEMBER(wiz_sound_interrupt); | |
54 | 56 | }; |
r17996 | r17997 | |
---|---|---|
60 | 60 | DECLARE_VIDEO_START(stactics); |
61 | 61 | DECLARE_PALETTE_INIT(stactics); |
62 | 62 | UINT32 screen_update_stactics(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
63 | INTERRUPT_GEN_MEMBER(stactics_interrupt); | |
63 | 64 | }; |
64 | 65 | /*----------- defined in video/stactics.c -----------*/ |
65 | 66 | MACHINE_CONFIG_EXTERN( stactics_video ); |
r17996 | r17997 | |
---|---|---|
79 | 79 | DECLARE_PALETTE_INIT(rougien); |
80 | 80 | UINT32 screen_update_mermaid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
81 | 81 | void screen_eof_mermaid(screen_device &screen, bool state); |
82 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
82 | 83 | }; |
r17996 | r17997 | |
---|---|---|
116 | 116 | DECLARE_MACHINE_RESET(gaelco3d2); |
117 | 117 | DECLARE_MACHINE_RESET(common); |
118 | 118 | UINT32 screen_update_gaelco3d(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
119 | INTERRUPT_GEN_MEMBER(vblank_gen); | |
119 | 120 | }; |
120 | 121 | |
121 | 122 | /*----------- defined in video/gaelco3d.c -----------*/ |
r17996 | r17997 | |
---|---|---|
75 | 75 | DECLARE_VIDEO_START(kickgoal); |
76 | 76 | DECLARE_VIDEO_START(actionhw); |
77 | 77 | UINT32 screen_update_kickgoal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
78 | INTERRUPT_GEN_MEMBER(kickgoal_interrupt); | |
78 | 79 | }; |
r17996 | r17997 | |
---|---|---|
224 | 224 | DECLARE_PALETTE_INIT(moonwar); |
225 | 225 | void tenspot_set_game_bank(running_machine& machine, int bank, int from_game); |
226 | 226 | UINT32 screen_update_galaxian(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
227 | INTERRUPT_GEN_MEMBER(interrupt_gen); | |
228 | INTERRUPT_GEN_MEMBER(fakechange_interrupt_gen); | |
227 | 229 | }; |
228 | 230 | |
229 | 231 |
r17996 | r17997 | |
---|---|---|
94 | 94 | UINT32 screen_update_slikshot(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
95 | 95 | UINT32 screen_update_itech8_2page(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
96 | 96 | UINT32 screen_update_itech8_2page_large(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
97 | INTERRUPT_GEN_MEMBER(generate_nmi); | |
97 | 98 | }; |
98 | 99 | |
99 | 100 |
r17996 | r17997 | |
---|---|---|
77 | 77 | DECLARE_VIDEO_START(namconb2); |
78 | 78 | UINT32 screen_update_namconb1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
79 | 79 | UINT32 screen_update_namconb2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
80 | INTERRUPT_GEN_MEMBER(namconb1_interrupt); | |
81 | INTERRUPT_GEN_MEMBER(namconb2_interrupt); | |
80 | 82 | }; |
r17996 | r17997 | |
---|---|---|
22 | 22 | DECLARE_WRITE8_MEMBER(wiping_flipscreen_w); |
23 | 23 | virtual void palette_init(); |
24 | 24 | UINT32 screen_update_wiping(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
25 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
26 | INTERRUPT_GEN_MEMBER(sound_timer_irq); | |
25 | 27 | }; |
r17996 | r17997 | |
---|---|---|
59 | 59 | virtual void machine_reset(); |
60 | 60 | virtual void video_start(); |
61 | 61 | UINT32 screen_update_kyugo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
62 | 63 | }; |
63 | 64 |
r17996 | r17997 | |
---|---|---|
142 | 142 | DECLARE_VIDEO_START(ataxx); |
143 | 143 | UINT32 screen_update_leland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
144 | 144 | UINT32 screen_update_ataxx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
145 | INTERRUPT_GEN_MEMBER(leland_master_interrupt); | |
145 | 146 | }; |
146 | 147 | |
147 | 148 | |
r17996 | r17997 | |
153 | 154 | #define SERIAL_TYPE_ENCRYPT 3 |
154 | 155 | #define SERIAL_TYPE_ENCRYPT_XOR 4 |
155 | 156 | |
156 | ||
157 | ||
158 | ||
159 | ||
160 | ||
161 | ||
162 | ||
163 | ||
164 | ||
165 | ||
166 | ||
167 | ||
168 | INTERRUPT_GEN( leland_master_interrupt ); | |
169 | ||
170 | 157 | void cerberus_bankswitch(running_machine &machine); |
171 | 158 | void mayhem_bankswitch(running_machine &machine); |
172 | 159 | void dangerz_bankswitch(running_machine &machine); |
r17996 | r17997 | |
---|---|---|
41 | 41 | DECLARE_VIDEO_START(popeye); |
42 | 42 | DECLARE_PALETTE_INIT(popeyebl); |
43 | 43 | UINT32 screen_update_popeye(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
44 | INTERRUPT_GEN_MEMBER(popeye_interrupt); | |
44 | 45 | }; |
r17996 | r17997 | |
---|---|---|
27 | 27 | virtual void video_start(); |
28 | 28 | virtual void palette_init(); |
29 | 29 | UINT32 screen_update_blockade(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
30 | INTERRUPT_GEN_MEMBER(blockade_interrupt); | |
30 | 31 | }; |
31 | 32 | |
32 | 33 | /*----------- defined in audio/blockade.c -----------*/ |
r17996 | r17997 | |
---|---|---|
52 | 52 | virtual void palette_init(); |
53 | 53 | DECLARE_VIDEO_START(netwars); |
54 | 54 | UINT32 screen_update_espial(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(espial_sound_nmi_gen); | |
55 | 56 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void palette_init(); |
44 | 44 | DECLARE_VIDEO_START(roadf); |
45 | 45 | UINT32 screen_update_hyperspt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
46 | 47 | }; |
r17996 | r17997 | |
---|---|---|
143 | 143 | void screen_eof_rallybik(screen_device &screen, bool state); |
144 | 144 | void screen_eof_toaplan1(screen_device &screen, bool state); |
145 | 145 | void screen_eof_samesame(screen_device &screen, bool state); |
146 | INTERRUPT_GEN_MEMBER(toaplan1_interrupt); | |
146 | 147 | }; |
147 | 148 | |
148 | 149 | |
149 | 150 | /*----------- defined in machine/toaplan1.c -----------*/ |
150 | ||
151 | INTERRUPT_GEN( toaplan1_interrupt ); | |
152 | 151 | void toaplan1_driver_savestate(running_machine &machine); |
153 | 152 | void demonwld_driver_savestate(running_machine &machine); |
154 | 153 | void vimana_driver_savestate(running_machine &machine); |
r17996 | r17997 | |
---|---|---|
99 | 99 | virtual void machine_start(); |
100 | 100 | virtual void video_start(); |
101 | 101 | UINT32 screen_update_segag80r(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
102 | INTERRUPT_GEN_MEMBER(segag80r_vblank_start); | |
103 | INTERRUPT_GEN_MEMBER(sindbadm_vblank_start); | |
102 | 104 | }; |
103 | 105 | |
104 | 106 | |
r17996 | r17997 | |
116 | 118 | #define G80_BACKGROUND_MONSTERB 2 |
117 | 119 | #define G80_BACKGROUND_PIGNEWT 3 |
118 | 120 | #define G80_BACKGROUND_SINDBADM 4 |
119 | ||
120 | INTERRUPT_GEN( segag80r_vblank_start ); | |
121 | INTERRUPT_GEN( sindbadm_vblank_start ); |
r17996 | r17997 | |
---|---|---|
140 | 140 | UINT32 screen_update_tmnt2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
141 | 141 | UINT32 screen_update_thndrx2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
142 | 142 | void screen_eof_blswhstl(screen_device &screen, bool state); |
143 | INTERRUPT_GEN_MEMBER(cuebrick_interrupt); | |
144 | INTERRUPT_GEN_MEMBER(punkshot_interrupt); | |
145 | INTERRUPT_GEN_MEMBER(lgtnfght_interrupt); | |
146 | INTERRUPT_GEN_MEMBER(tmnt_vblank_irq); | |
143 | 147 | }; |
144 | 148 | |
145 | 149 |
r17996 | r17997 | |
---|---|---|
149 | 149 | DECLARE_MACHINE_RESET(xsedae); |
150 | 150 | DECLARE_MACHINE_RESET(raidendx); |
151 | 151 | UINT32 screen_update_raiden2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
152 | INTERRUPT_GEN_MEMBER(raiden2_interrupt); | |
152 | 153 | }; |
153 | 154 | |
154 | 155 | /*----------- defined in machine/r2crypt.c -----------*/ |
r17996 | r17997 | |
---|---|---|
67 | 67 | TILE_GET_INFO_MEMBER(get_bg_tile_info); |
68 | 68 | TILE_GET_INFO_MEMBER(get_fg_tile_info); |
69 | 69 | DECLARE_PALETTE_INIT(zodiack); |
70 | INTERRUPT_GEN_MEMBER(zodiack_sound_nmi_gen); | |
70 | 71 | }; |
71 | 72 | |
72 | 73 | class percuss_state : public zodiack_state |
r17996 | r17997 | |
---|---|---|
161 | 161 | virtual void video_start(); |
162 | 162 | UINT32 screen_update_taitojc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
163 | 163 | UINT32 screen_update_dendego(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
164 | INTERRUPT_GEN_MEMBER(taitojc_vblank); | |
164 | 165 | }; |
165 | 166 | |
166 | 167 |
r17996 | r17997 | |
---|---|---|
52 | 52 | virtual void video_start(); |
53 | 53 | virtual void palette_init(); |
54 | 54 | UINT32 screen_update_pitnrun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(pitnrun_nmi_source); | |
55 | 56 | }; |
r17996 | r17997 | |
---|---|---|
41 | 41 | virtual void video_start(); |
42 | 42 | virtual void palette_init(); |
43 | 43 | UINT32 screen_update_suprridr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
44 | INTERRUPT_GEN_MEMBER(main_nmi_gen); | |
44 | 45 | }; |
45 | 46 | |
46 | 47 | /*----------- defined in video/suprridr.c -----------*/ |
r17996 | r17997 | |
---|---|---|
45 | 45 | virtual void machine_reset(); |
46 | 46 | virtual void video_start(); |
47 | 47 | UINT32 screen_update_spy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
48 | INTERRUPT_GEN_MEMBER(spy_interrupt); | |
48 | 49 | }; |
49 | 50 | |
50 | 51 | /*----------- defined in video/spy.c -----------*/ |
r17996 | r17997 | |
---|---|---|
70 | 70 | DECLARE_VIDEO_START(common); |
71 | 71 | UINT32 screen_update_gameplan(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
72 | 72 | UINT32 screen_update_leprechn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
73 | INTERRUPT_GEN_MEMBER(trvquest_interrupt); | |
73 | 74 | }; |
74 | 75 | |
75 | 76 | /*----------- defined in video/gameplan.c -----------*/ |
r17996 | r17997 | |
---|---|---|
41 | 41 | virtual void machine_reset(); |
42 | 42 | virtual void video_start(); |
43 | 43 | UINT32 screen_update_capbowl(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
44 | INTERRUPT_GEN_MEMBER(capbowl_interrupt); | |
44 | 45 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void video_start(); |
44 | 44 | virtual void palette_init(); |
45 | 45 | UINT32 screen_update_sbasketb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
46 | 47 | }; |
r17996 | r17997 | |
---|---|---|
36 | 36 | virtual void machine_reset(); |
37 | 37 | virtual void video_start(); |
38 | 38 | UINT32 screen_update_battlex(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
39 | INTERRUPT_GEN_MEMBER(battlex_interrupt); | |
39 | 40 | }; |
r17996 | r17997 | |
---|---|---|
106 | 106 | virtual void machine_reset(); |
107 | 107 | virtual void video_start(); |
108 | 108 | UINT32 screen_update_cps3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
109 | INTERRUPT_GEN_MEMBER(cps3_vbl_interrupt); | |
110 | INTERRUPT_GEN_MEMBER(cps3_other_interrupt); | |
109 | 111 | }; |
110 | 112 | |
111 | 113 |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void machine_reset(); |
48 | 48 | virtual void video_start(); |
49 | 49 | UINT32 screen_update_glass(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(glass_interrupt); | |
50 | 51 | }; |
r17996 | r17997 | |
---|---|---|
29 | 29 | DECLARE_WRITE8_MEMBER(gfx_rom_intf_w); |
30 | 30 | DECLARE_READ8_MEMBER(gfx_rom_r); |
31 | 31 | virtual void machine_start(); |
32 | INTERRUPT_GEN_MEMBER(update_pia_1); | |
32 | 33 | }; |
33 | 34 | |
34 | 35 | /*----------- defined in audio/spiders.c -----------*/ |
r17996 | r17997 | |
---|---|---|
127 | 127 | UINT32 screen_update_toaplan2_dual(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
128 | 128 | UINT32 screen_update_toaplan2_mixed(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
129 | 129 | void screen_eof_toaplan2(screen_device &screen, bool state); |
130 | INTERRUPT_GEN_MEMBER(toaplan2_vblank_irq1); | |
131 | INTERRUPT_GEN_MEMBER(toaplan2_vblank_irq2); | |
132 | INTERRUPT_GEN_MEMBER(toaplan2_vblank_irq4); | |
133 | INTERRUPT_GEN_MEMBER(bbakraid_snd_interrupt); | |
130 | 134 | }; |
r17996 | r17997 | |
---|---|---|
29 | 29 | TILE_GET_INFO_MEMBER(get_tile_info); |
30 | 30 | virtual void video_start(); |
31 | 31 | UINT32 screen_update_mjkjidai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
32 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
32 | 33 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void video_start(); |
44 | 44 | virtual void palette_init(); |
45 | 45 | UINT32 screen_update_jailbrek(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(jb_interrupt); | |
47 | INTERRUPT_GEN_MEMBER(jb_interrupt_nmi); | |
46 | 48 | }; |
47 | 49 |
r17996 | r17997 | |
---|---|---|
78 | 78 | DECLARE_VIDEO_START(hotchase); |
79 | 79 | UINT32 screen_update_wecleman(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
80 | 80 | UINT32 screen_update_hotchase(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
81 | INTERRUPT_GEN_MEMBER(hotchase_sound_timer); | |
81 | 82 | }; |
82 | 83 | |
83 | 84 | /*----------- defined in video/wecleman.c -----------*/ |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void video_start(); |
44 | 44 | virtual void palette_init(); |
45 | 45 | UINT32 screen_update_tankbust(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
46 | 47 | }; |
r17996 | r17997 | |
---|---|---|
39 | 39 | virtual void video_start(); |
40 | 40 | virtual void palette_init(); |
41 | 41 | UINT32 screen_update_bankp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
42 | 43 | }; |
r17996 | r17997 | |
---|---|---|
37 | 37 | virtual void video_start(); |
38 | 38 | virtual void palette_init(); |
39 | 39 | UINT32 screen_update_crbaloon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
40 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
40 | 41 | }; |
41 | 42 | |
42 | 43 |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void video_start(); |
48 | 48 | virtual void palette_init(); |
49 | 49 | UINT32 screen_update_mnchmobl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(mnchmobl_vblank_irq); | |
51 | INTERRUPT_GEN_MEMBER(mnchmobl_sound_irq); | |
50 | 52 | }; |
r17996 | r17997 | |
---|---|---|
48 | 48 | DECLARE_CUSTOM_INPUT_MEMBER(coin_word_r); |
49 | 49 | virtual void video_start(); |
50 | 50 | UINT32 screen_update_galastrm(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
51 | INTERRUPT_GEN_MEMBER(galastrm_interrupt); | |
51 | 52 | }; |
r17996 | r17997 | |
---|---|---|
104 | 104 | UINT32 screen_update_alpha68k_II(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
105 | 105 | UINT32 screen_update_alpha68k_V(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
106 | 106 | UINT32 screen_update_alpha68k_V_sb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
107 | INTERRUPT_GEN_MEMBER(alpha68k_sound_nmi); | |
107 | 108 | }; |
108 | 109 | |
109 | 110 | /* game_id - used to deal with a few game specific situations */ |
r17996 | r17997 | |
---|---|---|
51 | 51 | UINT32 screen_update_pbillrd(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
52 | 52 | UINT32 screen_update_freekick(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
53 | 53 | UINT32 screen_update_gigas(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | INTERRUPT_GEN_MEMBER(freekick_irqgen); | |
54 | 55 | }; |
r17996 | r17997 | |
---|---|---|
256 | 256 | DECLARE_VIDEO_START(common); |
257 | 257 | UINT32 screen_update_namcos22s(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
258 | 258 | UINT32 screen_update_namcos22(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
259 | INTERRUPT_GEN_MEMBER(namcos22s_interrupt); | |
260 | INTERRUPT_GEN_MEMBER(namcos22_interrupt); | |
259 | 261 | }; |
260 | 262 | |
261 | 263 | /*----------- defined in video/namcos22.c -----------*/ |
r17996 | r17997 | |
---|---|---|
178 | 178 | DECLARE_VIDEO_START(dambustr); |
179 | 179 | UINT32 screen_update_galaxold(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
180 | 180 | UINT32 screen_update_dambustr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
181 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
182 | INTERRUPT_GEN_MEMBER(hunchbks_vh_interrupt); | |
181 | 183 | }; |
182 | 184 | |
183 | 185 | /*----------- defined in video/galaxold.c -----------*/ |
r17996 | r17997 | |
193 | 195 | |
194 | 196 | #define galaxold_coin_counter_0_w galaxold_coin_counter_w |
195 | 197 | |
196 | INTERRUPT_GEN( hunchbks_vh_interrupt ); | |
197 | ||
198 | 198 | #endif |
r17996 | r17997 | |
---|---|---|
69 | 69 | virtual void video_start(); |
70 | 70 | DECLARE_VIDEO_START(wgp2); |
71 | 71 | UINT32 screen_update_wgp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
72 | INTERRUPT_GEN_MEMBER(wgp_cpub_interrupt); | |
72 | 73 | }; |
r17996 | r17997 | |
---|---|---|
64 | 64 | UINT32 screen_update_tceptor_3d_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | 65 | UINT32 screen_update_tceptor_3d_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
66 | 66 | void screen_eof_tceptor(screen_device &screen, bool state); |
67 | INTERRUPT_GEN_MEMBER(m6809_vb_interrupt); | |
68 | INTERRUPT_GEN_MEMBER(m68k_vb_interrupt); | |
69 | INTERRUPT_GEN_MEMBER(mcu_vb_interrupt); | |
67 | 70 | }; |
r17996 | r17997 | |
---|---|---|
162 | 162 | DECLARE_VIDEO_START(blzntrnd); |
163 | 163 | DECLARE_VIDEO_START(gstrik2); |
164 | 164 | UINT32 screen_update_metro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
165 | INTERRUPT_GEN_MEMBER(metro_vblank_interrupt); | |
166 | INTERRUPT_GEN_MEMBER(metro_periodic_interrupt); | |
167 | INTERRUPT_GEN_MEMBER(karatour_interrupt); | |
168 | INTERRUPT_GEN_MEMBER(puzzlet_interrupt); | |
165 | 169 | }; |
166 | 170 | |
167 | 171 |
r17996 | r17997 | |
---|---|---|
58 | 58 | virtual void video_start(); |
59 | 59 | virtual void palette_init(); |
60 | 60 | UINT32 screen_update_circusc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
61 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
61 | 62 | }; |
r17996 | r17997 | |
---|---|---|
44 | 44 | virtual void video_start(); |
45 | 45 | virtual void palette_init(); |
46 | 46 | UINT32 screen_update_mikie(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
47 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
47 | 48 | }; |
r17996 | r17997 | |
---|---|---|
27 | 27 | DECLARE_WRITE16_MEMBER(namcond1_cuskey_w); |
28 | 28 | virtual void machine_start(); |
29 | 29 | virtual void machine_reset(); |
30 | INTERRUPT_GEN_MEMBER(mcu_interrupt); | |
30 | 31 | }; |
r17996 | r17997 | |
---|---|---|
35 | 35 | virtual void machine_start(); |
36 | 36 | virtual void machine_reset(); |
37 | 37 | UINT32 screen_update_surpratk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
38 | INTERRUPT_GEN_MEMBER(surpratk_interrupt); | |
38 | 39 | }; |
39 | 40 | |
40 | 41 | /*----------- defined in video/surpratk.c -----------*/ |
r17996 | r17997 | |
---|---|---|
45 | 45 | virtual void video_start(); |
46 | 46 | virtual void palette_init(); |
47 | 47 | UINT32 screen_update_zaccaria(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
48 | INTERRUPT_GEN_MEMBER(zaccaria_cb1_toggle); | |
49 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
48 | 50 | }; |
r17996 | r17997 | |
---|---|---|
28 | 28 | virtual void video_start(); |
29 | 29 | virtual void palette_init(); |
30 | 30 | UINT32 screen_update_tagteam(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
31 | INTERRUPT_GEN_MEMBER(sound_timer_irq); | |
31 | 32 | }; |
r17996 | r17997 | |
---|---|---|
48 | 48 | DECLARE_VIDEO_START(bagman); |
49 | 49 | DECLARE_PALETTE_INIT(bagman); |
50 | 50 | UINT32 screen_update_bagman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
51 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
51 | 52 | }; |
52 | 53 | |
53 | 54 | /*----------- timings -----------*/ |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void machine_reset(); |
48 | 48 | virtual void video_start(); |
49 | 49 | UINT32 screen_update_commando(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(commando_interrupt); | |
50 | 51 | }; |
r17996 | r17997 | |
---|---|---|
79 | 79 | DECLARE_MACHINE_RESET(atarisy2); |
80 | 80 | DECLARE_VIDEO_START(atarisy2); |
81 | 81 | UINT32 screen_update_atarisy2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
82 | INTERRUPT_GEN_MEMBER(vblank_int); | |
82 | 83 | }; |
83 | 84 | |
84 | 85 |
r17996 | r17997 | |
---|---|---|
76 | 76 | UINT32 screen_update_robokid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
77 | 77 | UINT32 screen_update_omegaf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
78 | 78 | void screen_eof_ninjakd2(screen_device &screen, bool state); |
79 | INTERRUPT_GEN_MEMBER(ninjakd2_interrupt); | |
79 | 80 | }; |
r17996 | r17997 | |
---|---|---|
51 | 51 | virtual void video_start(); |
52 | 52 | virtual void palette_init(); |
53 | 53 | UINT32 screen_update_skydiver(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | INTERRUPT_GEN_MEMBER(skydiver_interrupt); | |
54 | 55 | }; |
55 | 56 | |
56 | 57 | /*----------- defined in audio/skydiver.c -----------*/ |
r17996 | r17997 | |
---|---|---|
47 | 47 | DECLARE_VIDEO_START(navarone); |
48 | 48 | DECLARE_PALETTE_INIT(navarone); |
49 | 49 | UINT32 screen_update_geebee(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
50 | 51 | }; |
51 | 52 | |
52 | 53 |
r17996 | r17997 | |
---|---|---|
46 | 46 | virtual void video_start(); |
47 | 47 | virtual void palette_init(); |
48 | 48 | UINT32 screen_update_kncljoe(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | INTERRUPT_GEN_MEMBER(sound_nmi); | |
49 | 50 | }; |
r17996 | r17997 | |
---|---|---|
67 | 67 | UINT32 screen_update_prosport(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
68 | 68 | UINT32 screen_update_boomrang(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
69 | 69 | UINT32 screen_update_prosoccr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
70 | INTERRUPT_GEN_MEMBER(deco16_interrupt); | |
71 | INTERRUPT_GEN_MEMBER(prosport_interrupt); | |
70 | 72 | }; |
r17996 | r17997 | |
---|---|---|
105 | 105 | DECLARE_VIDEO_START(cvs); |
106 | 106 | DECLARE_PALETTE_INIT(cvs); |
107 | 107 | UINT32 screen_update_cvs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
108 | INTERRUPT_GEN_MEMBER(cvs_main_cpu_interrupt); | |
108 | 109 | }; |
109 | 110 | |
110 | 111 | /*----------- defined in video/cvs.c -----------*/ |
r17996 | r17997 | |
---|---|---|
17 | 17 | virtual void machine_reset(); |
18 | 18 | virtual void palette_init(); |
19 | 19 | UINT32 screen_update_truco(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
20 | INTERRUPT_GEN_MEMBER(truco_interrupt); | |
20 | 21 | }; |
r17996 | r17997 | |
---|---|---|
198 | 198 | UINT32 screen_update_seta_layers(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
199 | 199 | void screen_eof_seta_buffer_sprites(screen_device &screen, bool state); |
200 | 200 | void screen_eof_setaroul(screen_device &screen, bool state); |
201 | INTERRUPT_GEN_MEMBER(wrofaero_interrupt); | |
201 | 202 | }; |
202 | 203 | |
203 | 204 | /*----------- defined in video/seta.c -----------*/ |
r17996 | r17997 | |
---|---|---|
82 | 82 | virtual void machine_reset(); |
83 | 83 | virtual void video_start(); |
84 | 84 | UINT32 screen_update_laserbat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
85 | INTERRUPT_GEN_MEMBER(laserbat_interrupt); | |
86 | INTERRUPT_GEN_MEMBER(zaccaria_cb1_toggle); | |
85 | 87 | }; |
r17996 | r17997 | |
---|---|---|
98 | 98 | DECLARE_MACHINE_RESET(jpopnics); |
99 | 99 | UINT32 screen_update_tnzs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
100 | 100 | void screen_eof_tnzs(screen_device &screen, bool state); |
101 | INTERRUPT_GEN_MEMBER(arknoid2_interrupt); | |
101 | 102 | }; |
102 | ||
103 | ||
104 | /*----------- defined in machine/tnzs.c -----------*/ | |
105 | INTERRUPT_GEN( arknoid2_interrupt ); |
r17996 | r17997 | |
---|---|---|
41 | 41 | virtual void video_start(); |
42 | 42 | virtual void palette_init(); |
43 | 43 | UINT32 screen_update_tp84(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
44 | INTERRUPT_GEN_MEMBER(sub_vblank_irq); | |
44 | 45 | }; |
r17996 | r17997 | |
---|---|---|
73 | 73 | virtual void machine_start(); |
74 | 74 | virtual void video_start(); |
75 | 75 | UINT32 screen_update_polygonet(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
76 | INTERRUPT_GEN_MEMBER(polygonet_interrupt); | |
77 | INTERRUPT_GEN_MEMBER(audio_interrupt); | |
76 | 78 | }; |
r17996 | r17997 | |
---|---|---|
85 | 85 | virtual void machine_reset(); |
86 | 86 | virtual void video_start(); |
87 | 87 | UINT32 screen_update_nemesis(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
88 | INTERRUPT_GEN_MEMBER(nemesis_interrupt); | |
89 | INTERRUPT_GEN_MEMBER(blkpnthr_interrupt); | |
88 | 90 | }; |
r17996 | r17997 | |
---|---|---|
36 | 36 | virtual void video_start(); |
37 | 37 | virtual void palette_init(); |
38 | 38 | UINT32 screen_update_cheekyms(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
39 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
39 | 40 | }; |
r17996 | r17997 | |
---|---|---|
29 | 29 | DECLARE_DRIVER_INIT(asterock); |
30 | 30 | DECLARE_DRIVER_INIT(asteroidb); |
31 | 31 | virtual void machine_reset(); |
32 | INTERRUPT_GEN_MEMBER(asteroid_interrupt); | |
33 | INTERRUPT_GEN_MEMBER(asterock_interrupt); | |
34 | INTERRUPT_GEN_MEMBER(llander_interrupt); | |
32 | 35 | }; |
33 | 36 | |
34 | ||
35 | /*----------- defined in machine/asteroid.c -----------*/ | |
36 | ||
37 | INTERRUPT_GEN( asteroid_interrupt ); | |
38 | INTERRUPT_GEN( asterock_interrupt ); | |
39 | INTERRUPT_GEN( llander_interrupt ); | |
40 | ||
41 | ||
42 | 37 | /*----------- defined in audio/asteroid.c -----------*/ |
43 | 38 | |
44 | 39 | DISCRETE_SOUND_EXTERN( asteroid ); |
r17996 | r17997 | |
---|---|---|
29 | 29 | virtual void video_start(); |
30 | 30 | virtual void palette_init(); |
31 | 31 | UINT32 screen_update_timelimt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
32 | INTERRUPT_GEN_MEMBER(timelimt_irq); | |
32 | 33 | }; |
r17996 | r17997 | |
---|---|---|
40 | 40 | virtual void video_start(); |
41 | 41 | DECLARE_VIDEO_START(raidena); |
42 | 42 | UINT32 screen_update_raiden(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(raiden_interrupt); | |
43 | 44 | }; |
r17996 | r17997 | |
---|---|---|
28 | 28 | DECLARE_PALETTE_INIT(astrowar); |
29 | 29 | UINT32 screen_update_galaxia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
30 | 30 | UINT32 screen_update_astrowar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
31 | INTERRUPT_GEN_MEMBER(galaxia_interrupt); | |
31 | 32 | }; |
r17996 | r17997 | |
---|---|---|
105 | 105 | DECLARE_VIDEO_START(fromanc4); |
106 | 106 | UINT32 screen_update_fromanc2_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
107 | 107 | UINT32 screen_update_fromanc2_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
108 | INTERRUPT_GEN_MEMBER(fromanc2_interrupt); | |
108 | 109 | }; |
109 | 110 | |
110 | 111 | /*----------- defined in video/fromanc2.c -----------*/ |
r17996 | r17997 | |
---|---|---|
40 | 40 | virtual void machine_reset(); |
41 | 41 | virtual void video_start(); |
42 | 42 | UINT32 screen_update_bombjack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
43 | 44 | }; |
r17996 | r17997 | |
---|---|---|
64 | 64 | UINT32 screen_update_rallyx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | 65 | UINT32 screen_update_jungler(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
66 | 66 | UINT32 screen_update_locomotn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
67 | INTERRUPT_GEN_MEMBER(rallyx_vblank_irq); | |
68 | INTERRUPT_GEN_MEMBER(jungler_vblank_irq); | |
67 | 69 | }; |
r17996 | r17997 | |
---|---|---|
22 | 22 | virtual void video_start(); |
23 | 23 | virtual void palette_init(); |
24 | 24 | UINT32 screen_update_trucocl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
25 | INTERRUPT_GEN_MEMBER(trucocl_interrupt); | |
25 | 26 | }; |
r17996 | r17997 | |
---|---|---|
37 | 37 | virtual void machine_reset(); |
38 | 38 | virtual void video_start(); |
39 | 39 | UINT32 screen_update_blockhl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
40 | INTERRUPT_GEN_MEMBER(blockhl_interrupt); | |
40 | 41 | }; |
41 | 42 | |
42 | 43 | /*----------- defined in video/blockhl.c -----------*/ |
r17996 | r17997 | |
---|---|---|
59 | 59 | virtual void machine_reset(); |
60 | 60 | virtual void video_start(); |
61 | 61 | UINT32 screen_update_gcpinbal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(gcpinbal_interrupt); | |
62 | 63 | }; |
r17996 | r17997 | |
---|---|---|
46 | 46 | virtual void video_start(); |
47 | 47 | UINT32 screen_update_realbrk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
48 | 48 | UINT32 screen_update_dai2kaku(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | INTERRUPT_GEN_MEMBER(realbrk_interrupt); | |
49 | 50 | }; |
r17996 | r17997 | |
---|---|---|
32 | 32 | virtual void video_start(); |
33 | 33 | virtual void palette_init(); |
34 | 34 | UINT32 screen_update_carjmbre(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
35 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
35 | 36 | }; |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void machine_reset(); |
48 | 48 | virtual void video_start(); |
49 | 49 | UINT32 screen_update_bottom9(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(bottom9_interrupt); | |
51 | INTERRUPT_GEN_MEMBER(bottom9_sound_interrupt); | |
50 | 52 | }; |
51 | 53 | |
52 | 54 | /*----------- defined in video/bottom9.c -----------*/ |
r17996 | r17997 | |
---|---|---|
45 | 45 | DECLARE_VIDEO_START(dv); |
46 | 46 | UINT32 screen_update_mainevt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
47 | 47 | UINT32 screen_update_dv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
48 | INTERRUPT_GEN_MEMBER(mainevt_interrupt); | |
49 | INTERRUPT_GEN_MEMBER(dv_interrupt); | |
50 | INTERRUPT_GEN_MEMBER(mainevt_sound_timer_irq); | |
51 | INTERRUPT_GEN_MEMBER(devstors_sound_timer_irq); | |
48 | 52 | }; |
49 | 53 | |
50 | 54 | /*----------- defined in video/mainevt.c -----------*/ |
r17996 | r17997 | |
---|---|---|
52 | 52 | virtual void video_start(); |
53 | 53 | virtual void palette_init(); |
54 | 54 | UINT32 screen_update_megazone(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
55 | 56 | }; |
r17996 | r17997 | |
---|---|---|
58 | 58 | DECLARE_PALETTE_INIT(galaga); |
59 | 59 | UINT32 screen_update_galaga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
60 | 60 | void screen_eof_galaga(screen_device &screen, bool state); |
61 | INTERRUPT_GEN_MEMBER(main_vblank_irq); | |
62 | INTERRUPT_GEN_MEMBER(sub_vblank_irq); | |
61 | 63 | }; |
62 | 64 | |
63 | 65 | class xevious_state : public galaga_state |
r17996 | r17997 | |
93 | 95 | DECLARE_PALETTE_INIT(battles); |
94 | 96 | DECLARE_MACHINE_RESET(battles); |
95 | 97 | UINT32 screen_update_xevious(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
98 | INTERRUPT_GEN_MEMBER(battles_interrupt_4); | |
96 | 99 | }; |
97 | 100 | |
98 | 101 | |
r17996 | r17997 | |
203 | 206 | DECLARE_WRITE8_HANDLER( battles_CPU4_coin_w ); |
204 | 207 | DECLARE_WRITE8_HANDLER( battles_noise_sound_w ); |
205 | 208 | |
206 | INTERRUPT_GEN( battles_interrupt_4 ); | |
207 | ||
208 | 209 | /*----------- defined in video/digdug.c -----------*/ |
209 | 210 | |
210 | 211 | DECLARE_WRITE8_HANDLER( digdug_videoram_w ); |
r17996 | r17997 | |
---|---|---|
85 | 85 | UINT32 screen_update_polaris(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
86 | 86 | UINT32 screen_update_ballbomb(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
87 | 87 | UINT32 screen_update_shuttlei(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
88 | INTERRUPT_GEN_MEMBER(polaris_interrupt); | |
88 | 89 | }; |
89 | 90 | |
90 | 91 |
r17996 | r17997 | |
---|---|---|
63 | 63 | virtual void machine_reset(); |
64 | 64 | virtual void video_start(); |
65 | 65 | UINT32 screen_update_othunder(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
66 | INTERRUPT_GEN_MEMBER(vblank_interrupt); | |
66 | 67 | }; |
r17996 | r17997 | |
---|---|---|
29 | 29 | DECLARE_VIDEO_START(quasar); |
30 | 30 | DECLARE_PALETTE_INIT(quasar); |
31 | 31 | UINT32 screen_update_quasar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
32 | INTERRUPT_GEN_MEMBER(quasar_interrupt); | |
32 | 33 | }; |
r17996 | r17997 | |
---|---|---|
66 | 66 | virtual void video_start(); |
67 | 67 | UINT32 screen_update_slapshot(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
68 | 68 | void screen_eof_taito_no_buffer(screen_device &screen, bool state); |
69 | INTERRUPT_GEN_MEMBER(slapshot_interrupt); | |
69 | 70 | }; |
70 | 71 |
r17996 | r17997 | |
---|---|---|
62 | 62 | DECLARE_WRITE8_MEMBER(victory_video_control_w); |
63 | 63 | virtual void video_start(); |
64 | 64 | UINT32 screen_update_victory(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | INTERRUPT_GEN_MEMBER(victory_vblank_interrupt); | |
65 | 66 | }; |
66 | ||
67 | ||
68 | /*----------- defined in video/victory.c -----------*/ | |
69 | INTERRUPT_GEN( victory_vblank_interrupt ); |
r17996 | r17997 | |
---|---|---|
52 | 52 | virtual void video_start(); |
53 | 53 | UINT32 screen_update_psikyo4_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | 54 | UINT32 screen_update_psikyo4_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(psikyosh_interrupt); | |
55 | 56 | }; |
r17996 | r17997 | |
---|---|---|
40 | 40 | virtual void video_start(); |
41 | 41 | virtual void palette_init(); |
42 | 42 | UINT32 screen_update_lucky74(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(nmi_interrupt); | |
43 | 44 | }; |
r17996 | r17997 | |
---|---|---|
38 | 38 | virtual void video_start(); |
39 | 39 | virtual void palette_init(); |
40 | 40 | UINT32 screen_update_pacland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
41 | INTERRUPT_GEN_MEMBER(main_vblank_irq); | |
42 | INTERRUPT_GEN_MEMBER(mcu_vblank_irq); | |
41 | 43 | }; |
r17996 | r17997 | |
---|---|---|
35 | 35 | DECLARE_WRITE8_MEMBER(rollrace_flipx_w); |
36 | 36 | virtual void palette_init(); |
37 | 37 | UINT32 screen_update_rollrace(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
38 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
39 | INTERRUPT_GEN_MEMBER(sound_timer_irq); | |
38 | 40 | }; |
r17996 | r17997 | |
---|---|---|
55 | 55 | virtual void video_start(); |
56 | 56 | virtual void palette_init(); |
57 | 57 | UINT32 screen_update_popper(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
58 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
58 | 59 | }; |
r17996 | r17997 | |
---|---|---|
57 | 57 | DECLARE_PALETTE_INIT(joinem); |
58 | 58 | UINT32 screen_update_jack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
59 | 59 | UINT32 screen_update_joinem(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
60 | INTERRUPT_GEN_MEMBER(joinem_vblank_irq); | |
60 | 61 | }; |
r17996 | r17997 | |
---|---|---|
58 | 58 | DECLARE_PALETTE_INIT(ringking); |
59 | 59 | UINT32 screen_update_kingofb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
60 | 60 | UINT32 screen_update_ringking(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
61 | INTERRUPT_GEN_MEMBER(kingofb_interrupt); | |
61 | 62 | }; |
r17996 | r17997 | |
---|---|---|
93 | 93 | DECLARE_DRIVER_INIT(esripsys); |
94 | 94 | virtual void video_start(); |
95 | 95 | UINT32 screen_update_esripsys(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
96 | INTERRUPT_GEN_MEMBER(esripsys_vblank_irq); | |
96 | 97 | }; |
97 | 98 | |
98 | 99 | |
99 | 100 | /*----------- defined in video/esripsys.c -----------*/ |
100 | INTERRUPT_GEN( esripsys_vblank_irq ); | |
101 | 101 | int esripsys_draw(running_machine &machine, int l, int r, int fig, int attr, int addr, int col, int x_scale, int bank); |
r17996 | r17997 | |
---|---|---|
59 | 59 | DECLARE_VIDEO_START(vsgongf); |
60 | 60 | UINT32 screen_update_tsamurai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
61 | 61 | UINT32 screen_update_vsgongf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(samurai_interrupt); | |
63 | INTERRUPT_GEN_MEMBER(vsgongf_sound_interrupt); | |
62 | 64 | }; |
r17996 | r17997 | |
---|---|---|
64 | 64 | DECLARE_MACHINE_RESET(funystrp); |
65 | 65 | UINT32 screen_update_splash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
66 | 66 | UINT32 screen_update_funystrp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
67 | INTERRUPT_GEN_MEMBER(roldfrog_interrupt); | |
67 | 68 | }; |
r17996 | r17997 | |
---|---|---|
178 | 178 | // general |
179 | 179 | void zdrawgfxzoom(bitmap_ind16 &dest_bmp, const rectangle &clip, gfx_element *gfx, UINT32 code, UINT32 color, int flipx, int flipy, int sx, int sy, int scalex, int scaley, int zpos); |
180 | 180 | void zdrawgfxzoom(bitmap_rgb32 &dest_bmp, const rectangle &clip, gfx_element *gfx, UINT32 code, UINT32 color, int flipx, int flipy, int sx, int sy, int scalex, int scaley, int zpos); |
181 | INTERRUPT_GEN_MEMBER(namcos2_68k_master_vblank); | |
182 | INTERRUPT_GEN_MEMBER(namcos2_68k_slave_vblank); | |
183 | INTERRUPT_GEN_MEMBER(namcos2_68k_gpu_vblank); | |
181 | 184 | }; |
182 | 185 | |
183 | 186 | class namcos2_state : public namcos2_shared_state |
r17996 | r17997 | |
333 | 336 | |
334 | 337 | DECLARE_WRITE16_HANDLER( namcos2_68k_master_C148_w ); |
335 | 338 | DECLARE_READ16_HANDLER( namcos2_68k_master_C148_r ); |
336 | INTERRUPT_GEN( namcos2_68k_master_vblank ); | |
337 | 339 | |
338 | 340 | DECLARE_WRITE16_HANDLER( namcos2_68k_slave_C148_w ); |
339 | 341 | DECLARE_READ16_HANDLER( namcos2_68k_slave_C148_r ); |
340 | INTERRUPT_GEN( namcos2_68k_slave_vblank ); | |
341 | 342 | |
342 | 343 | DECLARE_WRITE16_HANDLER( namcos2_68k_gpu_C148_w ); |
343 | 344 | DECLARE_READ16_HANDLER( namcos2_68k_gpu_C148_r ); |
344 | INTERRUPT_GEN( namcos2_68k_gpu_vblank ); | |
345 | 345 | |
346 | 346 | void namcos2_adjust_posirq_timer( running_machine &machine, int scanline ); |
347 | 347 |
r17996 | r17997 | |
---|---|---|
61 | 61 | DECLARE_MACHINE_RESET(pballoon); |
62 | 62 | DECLARE_VIDEO_START(pballoon); |
63 | 63 | UINT32 screen_update_snk6502(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
64 | INTERRUPT_GEN_MEMBER(satansat_interrupt); | |
65 | INTERRUPT_GEN_MEMBER(snk6502_interrupt); | |
64 | 66 | }; |
65 | 67 | |
66 | 68 |
r17996 | r17997 | |
---|---|---|
33 | 33 | virtual void video_start(); |
34 | 34 | virtual void palette_init(); |
35 | 35 | UINT32 screen_update_polyplay(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
36 | INTERRUPT_GEN_MEMBER(periodic_interrupt); | |
37 | INTERRUPT_GEN_MEMBER(coin_interrupt); | |
36 | 38 | }; |
37 | 39 | |
38 | 40 |
r17996 | r17997 | |
---|---|---|
69 | 69 | DECLARE_VIDEO_START(topsecex); |
70 | 70 | UINT32 screen_update_exidy440(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
71 | 71 | UINT32 screen_update_topsecex(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
72 | INTERRUPT_GEN_MEMBER(exidy440_vblank_interrupt); | |
72 | 73 | }; |
73 | 74 | |
74 | 75 | |
r17996 | r17997 | |
78 | 79 | |
79 | 80 | /*----------- defined in video/exidy440.c -----------*/ |
80 | 81 | |
81 | INTERRUPT_GEN( exidy440_vblank_interrupt ); | |
82 | ||
83 | 82 | MACHINE_CONFIG_EXTERN( exidy440_video ); |
84 | 83 | MACHINE_CONFIG_EXTERN( topsecex_video ); |
r17996 | r17997 | |
---|---|---|
177 | 177 | UINT32 screen_update_buggybjr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
178 | 178 | void screen_eof_tx1(screen_device &screen, bool state); |
179 | 179 | void screen_eof_buggyboy(screen_device &screen, bool state); |
180 | INTERRUPT_GEN_MEMBER(z80_irq); | |
180 | 181 | }; |
181 | 182 | |
182 | 183 | /*----------- defined in audio/tx1.c -----------*/ |
r17996 | r17997 | |
---|---|---|
27 | 27 | DECLARE_WRITE8_MEMBER(aztarac_snd_status_w); |
28 | 28 | virtual void machine_reset(); |
29 | 29 | virtual void video_start(); |
30 | INTERRUPT_GEN_MEMBER(aztarac_snd_timed_irq); | |
30 | 31 | }; |
31 | ||
32 | /*----------- defined in audio/aztarac.c -----------*/ | |
33 | INTERRUPT_GEN( aztarac_snd_timed_irq ); |
r17996 | r17997 | |
---|---|---|
124 | 124 | UINT32 screen_update_roundup5(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
125 | 125 | UINT32 screen_update_cyclwarr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
126 | 126 | UINT32 screen_update_bigfight(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
127 | INTERRUPT_GEN_MEMBER(roundup5_interrupt); | |
127 | 128 | }; |
128 | 129 | |
129 | 130 | /*----------- defined in machine/tatsumi.c -----------*/ |
r17996 | r17997 | |
---|---|---|
62 | 62 | virtual void video_start(); |
63 | 63 | virtual void palette_init(); |
64 | 64 | UINT32 screen_update_retofinv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | INTERRUPT_GEN_MEMBER(main_vblank_irq); | |
66 | INTERRUPT_GEN_MEMBER(sub_vblank_irq); | |
65 | 67 | }; |
r17996 | r17997 | |
---|---|---|
41 | 41 | virtual void machine_reset(); |
42 | 42 | virtual void video_start(); |
43 | 43 | UINT32 screen_update_gbusters(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
44 | INTERRUPT_GEN_MEMBER(gbusters_interrupt); | |
44 | 45 | }; |
45 | 46 | |
46 | 47 | /*----------- defined in video/gbusters.c -----------*/ |
r17996 | r17997 | |
---|---|---|
46 | 46 | virtual void video_start(); |
47 | 47 | virtual void palette_init(); |
48 | 48 | UINT32 screen_update_meadows(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | INTERRUPT_GEN_MEMBER(meadows_interrupt); | |
50 | INTERRUPT_GEN_MEMBER(minferno_interrupt); | |
51 | INTERRUPT_GEN_MEMBER(audio_interrupt); | |
49 | 52 | }; |
50 | 53 | |
51 | 54 |
r17996 | r17997 | |
---|---|---|
217 | 217 | DECLARE_MACHINE_START(harddriv); |
218 | 218 | DECLARE_MACHINE_RESET(harddriv); |
219 | 219 | DECLARE_VIDEO_START(harddriv); |
220 | INTERRUPT_GEN_MEMBER(hd68k_irq_gen); | |
220 | 221 | }; |
221 | 222 | |
222 | 223 | |
r17996 | r17997 | |
224 | 225 | |
225 | 226 | /* Driver/Multisync board */ |
226 | 227 | |
227 | ||
228 | ||
229 | INTERRUPT_GEN( hd68k_irq_gen ); | |
230 | 228 | DECLARE_WRITE16_HANDLER( hd68k_irq_ack_w ); |
231 | 229 | void hdgsp_irq_gen(device_t *device, int state); |
232 | 230 | void hdmsp_irq_gen(device_t *device, int state); |
r17996 | r17997 | |
---|---|---|
117 | 117 | DECLARE_MACHINE_RESET(kengo); |
118 | 118 | UINT32 screen_update_m72(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
119 | 119 | UINT32 screen_update_majtitle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
120 | INTERRUPT_GEN_MEMBER(m72_mcu_int); | |
121 | INTERRUPT_GEN_MEMBER(fake_nmi); | |
120 | 122 | }; |
r17996 | r17997 | |
---|---|---|
59 | 59 | virtual void machine_reset(); |
60 | 60 | virtual void video_start(); |
61 | 61 | UINT32 screen_update_aeroboto(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(aeroboto_interrupt); | |
62 | 63 | }; |
r17996 | r17997 | |
---|---|---|
71 | 71 | virtual void video_start(); |
72 | 72 | virtual void palette_init(); |
73 | 73 | UINT32 screen_update_firetrap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
74 | INTERRUPT_GEN_MEMBER(firetrap_irq); | |
74 | 75 | }; |
r17996 | r17997 | |
---|---|---|
50 | 50 | virtual void video_start(); |
51 | 51 | virtual void palette_init(); |
52 | 52 | UINT32 screen_update_thedeep(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
53 | INTERRUPT_GEN_MEMBER(thedeep_mcu_irq); | |
53 | 54 | }; |
r17996 | r17997 | |
---|---|---|
55 | 55 | virtual void machine_start(); |
56 | 56 | virtual void machine_reset(); |
57 | 57 | UINT32 screen_update_topspeed(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
58 | INTERRUPT_GEN_MEMBER(topspeed_interrupt); | |
59 | INTERRUPT_GEN_MEMBER(topspeed_cpub_interrupt); | |
58 | 60 | }; |
r17996 | r17997 | |
---|---|---|
48 | 48 | DECLARE_MACHINE_START(borntofi); |
49 | 49 | DECLARE_MACHINE_RESET(borntofi); |
50 | 50 | UINT32 screen_update_fantland(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
51 | INTERRUPT_GEN_MEMBER(fantland_irq); | |
52 | INTERRUPT_GEN_MEMBER(fantland_sound_irq); | |
51 | 53 | }; |
r17996 | r17997 | |
---|---|---|
98 | 98 | DECLARE_VIDEO_START(mcr68); |
99 | 99 | UINT32 screen_update_zwackery(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
100 | 100 | UINT32 screen_update_mcr68(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
101 | INTERRUPT_GEN_MEMBER(mcr68_interrupt); | |
101 | 102 | }; |
102 | 103 | |
103 | 104 | /*----------- defined in machine/mcr68.c -----------*/ |
r17996 | r17997 | |
105 | 106 | extern const pia6821_interface zwackery_pia0_intf; |
106 | 107 | extern const pia6821_interface zwackery_pia1_intf; |
107 | 108 | extern const pia6821_interface zwackery_pia2_intf; |
108 | ||
109 | INTERRUPT_GEN( mcr68_interrupt ); |
r17996 | r17997 | |
---|---|---|
52 | 52 | virtual void machine_reset(); |
53 | 53 | virtual void video_start(); |
54 | 54 | UINT32 screen_update_pbaction(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(pbaction_interrupt); | |
56 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
55 | 57 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void machine_start(); |
44 | 44 | virtual void machine_reset(); |
45 | 45 | UINT32 screen_update_overdriv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(cpuB_interrupt); | |
46 | 47 | }; |
47 | 48 | |
48 | 49 | /*----------- defined in video/overdriv.c -----------*/ |
r17996 | r17997 | |
---|---|---|
51 | 51 | DECLARE_MACHINE_START(thunderx); |
52 | 52 | DECLARE_MACHINE_RESET(thunderx); |
53 | 53 | UINT32 screen_update_scontra(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | INTERRUPT_GEN_MEMBER(scontra_interrupt); | |
54 | 55 | }; |
55 | 56 | |
56 | 57 |
r17996 | r17997 | |
---|---|---|
34 | 34 | DECLARE_WRITE8_MEMBER(spcforce_flip_screen_w); |
35 | 35 | virtual void palette_init(); |
36 | 36 | UINT32 screen_update_spcforce(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
37 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
37 | 38 | }; |
r17996 | r17997 | |
---|---|---|
46 | 46 | DECLARE_MACHINE_RESET(josvolly); |
47 | 47 | DECLARE_PALETTE_INIT(josvolly); |
48 | 48 | UINT32 screen_update_gsword(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | INTERRUPT_GEN_MEMBER(gsword_snd_interrupt); | |
49 | 50 | }; |
r17996 | r17997 | |
---|---|---|
82 | 82 | virtual void video_start(); |
83 | 83 | virtual void palette_init(); |
84 | 84 | UINT32 screen_update_mario(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
85 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
85 | 86 | }; |
86 | 87 | |
87 | 88 | /*----------- defined in audio/mario.c -----------*/ |
r17996 | r17997 | |
---|---|---|
40 | 40 | virtual void machine_reset(); |
41 | 41 | virtual void video_start(); |
42 | 42 | UINT32 screen_update_lethalen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(lethalen_interrupt); | |
43 | 44 | }; |
44 | 45 | |
45 | 46 | /*----------- defined in video/lethal.c -----------*/ |
r17996 | r17997 | |
---|---|---|
54 | 54 | virtual void machine_reset(); |
55 | 55 | virtual void video_start(); |
56 | 56 | UINT32 screen_update_exprraid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
57 | INTERRUPT_GEN_MEMBER(exprraid_interrupt); | |
57 | 58 | }; |
r17996 | r17997 | |
---|---|---|
50 | 50 | virtual void video_start(); |
51 | 51 | virtual void palette_init(); |
52 | 52 | UINT32 screen_update_toypop(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
53 | INTERRUPT_GEN_MEMBER(toypop_main_vblank_irq); | |
54 | INTERRUPT_GEN_MEMBER(toypop_sound_timer_irq); | |
55 | INTERRUPT_GEN_MEMBER(toypop_m68000_interrupt); | |
53 | 56 | }; |
r17996 | r17997 | |
---|---|---|
101 | 101 | UINT32 screen_update_bcstory(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
102 | 102 | UINT32 screen_update_semibase(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
103 | 103 | UINT32 screen_update_sdfight(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
104 | INTERRUPT_GEN_MEMBER(tumbleb2_interrupt); | |
104 | 105 | }; |
r17996 | r17997 | |
---|---|---|
114 | 114 | virtual void machine_reset(); |
115 | 115 | virtual void video_start(); |
116 | 116 | virtual void video_reset(); |
117 | INTERRUPT_GEN_MEMBER(micro3d_vblank); | |
117 | 118 | }; |
118 | 119 | |
119 | 120 | struct micro3d_vtx |
r17996 | r17997 | |
162 | 163 | /*----------- defined in video/micro3d.c -----------*/ |
163 | 164 | void micro3d_tms_interrupt(device_t *device, int state); |
164 | 165 | void micro3d_scanline_update(screen_device &screen, bitmap_ind16 &bitmap, int scanline, const tms34010_display_params *params); |
165 | ||
166 | INTERRUPT_GEN( micro3d_vblank ); |
r17996 | r17997 | |
---|---|---|
50 | 50 | DECLARE_MACHINE_START(kchamp); |
51 | 51 | UINT32 screen_update_kchampvs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
52 | 52 | UINT32 screen_update_kchamp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
53 | INTERRUPT_GEN_MEMBER(kc_interrupt); | |
54 | INTERRUPT_GEN_MEMBER(sound_int); | |
53 | 55 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | UINT32 screen_update_m90(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
44 | 44 | UINT32 screen_update_bomblord(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
45 | 45 | UINT32 screen_update_dynablsb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(fake_nmi); | |
47 | INTERRUPT_GEN_MEMBER(bomblord_fake_nmi); | |
48 | INTERRUPT_GEN_MEMBER(m90_interrupt); | |
49 | INTERRUPT_GEN_MEMBER(dynablsb_interrupt); | |
50 | INTERRUPT_GEN_MEMBER(bomblord_interrupt); | |
46 | 51 | }; |
r17996 | r17997 | |
---|---|---|
85 | 85 | UINT32 screen_update_spacegun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
86 | 86 | UINT32 screen_update_dblaxle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
87 | 87 | UINT32 screen_update_racingb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
88 | INTERRUPT_GEN_MEMBER(sci_interrupt); | |
88 | 89 | }; |
r17996 | r17997 | |
---|---|---|
26 | 26 | virtual void video_start(); |
27 | 27 | virtual void palette_init(); |
28 | 28 | UINT32 screen_update_scotrsht(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
29 | INTERRUPT_GEN_MEMBER(scotrsht_interrupt); | |
29 | 30 | }; |
r17996 | r17997 | |
---|---|---|
40 | 40 | DECLARE_DRIVER_INIT(gunbustr); |
41 | 41 | virtual void video_start(); |
42 | 42 | UINT32 screen_update_gunbustr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(gunbustr_interrupt); | |
43 | 44 | }; |
r17996 | r17997 | |
---|---|---|
78 | 78 | DECLARE_VIDEO_START(superqix); |
79 | 79 | UINT32 screen_update_pbillian(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
80 | 80 | UINT32 screen_update_superqix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
81 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
82 | INTERRUPT_GEN_MEMBER(sqix_timer_irq); | |
81 | 83 | }; |
r17996 | r17997 | |
---|---|---|
117 | 117 | UINT32 screen_update_playch10_top(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
118 | 118 | UINT32 screen_update_playch10_bottom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
119 | 119 | UINT32 screen_update_playch10_single(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
120 | INTERRUPT_GEN_MEMBER(playch10_interrupt); | |
120 | 121 | }; |
121 | 122 | |
122 | 123 | /*----------- defined in video/playch10.c -----------*/ |
r17996 | r17997 | |
---|---|---|
56 | 56 | UINT32 screen_update_cyberbal_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
57 | 57 | UINT32 screen_update_cyberbal_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
58 | 58 | UINT32 screen_update_cyberbal2p(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
59 | INTERRUPT_GEN_MEMBER(cyberbal_sound_68k_irq_gen); | |
59 | 60 | }; |
60 | 61 | |
61 | 62 | /*----------- defined in audio/cyberbal.c -----------*/ |
62 | 63 | |
63 | 64 | void cyberbal_sound_reset(running_machine &machine); |
64 | INTERRUPT_GEN( cyberbal_sound_68k_irq_gen ); | |
65 | 65 | |
66 | 66 | /*----------- defined in video/cyberbal.c -----------*/ |
67 | 67 |
r17996 | r17997 | |
---|---|---|
52 | 52 | UINT32 screen_update_superpac(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
53 | 53 | UINT32 screen_update_phozon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | 54 | UINT32 screen_update_mappy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(superpac_main_vblank_irq); | |
56 | INTERRUPT_GEN_MEMBER(pacnpal_main_vblank_irq); | |
57 | INTERRUPT_GEN_MEMBER(phozon_main_vblank_irq); | |
58 | INTERRUPT_GEN_MEMBER(mappy_main_vblank_irq); | |
59 | INTERRUPT_GEN_MEMBER(sub_vblank_irq); | |
60 | INTERRUPT_GEN_MEMBER(sub2_vblank_irq); | |
55 | 61 | }; |
r17996 | r17997 | |
---|---|---|
45 | 45 | virtual void machine_reset(); |
46 | 46 | virtual void video_start(); |
47 | 47 | UINT32 screen_update_gijoe(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
48 | INTERRUPT_GEN_MEMBER(gijoe_interrupt); | |
48 | 49 | }; |
49 | 50 | |
50 | 51 | /*----------- defined in video/gijoe.c -----------*/ |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void machine_reset(); |
48 | 48 | virtual void video_start(); |
49 | 49 | UINT32 screen_update_rltennis(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(rltennis_interrupt); | |
50 | 51 | }; |
r17996 | r17997 | |
---|---|---|
177 | 177 | UINT32 screen_update_system32(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
178 | 178 | UINT32 screen_update_multi32_left(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
179 | 179 | UINT32 screen_update_multi32_right(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
180 | INTERRUPT_GEN_MEMBER(start_of_vblank_int); | |
180 | 181 | }; |
181 | 182 | |
182 | 183 | /*----------- defined in machine/segas32.c -----------*/ |
r17996 | r17997 | |
---|---|---|
125 | 125 | DECLARE_VIDEO_START(slapfight); |
126 | 126 | UINT32 screen_update_perfrman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
127 | 127 | UINT32 screen_update_slapfight(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
128 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
129 | INTERRUPT_GEN_MEMBER(getstar_interrupt); | |
128 | 130 | }; |
129 | 131 | |
130 | 132 | |
r17996 | r17997 | |
141 | 143 | m_gs_d = 0; \ |
142 | 144 | m_gs_e = 0; |
143 | 145 | |
144 | ||
145 | /*----------- defined in machine/slapfght.c -----------*/ | |
146 | INTERRUPT_GEN( getstar_interrupt ); |
r17996 | r17997 | |
---|---|---|
31 | 31 | DECLARE_VIDEO_START(badlands); |
32 | 32 | DECLARE_MACHINE_RESET(badlandsb); |
33 | 33 | UINT32 screen_update_badlands(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
34 | INTERRUPT_GEN_MEMBER(vblank_int); | |
34 | 35 | }; |
35 | 36 | |
36 | 37 | /*----------- defined in video/badlands.c -----------*/ |
r17996 | r17997 | |
---|---|---|
66 | 66 | virtual void machine_start(); |
67 | 67 | virtual void video_start(); |
68 | 68 | UINT32 screen_update_psikyosh(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
69 | INTERRUPT_GEN_MEMBER(psikyosh_interrupt); | |
69 | 70 | }; |
r17996 | r17997 | |
---|---|---|
49 | 49 | virtual void machine_reset(); |
50 | 50 | virtual void video_start(); |
51 | 51 | UINT32 screen_update_gradius3(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
52 | INTERRUPT_GEN_MEMBER(cpuA_interrupt); | |
52 | 53 | }; |
53 | 54 | |
54 | 55 | /*----------- defined in video/gradius3.c -----------*/ |
r17996 | r17997 | |
---|---|---|
71 | 71 | UINT32 screen_update_metamrph(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
72 | 72 | UINT32 screen_update_dadandrn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
73 | 73 | UINT32 screen_update_martchmp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
74 | INTERRUPT_GEN_MEMBER(ddd_interrupt); | |
74 | 75 | }; |
r17996 | r17997 | |
---|---|---|
41 | 41 | virtual void video_start(); |
42 | 42 | virtual void palette_init(); |
43 | 43 | UINT32 screen_update_skykid(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
44 | INTERRUPT_GEN_MEMBER(main_vblank_irq); | |
45 | INTERRUPT_GEN_MEMBER(mcu_vblank_irq); | |
44 | 46 | }; |
r17996 | r17997 | |
---|---|---|
54 | 54 | virtual void machine_reset(); |
55 | 55 | virtual void video_start(); |
56 | 56 | UINT32 screen_update_djmain(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
57 | INTERRUPT_GEN_MEMBER(vb_interrupt); | |
57 | 58 | }; |
58 | 59 | |
59 | 60 | /*----------- defined in video/djmain.c -----------*/ |
r17996 | r17997 | |
---|---|---|
104 | 104 | UINT32 screen_update_firetrk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
105 | 105 | UINT32 screen_update_superbug(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
106 | 106 | UINT32 screen_update_montecar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
107 | INTERRUPT_GEN_MEMBER(firetrk_interrupt); | |
107 | 108 | }; |
108 | 109 | |
109 | 110 |
r17996 | r17997 | |
---|---|---|
20 | 20 | virtual void video_start(); |
21 | 21 | virtual void palette_init(); |
22 | 22 | UINT32 screen_update_mustache(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
23 | INTERRUPT_GEN_MEMBER(assert_irq); | |
23 | 24 | }; |
r17996 | r17997 | |
---|---|---|
78 | 78 | UINT32 screen_update_konamigx(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
79 | 79 | UINT32 screen_update_konamigx_left(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
80 | 80 | UINT32 screen_update_konamigx_right(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
81 | INTERRUPT_GEN_MEMBER(konamigx_vbinterrupt); | |
82 | INTERRUPT_GEN_MEMBER(tms_sync); | |
81 | 83 | }; |
82 | 84 | |
83 | 85 |
r17996 | r17997 | |
---|---|---|
31 | 31 | virtual void video_start(); |
32 | 32 | virtual void palette_init(); |
33 | 33 | UINT32 screen_update_sprcros2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
34 | INTERRUPT_GEN_MEMBER(sprcros2_s_interrupt); | |
34 | 35 | }; |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void machine_start(); |
44 | 44 | virtual void machine_reset(); |
45 | 45 | UINT32 screen_update_parodius(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(parodius_interrupt); | |
46 | 47 | }; |
47 | 48 | |
48 | 49 | /*----------- defined in video/parodius.c -----------*/ |
r17996 | r17997 | |
---|---|---|
31 | 31 | virtual void machine_reset(); |
32 | 32 | virtual void palette_init(); |
33 | 33 | UINT32 screen_update_rockrage(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
34 | INTERRUPT_GEN_MEMBER(rockrage_interrupt); | |
34 | 35 | }; |
35 | 36 | |
36 | 37 | /*----------- defined in video/rockrage.c -----------*/ |
r17996 | r17997 | |
---|---|---|
80 | 80 | virtual void palette_init(); |
81 | 81 | UINT32 screen_update_starshp1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
82 | 82 | void screen_eof_starshp1(screen_device &screen, bool state); |
83 | INTERRUPT_GEN_MEMBER(starshp1_interrupt); | |
83 | 84 | }; |
84 | 85 | |
85 | 86 | /*----------- defined in audio/starshp1.c -----------*/ |
r17996 | r17997 | |
---|---|---|
142 | 142 | void screen_eof_taitof2_partial_buffer_delayed_thundfox(screen_device &screen, bool state); |
143 | 143 | void screen_eof_taitof2_full_buffer_delayed(screen_device &screen, bool state); |
144 | 144 | void screen_eof_taitof2_partial_buffer_delayed_qzchikyu(screen_device &screen, bool state); |
145 | INTERRUPT_GEN_MEMBER(taitof2_interrupt); | |
145 | 146 | }; |
r17996 | r17997 | |
---|---|---|
51 | 51 | virtual void video_start(); |
52 | 52 | virtual void palette_init(); |
53 | 53 | UINT32 screen_update_pandoras(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | INTERRUPT_GEN_MEMBER(pandoras_master_interrupt); | |
55 | INTERRUPT_GEN_MEMBER(pandoras_slave_interrupt); | |
54 | 56 | }; |
r17996 | r17997 | |
---|---|---|
46 | 46 | virtual void video_start(); |
47 | 47 | virtual void palette_init(); |
48 | 48 | UINT32 screen_update_stfight(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | INTERRUPT_GEN_MEMBER(stfight_vb_interrupt); | |
49 | 50 | }; |
50 | 51 | |
51 | 52 | /*----------- defined in machine/stfight.c -----------*/ |
52 | INTERRUPT_GEN( stfight_vb_interrupt ); | |
53 | 53 | void stfight_adpcm_int(device_t *device); |
54 | 54 | DECLARE_WRITE8_DEVICE_HANDLER( stfight_adpcm_control_w ); |
55 | 55 |
r17996 | r17997 | |
---|---|---|
302 | 302 | virtual void video_start(); |
303 | 303 | DECLARE_VIDEO_START(screwloo); |
304 | 304 | UINT32 screen_update_gottlieb(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
305 | INTERRUPT_GEN_MEMBER(gottlieb_interrupt); | |
305 | 306 | }; |
306 | 307 | |
307 | 308 | /*----------- defined in video/gottlieb.c -----------*/ |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void machine_start(); |
44 | 44 | virtual void machine_reset(); |
45 | 45 | UINT32 screen_update_asterix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(asterix_interrupt); | |
46 | 47 | }; |
47 | 48 | |
48 | 49 | /*----------- defined in video/asterix.c -----------*/ |
r17996 | r17997 | |
---|---|---|
125 | 125 | UINT32 screen_update_pteacher(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
126 | 126 | UINT32 screen_update_mirderby(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
127 | 127 | void screen_eof_homedata(screen_device &screen, bool state); |
128 | INTERRUPT_GEN_MEMBER(homedata_irq); | |
129 | INTERRUPT_GEN_MEMBER(upd7807_irq); | |
128 | 130 | }; |
r17996 | r17997 | |
---|---|---|
68 | 68 | virtual void video_start(); |
69 | 69 | DECLARE_MACHINE_START(teetert); |
70 | 70 | UINT32 screen_update_exidy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
71 | INTERRUPT_GEN_MEMBER(exidy_vblank_interrupt); | |
71 | 72 | }; |
72 | 73 | |
73 | 74 | /*----------- defined in video/exidy.c -----------*/ |
74 | 75 | |
75 | 76 | void exidy_video_config(running_machine &machine, UINT8 _collision_mask, UINT8 _collision_invert, int _is_2bpp); |
76 | INTERRUPT_GEN( exidy_vblank_interrupt ); |
r17996 | r17997 | |
---|---|---|
29 | 29 | virtual void machine_start(); |
30 | 30 | virtual void video_start(); |
31 | 31 | UINT32 screen_update_xxmissio(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
32 | INTERRUPT_GEN_MEMBER(xxmissio_interrupt_m); | |
33 | INTERRUPT_GEN_MEMBER(xxmissio_interrupt_s); | |
32 | 34 | }; |
33 | 35 | |
34 | 36 | DECLARE_WRITE8_DEVICE_HANDLER( xxmissio_scroll_x_w ); |
r17996 | r17997 | |
---|---|---|
31 | 31 | TILE_GET_INFO_MEMBER(get_fg_tile_info); |
32 | 32 | virtual void video_start(); |
33 | 33 | UINT32 screen_update_solomon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
34 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
34 | 35 | }; |
r17996 | r17997 | |
---|---|---|
54 | 54 | DECLARE_MACHINE_RESET(moo); |
55 | 55 | DECLARE_VIDEO_START(moo); |
56 | 56 | UINT32 screen_update_moo(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
57 | INTERRUPT_GEN_MEMBER(moo_interrupt); | |
58 | INTERRUPT_GEN_MEMBER(moobl_interrupt); | |
57 | 59 | }; |
58 | 60 | |
59 | 61 | /*----------- defined in video/moo.c -----------*/ |
r17996 | r17997 | |
---|---|---|
54 | 54 | virtual void video_start(); |
55 | 55 | virtual void palette_init(); |
56 | 56 | UINT32 screen_update_gyruss(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
57 | INTERRUPT_GEN_MEMBER(master_vblank_irq); | |
58 | INTERRUPT_GEN_MEMBER(slave_vblank_irq); | |
57 | 59 | }; |
r17996 | r17997 | |
---|---|---|
38 | 38 | DECLARE_DRIVER_INIT(groundfx); |
39 | 39 | virtual void video_start(); |
40 | 40 | UINT32 screen_update_groundfx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
41 | INTERRUPT_GEN_MEMBER(groundfx_interrupt); | |
41 | 42 | }; |
r17996 | r17997 | |
---|---|---|
44 | 44 | virtual void machine_start(); |
45 | 45 | virtual void machine_reset(); |
46 | 46 | UINT32 screen_update_vendetta(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
47 | INTERRUPT_GEN_MEMBER(vendetta_irq); | |
47 | 48 | }; |
48 | 49 | |
49 | 50 | /*----------- defined in video/vendetta.c -----------*/ |
r17996 | r17997 | |
---|---|---|
44 | 44 | UINT32 screen_update_springer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
45 | 45 | UINT32 screen_update_hoccer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | 46 | UINT32 screen_update_hopprobo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
47 | INTERRUPT_GEN_MEMBER(marineb_vblank_irq); | |
48 | INTERRUPT_GEN_MEMBER(wanted_vblank_irq); | |
47 | 49 | }; |
r17996 | r17997 | |
---|---|---|
51 | 51 | virtual void palette_init(); |
52 | 52 | DECLARE_VIDEO_START(chkun); |
53 | 53 | UINT32 screen_update_timeplt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
54 | INTERRUPT_GEN_MEMBER(timeplt_interrupt); | |
54 | 55 | }; |
r17996 | r17997 | |
---|---|---|
26 | 26 | virtual void video_start(); |
27 | 27 | virtual void palette_init(); |
28 | 28 | UINT32 screen_update_vulgus(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
29 | INTERRUPT_GEN_MEMBER(vulgus_vblank_irq); | |
29 | 30 | }; |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void machine_reset(); |
48 | 48 | virtual void video_start(); |
49 | 49 | UINT32 screen_update_vastar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
50 | 51 | }; |
r17996 | r17997 | |
---|---|---|
272 | 272 | DECLARE_VIDEO_START(f3); |
273 | 273 | UINT32 screen_update_f3(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
274 | 274 | void screen_eof_f3(screen_device &screen, bool state); |
275 | INTERRUPT_GEN_MEMBER(f3_interrupt2); | |
275 | 276 | }; |
r17996 | r17997 | |
---|---|---|
63 | 63 | UINT32 screen_update_champbas(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
64 | 64 | UINT32 screen_update_exctsccr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | 65 | void screen_eof_champbas(screen_device &screen, bool state); |
66 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
66 | 67 | }; |
r17996 | r17997 | |
---|---|---|
36 | 36 | virtual void video_start(); |
37 | 37 | virtual void palette_init(); |
38 | 38 | UINT32 screen_update_ssozumo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
39 | INTERRUPT_GEN_MEMBER(sound_timer_irq); | |
39 | 40 | }; |
r17996 | r17997 | |
---|---|---|
63 | 63 | DECLARE_VIDEO_START(twin16); |
64 | 64 | UINT32 screen_update_twin16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
65 | 65 | void screen_eof_twin16(screen_device &screen, bool state); |
66 | INTERRUPT_GEN_MEMBER(CPUA_interrupt); | |
67 | INTERRUPT_GEN_MEMBER(CPUB_interrupt); | |
66 | 68 | }; |
67 | 69 | |
68 | 70 | /*----------- defined in drivers/twin16.c -----------*/ |
r17996 | r17997 | |
---|---|---|
112 | 112 | DECLARE_MACHINE_RESET(megasys1_hachoo); |
113 | 113 | UINT32 screen_update_megasys1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
114 | 114 | void screen_eof_megasys1(screen_device &screen, bool state); |
115 | INTERRUPT_GEN_MEMBER(megasys1D_irq); | |
115 | 116 | }; |
r17996 | r17997 | |
---|---|---|
68 | 68 | virtual void video_start(); |
69 | 69 | UINT32 screen_update_airbustr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
70 | 70 | void screen_eof_airbustr(screen_device &screen, bool state); |
71 | INTERRUPT_GEN_MEMBER(slave_interrupt); | |
71 | 72 | }; |
r17996 | r17997 | |
---|---|---|
136 | 136 | DECLARE_VIDEO_START(jrpacman); |
137 | 137 | UINT32 screen_update_pacman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
138 | 138 | UINT32 screen_update_s2650games(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
139 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
140 | INTERRUPT_GEN_MEMBER(vblank_nmi); | |
141 | INTERRUPT_GEN_MEMBER(s2650_interrupt); | |
139 | 142 | }; |
140 | 143 | |
141 | 144 | /*----------- defined in machine/pacplus.c -----------*/ |
r17996 | r17997 | |
---|---|---|
47 | 47 | virtual void video_start(); |
48 | 48 | virtual void palette_init(); |
49 | 49 | UINT32 screen_update_dcheese(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
50 | INTERRUPT_GEN_MEMBER(dcheese_vblank); | |
50 | 51 | }; |
51 | 52 | |
52 | 53 | /*----------- defined in drivers/dcheese.c -----------*/ |
r17996 | r17997 | |
---|---|---|
75 | 75 | virtual void machine_reset(); |
76 | 76 | virtual void video_start(); |
77 | 77 | UINT32 screen_update_bwing(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
78 | INTERRUPT_GEN_MEMBER(bwp3_interrupt); | |
78 | 79 | }; |
79 | 80 | |
80 | 81 | /*----------- defined in video/bwing.c -----------*/ |
r17996 | r17997 | |
---|---|---|
201 | 201 | DECLARE_VIDEO_START(sailormn_3_layers); |
202 | 202 | DECLARE_PALETTE_INIT(sailormn); |
203 | 203 | UINT32 screen_update_cave(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
204 | INTERRUPT_GEN_MEMBER(cave_interrupt); | |
204 | 205 | }; |
205 | 206 | |
206 | 207 | /*----------- defined in video/cave.c -----------*/ |
r17996 | r17997 | |
---|---|---|
46 | 46 | virtual void video_start(); |
47 | 47 | virtual void palette_init(); |
48 | 48 | UINT32 screen_update_brkthru(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
49 | 50 | }; |
r17996 | r17997 | |
---|---|---|
130 | 130 | UINT32 screen_update_srdarwin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
131 | 131 | UINT32 screen_update_cobracom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
132 | 132 | void screen_eof_dec8(screen_device &screen, bool state); |
133 | INTERRUPT_GEN_MEMBER(gondo_interrupt); | |
134 | INTERRUPT_GEN_MEMBER(oscar_interrupt); | |
133 | 135 | }; |
134 | 136 | |
135 | 137 | /*----------- defined in video/dec8.c -----------*/ |
r17996 | r17997 | |
---|---|---|
39 | 39 | virtual void machine_reset(); |
40 | 40 | virtual void video_start(); |
41 | 41 | UINT32 screen_update_battlane(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(battlane_cpu1_interrupt); | |
42 | 43 | }; |
r17996 | r17997 | |
---|---|---|
39 | 39 | virtual void palette_init(); |
40 | 40 | DECLARE_PALETTE_INIT(suprmous); |
41 | 41 | UINT32 screen_update_thepit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
42 | 43 | }; |
r17996 | r17997 | |
---|---|---|
89 | 89 | virtual void machine_reset(); |
90 | 90 | virtual void video_start(); |
91 | 91 | UINT32 screen_update_changela(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
92 | INTERRUPT_GEN_MEMBER(chl_mcu_irq); | |
92 | 93 | }; |
r17996 | r17997 | |
---|---|---|
32 | 32 | virtual void machine_reset(); |
33 | 33 | virtual void video_start(); |
34 | 34 | UINT32 screen_update_crimfght(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
35 | INTERRUPT_GEN_MEMBER(crimfght_interrupt); | |
35 | 36 | }; |
36 | 37 | |
37 | 38 | /*----------- defined in video/crimfght.c -----------*/ |
r17996 | r17997 | |
---|---|---|
50 | 50 | UINT32 screen_update_bonzeadv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
51 | 51 | UINT32 screen_update_asuka(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
52 | 52 | void screen_eof_asuka(screen_device &screen, bool state); |
53 | INTERRUPT_GEN_MEMBER(cadash_interrupt); | |
53 | 54 | }; |
54 | 55 | |
55 | 56 | /*----------- defined in machine/bonzeadv.c -----------*/ |
r17996 | r17997 | |
---|---|---|
33 | 33 | virtual void video_start(); |
34 | 34 | virtual void palette_init(); |
35 | 35 | UINT32 screen_update_pooyan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
36 | INTERRUPT_GEN_MEMBER(pooyan_interrupt); | |
36 | 37 | }; |
r17996 | r17997 | |
---|---|---|
30 | 30 | virtual void video_start(); |
31 | 31 | virtual void palette_init(); |
32 | 32 | UINT32 screen_update_tankbatt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
33 | INTERRUPT_GEN_MEMBER(tankbatt_interrupt); | |
33 | 34 | }; |
r17996 | r17997 | |
---|---|---|
44 | 44 | virtual void palette_init(); |
45 | 45 | UINT32 screen_update_subs_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | 46 | UINT32 screen_update_subs_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
47 | INTERRUPT_GEN_MEMBER(subs_interrupt); | |
47 | 48 | }; |
48 | 49 | |
49 | ||
50 | /*----------- defined in machine/subs.c -----------*/ | |
51 | INTERRUPT_GEN( subs_interrupt ); | |
52 | ||
53 | 50 | /*----------- defined in audio/subs.c -----------*/ |
54 | 51 | |
55 | 52 | DECLARE_WRITE8_DEVICE_HANDLER( subs_noise_reset_w ); |
r17996 | r17997 | |
---|---|---|
37 | 37 | virtual void machine_reset(); |
38 | 38 | virtual void video_start(); |
39 | 39 | UINT32 screen_update_ajax(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
40 | INTERRUPT_GEN_MEMBER(ajax_interrupt); | |
40 | 41 | }; |
41 | 42 | |
42 | /*----------- defined in machine/ajax.c -----------*/ | |
43 | INTERRUPT_GEN( ajax_interrupt ); | |
44 | ||
45 | 43 | /*----------- defined in video/ajax.c -----------*/ |
46 | ||
47 | 44 | extern void ajax_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority); |
48 | 45 | extern void ajax_sprite_callback(running_machine &machine, int *code,int *color,int *priority,int *shadow); |
49 | 46 | extern void ajax_zoom_callback(running_machine &machine, int *code,int *color,int *flags); |
r17996 | r17997 | |
---|---|---|
300 | 300 | virtual void machine_reset(); |
301 | 301 | virtual void video_start(); |
302 | 302 | UINT32 screen_update_bfcobra(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
303 | INTERRUPT_GEN_MEMBER(timer_irq); | |
304 | INTERRUPT_GEN_MEMBER(vblank_gen); | |
303 | 305 | }; |
304 | 306 | |
305 | 307 | |
r17996 | r17997 | |
1762 | 1764 | } |
1763 | 1765 | |
1764 | 1766 | /* TODO */ |
1765 | ||
1767 | ||
1766 | 1768 | { |
1767 | generic_pulse_irq_line(device, M6809_IRQ_LINE, 1); | |
1769 | generic_pulse_irq_line(device.execute(), M6809_IRQ_LINE, 1); | |
1768 | 1770 | } |
1769 | 1771 | |
1770 | 1772 | /* TODO */ |
1771 | ||
1773 | ||
1772 | 1774 | { |
1773 | bfcobra_state *state = device->machine().driver_data<bfcobra_state>(); | |
1774 | state->m_vblank_irq = 1; | |
1775 | update_irqs(device->machine()); | |
1775 | m_vblank_irq = 1; | |
1776 | update_irqs(machine()); | |
1776 | 1777 | } |
1777 | 1778 | |
1778 | 1779 | static MACHINE_CONFIG_START( bfcobra, bfcobra_state ) |
1779 | 1780 | MCFG_CPU_ADD("maincpu", Z80, Z80_XTAL) |
1780 | 1781 | MCFG_CPU_PROGRAM_MAP(z80_prog_map) |
1781 | 1782 | MCFG_CPU_IO_MAP(z80_io_map) |
1782 | MCFG_CPU_VBLANK_INT("screen", vblank_gen) | |
1783 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bfcobra_state, vblank_gen) | |
1783 | 1784 | |
1784 | 1785 | MCFG_CPU_ADD("audiocpu", M6809, M6809_XTAL) |
1785 | 1786 | MCFG_CPU_PROGRAM_MAP(m6809_prog_map) |
1786 | MCFG_CPU_PERIODIC_INT(timer_irq, 1000) | |
1787 | MCFG_CPU_PERIODIC_INT_DRIVER(bfcobra_state, timer_irq, 1000) | |
1787 | 1788 | |
1788 | 1789 | MCFG_NVRAM_ADD_0FILL("nvram") |
1789 | 1790 |
r17996 | r17997 | |
---|---|---|
832 | 832 | /* basic machine hardware */ |
833 | 833 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) /* ??? */ |
834 | 834 | MCFG_CPU_PROGRAM_MAP(nycaptor_master_map) |
835 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
835 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) | |
836 | 836 | |
837 | 837 | MCFG_CPU_ADD("sub", Z80,8000000/2) |
838 | 838 | MCFG_CPU_PROGRAM_MAP(nycaptor_slave_map) |
839 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ generated by ??? */ | |
839 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) /* IRQ generated by ??? */ | |
840 | 840 | |
841 | 841 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) |
842 | 842 | MCFG_CPU_PROGRAM_MAP(nycaptor_sound_map) |
843 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* IRQ generated by ??? */ | |
843 | MCFG_CPU_PERIODIC_INT_DRIVER(nycaptor_state, irq0_line_hold, 2*60) /* IRQ generated by ??? */ | |
844 | 844 | |
845 | 845 | MCFG_CPU_ADD("mcu", M68705,2000000) |
846 | 846 | MCFG_CPU_PROGRAM_MAP(nycaptor_m68705_map) |
r17996 | r17997 | |
890 | 890 | |
891 | 891 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) |
892 | 892 | MCFG_CPU_PROGRAM_MAP(cyclshtg_master_map) |
893 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
893 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) | |
894 | 894 | |
895 | 895 | MCFG_CPU_ADD("sub", Z80,8000000/2) |
896 | 896 | MCFG_CPU_PROGRAM_MAP(cyclshtg_slave_map) |
897 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
897 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) | |
898 | 898 | |
899 | 899 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) |
900 | 900 | MCFG_CPU_PROGRAM_MAP(nycaptor_sound_map) |
901 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
901 | MCFG_CPU_PERIODIC_INT_DRIVER(nycaptor_state, irq0_line_hold, 2*60) | |
902 | 902 | |
903 | 903 | #ifdef USE_MCU |
904 | 904 | MCFG_CPU_ADD("mcu", M68705,2000000) |
r17996 | r17997 | |
948 | 948 | |
949 | 949 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) |
950 | 950 | MCFG_CPU_PROGRAM_MAP(bronx_master_map) |
951 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
951 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) | |
952 | 952 | |
953 | 953 | MCFG_CPU_ADD("sub", Z80,8000000/2) |
954 | 954 | MCFG_CPU_PROGRAM_MAP(bronx_slave_map) |
955 | 955 | MCFG_CPU_IO_MAP(bronx_slave_io_map) |
956 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
956 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nycaptor_state, irq0_line_hold) | |
957 | 957 | |
958 | 958 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) |
959 | 959 | MCFG_CPU_PROGRAM_MAP(nycaptor_sound_map) |
960 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
960 | MCFG_CPU_PERIODIC_INT_DRIVER(nycaptor_state, irq0_line_hold, 2*60) | |
961 | 961 | |
962 | 962 | MCFG_QUANTUM_TIME(attotime::from_hz(120)) |
963 | 963 |
r17996 | r17997 | |
---|---|---|
1225 | 1225 | MCFG_CPU_MODIFY("maincpu") |
1226 | 1226 | MCFG_CPU_PROGRAM_MAP(spangbl_map) |
1227 | 1227 | MCFG_CPU_IO_MAP(spangbl_io_map) |
1228 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1228 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, irq0_line_hold) | |
1229 | 1229 | |
1230 | 1230 | MCFG_DEVICE_REMOVE("scantimer") |
1231 | 1231 | |
1232 | 1232 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) |
1233 | 1233 | MCFG_CPU_PROGRAM_MAP(spangbl_sound_map) |
1234 | 1234 | MCFG_CPU_IO_MAP(spangbl_sound_io_map) |
1235 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1236 | // MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1235 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, irq0_line_hold) | |
1236 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, nmi_line_pulse) | |
1237 | 1237 | |
1238 | 1238 | MCFG_GFXDECODE(spangbl) |
1239 | 1239 | |
r17996 | r17997 | |
1252 | 1252 | MCFG_CPU_ADD("maincpu", Z80, 6000000*4) |
1253 | 1253 | MCFG_CPU_PROGRAM_MAP(mitchell_map) |
1254 | 1254 | MCFG_CPU_IO_MAP(mstworld_io_map) |
1255 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1255 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mitchell_state, irq0_line_hold) | |
1256 | 1256 | |
1257 | 1257 | MCFG_CPU_ADD("audiocpu", Z80,6000000) /* 6 MHz? */ |
1258 | 1258 | MCFG_CPU_PROGRAM_MAP(mstworld_sound_map) |
r17996 | r17997 | |
---|---|---|
317 | 317 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* verified on pcb */ |
318 | 318 | MCFG_CPU_PROGRAM_MAP(blktiger_map) |
319 | 319 | MCFG_CPU_IO_MAP(blktiger_io_map) |
320 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
320 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blktiger_state, irq0_line_hold) | |
321 | 321 | |
322 | 322 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
323 | 323 | MCFG_CPU_PROGRAM_MAP(blktiger_sound_map) |
r17996 | r17997 | |
325 | 325 | MCFG_CPU_ADD("mcu", I8751, XTAL_24MHz/4) /* ??? */ |
326 | 326 | MCFG_CPU_PROGRAM_MAP(blktiger_mcu_map) |
327 | 327 | MCFG_CPU_IO_MAP(blktiger_mcu_io_map) |
328 | //MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
328 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", blktiger_state, irq0_line_hold) | |
329 | 329 | |
330 | 330 | |
331 | 331 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
263 | 263 | |
264 | 264 | /* Interrupt Generator */ |
265 | 265 | |
266 | ||
266 | ||
267 | 267 | { |
268 | device | |
268 | device. | |
269 | 269 | } |
270 | 270 | |
271 | 271 | /* Machine Driver */ |
r17996 | r17997 | |
274 | 274 | // basic machine hardware |
275 | 275 | MCFG_CPU_ADD("maincpu", V30, 16000000/2) // NEC V30-8 CPU |
276 | 276 | MCFG_CPU_PROGRAM_MAP(master_map) |
277 | MCFG_CPU_VBLANK_INT("screen", dynduke_interrupt) | |
277 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynduke_state, dynduke_interrupt) | |
278 | 278 | |
279 | 279 | MCFG_CPU_ADD("slave", V30, 16000000/2) // NEC V30-8 CPU |
280 | 280 | MCFG_CPU_PROGRAM_MAP(slave_map) |
281 | MCFG_CPU_VBLANK_INT("screen", dynduke_interrupt) | |
281 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynduke_state, dynduke_interrupt) | |
282 | 282 | |
283 | 283 | SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
284 | 284 |
r17996 | r17997 | |
---|---|---|
418 | 418 | MCFG_CPU_ADD("maincpu", E116XT, 20000000*4) /* 4x internal multiplier */ |
419 | 419 | MCFG_CPU_PROGRAM_MAP(pasha2_map) |
420 | 420 | MCFG_CPU_IO_MAP(pasha2_io) |
421 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
421 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pasha2_state, irq0_line_hold) | |
422 | 422 | |
423 | 423 | MCFG_EEPROM_93C46_ADD("eeprom") |
424 | 424 |
r17996 | r17997 | |
---|---|---|
211 | 211 | |
212 | 212 | /* Scroll the background on every vblank (guess). */ |
213 | 213 | |
214 | ||
214 | ||
215 | 215 | { |
216 | skyfox_state *state = device->machine().driver_data<skyfox_state>(); | |
217 | 216 | |
218 | 217 | /* Scroll the bg */ |
219 | | |
218 | | |
220 | 219 | } |
221 | 220 | |
222 | 221 | void skyfox_state::machine_start() |
r17996 | r17997 | |
240 | 239 | /* basic machine hardware */ |
241 | 240 | MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* Verified at 4MHz */ |
242 | 241 | MCFG_CPU_PROGRAM_MAP(skyfox_map) |
243 | MCFG_CPU_VBLANK_INT("screen", skyfox_interrupt) /* NMI caused by coin insertion */ | |
242 | MCFG_CPU_VBLANK_INT_DRIVER("screen", skyfox_state, skyfox_interrupt) /* NMI caused by coin insertion */ | |
244 | 243 | |
245 | 244 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/8) /* Verified at 1.789772MHz */ |
246 | 245 | MCFG_CPU_PROGRAM_MAP(skyfox_sound_map) |
r17996 | r17997 | |
---|---|---|
764 | 764 | /* basic machine hardware */ |
765 | 765 | MCFG_CPU_ADD("maincpu", Z80, MAIN_XTAL/4) // 6 MHz |
766 | 766 | MCFG_CPU_PROGRAM_MAP(tokio_map) |
767 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
767 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bublbobl_state, irq0_line_hold) | |
768 | 768 | |
769 | 769 | MCFG_CPU_ADD("slave", Z80, MAIN_XTAL/4) // 6 MHz |
770 | 770 | MCFG_CPU_PROGRAM_MAP(tokio_slave_map) |
771 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
771 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bublbobl_state, irq0_line_hold) | |
772 | 772 | |
773 | 773 | MCFG_CPU_ADD("audiocpu", Z80, MAIN_XTAL/8) // 3 MHz |
774 | 774 | MCFG_CPU_PROGRAM_MAP(tokio_sound_map) // NMIs are triggered by the main CPU, IRQs are triggered by the YM2203 |
r17996 | r17997 | |
845 | 845 | |
846 | 846 | MCFG_CPU_ADD("slave", Z80, MAIN_XTAL/4) // 6 MHz |
847 | 847 | MCFG_CPU_PROGRAM_MAP(slave_map) |
848 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
848 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bublbobl_state, irq0_line_hold) | |
849 | 849 | |
850 | 850 | MCFG_CPU_ADD("audiocpu", Z80, MAIN_XTAL/8) // 3 MHz |
851 | 851 | MCFG_CPU_PROGRAM_MAP(sound_map) // IRQs are triggered by the YM2203 |
852 | 852 | |
853 | 853 | MCFG_CPU_ADD("mcu", M6801, 4000000) // actually 6801U4 // xtal is 4MHz, divided by 4 internally |
854 | 854 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
855 | MCFG_CPU_VBLANK_INT("screen", irq0_line_pulse) // comes from the same clock that latches the INT pin on the second Z80 | |
855 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bublbobl_state, irq0_line_pulse) // comes from the same clock that latches the INT pin on the second Z80 | |
856 | 856 | |
857 | 857 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs |
858 | 858 | |
r17996 | r17997 | |
901 | 901 | |
902 | 902 | MCFG_CPU_MODIFY("maincpu") |
903 | 903 | MCFG_CPU_PROGRAM_MAP(bootleg_map) |
904 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) // interrupt mode 1, unlike Bubble Bobble | |
904 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bublbobl_state, irq0_line_hold) // interrupt mode 1, unlike Bubble Bobble | |
905 | 905 | |
906 | 906 | MCFG_MACHINE_START_OVERRIDE(bublbobl_state,boblbobl) |
907 | 907 | MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state,boblbobl) |
r17996 | r17997 | |
945 | 945 | |
946 | 946 | MCFG_CPU_ADD("mcu", M68705, 4000000) // xtal is 4MHz, divided by 4 internally |
947 | 947 | MCFG_CPU_PROGRAM_MAP(bootlegmcu_map) |
948 | MCFG_CPU_VBLANK_INT("screen",bublbobl_m68705_interrupt) // ??? should come from the same clock which latches the INT pin on the second Z80 | |
948 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bublbobl_state, bublbobl_m68705_interrupt) // ??? should come from the same clock which latches the INT pin on the second Z80 | |
949 | 949 | |
950 | 950 | MCFG_MACHINE_START_OVERRIDE(bublbobl_state,bub68705) |
951 | 951 | MCFG_MACHINE_RESET_OVERRIDE(bublbobl_state,bub68705) |
r17996 | r17997 | |
---|---|---|
1010 | 1010 | static MACHINE_CONFIG_START( coinmstr, coinmstr_state ) |
1011 | 1011 | MCFG_CPU_ADD("maincpu",Z80,8000000) // ? |
1012 | 1012 | MCFG_CPU_PROGRAM_MAP(coinmstr_map) |
1013 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1013 | MCFG_CPU_VBLANK_INT_DRIVER("screen", coinmstr_state, irq0_line_hold) | |
1014 | 1014 | |
1015 | 1015 | MCFG_PIA6821_ADD("pia0", pia_0_intf) |
1016 | 1016 | MCFG_PIA6821_ADD("pia1", pia_1_intf) |
r17996 | r17997 | |
---|---|---|
604 | 604 | MCFG_CPU_ADD("maincpu", Z80, XTAL_4MHz) |
605 | 605 | MCFG_CPU_PROGRAM_MAP(docastle_map) |
606 | 606 | MCFG_CPU_IO_MAP(docastle_io_map) |
607 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
607 | MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, irq0_line_hold) | |
608 | 608 | |
609 | 609 | MCFG_CPU_ADD("slave", Z80, XTAL_4MHz) |
610 | 610 | MCFG_CPU_PROGRAM_MAP(docastle_map2) |
611 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 8*60) | |
611 | MCFG_CPU_PERIODIC_INT_DRIVER(docastle_state, irq0_line_hold, 8*60) | |
612 | 612 | |
613 | 613 | MCFG_CPU_ADD("cpu3", Z80, XTAL_4MHz) |
614 | 614 | MCFG_CPU_PROGRAM_MAP(docastle_map3) |
615 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
615 | MCFG_CPU_VBLANK_INT_DRIVER("screen", docastle_state, nmi_line_pulse) | |
616 | 616 | |
617 | 617 | /* video hardware */ |
618 | 618 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
390 | 390 | |
391 | 391 | MCFG_CPU_ADD("maincpu", Z80, 3360000) |
392 | 392 | MCFG_CPU_PROGRAM_MAP(main_map) |
393 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
393 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mainsnk_state, irq0_line_hold) | |
394 | 394 | |
395 | 395 | MCFG_CPU_ADD("audiocpu", Z80,4000000) |
396 | 396 | MCFG_CPU_PROGRAM_MAP(sound_map) |
397 | 397 | MCFG_CPU_IO_MAP(sound_portmap) |
398 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 244) | |
398 | MCFG_CPU_PERIODIC_INT_DRIVER(mainsnk_state, irq0_line_hold, 244) | |
399 | 399 | |
400 | 400 | /* video hardware */ |
401 | 401 | MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) |
r17996 | r17997 | |
---|---|---|
218 | 218 | virtual void machine_reset(); |
219 | 219 | virtual void video_start(); |
220 | 220 | UINT32 screen_update_magicard(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
221 | INTERRUPT_GEN_MEMBER(magicard_irq); | |
221 | 222 | }; |
222 | 223 | |
223 | 224 | |
r17996 | r17997 | |
708 | 709 | *************************/ |
709 | 710 | |
710 | 711 | /*Probably there's a mask somewhere if it REALLY uses irqs at all...irq vectors dynamically changes after some time.*/ |
711 | ||
712 | ||
712 | 713 | { |
713 | if(device->machine().input().code_pressed(KEYCODE_Z)) //vblank? | |
714 | device->execute().set_input_line_and_vector(1, HOLD_LINE,0xe4/4); | |
715 | if(device->machine().input().code_pressed(KEYCODE_X)) //uart irq | |
716 | device->execute().set_input_line_and_vector(1, HOLD_LINE,0xf0/4); | |
714 | if(machine().input().code_pressed(KEYCODE_Z)) //vblank? | |
715 | device.execute().set_input_line_and_vector(1, HOLD_LINE,0xe4/4); | |
716 | if(machine().input().code_pressed(KEYCODE_X)) //uart irq | |
717 | device.execute().set_input_line_and_vector(1, HOLD_LINE,0xf0/4); | |
717 | 718 | } |
718 | 719 | |
719 | 720 | static MACHINE_CONFIG_START( magicard, magicard_state ) |
720 | 721 | MCFG_CPU_ADD("maincpu", SCC68070, CLOCK_A/2) /* SCC-68070 CCA84 datasheet */ |
721 | 722 | MCFG_CPU_PROGRAM_MAP(magicard_mem) |
722 | MCFG_CPU_VBLANK_INT("screen", magicard_irq) /* no interrupts? (it erases the vectors..) */ | |
723 | MCFG_CPU_VBLANK_INT_DRIVER("screen", magicard_state, magicard_irq) /* no interrupts? (it erases the vectors..) */ | |
723 | 724 | |
724 | 725 | MCFG_SCREEN_ADD("screen", RASTER) |
725 | 726 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
121 | 121 | vlm5030_rst(device, (data >> 2) & 1); |
122 | 122 | } |
123 | 123 | |
124 | ||
124 | ||
125 | 125 | { |
126 | yiear_state *state = device->machine().driver_data<yiear_state>(); | |
127 | 126 | |
128 | if (state->m_yiear_irq_enable) | |
129 | device->execute().set_input_line(0, HOLD_LINE); | |
127 | if (m_yiear_irq_enable) | |
128 | device.execute().set_input_line(0, HOLD_LINE); | |
130 | 129 | } |
131 | 130 | |
132 | 131 | |
133 | ||
132 | ||
134 | 133 | { |
135 | yiear_state *state = device->machine().driver_data<yiear_state>(); | |
136 | 134 | |
137 | if (state->m_yiear_nmi_enable) | |
138 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
135 | if (m_yiear_nmi_enable) | |
136 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
139 | 137 | } |
140 | 138 | |
141 | 139 | |
r17996 | r17997 | |
289 | 287 | /* basic machine hardware */ |
290 | 288 | MCFG_CPU_ADD("maincpu", M6809,XTAL_18_432MHz/12) /* verified on pcb */ |
291 | 289 | MCFG_CPU_PROGRAM_MAP(main_map) |
292 | MCFG_CPU_VBLANK_INT("screen", yiear_vblank_interrupt) | |
293 | MCFG_CPU_PERIODIC_INT(yiear_nmi_interrupt,480) /* music tempo (correct frequency unknown) */ | |
290 | MCFG_CPU_VBLANK_INT_DRIVER("screen", yiear_state, yiear_vblank_interrupt) | |
291 | MCFG_CPU_PERIODIC_INT_DRIVER(yiear_state, yiear_nmi_interrupt, 480) /* music tempo (correct frequency unknown) */ | |
294 | 292 | |
295 | 293 | |
296 | 294 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
175 | 175 | DECLARE_DRIVER_INIT(rou029); |
176 | 176 | DECLARE_DRIVER_INIT(nocrypt); |
177 | 177 | virtual void machine_reset(); |
178 | INTERRUPT_GEN_MEMBER(timer_irq); | |
178 | 179 | }; |
179 | 180 | |
180 | 181 | #define VFD_RESET 0x20 |
r17996 | r17997 | |
213 | 214 | |
214 | 215 | /////////////////////////////////////////////////////////////////////////// |
215 | 216 | |
216 | ||
217 | ||
217 | 218 | { |
218 | bfm_sc1_state *state = device->machine().driver_data<bfm_sc1_state>(); | |
219 | 219 | |
220 | if ( | |
220 | if ( | |
221 | 221 | { |
222 | | |
222 | | |
223 | 223 | |
224 | | |
224 | | |
225 | 225 | |
226 | generic_pulse_irq_line(device | |
226 | generic_pulse_irq_line(device | |
227 | 227 | } |
228 | 228 | } |
229 | 229 | |
r17996 | r17997 | |
1095 | 1095 | static MACHINE_CONFIG_START( scorpion1, bfm_sc1_state ) |
1096 | 1096 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz |
1097 | 1097 | MCFG_CPU_PROGRAM_MAP(sc1_base) // setup read and write memorymap |
1098 | MCFG_CPU_PERIODIC_INT(timer_irq, 1000 | |
1098 | MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc1_state, timer_irq, 1000 | |
1099 | 1099 | MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9)) |
1100 | 1100 | |
1101 | 1101 | MCFG_BFMBD1_ADD("vfd0",0) |
r17996 | r17997 | |
---|---|---|
247 | 247 | /* basic machine hardware */ |
248 | 248 | MCFG_CPU_ADD("maincpu", M6802, 8000000) /* ? MHz */ |
249 | 249 | MCFG_CPU_PROGRAM_MAP(murogem_map) |
250 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
250 | MCFG_CPU_VBLANK_INT_DRIVER("screen", murogem_state, irq0_line_hold) | |
251 | 251 | |
252 | 252 | /* video hardware */ |
253 | 253 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
1695 | 1695 | MCFG_CPU_ADD("soundcpu", Z80, 4000000) |
1696 | 1696 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1697 | 1697 | MCFG_CPU_IO_MAP(twinadv_sound_io_map) |
1698 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1698 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snowbros_state, irq0_line_hold) | |
1699 | 1699 | |
1700 | 1700 | /* video hardware */ |
1701 | 1701 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
611 | 611 | } |
612 | 612 | |
613 | 613 | /* CTC of main cpu, ch0 trigger is vblank */ |
614 | ||
614 | ||
615 | 615 | { |
616 | z80ctc_device *ctc = | |
616 | z80ctc_device *ctc = | |
617 | 617 | ctc->trg1(1); |
618 | 618 | ctc->trg1(0); |
619 | 619 | } |
r17996 | r17997 | |
3165 | 3165 | MCFG_CPU_CONFIG(daisy_chain_main) |
3166 | 3166 | MCFG_CPU_PROGRAM_MAP(sailorws_map) |
3167 | 3167 | MCFG_CPU_IO_MAP(sailorws_io_map) |
3168 | MCFG_CPU_VBLANK_INT("screen", ctc0_trg1) /* vblank is connect to ctc triggfer */ | |
3168 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nbmj9195_state, ctc0_trg1) /* vblank is connect to ctc triggfer */ | |
3169 | 3169 | |
3170 | 3170 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* TMPZ84C011, 8.00 MHz */ |
3171 | 3171 | MCFG_CPU_CONFIG(daisy_chain_sound) |
r17996 | r17997 | |
---|---|---|
244 | 244 | /* basic machine hardware */ |
245 | 245 | MCFG_CPU_ADD("maincpu", M6809,12000000/6) /* 2 MHz ??? */ |
246 | 246 | MCFG_CPU_PROGRAM_MAP(main_map) |
247 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
247 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sonson_state, irq0_line_hold) | |
248 | 248 | |
249 | 249 | MCFG_CPU_ADD("audiocpu", M6809,12000000/6) /* 2 MHz ??? */ |
250 | 250 | MCFG_CPU_PROGRAM_MAP(sound_map) |
251 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* FIRQs are triggered by the main CPU */ | |
251 | MCFG_CPU_PERIODIC_INT_DRIVER(sonson_state, irq0_line_hold, 4*60) /* FIRQs are triggered by the main CPU */ | |
252 | 252 | |
253 | 253 | |
254 | 254 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
707 | 707 | /* basic machine hardware */ |
708 | 708 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
709 | 709 | MCFG_CPU_PROGRAM_MAP(sslam_program_map) |
710 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
710 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sslam_state, irq2_line_hold) | |
711 | 711 | |
712 | 712 | MCFG_CPU_ADD("audiocpu", I8051, 12000000) |
713 | 713 | MCFG_DEVICE_DISABLE() /* Internal code is not dumped - 2 boards were protected */ |
r17996 | r17997 | |
737 | 737 | /* basic machine hardware */ |
738 | 738 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
739 | 739 | MCFG_CPU_PROGRAM_MAP(powerbls_map) |
740 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
740 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sslam_state, irq2_line_hold) | |
741 | 741 | |
742 | 742 | MCFG_CPU_ADD("audiocpu", I80C51, 12000000) /* 83C751 */ |
743 | 743 | MCFG_CPU_IO_MAP(sound_io_map) |
r17996 | r17997 | |
---|---|---|
209 | 209 | /* basic machine hardware */ |
210 | 210 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* Derived from 24 MHz clock */ |
211 | 211 | MCFG_CPU_PROGRAM_MAP(hcastle_map) |
212 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
212 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hcastle_state, irq0_line_hold) | |
213 | 213 | |
214 | 214 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
215 | 215 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
92 | 92 | DECLARE_PALETTE_INIT(zerotrgt); |
93 | 93 | UINT32 screen_update_cntsteer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
94 | 94 | UINT32 screen_update_zerotrgt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
95 | INTERRUPT_GEN_MEMBER(sound_interrupt); | |
95 | 96 | }; |
96 | 97 | |
97 | 98 | |
r17996 | r17997 | |
595 | 596 | m_nmimask = data & 0x80; |
596 | 597 | } |
597 | 598 | |
598 | ||
599 | ||
599 | 600 | { |
600 | cntsteer_state *state = device->machine().driver_data<cntsteer_state>(); | |
601 | if (!state->m_nmimask) | |
602 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
601 | if (!m_nmimask) | |
602 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
603 | 603 | } |
604 | 604 | |
605 | 605 | static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cntsteer_state ) |
r17996 | r17997 | |
883 | 883 | /* basic machine hardware */ |
884 | 884 | MCFG_CPU_ADD("maincpu", M6809, 2000000) /* ? */ |
885 | 885 | MCFG_CPU_PROGRAM_MAP(cntsteer_cpu1_map) |
886 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ | |
886 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cntsteer_state, nmi_line_pulse) /* ? */ | |
887 | 887 | |
888 | 888 | MCFG_CPU_ADD("subcpu", M6809, 2000000) /* ? */ |
889 | 889 | MCFG_CPU_PROGRAM_MAP(cntsteer_cpu2_map) |
890 | ||
890 | | |
891 | 891 | |
892 | 892 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* ? */ |
893 | 893 | MCFG_CPU_PROGRAM_MAP(sound_map) |
894 | MCFG_CPU_PERIODIC_INT(sound_interrupt, 480) | |
894 | MCFG_CPU_PERIODIC_INT_DRIVER(cntsteer_state, sound_interrupt, 480) | |
895 | 895 | |
896 | 896 | MCFG_MACHINE_START_OVERRIDE(cntsteer_state,cntsteer) |
897 | 897 | MCFG_MACHINE_RESET_OVERRIDE(cntsteer_state,cntsteer) |
r17996 | r17997 | |
930 | 930 | /* basic machine hardware */ |
931 | 931 | MCFG_CPU_ADD("maincpu", M6809, 2000000) /* ? */ |
932 | 932 | MCFG_CPU_PROGRAM_MAP(gekitsui_cpu1_map) |
933 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* ? */ | |
933 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cntsteer_state, nmi_line_pulse) /* ? */ | |
934 | 934 | |
935 | 935 | MCFG_CPU_ADD("subcpu", M6809, 2000000) /* ? */ |
936 | 936 | MCFG_CPU_PROGRAM_MAP(gekitsui_cpu2_map) |
937 | ||
937 | | |
938 | 938 | |
939 | 939 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* ? */ |
940 | 940 | MCFG_CPU_PROGRAM_MAP(sound_map) |
941 | MCFG_CPU_PERIODIC_INT(sound_interrupt, 480) | |
941 | MCFG_CPU_PERIODIC_INT_DRIVER(cntsteer_state, sound_interrupt, 480) | |
942 | 942 | |
943 | 943 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
944 | 944 |
r17996 | r17997 | |
---|---|---|
468 | 468 | MCFG_CPU_ADD("main_cpu", Z80, XTAL_12MHz/4) /* 3 MHz */ |
469 | 469 | MCFG_CPU_PROGRAM_MAP(bking_map) |
470 | 470 | MCFG_CPU_IO_MAP(bking_io_map) |
471 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
471 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bking_state, irq0_line_hold) | |
472 | 472 | |
473 | 473 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_6MHz/2) /* 3 MHz */ |
474 | 474 | MCFG_CPU_PROGRAM_MAP(bking_audio_map) |
r17996 | r17997 | |
476 | 476 | /* - no interrupts synced with vblank */ |
477 | 477 | /* - NMI triggered by the main CPU */ |
478 | 478 | /* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */ |
479 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)6000000/(4*16*16*10*16)) | |
479 | MCFG_CPU_PERIODIC_INT_DRIVER(bking_state, irq0_line_hold, (double)6000000/(4*16*16*10*16)) | |
480 | 480 | |
481 | 481 | |
482 | 482 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
641 | 641 | /* basic machine hardware */ |
642 | 642 | MCFG_CPU_ADD("maincpu", M68000, 14000000) /* DE102 */ |
643 | 643 | MCFG_CPU_PROGRAM_MAP(dblewing_map) |
644 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
644 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dblewing_state, irq6_line_hold) | |
645 | 645 | |
646 | 646 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
647 | 647 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
360 | 360 | MCFG_CPU_ADD("maincpu", Z80, MAIN_OSC/4) |
361 | 361 | MCFG_CPU_PROGRAM_MAP(main_map) |
362 | 362 | MCFG_CPU_IO_MAP(main_io_map) |
363 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
363 | MCFG_CPU_VBLANK_INT_DRIVER("screen", arabian_state, irq0_line_hold) | |
364 | 364 | |
365 | 365 | MCFG_CPU_ADD("mcu", MB8841, MAIN_OSC/3/2) |
366 | 366 | MCFG_CPU_IO_MAP(mcu_io_map) |
r17996 | r17997 | |
---|---|---|
16 | 16 | #include "includes/labyrunr.h" |
17 | 17 | |
18 | 18 | |
19 | ||
19 | ||
20 | 20 | { |
21 | labyrunr_state *state = device->machine().driver_data<labyrunr_state>(); | |
22 | address_space &space = state->generic_space(); | |
23 | if (k007121_ctrlram_r(state->m_k007121, space, 7) & 0x02) | |
24 | device->execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
21 | address_space &space = generic_space(); | |
22 | if (k007121_ctrlram_r(m_k007121, space, 7) & 0x02) | |
23 | device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
25 | 24 | } |
26 | 25 | |
27 | ||
26 | ||
28 | 27 | { |
29 | labyrunr_state *state = device->machine().driver_data<labyrunr_state>(); | |
30 | address_space &space = state->generic_space(); | |
31 | if (k007121_ctrlram_r(state->m_k007121, space, 7) & 0x01) | |
32 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
28 | address_space &space = generic_space(); | |
29 | if (k007121_ctrlram_r(m_k007121, space, 7) & 0x01) | |
30 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
33 | 31 | } |
34 | 32 | |
35 | 33 | |
r17996 | r17997 | |
197 | 195 | /* basic machine hardware */ |
198 | 196 | MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) /* 24MHz/8? */ |
199 | 197 | MCFG_CPU_PROGRAM_MAP(labyrunr_map) |
200 | MCFG_CPU_VBLANK_INT("screen", labyrunr_vblank_interrupt) | |
201 | MCFG_CPU_PERIODIC_INT(labyrunr_timer_interrupt, 4*60) | |
198 | MCFG_CPU_VBLANK_INT_DRIVER("screen", labyrunr_state, labyrunr_vblank_interrupt) | |
199 | MCFG_CPU_PERIODIC_INT_DRIVER(labyrunr_state, labyrunr_timer_interrupt, 4*60) | |
202 | 200 | |
203 | 201 | |
204 | 202 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
112 | 112 | DECLARE_READ8_MEMBER(dummy_r); |
113 | 113 | virtual void palette_init(); |
114 | 114 | UINT32 screen_update_shougi(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
115 | INTERRUPT_GEN_MEMBER(shougi_vblank_nmi); | |
115 | 116 | }; |
116 | 117 | |
117 | 118 | |
r17996 | r17997 | |
273 | 274 | m_nmi_enabled = 1; /* enable NMIs */ |
274 | 275 | } |
275 | 276 | |
276 | ||
277 | ||
277 | 278 | { |
278 | shougi_state *state = device->machine().driver_data<shougi_state>(); | |
279 | 279 | |
280 | if ( | |
280 | if ( | |
281 | 281 | { |
282 | 282 | /* NMI lines are tied together on both CPUs and connected to the LS74 /Q output */ |
283 | device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
284 | device->machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
283 | machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
284 | machine().device("sub")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
285 | 285 | } |
286 | 286 | } |
287 | 287 | |
r17996 | r17997 | |
405 | 405 | |
406 | 406 | MCFG_CPU_ADD("maincpu", Z80,10000000/4) |
407 | 407 | MCFG_CPU_PROGRAM_MAP(main_map) |
408 | MCFG_CPU_VBLANK_INT("screen", shougi_vblank_nmi) | |
408 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shougi_state, shougi_vblank_nmi) | |
409 | 409 | |
410 | 410 | MCFG_CPU_ADD("sub", Z80,10000000/4) |
411 | 411 | MCFG_CPU_PROGRAM_MAP(sub_map) |
r17996 | r17997 | |
---|---|---|
33 | 33 | |
34 | 34 | |
35 | 35 | |
36 | ||
36 | ||
37 | 37 | { |
38 | 38 | /* SLAM switch causes an NMI if it's pressed */ |
39 | if( (device->machine().root_device().ioport("P2")->read() & 0x10) == 0 ) | |
40 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
39 | if( (machine().root_device().ioport("P2")->read() & 0x10) == 0 ) | |
40 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
41 | 41 | else |
42 | device | |
42 | device. | |
43 | 43 | } |
44 | 44 | |
45 | 45 | /**********************************************************/ |
r17996 | r17997 | |
439 | 439 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ |
440 | 440 | MCFG_CPU_PROGRAM_MAP(sharkatt_main_map) |
441 | 441 | MCFG_CPU_IO_MAP(io_map) |
442 | MCFG_CPU_VBLANK_INT("screen", thief_interrupt) | |
442 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thief_state, thief_interrupt) | |
443 | 443 | |
444 | 444 | /* video hardware */ |
445 | 445 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
474 | 474 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ |
475 | 475 | MCFG_CPU_PROGRAM_MAP(thief_main_map) |
476 | 476 | MCFG_CPU_IO_MAP(io_map) |
477 | MCFG_CPU_VBLANK_INT("screen", thief_interrupt) | |
477 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thief_state, thief_interrupt) | |
478 | 478 | |
479 | 479 | /* video hardware */ |
480 | 480 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
509 | 509 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ |
510 | 510 | MCFG_CPU_PROGRAM_MAP(thief_main_map) |
511 | 511 | MCFG_CPU_IO_MAP(io_map) |
512 | MCFG_CPU_VBLANK_INT("screen", thief_interrupt) | |
512 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thief_state, thief_interrupt) | |
513 | 513 | |
514 | 514 | /* video hardware */ |
515 | 515 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
993 | 993 | /* basic machine hardware */ |
994 | 994 | MCFG_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */ |
995 | 995 | MCFG_CPU_PROGRAM_MAP(hornet_map) |
996 | MCFG_CPU_PERIODIC_INT(irq1_line_assert, 1000) | |
996 | MCFG_CPU_PERIODIC_INT_DRIVER(hornet_state, irq1_line_assert, 1000) | |
997 | 997 | |
998 | 998 | MCFG_CPU_ADD("audiocpu", M68000, 64000000/4) /* 16MHz */ |
999 | 999 | MCFG_CPU_PROGRAM_MAP(sound_memmap) |
r17996 | r17997 | |
---|---|---|
126 | 126 | |
127 | 127 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
128 | 128 | MCFG_CPU_PROGRAM_MAP(hotstuff_map) |
129 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
129 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hotstuff_state, irq1_line_hold) | |
130 | 130 | |
131 | 131 | MCFG_SCREEN_ADD("screen", RASTER) |
132 | 132 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
498 | 498 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz? */ |
499 | 499 | MCFG_CPU_PROGRAM_MAP(discoboy_map) |
500 | 500 | MCFG_CPU_IO_MAP(io_map) |
501 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
501 | MCFG_CPU_VBLANK_INT_DRIVER("screen", discoboy_state, irq0_line_hold) | |
502 | 502 | |
503 | 503 | MCFG_CPU_ADD("audiocpu", Z80,10000000/2) /* 5 MHz? */ |
504 | 504 | MCFG_CPU_PROGRAM_MAP(sound_map) |
505 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,32*60) | |
505 | MCFG_CPU_PERIODIC_INT_DRIVER(discoboy_state, nmi_line_pulse, 32*60) | |
506 | 506 | |
507 | 507 | |
508 | 508 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
276 | 276 | /* basic machine hardware */ |
277 | 277 | MCFG_CPU_ADD("maincpu", M68000, MAIN_CLOCK) |
278 | 278 | MCFG_CPU_PROGRAM_MAP(wildpkr_map) |
279 | ||
279 | | |
280 | 280 | |
281 | 281 | |
282 | 282 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
300 | 300 | /* basic machine hardware */ |
301 | 301 | MCFG_CPU_ADD("maincpu", Z80,4000000) |
302 | 302 | MCFG_CPU_PROGRAM_MAP(mainmap) |
303 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
303 | MCFG_CPU_VBLANK_INT_DRIVER("screen", summit_state, irq0_line_hold) | |
304 | 304 | |
305 | 305 | /* video hardware */ |
306 | 306 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
232 | 232 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* XTAL confirmed, divisor guessed */ |
233 | 233 | MCFG_CPU_PROGRAM_MAP(main_map) |
234 | 234 | MCFG_CPU_IO_MAP(main_portmap) |
235 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
235 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ambush_state, irq0_line_hold) | |
236 | 236 | |
237 | 237 | /* video hardware */ |
238 | 238 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
47 | 47 | } |
48 | 48 | |
49 | 49 | |
50 | ||
50 | ||
51 | 51 | { |
52 | device->execute().set_input_line(0, ASSERT_LINE); | |
53 | device->machine().scheduler().timer_set(device->machine().primary_screen->time_until_vblank_end(), FUNC(irq_off)); | |
52 | device.execute().set_input_line(0, ASSERT_LINE); | |
53 | machine().scheduler().timer_set(machine().primary_screen->time_until_vblank_end(), FUNC(irq_off)); | |
54 | 54 | } |
55 | 55 | |
56 | 56 | |
r17996 | r17997 | |
299 | 299 | /* basic machine hardware */ |
300 | 300 | MCFG_CPU_ADD("maincpu", M6800, MASTER_CLOCK / 16) |
301 | 301 | MCFG_CPU_PROGRAM_MAP(orbit_map) |
302 | MCFG_CPU_VBLANK_INT("screen", orbit_interrupt) | |
302 | MCFG_CPU_VBLANK_INT_DRIVER("screen", orbit_state, orbit_interrupt) | |
303 | 303 | |
304 | 304 | MCFG_TIMER_ADD_SCANLINE("32v", nmi_32v, "screen", 0, 32) |
305 | 305 |
r17996 | r17997 | |
---|---|---|
107 | 107 | } |
108 | 108 | |
109 | 109 | |
110 | ||
110 | ||
111 | 111 | { |
112 | device->execute().set_input_line(R3000_IRQ4, ASSERT_LINE); | |
113 | device->machine().scheduler().timer_set(device->machine().primary_screen->time_until_pos(0), FUNC(irq5_gen)); | |
112 | device.execute().set_input_line(R3000_IRQ4, ASSERT_LINE); | |
113 | machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(irq5_gen)); | |
114 | 114 | } |
115 | 115 | |
116 | 116 | |
r17996 | r17997 | |
416 | 416 | MCFG_CPU_ADD("maincpu", R3000BE, MASTER_CLOCK/2) |
417 | 417 | MCFG_CPU_CONFIG(r3000_config) |
418 | 418 | MCFG_CPU_PROGRAM_MAP(policetr_map) |
419 | MCFG_CPU_VBLANK_INT("screen", irq4_gen) | |
419 | MCFG_CPU_VBLANK_INT_DRIVER("screen", policetr_state, irq4_gen) | |
420 | 420 | |
421 | 421 | MCFG_EEPROM_ADD("eeprom", eeprom_interface_policetr) |
422 | 422 |
r17996 | r17997 | |
---|---|---|
525 | 525 | static MACHINE_CONFIG_START( skimaxx, skimaxx_state ) |
526 | 526 | MCFG_CPU_ADD("maincpu", M68EC030, XTAL_40MHz) |
527 | 527 | MCFG_CPU_PROGRAM_MAP(68030_1_map) |
528 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) // 1,3,7 are identical, rest is RTE | |
528 | MCFG_CPU_VBLANK_INT_DRIVER("screen", skimaxx_state, irq3_line_hold) // 1,3,7 are identical, rest is RTE | |
529 | 529 | |
530 | 530 | MCFG_CPU_ADD("subcpu", M68EC030, XTAL_40MHz) |
531 | 531 | MCFG_CPU_PROGRAM_MAP(68030_2_map) |
r17996 | r17997 | |
---|---|---|
558 | 558 | /* basic machine hardware */ |
559 | 559 | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK) |
560 | 560 | MCFG_CPU_PROGRAM_MAP(mwarr_map) |
561 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
561 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mwarr_state, irq4_line_hold) | |
562 | 562 | |
563 | 563 | |
564 | 564 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
250 | 250 | } |
251 | 251 | } |
252 | 252 | |
253 | ||
253 | ||
254 | 254 | { |
255 | gaplus_state *state = device->machine().driver_data<gaplus_state>(); | |
256 | 255 | |
257 | device_t *io58xx = device->machine().device("58xx"); | |
258 | device_t *io56xx = device->machine().device("56xx"); | |
256 | device_t *io58xx = machine().device("58xx"); | |
257 | device_t *io56xx = machine().device("56xx"); | |
259 | 258 | |
260 | if(state->m_main_irq_mask) | |
261 | device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
259 | if(m_main_irq_mask) | |
260 | machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
262 | 261 | |
263 | 262 | if (!namcoio_read_reset_line(io58xx)) /* give the cpu a tiny bit of time to write the command before processing it */ |
264 | | |
263 | | |
265 | 264 | |
266 | 265 | if (!namcoio_read_reset_line(io56xx)) /* give the cpu a tiny bit of time to write the command before processing it */ |
267 | | |
266 | | |
268 | 267 | } |
269 | 268 | |
270 | ||
269 | ||
271 | 270 | { |
272 | gaplus_state *state = device->machine().driver_data<gaplus_state>(); | |
273 | 271 | |
274 | if(state->m_sub_irq_mask) | |
275 | device->machine().device("sub")->execute().set_input_line(0, ASSERT_LINE); | |
272 | if(m_sub_irq_mask) | |
273 | machine().device("sub")->execute().set_input_line(0, ASSERT_LINE); | |
276 | 274 | } |
277 | 275 | |
278 | ||
276 | ||
279 | 277 | { |
280 | gaplus_state *state = device->machine().driver_data<gaplus_state>(); | |
281 | 278 | |
282 | if(state->m_sub2_irq_mask) | |
283 | device->machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE); | |
279 | if(m_sub2_irq_mask) | |
280 | machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE); | |
284 | 281 | } |
285 | 282 | |
286 | 283 | |
r17996 | r17997 | |
560 | 557 | /* basic machine hardware */ |
561 | 558 | MCFG_CPU_ADD("maincpu", M6809, 24576000/16) /* 1.536 MHz */ |
562 | 559 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
563 | MCFG_CPU_VBLANK_INT("screen", gaplus_vblank_main_irq) | |
560 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaplus_state, gaplus_vblank_main_irq) | |
564 | 561 | |
565 | 562 | MCFG_CPU_ADD("sub", M6809, 24576000/16) /* 1.536 MHz */ |
566 | 563 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
567 | MCFG_CPU_VBLANK_INT("screen", gaplus_vblank_sub_irq) | |
564 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaplus_state, gaplus_vblank_sub_irq) | |
568 | 565 | |
569 | 566 | MCFG_CPU_ADD("sub2", M6809, 24576000/16) /* 1.536 MHz */ |
570 | 567 | MCFG_CPU_PROGRAM_MAP(cpu3_map) |
571 | MCFG_CPU_VBLANK_INT("screen", gaplus_vblank_sub2_irq) | |
568 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaplus_state, gaplus_vblank_sub2_irq) | |
572 | 569 | |
573 | 570 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* a high value to ensure proper synchronization of the CPUs */ |
574 | 571 |
r17996 | r17997 | |
---|---|---|
244 | 244 | /* basic machine hardware */ |
245 | 245 | MCFG_CPU_ADD("maincpu", M6502, XTAL_11_289MHz/12) /* 940.75 kHz */ |
246 | 246 | MCFG_CPU_PROGRAM_MAP(main_map) |
247 | MCFG_CPU_VBLANK_INT("screen", carpolo_timer_interrupt) /* this not strictly VBLANK, | |
247 | MCFG_CPU_VBLANK_INT_DRIVER("screen", carpolo_state, carpolo_timer_interrupt) /* this not strictly VBLANK, | |
248 | 248 | but it's supposed to happen 60 |
249 | 249 | times a sec, so it's a good place */ |
250 | 250 |
r17996 | r17997 | |
---|---|---|
288 | 288 | MCFG_CPU_ADD("maincpu", Z80, 4000000) //??? |
289 | 289 | MCFG_CPU_PROGRAM_MAP(vroulet_map) |
290 | 290 | MCFG_CPU_IO_MAP(vroulet_io_map) |
291 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
291 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vroulet_state, irq0_line_hold) | |
292 | 292 | |
293 | 293 | MCFG_NVRAM_ADD_1FILL("nvram") |
294 | 294 |
r17996 | r17997 | |
---|---|---|
325 | 325 | MCFG_CPU_ADD("maincpu", Z80,MASTER_CLOCK/2) //divider is unknown |
326 | 326 | MCFG_CPU_PROGRAM_MAP(speedatk_mem) |
327 | 327 | MCFG_CPU_IO_MAP(speedatk_io) |
328 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
328 | MCFG_CPU_VBLANK_INT_DRIVER("screen", speedatk_state, irq0_line_hold) | |
329 | 329 | |
330 | 330 | MCFG_WATCHDOG_VBLANK_INIT(8) // timing is unknown |
331 | 331 |
r17996 | r17997 | |
---|---|---|
237 | 237 | virtual void video_start(); |
238 | 238 | virtual void palette_init(); |
239 | 239 | UINT32 screen_update_coinmvga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
240 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
240 | 241 | }; |
241 | 242 | |
242 | 243 | |
r17996 | r17997 | |
656 | 657 | 0 // irq ? |
657 | 658 | }; |
658 | 659 | |
659 | ||
660 | ||
660 | 661 | { |
661 | 662 | //printf("1\n"); |
662 | device | |
663 | device. | |
663 | 664 | } |
664 | 665 | |
665 | 666 | |
r17996 | r17997 | |
673 | 674 | MCFG_CPU_ADD("maincpu", H83007, CPU_CLOCK) /* xtal */ |
674 | 675 | MCFG_CPU_PROGRAM_MAP(coinmvga_map) |
675 | 676 | MCFG_CPU_IO_MAP(coinmvga_io_map) |
676 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) /* wrong, fix me */ | |
677 | MCFG_CPU_VBLANK_INT_DRIVER("screen", coinmvga_state, vblank_irq) /* wrong, fix me */ | |
677 | 678 | |
678 | 679 | // MCFG_NVRAM_ADD_0FILL("nvram") |
679 | 680 |
r17996 | r17997 | |
---|---|---|
193 | 193 | MCFG_CPU_ADD("maincpu", V30, 8000000) |
194 | 194 | MCFG_CPU_PROGRAM_MAP(twins_map) |
195 | 195 | MCFG_CPU_IO_MAP(twins_io) |
196 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
196 | MCFG_CPU_VBLANK_INT_DRIVER("screen", twins_state, nmi_line_pulse) | |
197 | 197 | |
198 | 198 | /* video hardware */ |
199 | 199 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
281 | 281 | MCFG_CPU_ADD("maincpu", V30, XTAL_16MHz/2) /* verified on pcb */ |
282 | 282 | MCFG_CPU_PROGRAM_MAP(twins_map) |
283 | 283 | MCFG_CPU_IO_MAP(twinsa_io) |
284 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
284 | MCFG_CPU_VBLANK_INT_DRIVER("screen", twins_state, nmi_line_pulse) | |
285 | 285 | |
286 | 286 | /* video hardware */ |
287 | 287 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
343 | 343 | /* basic machine hardware */ |
344 | 344 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12MHz */ |
345 | 345 | MCFG_CPU_PROGRAM_MAP(powerins_map) |
346 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
346 | MCFG_CPU_VBLANK_INT_DRIVER("screen", powerins_state, irq4_line_hold) | |
347 | 347 | |
348 | 348 | MCFG_CPU_ADD("soundcpu", Z80, 6000000) /* 6 MHz */ |
349 | 349 | MCFG_CPU_PROGRAM_MAP(powerins_sound_map) |
r17996 | r17997 | |
407 | 407 | |
408 | 408 | MCFG_CPU_MODIFY("soundcpu") /* 6 MHz */ |
409 | 409 | MCFG_CPU_IO_MAP(powerinb_sound_io_map) |
410 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 120) // YM2203 rate is at 150?? | |
410 | MCFG_CPU_PERIODIC_INT_DRIVER(powerins_state, irq0_line_hold, 120) // YM2203 rate is at 150?? | |
411 | 411 | |
412 | 412 | MCFG_DEVICE_REMOVE("ym2203") // Sound code talks to one, but it's not fitted on the board |
413 | 413 | MACHINE_CONFIG_END |
r17996 | r17997 | |
---|---|---|
57 | 57 | virtual void machine_reset(); |
58 | 58 | virtual void video_start(); |
59 | 59 | UINT32 screen_update_cultures(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
60 | INTERRUPT_GEN_MEMBER(cultures_interrupt); | |
60 | 61 | }; |
61 | 62 | |
62 | 63 | |
r17996 | r17997 | |
362 | 363 | GFXDECODE_ENTRY("gfx3", 0, gfxlayout, 0x1000, 0x10 ) |
363 | 364 | GFXDECODE_END |
364 | 365 | |
365 | ||
366 | ||
366 | 367 | { |
367 | cultures_state *state = device->machine().driver_data<cultures_state>(); | |
368 | if (state->m_irq_enable) | |
369 | device->execute().set_input_line(0, HOLD_LINE); | |
368 | if (m_irq_enable) | |
369 | device.execute().set_input_line(0, HOLD_LINE); | |
370 | 370 | } |
371 | 371 | |
372 | 372 | void cultures_state::machine_start() |
r17996 | r17997 | |
398 | 398 | MCFG_CPU_ADD("maincpu", Z80, MCLK/2) /* 8.000 MHz */ |
399 | 399 | MCFG_CPU_PROGRAM_MAP(cultures_map) |
400 | 400 | MCFG_CPU_IO_MAP(cultures_io_map) |
401 | MCFG_CPU_VBLANK_INT("screen", cultures_interrupt) | |
401 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cultures_state, cultures_interrupt) | |
402 | 402 | |
403 | 403 | |
404 | 404 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
1065 | 1065 | /* basic machine hardware */ |
1066 | 1066 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8) /* guess, seems ok */ |
1067 | 1067 | MCFG_CPU_PROGRAM_MAP(fclown_map) |
1068 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1068 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _5clown_state, nmi_line_pulse) | |
1069 | 1069 | |
1070 | 1070 | MCFG_CPU_ADD("audiocpu", M6502, MASTER_CLOCK/8) /* guess, seems ok */ |
1071 | 1071 | MCFG_CPU_PROGRAM_MAP(fcaudio_map) |
r17996 | r17997 | |
---|---|---|
134 | 134 | MCFG_CPU_ADD("maincpu", Z80, XTAL_4MHz) |
135 | 135 | MCFG_CPU_PROGRAM_MAP(prg_map) |
136 | 136 | MCFG_CPU_IO_MAP(io_map) |
137 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 20) /* Unverified */ | |
137 | MCFG_CPU_PERIODIC_INT_DRIVER(tgtpanic_state, irq0_line_hold, 20) /* Unverified */ | |
138 | 138 | |
139 | 139 | /* video hardware */ |
140 | 140 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
232 | 232 | |
233 | 233 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) /* 3 MHz ??? */ |
234 | 234 | MCFG_CPU_PROGRAM_MAP(sound_map) |
235 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
235 | MCFG_CPU_PERIODIC_INT_DRIVER(exedexes_state, irq0_line_hold, 4*60) | |
236 | 236 | |
237 | 237 | |
238 | 238 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
2006 | 2006 | |
2007 | 2007 | ***************************************************************************/ |
2008 | 2008 | |
2009 | ||
2009 | ||
2010 | 2010 | { |
2011 | 2011 | /* VBlank is connected to INT0 (external interrupts pin 0) */ |
2012 | tmp68301_external_interrupt_0( | |
2012 | tmp68301_external_interrupt_0( | |
2013 | 2013 | } |
2014 | 2014 | |
2015 | ||
2015 | ||
2016 | 2016 | { |
2017 | tmp68301_external_interrupt_2( | |
2017 | tmp68301_external_interrupt_2( | |
2018 | 2018 | } |
2019 | 2019 | |
2020 | 2020 | static const x1_010_interface x1_010_sound_intf = |
r17996 | r17997 | |
2025 | 2025 | static MACHINE_CONFIG_START( seta2, seta2_state ) |
2026 | 2026 | MCFG_CPU_ADD("maincpu", M68301, XTAL_50MHz/3) // !! TMP68301 !! |
2027 | 2027 | MCFG_CPU_PROGRAM_MAP(mj4simai_map) |
2028 | MCFG_CPU_VBLANK_INT("screen", seta2_interrupt) | |
2028 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta2_state, seta2_interrupt) | |
2029 | 2029 | |
2030 | 2030 | MCFG_MACHINE_START( tmp68301 ) |
2031 | 2031 | MCFG_MACHINE_RESET( tmp68301 ) |
r17996 | r17997 | |
2148 | 2148 | static MACHINE_CONFIG_DERIVED( samshoot, seta2 ) |
2149 | 2149 | MCFG_CPU_MODIFY("maincpu") |
2150 | 2150 | MCFG_CPU_PROGRAM_MAP(samshoot_map) |
2151 | MCFG_CPU_PERIODIC_INT(samshoot_interrupt,60) | |
2151 | MCFG_CPU_PERIODIC_INT_DRIVER(seta2_state, samshoot_interrupt, 60) | |
2152 | 2152 | |
2153 | 2153 | MCFG_NVRAM_ADD_0FILL("nvram") |
2154 | 2154 | |
r17996 | r17997 | |
2174 | 2174 | state->m_maincpu->set_input_line(2, HOLD_LINE); |
2175 | 2175 | } |
2176 | 2176 | |
2177 | ||
2177 | ||
2178 | 2178 | { |
2179 | seta2_state *state = device->machine().driver_data<seta2_state>(); | |
2180 | 2179 | |
2181 | if ( | |
2180 | if ( | |
2182 | 2181 | { |
2183 | device | |
2182 | device. | |
2184 | 2183 | } |
2185 | 2184 | else |
2186 | 2185 | { |
2187 | UINT8 press = device->machine().root_device().ioport("TOUCH_PRESS")->read(); | |
2188 | UINT8 release = state->m_funcube_press && !press; | |
2186 | UINT8 press = machine().root_device().ioport("TOUCH_PRESS")->read(); | |
2187 | UINT8 release = m_funcube_press && !press; | |
2189 | 2188 | |
2190 | 2189 | if ( press || release ) |
2191 | 2190 | { |
2192 | state->m_funcube_serial_fifo[0] = press ? 0xfe : 0xfd; | |
2193 | state->m_funcube_serial_fifo[1] = device->machine().root_device().ioport("TOUCH_X")->read(); | |
2194 | state->m_funcube_serial_fifo[2] = device->machine().root_device().ioport("TOUCH_Y")->read(); | |
2195 | state->m_funcube_serial_fifo[3] = 0xff; | |
2196 | state->m_funcube_serial_count = 4; | |
2191 | m_funcube_serial_fifo[0] = press ? 0xfe : 0xfd; | |
2192 | m_funcube_serial_fifo[1] = machine().root_device().ioport("TOUCH_X")->read(); | |
2193 | m_funcube_serial_fifo[2] = machine().root_device().ioport("TOUCH_Y")->read(); | |
2194 | m_funcube_serial_fifo[3] = 0xff; | |
2195 | m_funcube_serial_count = 4; | |
2197 | 2196 | } |
2198 | 2197 | |
2199 | | |
2198 | | |
2200 | 2199 | } |
2201 | 2200 | |
2202 | device | |
2201 | device. | |
2203 | 2202 | } |
2204 | 2203 | |
2205 | 2204 | MACHINE_RESET_MEMBER(seta2_state,funcube) |
r17996 | r17997 | |
2219 | 2218 | MCFG_CPU_ADD("sub", H83007, FUNCUBE_SUB_CPU_CLOCK) |
2220 | 2219 | MCFG_CPU_PROGRAM_MAP(funcube_sub_map) |
2221 | 2220 | MCFG_CPU_IO_MAP(funcube_sub_io) |
2222 | MCFG_CPU_PERIODIC_INT(funcube_sub_timer_irq, 60*10 | |
2221 | MCFG_CPU_PERIODIC_INT_DRIVER(seta2_state, funcube_sub_timer_irq, 60*10 | |
2223 | 2222 | |
2224 | 2223 | MCFG_NVRAM_ADD_0FILL("nvram") |
2225 | 2224 | |
r17996 | r17997 | |
2271 | 2270 | static MACHINE_CONFIG_START( namcostr, seta2_state ) |
2272 | 2271 | MCFG_CPU_ADD("maincpu", M68301, XTAL_50MHz/3) // !! TMP68301 !! |
2273 | 2272 | MCFG_CPU_PROGRAM_MAP(namcostr_map) |
2274 | MCFG_CPU_VBLANK_INT("screen", seta2_interrupt) | |
2273 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta2_state, seta2_interrupt) | |
2275 | 2274 | |
2276 | 2275 | MCFG_MACHINE_START( tmp68301 ) |
2277 | 2276 | MCFG_MACHINE_RESET( tmp68301 ) |
r17996 | r17997 | |
---|---|---|
20 | 20 | #include "includes/flkatck.h" |
21 | 21 | |
22 | 22 | |
23 | ||
23 | ||
24 | 24 | { |
25 | flkatck_state *state = device->machine().driver_data<flkatck_state>(); | |
26 | 25 | |
27 | if (state->m_irq_enabled) | |
28 | device->execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
26 | if (m_irq_enabled) | |
27 | device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
29 | 28 | } |
30 | 29 | |
31 | 30 | WRITE8_MEMBER(flkatck_state::flkatck_bankswitch_w) |
r17996 | r17997 | |
222 | 221 | /* basic machine hardware */ |
223 | 222 | MCFG_CPU_ADD("maincpu", HD6309,3000000*4) /* HD63C09EP, 24/8 MHz */ |
224 | 223 | MCFG_CPU_PROGRAM_MAP(flkatck_map) |
225 | MCFG_CPU_VBLANK_INT("screen", flkatck_interrupt) | |
224 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flkatck_state, flkatck_interrupt) | |
226 | 225 | |
227 | 226 | MCFG_CPU_ADD("audiocpu", Z80,3579545) /* NEC D780C-1, 3.579545 MHz */ |
228 | 227 | MCFG_CPU_PROGRAM_MAP(flkatck_sound_map) |
r17996 | r17997 | |
---|---|---|
25 | 25 | #include "includes/contra.h" |
26 | 26 | |
27 | 27 | |
28 | ||
28 | ||
29 | 29 | { |
30 | contra_state *state = device->machine().driver_data<contra_state>(); | |
31 | address_space &space = state->generic_space(); | |
32 | if (k007121_ctrlram_r(state->m_k007121_1, space, 7) & 0x02) | |
33 | device->execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
30 | address_space &space = generic_space(); | |
31 | if (k007121_ctrlram_r(m_k007121_1, space, 7) & 0x02) | |
32 | device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
34 | 33 | } |
35 | 34 | |
36 | 35 | WRITE8_MEMBER(contra_state::contra_bankswitch_w) |
r17996 | r17997 | |
192 | 191 | /* basic machine hardware */ |
193 | 192 | MCFG_CPU_ADD("maincpu", HD6309, XTAL_24MHz / 2 /* 3000000*4? */) |
194 | 193 | MCFG_CPU_PROGRAM_MAP(contra_map) |
195 | MCFG_CPU_VBLANK_INT("screen", contra_interrupt) | |
194 | MCFG_CPU_VBLANK_INT_DRIVER("screen", contra_state, contra_interrupt) | |
196 | 195 | |
197 | 196 | MCFG_CPU_ADD("audiocpu", M6809, XTAL_24MHz/8) /* 3000000? */ |
198 | 197 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
117 | 117 | DECLARE_MACHINE_RESET(coh1001l); |
118 | 118 | DECLARE_MACHINE_RESET(coh1002v); |
119 | 119 | DECLARE_MACHINE_RESET(coh1002m); |
120 | INTERRUPT_GEN_MEMBER(qsound_interrupt); | |
120 | 121 | }; |
121 | 122 | |
122 | 123 | INLINE void ATTR_PRINTF(3,4) verboselog( running_machine &machine, int n_level, const char *s_fmt, ... ) |
r17996 | r17997 | |
719 | 720 | membank( "bank10" )->set_base( memregion( "audiocpu" )->base() + 0x10000 + ( ( data & 0x0f ) * 0x4000 ) ); |
720 | 721 | } |
721 | 722 | |
722 | ||
723 | ||
723 | 724 | { |
724 | device | |
725 | device. | |
725 | 726 | } |
726 | 727 | |
727 | 728 | WRITE32_MEMBER(zn_state::zn_qsound_w) |
r17996 | r17997 | |
779 | 780 | MCFG_CPU_ADD( "audiocpu", Z80, 8000000 ) /* 8MHz ?? */ |
780 | 781 | MCFG_CPU_PROGRAM_MAP( qsound_map) |
781 | 782 | MCFG_CPU_IO_MAP( qsound_portmap) |
782 | MCFG_CPU_PERIODIC_INT( qsound_interrupt, 60*4 | |
783 | MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 60*4 | |
783 | 784 | |
784 | 785 | MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c ) |
785 | 786 | |
r17996 | r17997 | |
793 | 794 | MCFG_CPU_ADD( "audiocpu", Z80, 8000000 ) /* 8MHz ?? */ |
794 | 795 | MCFG_CPU_PROGRAM_MAP( qsound_map) |
795 | 796 | MCFG_CPU_IO_MAP( qsound_portmap) |
796 | MCFG_CPU_PERIODIC_INT( qsound_interrupt, 60*4 | |
797 | MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 60*4 | |
797 | 798 | |
798 | 799 | MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c ) |
799 | 800 | |
r17996 | r17997 | |
973 | 974 | MCFG_CPU_ADD("audiocpu", Z80, 8000000 ) /* 8MHz ?? */ |
974 | 975 | MCFG_CPU_PROGRAM_MAP( qsound_map) |
975 | 976 | MCFG_CPU_IO_MAP( qsound_portmap) |
976 | MCFG_CPU_PERIODIC_INT( qsound_interrupt, 60*4 | |
977 | MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 60*4 | |
977 | 978 | |
978 | 979 | MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh3002c ) |
979 | 980 |
r17996 | r17997 | |
---|---|---|
692 | 692 | |
693 | 693 | } |
694 | 694 | |
695 | ||
695 | ||
696 | 696 | { |
697 | paradise_state *state = device->machine().driver_data<paradise_state>(); | |
698 | 697 | |
699 | if (state->irq_count<300) | |
700 | state->irq_count++; | |
698 | if (irq_count<300) | |
699 | irq_count++; | |
701 | 700 | else |
702 | | |
701 | | |
703 | 702 | } |
704 | 703 | |
705 | 704 | static MACHINE_CONFIG_START( paradise, paradise_state ) |
r17996 | r17997 | |
708 | 707 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* Z8400B - 6mhz Verified */ |
709 | 708 | MCFG_CPU_PROGRAM_MAP(paradise_map) |
710 | 709 | MCFG_CPU_IO_MAP(paradise_io_map) |
711 | MCFG_CPU_PERIODIC_INT(paradise_irq,4*54) /* No nmi routine, timing is confirmed (i.e. three timing irqs for each vblank irq */ | |
710 | MCFG_CPU_PERIODIC_INT_DRIVER(paradise_state, paradise_irq, 4*54) /* No nmi routine, timing is confirmed (i.e. three timing irqs for each vblank irq */ | |
712 | 711 | |
713 | 712 | |
714 | 713 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
1202 | 1202 | /* basic machine hardware */ |
1203 | 1203 | MCFG_CPU_ADD("maincpu", M6809, XTAL_20MHz/16) /* xtal verified but not speed */ |
1204 | 1204 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
1205 | MCFG_CPU_VBLANK_INT("screen", balsente_update_analog_inputs) | |
1205 | MCFG_CPU_VBLANK_INT_DRIVER("screen", balsente_state, balsente_update_analog_inputs) | |
1206 | 1206 | |
1207 | 1207 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* xtal verified but not speed */ |
1208 | 1208 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
r17996 | r17997 | |
---|---|---|
257 | 257 | AM_RANGE(UPD7810_PORTC, UPD7810_PORTC) AM_READ(snd_portc_r) AM_WRITE(snd_portc_w) |
258 | 258 | ADDRESS_MAP_END |
259 | 259 | |
260 | ||
260 | ||
261 | 261 | { |
262 | device | |
262 | device. | |
263 | 263 | } |
264 | 264 | |
265 | 265 | static const UPD7810_CONFIG sound_cpu_config = |
r17996 | r17997 | |
735 | 735 | |
736 | 736 | MCFG_CPU_ADD("maincpu",M68000, 12000000) |
737 | 737 | MCFG_CPU_PROGRAM_MAP(fitfight_main_map) |
738 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
738 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fitfight_state, irq2_line_hold) | |
739 | 739 | |
740 | 740 | MCFG_CPU_ADD("audiocpu", UPD7810, 12000000) |
741 | 741 | MCFG_CPU_CONFIG(sound_cpu_config) |
742 | 742 | MCFG_CPU_PROGRAM_MAP(snd_mem) |
743 | 743 | MCFG_CPU_IO_MAP(snd_io) |
744 | MCFG_CPU_VBLANK_INT("screen", snd_irq) | |
744 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fitfight_state, snd_irq) | |
745 | 745 | |
746 | 746 | |
747 | 747 | MCFG_GFXDECODE(fitfight) |
r17996 | r17997 | |
766 | 766 | |
767 | 767 | MCFG_CPU_ADD("maincpu",M68000, 12000000) |
768 | 768 | MCFG_CPU_PROGRAM_MAP(bbprot_main_map) |
769 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
769 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fitfight_state, irq2_line_hold) | |
770 | 770 | |
771 | 771 | |
772 | 772 | MCFG_GFXDECODE(prot) |
r17996 | r17997 | |
---|---|---|
528 | 528 | static MACHINE_CONFIG_START( amazon, terracre_state ) |
529 | 529 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz |
530 | 530 | MCFG_CPU_PROGRAM_MAP(amazon_map) |
531 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
531 | MCFG_CPU_VBLANK_INT_DRIVER("screen", terracre_state, irq1_line_hold) | |
532 | 532 | |
533 | 533 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) // 4mhz? should be derived from XTAL_22MHz? how? |
534 | 534 | MCFG_CPU_PROGRAM_MAP(sound_map) |
535 | 535 | MCFG_CPU_IO_MAP(sound_3526_io_map) |
536 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_16MHz/4/512) // ? | |
536 | MCFG_CPU_PERIODIC_INT_DRIVER(terracre_state, irq0_line_hold, XTAL_16MHz/4/512) // ? | |
537 | 537 | |
538 | 538 | MCFG_MACHINE_START_OVERRIDE(terracre_state,amazon) |
539 | 539 | |
r17996 | r17997 | |
563 | 563 | static MACHINE_CONFIG_START( ym3526, terracre_state ) |
564 | 564 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz |
565 | 565 | MCFG_CPU_PROGRAM_MAP(terracre_map) |
566 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
566 | MCFG_CPU_VBLANK_INT_DRIVER("screen", terracre_state, irq1_line_hold) | |
567 | 567 | |
568 | 568 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) // 4.0mhz when compared to sound recordings, should be derived from XTAL_22MHz? how? |
569 | 569 | MCFG_CPU_PROGRAM_MAP(sound_map) |
570 | 570 | MCFG_CPU_IO_MAP(sound_3526_io_map) |
571 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_16MHz/4/512) // ? | |
571 | MCFG_CPU_PERIODIC_INT_DRIVER(terracre_state, irq0_line_hold, XTAL_16MHz/4/512) // ? | |
572 | 572 | |
573 | 573 | MCFG_SCREEN_ADD("screen", RASTER) |
574 | 574 | MCFG_SCREEN_REFRESH_RATE( 60 ) |
r17996 | r17997 | |
596 | 596 | static MACHINE_CONFIG_START( ym2203, terracre_state ) |
597 | 597 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz |
598 | 598 | MCFG_CPU_PROGRAM_MAP(terracre_map) |
599 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
599 | MCFG_CPU_VBLANK_INT_DRIVER("screen", terracre_state, irq1_line_hold) | |
600 | 600 | |
601 | 601 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) // 4.0mhz when compared to sound recordings, should be derived from XTAL_22MHz? how? |
602 | 602 | MCFG_CPU_PROGRAM_MAP(sound_map) |
603 | 603 | MCFG_CPU_IO_MAP(sound_2203_io_map) |
604 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_16MHz/4/512) // ? | |
604 | MCFG_CPU_PERIODIC_INT_DRIVER(terracre_state, irq0_line_hold, XTAL_16MHz/4/512) // ? | |
605 | 605 | |
606 | 606 | MCFG_SCREEN_ADD("screen", RASTER) |
607 | 607 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
18 | 18 | #include "includes/ddribble.h" |
19 | 19 | |
20 | 20 | |
21 | ||
21 | ||
22 | 22 | { |
23 | ddribble_state *state = device->machine().driver_data<ddribble_state>(); | |
24 | if (state->m_int_enable_0) | |
25 | device->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); | |
23 | if (m_int_enable_0) | |
24 | device.execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); | |
26 | 25 | } |
27 | 26 | |
28 | ||
27 | ||
29 | 28 | { |
30 | ddribble_state *state = device->machine().driver_data<ddribble_state>(); | |
31 | if (state->m_int_enable_1) | |
32 | device->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); | |
29 | if (m_int_enable_1) | |
30 | device.execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); | |
33 | 31 | } |
34 | 32 | |
35 | 33 | |
r17996 | r17997 | |
282 | 280 | /* basic machine hardware */ |
283 | 281 | MCFG_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12) /* verified on pcb */ |
284 | 282 | MCFG_CPU_PROGRAM_MAP(cpu0_map) |
285 | MCFG_CPU_VBLANK_INT("screen", ddribble_interrupt_0) | |
283 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ddribble_state, ddribble_interrupt_0) | |
286 | 284 | |
287 | 285 | MCFG_CPU_ADD("cpu1", M6809, XTAL_18_432MHz/12) /* verified on pcb */ |
288 | 286 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
289 | MCFG_CPU_VBLANK_INT("screen", ddribble_interrupt_1) | |
287 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ddribble_state, ddribble_interrupt_1) | |
290 | 288 | |
291 | 289 | MCFG_CPU_ADD("cpu2", M6809, XTAL_18_432MHz/12) /* verified on pcb */ |
292 | 290 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
r17996 | r17997 | |
---|---|---|
1671 | 1671 | decoprot_reset(machine()); |
1672 | 1672 | } |
1673 | 1673 | |
1674 | ||
1674 | ||
1675 | 1675 | { |
1676 | device | |
1676 | device. | |
1677 | 1677 | } |
1678 | 1678 | |
1679 | 1679 | UINT16 captaven_pri_callback(UINT16 x) |
r17996 | r17997 | |
1735 | 1735 | /* basic machine hardware */ |
1736 | 1736 | MCFG_CPU_ADD("maincpu", ARM, XTAL_28MHz/4) /* verified on pcb (Data East 101 custom)*/ |
1737 | 1737 | MCFG_CPU_PROGRAM_MAP(captaven_map) |
1738 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
1738 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco32_state, deco32_vbl_interrupt) | |
1739 | 1739 | |
1740 | 1740 | MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/4/3) /* pin 10 is 32mhz/4, pin 14 is High so internal divisor is 3 (verified on pcb) */ |
1741 | 1741 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1787 | 1787 | /* basic machine hardware */ |
1788 | 1788 | MCFG_CPU_ADD("maincpu", ARM, 28000000/4) |
1789 | 1789 | MCFG_CPU_PROGRAM_MAP(fghthist_map) |
1790 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
1790 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco32_state, deco32_vbl_interrupt) | |
1791 | 1791 | |
1792 | 1792 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) |
1793 | 1793 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1834 | 1834 | /* basic machine hardware */ |
1835 | 1835 | MCFG_CPU_ADD("maincpu", ARM, 28000000/4) |
1836 | 1836 | MCFG_CPU_PROGRAM_MAP(fghthsta_memmap) |
1837 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
1837 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco32_state, deco32_vbl_interrupt) | |
1838 | 1838 | |
1839 | 1839 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) |
1840 | 1840 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1943 | 1943 | /* basic machine hardware */ |
1944 | 1944 | MCFG_CPU_ADD("maincpu", ARM, 28000000/4) |
1945 | 1945 | MCFG_CPU_PROGRAM_MAP(dragngun_map) |
1946 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
1946 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco32_state, deco32_vbl_interrupt) | |
1947 | 1947 | |
1948 | 1948 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) |
1949 | 1949 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2110 | 2110 | /* basic machine hardware */ |
2111 | 2111 | MCFG_CPU_ADD("maincpu", ARM, 28000000/*/4*/) /* Unconfirmed - the divider makes it far too slow, due to inaccurate core timings? */ |
2112 | 2112 | MCFG_CPU_PROGRAM_MAP(tattass_map) |
2113 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
2113 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco32_state, deco32_vbl_interrupt) | |
2114 | 2114 | |
2115 | 2115 | MCFG_EEPROM_ADD("eeprom", eeprom_interface_tattass) |
2116 | 2116 | |
r17996 | r17997 | |
2144 | 2144 | /* basic machine hardware */ |
2145 | 2145 | MCFG_CPU_ADD("maincpu", ARM, 28322000/4) |
2146 | 2146 | MCFG_CPU_PROGRAM_MAP(nslasher_map) |
2147 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
2147 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco32_state, deco32_vbl_interrupt) | |
2148 | 2148 | |
2149 | 2149 | MCFG_CPU_ADD("audiocpu", Z80, 32220000/9) |
2150 | 2150 | MCFG_CPU_PROGRAM_MAP(nslasher_sound) |
r17996 | r17997 | |
---|---|---|
125 | 125 | /* basic machine hardware */ |
126 | 126 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
127 | 127 | MCFG_CPU_PROGRAM_MAP(vertigo_map) |
128 | MCFG_CPU_PERIODIC_INT(vertigo_interrupt,60) | |
128 | MCFG_CPU_PERIODIC_INT_DRIVER(vertigo_state, vertigo_interrupt, 60) | |
129 | 129 | |
130 | 130 | MCFG_FRAGMENT_ADD(exidy440_audio) |
131 | 131 |
r17996 | r17997 | |
---|---|---|
111 | 111 | machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE); |
112 | 112 | } |
113 | 113 | |
114 | ||
114 | ||
115 | 115 | { |
116 | device->execute().set_input_line(0, ASSERT_LINE); | |
117 | device->machine().scheduler().timer_set(attotime::from_hz(30000000), FUNC(display_irq_off)); | |
116 | device.execute().set_input_line(0, ASSERT_LINE); | |
117 | machine().scheduler().timer_set(attotime::from_hz(30000000), FUNC(display_irq_off)); | |
118 | 118 | } |
119 | 119 | |
120 | 120 | |
r17996 | r17997 | |
1091 | 1091 | /* basic machine hardware */ |
1092 | 1092 | MCFG_CPU_ADD("maincpu", TMS32032, CPU_CLOCK) |
1093 | 1093 | MCFG_CPU_PROGRAM_MAP(zeus_map) |
1094 | MCFG_CPU_VBLANK_INT("screen", display_irq) | |
1094 | MCFG_CPU_VBLANK_INT_DRIVER("screen", midzeus_state, display_irq) | |
1095 | 1095 | |
1096 | 1096 | MCFG_MACHINE_START_OVERRIDE(midzeus_state,midzeus) |
1097 | 1097 | MCFG_MACHINE_RESET_OVERRIDE(midzeus_state,midzeus) |
r17996 | r17997 | |
1131 | 1131 | /* basic machine hardware */ |
1132 | 1132 | MCFG_CPU_ADD("maincpu", TMS32032, CPU_CLOCK) |
1133 | 1133 | MCFG_CPU_PROGRAM_MAP(zeus2_map) |
1134 | MCFG_CPU_VBLANK_INT("screen", display_irq) | |
1134 | MCFG_CPU_VBLANK_INT_DRIVER("screen", midzeus_state, display_irq) | |
1135 | 1135 | |
1136 | 1136 | MCFG_MACHINE_START_OVERRIDE(midzeus_state,midzeus) |
1137 | 1137 | MCFG_MACHINE_RESET_OVERRIDE(midzeus_state,midzeus) |
r17996 | r17997 | |
---|---|---|
467 | 467 | MCFG_CPU_ADD("maincpu", I8039, CPU_CLOCK) |
468 | 468 | MCFG_CPU_PROGRAM_MAP(drw80pkr_map) |
469 | 469 | MCFG_CPU_IO_MAP(drw80pkr_io_map) |
470 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
470 | MCFG_CPU_VBLANK_INT_DRIVER("screen", drw80pkr_state, irq0_line_hold) | |
471 | 471 | |
472 | 472 | |
473 | 473 | // video hardware |
r17996 | r17997 | |
---|---|---|
52 | 52 | virtual void video_start(); |
53 | 53 | virtual void palette_init(); |
54 | 54 | UINT32 screen_update_superdq(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
55 | INTERRUPT_GEN_MEMBER(superdq_vblank); | |
55 | 56 | }; |
56 | 57 | |
57 | 58 | TILE_GET_INFO_MEMBER(superdq_state::get_tile_info) |
r17996 | r17997 | |
131 | 132 | m_color_bank = 0; |
132 | 133 | } |
133 | 134 | |
134 | ||
135 | ||
135 | 136 | { |
136 | superdq_state *state = device->machine().driver_data<superdq_state>(); | |
137 | 137 | |
138 | 138 | /* status is read when the STATUS line from the laserdisc |
139 | 139 | toggles (600usec after the vblank). We could set up a |
140 | 140 | timer to do that, but this works as well */ |
141 | | |
141 | | |
142 | 142 | |
143 | 143 | /* command is written when the COMMAND line from the laserdisc |
144 | 144 | toggles (680usec after the vblank). We could set up a |
145 | 145 | timer to do that, but this works as well */ |
146 | state->m_laserdisc->data_w(state->m_ld_out_latch); | |
147 | device->execute().set_input_line(0, ASSERT_LINE); | |
146 | m_laserdisc->data_w(m_ld_out_latch); | |
147 | device.execute().set_input_line(0, ASSERT_LINE); | |
148 | 148 | } |
149 | 149 | |
150 | 150 | WRITE8_MEMBER(superdq_state::superdq_videoram_w) |
r17996 | r17997 | |
345 | 345 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/8) |
346 | 346 | MCFG_CPU_PROGRAM_MAP(superdq_map) |
347 | 347 | MCFG_CPU_IO_MAP(superdq_io) |
348 | MCFG_CPU_VBLANK_INT("screen", superdq_vblank) | |
348 | MCFG_CPU_VBLANK_INT_DRIVER("screen", superdq_state, superdq_vblank) | |
349 | 349 | |
350 | 350 | |
351 | 351 | MCFG_LASERDISC_LDV1000_ADD("laserdisc") |
r17996 | r17997 | |
---|---|---|
365 | 365 | static MACHINE_CONFIG_START( bestleag, bestleag_state ) |
366 | 366 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
367 | 367 | MCFG_CPU_PROGRAM_MAP(bestleag_map) |
368 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
368 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bestleag_state, irq6_line_hold) | |
369 | 369 | |
370 | 370 | MCFG_SCREEN_ADD("screen", RASTER) |
371 | 371 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
397 | 397 | static MACHINE_CONFIG_START( tomcat, tomcat_state ) |
398 | 398 | MCFG_CPU_ADD("maincpu", M68010, XTAL_12MHz / 2) |
399 | 399 | MCFG_CPU_PROGRAM_MAP(tomcat_map) |
400 | MCFG_CPU_PERIODIC_INT(irq1_line_assert, 5*60) | |
401 | //MCFG_CPU_PERIODIC_INT(irq1_line_assert, (double)XTAL_12MHz / 16 / 16 / 16 / 12) | |
400 | MCFG_CPU_PERIODIC_INT_DRIVER(tomcat_state, irq1_line_assert, 5*60) | |
401 | //MCFG_CPU_PERIODIC_INT_DRIVER(tomcat_state, irq1_line_assert, (double)XTAL_12MHz / 16 / 16 / 16 / 12) | |
402 | 402 | |
403 | 403 | MCFG_CPU_ADD("dsp", TMS32010, XTAL_16MHz) |
404 | 404 | MCFG_CPU_PROGRAM_MAP( dsp_map) |
r17996 | r17997 | |
---|---|---|
297 | 297 | } |
298 | 298 | |
299 | 299 | |
300 | ||
300 | ||
301 | 301 | { |
302 | zaxxon_state *state = device->machine().driver_data<zaxxon_state>(); | |
303 | 302 | |
304 | if (state->m_int_enabled) | |
305 | device->execute().set_input_line(0, ASSERT_LINE); | |
303 | if (m_int_enabled) | |
304 | device.execute().set_input_line(0, ASSERT_LINE); | |
306 | 305 | } |
307 | 306 | |
308 | 307 | |
r17996 | r17997 | |
962 | 961 | /* basic machine hardware */ |
963 | 962 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/16) |
964 | 963 | MCFG_CPU_PROGRAM_MAP(zaxxon_map) |
965 | MCFG_CPU_VBLANK_INT("screen", vblank_int) | |
964 | MCFG_CPU_VBLANK_INT_DRIVER("screen", zaxxon_state, vblank_int) | |
966 | 965 | |
967 | 966 | |
968 | 967 | MCFG_I8255A_ADD( "ppi8255", zaxxon_ppi_intf ) |
r17996 | r17997 | |
1026 | 1025 | |
1027 | 1026 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK) |
1028 | 1027 | MCFG_CPU_PROGRAM_MAP(congo_sound_map) |
1029 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)SOUND_CLOCK/16/16/16/4) | |
1028 | MCFG_CPU_PERIODIC_INT_DRIVER(zaxxon_state, irq0_line_hold, (double)SOUND_CLOCK/16/16/16/4) | |
1030 | 1029 | |
1031 | 1030 | /* video hardware */ |
1032 | 1031 | MCFG_PALETTE_LENGTH(512) |
r17996 | r17997 | |
---|---|---|
1282 | 1282 | |
1283 | 1283 | /* basic machine hardware */ |
1284 | 1284 | MCFG_CPU_MODIFY("maincpu") |
1285 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1285 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1286 | 1286 | MACHINE_CONFIG_END |
1287 | 1287 | |
1288 | 1288 | |
r17996 | r17997 | |
1290 | 1290 | |
1291 | 1291 | /* basic machine hardware */ |
1292 | 1292 | MCFG_CPU_MODIFY("maincpu") |
1293 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1293 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1294 | 1294 | |
1295 | 1295 | /* sound hardware */ |
1296 | 1296 | MCFG_SOUND_MODIFY("discrete") |
r17996 | r17997 | |
1303 | 1303 | /* basic machine hardware */ |
1304 | 1304 | MCFG_CPU_MODIFY("maincpu") |
1305 | 1305 | MCFG_CPU_PROGRAM_MAP(norautxp_map) |
1306 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1306 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1307 | 1307 | MACHINE_CONFIG_END |
1308 | 1308 | |
1309 | 1309 | |
r17996 | r17997 | |
1312 | 1312 | /* basic machine hardware */ |
1313 | 1313 | MCFG_CPU_MODIFY("maincpu") |
1314 | 1314 | MCFG_CPU_PROGRAM_MAP(nortest1_map) |
1315 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1315 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1316 | 1316 | MACHINE_CONFIG_END |
1317 | 1317 | |
1318 | 1318 | |
r17996 | r17997 | |
1321 | 1321 | /* basic machine hardware */ |
1322 | 1322 | MCFG_CPU_MODIFY("maincpu") |
1323 | 1323 | MCFG_CPU_PROGRAM_MAP(norautx4_map) |
1324 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1324 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1325 | 1325 | MACHINE_CONFIG_END |
1326 | 1326 | |
1327 | 1327 | |
r17996 | r17997 | |
1331 | 1331 | /* basic machine hardware */ |
1332 | 1332 | MCFG_CPU_MODIFY("maincpu") |
1333 | 1333 | MCFG_CPU_PROGRAM_MAP(norautx8_map) |
1334 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1334 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1335 | 1335 | MACHINE_CONFIG_END |
1336 | 1336 | #endif |
1337 | 1337 | |
r17996 | r17997 | |
1341 | 1341 | /* basic machine hardware */ |
1342 | 1342 | MCFG_CPU_MODIFY("maincpu") |
1343 | 1343 | MCFG_CPU_PROGRAM_MAP(kimble_map) |
1344 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1344 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1345 | 1345 | |
1346 | 1346 | /* sound hardware */ |
1347 | 1347 | MCFG_SOUND_MODIFY("discrete") |
r17996 | r17997 | |
1354 | 1354 | MCFG_CPU_MODIFY("maincpu") |
1355 | 1355 | MCFG_CPU_PROGRAM_MAP(newhilop_map) |
1356 | 1356 | // MCFG_CPU_IO_MAP(newhilop_portmap) |
1357 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1357 | MCFG_CPU_VBLANK_INT_DRIVER("screen", norautp_state, irq0_line_hold) | |
1358 | 1358 | MACHINE_CONFIG_END |
1359 | 1359 | |
1360 | 1360 | /********** 8080 based **********/ |
r17996 | r17997 | |
---|---|---|
363 | 363 | /* basic machine hardware */ |
364 | 364 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */ |
365 | 365 | MCFG_CPU_PROGRAM_MAP(chinhero_main_map) |
366 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
366 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangkid_state, irq0_line_hold) | |
367 | 367 | |
368 | 368 | MCFG_CPU_ADD("bbx", Z80, XTAL_18_432MHz/6) /* verified on pcb */ |
369 | 369 | MCFG_CPU_PROGRAM_MAP(chinhero_bbx_map) |
370 | 370 | MCFG_CPU_IO_MAP(chinhero_bbx_portmap) |
371 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
371 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangkid_state, irq0_line_hold) | |
372 | 372 | |
373 | 373 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */ |
374 | 374 | MCFG_CPU_PROGRAM_MAP(chinhero_sound_map) |
r17996 | r17997 | |
455 | 455 | MCFG_CPU_ADD("maincpu", Z80, 3000000) /* ? */ |
456 | 456 | MCFG_CPU_PROGRAM_MAP(dynamski_map) |
457 | 457 | MCFG_CPU_IO_MAP(dynamski_portmap) |
458 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
458 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangkid_state, irq0_line_hold) | |
459 | 459 | |
460 | 460 | /* video hardware */ |
461 | 461 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
626 | 626 | |
627 | 627 | #define CLOCK 18432000 /* The crystal is 18.432MHz */ |
628 | 628 | |
629 | ||
629 | ||
630 | 630 | { |
631 | fastfred_state *state = device->machine().driver_data<fastfred_state>(); | |
632 | 631 | |
633 | if(state->m_nmi_mask) | |
634 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
632 | if(m_nmi_mask) | |
633 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
635 | 634 | } |
636 | 635 | |
637 | ||
636 | ||
638 | 637 | { |
639 | fastfred_state *state = device->machine().driver_data<fastfred_state>(); | |
640 | 638 | |
641 | if(state->m_sound_nmi_mask) | |
642 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
639 | if(m_sound_nmi_mask) | |
640 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
643 | 641 | } |
644 | 642 | |
645 | 643 | static MACHINE_CONFIG_START( fastfred, fastfred_state ) |
r17996 | r17997 | |
647 | 645 | /* basic machine hardware */ |
648 | 646 | MCFG_CPU_ADD("maincpu", Z80, CLOCK/6) /* 3.072 MHz */ |
649 | 647 | MCFG_CPU_PROGRAM_MAP(fastfred_map) |
650 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
648 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fastfred_state, vblank_irq) | |
651 | 649 | |
652 | 650 | MCFG_CPU_ADD("audiocpu", Z80, CLOCK/12) /* 1.536 MHz */ |
653 | 651 | MCFG_CPU_PROGRAM_MAP(sound_map) |
654 | MCFG_CPU_PERIODIC_INT(sound_timer_irq,4*60) | |
652 | MCFG_CPU_PERIODIC_INT_DRIVER(fastfred_state, sound_timer_irq, 4*60) | |
655 | 653 | |
656 | 654 | /* video hardware */ |
657 | 655 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
725 | 725 | * |
726 | 726 | *************************************/ |
727 | 727 | |
728 | ||
728 | ||
729 | 729 | { |
730 | karnov_state *state = device->machine().driver_data<karnov_state>(); | |
731 | UINT8 port = state->ioport("FAKE")->read(); | |
730 | UINT8 port = ioport("FAKE")->read(); | |
732 | 731 | |
733 | 732 | /* Coin input to the i8751 generates an interrupt to the main cpu */ |
734 | if (port == state->m_coin_mask) | |
735 | state->m_latch = 1; | |
733 | if (port == m_coin_mask) | |
734 | m_latch = 1; | |
736 | 735 | |
737 | if (port != | |
736 | if (port != | |
738 | 737 | { |
739 | if ( | |
738 | if ( | |
740 | 739 | { |
741 | 740 | /* i8751 is busy - queue the command */ |
742 | | |
741 | | |
743 | 742 | } |
744 | 743 | else |
745 | 744 | { |
746 | state->m_i8751_return = port | 0x8000; | |
747 | device->execute().set_input_line(6, HOLD_LINE); | |
748 | state->m_i8751_needs_ack = 1; | |
745 | m_i8751_return = port | 0x8000; | |
746 | device.execute().set_input_line(6, HOLD_LINE); | |
747 | m_i8751_needs_ack = 1; | |
749 | 748 | } |
750 | 749 | |
751 | | |
750 | | |
752 | 751 | } |
753 | 752 | |
754 | device | |
753 | device. | |
755 | 754 | } |
756 | 755 | |
757 | 756 | static const ym3526_interface ym3526_config = |
r17996 | r17997 | |
806 | 805 | /* basic machine hardware */ |
807 | 806 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */ |
808 | 807 | MCFG_CPU_PROGRAM_MAP(karnov_map) |
809 | MCFG_CPU_VBLANK_INT("screen", karnov_interrupt) | |
808 | MCFG_CPU_VBLANK_INT_DRIVER("screen", karnov_state, karnov_interrupt) | |
810 | 809 | |
811 | 810 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* Accurate */ |
812 | 811 | MCFG_CPU_PROGRAM_MAP(karnov_sound_map) |
r17996 | r17997 | |
847 | 846 | /* basic machine hardware */ |
848 | 847 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */ |
849 | 848 | MCFG_CPU_PROGRAM_MAP(karnov_map) |
850 | MCFG_CPU_VBLANK_INT("screen", karnov_interrupt) | |
849 | MCFG_CPU_VBLANK_INT_DRIVER("screen", karnov_state, karnov_interrupt) | |
851 | 850 | |
852 | 851 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* Accurate */ |
853 | 852 | MCFG_CPU_PROGRAM_MAP(karnov_sound_map) |
r17996 | r17997 | |
---|---|---|
338 | 338 | MCFG_CPU_ADD("maincpu", TMS34010, 40000000) |
339 | 339 | MCFG_CPU_CONFIG(tms_config) |
340 | 340 | MCFG_CPU_PROGRAM_MAP(main_map) |
341 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 15000) | |
341 | MCFG_CPU_PERIODIC_INT_DRIVER(xtheball_state, irq1_line_hold, 15000) | |
342 | 342 | |
343 | 343 | MCFG_NVRAM_ADD_1FILL("nvram") |
344 | 344 |
r17996 | r17997 | |
---|---|---|
87 | 87 | coin_counter_w(machine(), 0, data & 0x80); |
88 | 88 | } |
89 | 89 | |
90 | ||
90 | ||
91 | 91 | { |
92 | lwings_state *state = device->machine().driver_data<lwings_state>(); | |
93 | 92 | |
94 | if(state->m_nmi_mask) | |
95 | device->execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); /* RST 10h */ | |
93 | if(m_nmi_mask) | |
94 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xd7); /* RST 10h */ | |
96 | 95 | } |
97 | 96 | |
98 | ||
97 | ||
99 | 98 | { |
100 | lwings_state *state = device->machine().driver_data<lwings_state>(); | |
101 | 99 | |
102 | if(state->m_nmi_mask) | |
103 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
100 | if(m_nmi_mask) | |
101 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
104 | 102 | } |
105 | 103 | |
106 | 104 | |
r17996 | r17997 | |
783 | 781 | /* basic machine hardware */ |
784 | 782 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on PCB */ |
785 | 783 | MCFG_CPU_PROGRAM_MAP(lwings_map) |
786 | MCFG_CPU_VBLANK_INT("screen", lwings_interrupt) | |
784 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lwings_state, lwings_interrupt) | |
787 | 785 | |
788 | 786 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_12MHz/4) /* verified on PCB */ |
789 | 787 | MCFG_CPU_PROGRAM_MAP(lwings_sound_map) |
790 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* ??? */ | |
788 | MCFG_CPU_PERIODIC_INT_DRIVER(lwings_state, irq0_line_hold, 4*60) /* ??? */ | |
791 | 789 | |
792 | 790 | |
793 | 791 | /* video hardware */ |
r17996 | r17997 | |
834 | 832 | MCFG_CPU_ADD("adpcm", Z80, XTAL_12MHz/4) /* verified on PCB */ |
835 | 833 | MCFG_CPU_PROGRAM_MAP(trojan_adpcm_map) |
836 | 834 | MCFG_CPU_IO_MAP(trojan_adpcm_io_map) |
837 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4000) | |
835 | MCFG_CPU_PERIODIC_INT_DRIVER(lwings_state, irq0_line_hold, 4000) | |
838 | 836 | |
839 | 837 | /* video hardware */ |
840 | 838 | MCFG_GFXDECODE(trojan) |
r17996 | r17997 | |
853 | 851 | |
854 | 852 | MCFG_CPU_MODIFY("maincpu") //AT: (avengers37b16gre) |
855 | 853 | MCFG_CPU_PROGRAM_MAP(avengers_map) |
856 | MCFG_CPU_VBLANK_INT("screen", avengers_interrupt) // RST 38h triggered by software | |
854 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lwings_state, avengers_interrupt) // RST 38h triggered by software | |
857 | 855 | |
858 | 856 | MCFG_CPU_MODIFY("adpcm") |
859 | 857 | MCFG_CPU_IO_MAP(avengers_adpcm_io_map) |
r17996 | r17997 | |
---|---|---|
928 | 928 | memset(m_rp5c01_mem, 0, sizeof(m_rp5c01_mem)); |
929 | 929 | } |
930 | 930 | |
931 | ||
931 | ||
932 | 932 | { |
933 | punchout_state *state = device->machine().driver_data<punchout_state>(); | |
934 | 933 | |
935 | if(state->m_nmi_mask) | |
936 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
934 | if(m_nmi_mask) | |
935 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
937 | 936 | } |
938 | 937 | |
939 | 938 | |
r17996 | r17997 | |
944 | 943 | MCFG_CPU_ADD("maincpu", Z80, 8000000/2) /* 4 MHz */ |
945 | 944 | MCFG_CPU_PROGRAM_MAP(punchout_map) |
946 | 945 | MCFG_CPU_IO_MAP(punchout_io_map) |
947 | MCFG_CPU_VBLANK_INT("top", vblank_irq) | |
946 | MCFG_CPU_VBLANK_INT_DRIVER("top", punchout_state, vblank_irq) | |
948 | 947 | |
949 | 948 | MCFG_CPU_ADD("audiocpu", N2A03, N2A03_DEFAULTCLOCK) |
950 | 949 | MCFG_CPU_PROGRAM_MAP(punchout_sound_map) |
951 | MCFG_CPU_VBLANK_INT("top", nmi_line_pulse) | |
950 | MCFG_CPU_VBLANK_INT_DRIVER("top", punchout_state, nmi_line_pulse) | |
952 | 951 | |
953 | 952 | MCFG_NVRAM_ADD_0FILL("nvram") |
954 | 953 |
r17996 | r17997 | |
---|---|---|
8 | 8 | #include "cpu/i8085/i8085.h" |
9 | 9 | #include "includes/kopunch.h" |
10 | 10 | |
11 | ||
11 | ||
12 | 12 | { |
13 | device->execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
14 | device->execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
13 | device.execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
14 | device.execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
15 | 15 | } |
16 | 16 | |
17 | 17 | READ8_MEMBER(kopunch_state::kopunch_in_r) |
r17996 | r17997 | |
189 | 189 | MCFG_CPU_ADD("maincpu", I8085A, 4000000) /* 4 MHz ???? Uses SIM, must be 8085 */ |
190 | 190 | MCFG_CPU_PROGRAM_MAP(kopunch_map) |
191 | 191 | MCFG_CPU_IO_MAP(kopunch_io_map) |
192 | MCFG_CPU_VBLANK_INT("screen",kopunch_interrupt) | |
192 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kopunch_state, kopunch_interrupt) | |
193 | 193 | |
194 | 194 | |
195 | 195 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
130 | 130 | /* basic machine hardware */ |
131 | 131 | MCFG_CPU_ADD("maincpu", Z80,8000000) /* ? MHz */ |
132 | 132 | MCFG_CPU_PROGRAM_MAP(news_map) |
133 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
133 | MCFG_CPU_VBLANK_INT_DRIVER("screen", news_state, irq0_line_hold) | |
134 | 134 | |
135 | 135 | |
136 | 136 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
973 | 973 | GFXDECODE_ENTRY( "gfx3", 0x0000, cclimber_charlayout, 24*4, 16 ) |
974 | 974 | GFXDECODE_END |
975 | 975 | |
976 | ||
976 | ||
977 | 977 | { |
978 | cclimber_state *state = device->machine().driver_data<cclimber_state>(); | |
979 | 978 | |
980 | if(state->m_nmi_mask) | |
981 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
979 | if(m_nmi_mask) | |
980 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
982 | 981 | } |
983 | 982 | |
984 | 983 | static MACHINE_CONFIG_START( root, cclimber_state ) |
r17996 | r17997 | |
987 | 986 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2) /* 3.072 MHz */ |
988 | 987 | MCFG_CPU_PROGRAM_MAP(cclimber_map) |
989 | 988 | MCFG_CPU_IO_MAP(cclimber_portmap) |
990 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
989 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cclimber_state, vblank_irq) | |
991 | 990 | |
992 | 991 | MCFG_MACHINE_RESET_OVERRIDE(cclimber_state,cclimber) |
993 | 992 | |
r17996 | r17997 | |
1082 | 1081 | /* basic machine hardware */ |
1083 | 1082 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */ |
1084 | 1083 | MCFG_CPU_PROGRAM_MAP(swimmer_map) |
1085 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
1084 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cclimber_state, vblank_irq) | |
1086 | 1085 | |
1087 | 1086 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_4MHz/2) /* verified on pcb */ |
1088 | 1087 | MCFG_CPU_PROGRAM_MAP(swimmer_audio_map) |
1089 | 1088 | MCFG_CPU_IO_MAP(swimmer_audio_portmap) |
1090 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, (double)4000000/16384) /* IRQs are triggered by the main CPU */ | |
1089 | MCFG_CPU_PERIODIC_INT_DRIVER(cclimber_state, nmi_line_pulse, (double)4000000/16384) /* IRQs are triggered by the main CPU */ | |
1091 | 1090 | |
1092 | 1091 | /* video hardware */ |
1093 | 1092 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
175 | 175 | // basic machine hardware |
176 | 176 | MCFG_CPU_ADD("maincpu", M68000, 10000000) // 10 MHz |
177 | 177 | MCFG_CPU_PROGRAM_MAP(xorworld_map) |
178 | MCFG_CPU_VBLANK_INT("screen",irq6_line_assert) // irq 4 or 6 | |
179 | MCFG_CPU_PERIODIC_INT(irq2_line_assert,3*60) //timed irq, unknown timing | |
178 | MCFG_CPU_VBLANK_INT_DRIVER("screen", xorworld_state, irq6_line_assert) // irq 4 or 6 | |
179 | MCFG_CPU_PERIODIC_INT_DRIVER(xorworld_state, irq2_line_assert, 3*60) //timed irq, unknown timing | |
180 | 180 | |
181 | 181 | MCFG_QUANTUM_TIME(attotime::from_hz(60)) |
182 | 182 |
r17996 | r17997 | |
---|---|---|
333 | 333 | /* basic machine hardware */ |
334 | 334 | MCFG_CPU_ADD("maincpu", M6502, 1000000) /* 1 MHz ???? */ |
335 | 335 | MCFG_CPU_PROGRAM_MAP(master_map) |
336 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) | |
336 | MCFG_CPU_PERIODIC_INT_DRIVER(cloak_state, irq0_line_hold, 4*60) | |
337 | 337 | |
338 | 338 | MCFG_CPU_ADD("slave", M6502, 1250000) /* 1.25 MHz ???? */ |
339 | 339 | MCFG_CPU_PROGRAM_MAP(slave_map) |
340 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 2*60) | |
340 | MCFG_CPU_PERIODIC_INT_DRIVER(cloak_state, irq0_line_hold, 2*60) | |
341 | 341 | |
342 | 342 | MCFG_QUANTUM_TIME(attotime::from_hz(1000)) |
343 | 343 |
r17996 | r17997 | |
---|---|---|
245 | 245 | |
246 | 246 | MCFG_CPU_ADD("maincpu", M68000, 24000000/2 ) |
247 | 247 | MCFG_CPU_PROGRAM_MAP(cesclassic_map) |
248 | MCFG_CPU_VBLANK_INT("l_lcd", irq2_line_assert) // TODO: unknown sources | |
249 | MCFG_CPU_PERIODIC_INT(irq3_line_assert,60*8) | |
248 | MCFG_CPU_VBLANK_INT_DRIVER("l_lcd", cesclassic_state, irq2_line_assert) // TODO: unknown sources | |
249 | MCFG_CPU_PERIODIC_INT_DRIVER(cesclassic_state, irq3_line_assert, 60*8) | |
250 | 250 | |
251 | 251 | MCFG_NVRAM_ADD_0FILL("nvram") |
252 | 252 |
r17996 | r17997 | |
---|---|---|
220 | 220 | /* basic machine hardware */ |
221 | 221 | MCFG_CPU_ADD("maincpu", M6502, 12096000 / 12) |
222 | 222 | MCFG_CPU_PROGRAM_MAP(skyraid_map) |
223 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
223 | MCFG_CPU_VBLANK_INT_DRIVER("screen", skyraid_state, irq0_line_hold) | |
224 | 224 | MCFG_WATCHDOG_VBLANK_INIT(4) |
225 | 225 | |
226 | 226 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
19 | 19 | /* prototypes */ |
20 | 20 | static KONAMI_SETLINES_CALLBACK( aliens_banking ); |
21 | 21 | |
22 | ||
22 | ||
23 | 23 | { |
24 | aliens_state *state = device->machine().driver_data<aliens_state>(); | |
25 | 24 | |
26 | if (k051960_is_irq_enabled(state->m_k051960)) | |
27 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
25 | if (k051960_is_irq_enabled(m_k051960)) | |
26 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
28 | 27 | } |
29 | 28 | |
30 | 29 | READ8_MEMBER(aliens_state::bankedram_r) |
r17996 | r17997 | |
256 | 255 | |
257 | 256 | MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */ |
258 | 257 | MCFG_CPU_PROGRAM_MAP(aliens_map) |
259 | MCFG_CPU_VBLANK_INT("screen", aliens_interrupt) | |
258 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aliens_state, aliens_interrupt) | |
260 | 259 | |
261 | 260 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
262 | 261 | MCFG_CPU_PROGRAM_MAP(aliens_sound_map) |
r17996 | r17997 | |
---|---|---|
22 | 22 | * |
23 | 23 | *************************************/ |
24 | 24 | |
25 | ||
25 | ||
26 | 26 | { |
27 | _88games_state *state = device->machine().driver_data<_88games_state>(); | |
28 | 27 | |
29 | if (k052109_is_irq_enabled( | |
28 | if (k052109_is_irq_enabled( | |
30 | 29 | irq0_line_hold(device); |
31 | 30 | } |
32 | 31 | |
r17996 | r17997 | |
370 | 369 | /* basic machine hardware */ |
371 | 370 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */ |
372 | 371 | MCFG_CPU_PROGRAM_MAP(main_map) |
373 | MCFG_CPU_VBLANK_INT("screen", k88games_interrupt) | |
372 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _88games_state, k88games_interrupt) | |
374 | 373 | |
375 | 374 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
376 | 375 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
834 | 834 | static MACHINE_CONFIG_START( cybertnk, cybertnk_state ) |
835 | 835 | MCFG_CPU_ADD("maincpu", M68000,XTAL_20MHz/2) |
836 | 836 | MCFG_CPU_PROGRAM_MAP(master_mem) |
837 | MCFG_CPU_VBLANK_INT("lscreen", irq1_line_assert) | |
837 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", cybertnk_state, irq1_line_assert) | |
838 | 838 | |
839 | 839 | MCFG_CPU_ADD("slave", M68000,XTAL_20MHz/2) |
840 | 840 | MCFG_CPU_PROGRAM_MAP(slave_mem) |
841 | MCFG_CPU_VBLANK_INT("lscreen", irq3_line_hold) | |
841 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", cybertnk_state, irq3_line_hold) | |
842 | 842 | |
843 | 843 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_3_579545MHz) |
844 | 844 | MCFG_CPU_PROGRAM_MAP(sound_mem) |
r17996 | r17997 | |
---|---|---|
310 | 310 | /* basic machine hardware */ |
311 | 311 | MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz) /* verified on pcb */ |
312 | 312 | MCFG_CPU_PROGRAM_MAP(wc90_map_1) |
313 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
313 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wc90_state, irq0_line_hold) | |
314 | 314 | |
315 | 315 | MCFG_CPU_ADD("sub", Z80, XTAL_8MHz) /* verified on pcb */ |
316 | 316 | MCFG_CPU_PROGRAM_MAP(wc90_map_2) |
317 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
317 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wc90_state, irq0_line_hold) | |
318 | 318 | |
319 | 319 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* verified on pcb */ |
320 | 320 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
263 | 263 | /* basic machine hardware */ |
264 | 264 | MCFG_CPU_ADD("maincpu", M68000,12000000) /* Custom chip 59 */ |
265 | 265 | MCFG_CPU_PROGRAM_MAP(darkseal_map) |
266 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)/* VBL */ | |
266 | MCFG_CPU_VBLANK_INT_DRIVER("screen", darkseal_state, irq6_line_hold)/* VBL */ | |
267 | 267 | |
268 | 268 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/4) /* Custom chip 45, Audio section crystal is 32.220 MHz */ |
269 | 269 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
272 | 272 | /* basic machine hardware */ |
273 | 273 | MCFG_CPU_ADD("maincpu", M68000,XTAL_25MHz/2) /* 12.5Mhz verified */ |
274 | 274 | MCFG_CPU_PROGRAM_MAP(deniam16b_map) |
275 | MCFG_CPU_VBLANK_INT("screen", irq4_line_assert) | |
275 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deniam_state, irq4_line_assert) | |
276 | 276 | |
277 | 277 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_25MHz/4) /* 6.25Mhz verified */ |
278 | 278 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
308 | 308 | /* basic machine hardware */ |
309 | 309 | MCFG_CPU_ADD("maincpu", M68000,XTAL_25MHz/2) /* 12.5Mhz verified */ |
310 | 310 | MCFG_CPU_PROGRAM_MAP(deniam16c_map) |
311 | MCFG_CPU_VBLANK_INT("screen", irq4_line_assert) | |
311 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deniam_state, irq4_line_assert) | |
312 | 312 | |
313 | 313 | |
314 | 314 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
107 | 107 | * |
108 | 108 | *************************************/ |
109 | 109 | |
110 | ||
110 | ||
111 | 111 | { |
112 | if( | |
112 | if( | |
113 | 113 | /* the service coin as conntected to the CPU's RDY pin as well */ |
114 | device | |
114 | device. | |
115 | 115 | |
116 | device | |
116 | device. | |
117 | 117 | } |
118 | 118 | |
119 | 119 | |
r17996 | r17997 | |
390 | 390 | /* basic machine hardware */ |
391 | 391 | MCFG_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK) |
392 | 392 | MCFG_CPU_PROGRAM_MAP(redalert_main_map) |
393 | MCFG_CPU_VBLANK_INT("screen", redalert_vblank_interrupt) | |
393 | MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt) | |
394 | 394 | |
395 | 395 | /* video hardware */ |
396 | 396 | MCFG_FRAGMENT_ADD(redalert_video) |
r17996 | r17997 | |
404 | 404 | /* basic machine hardware */ |
405 | 405 | MCFG_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK) |
406 | 406 | MCFG_CPU_PROGRAM_MAP(ww3_main_map) |
407 | MCFG_CPU_VBLANK_INT("screen", redalert_vblank_interrupt) | |
407 | MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt) | |
408 | 408 | |
409 | 409 | /* video hardware */ |
410 | 410 | MCFG_FRAGMENT_ADD(ww3_video) |
r17996 | r17997 | |
418 | 418 | /* basic machine hardware */ |
419 | 419 | MCFG_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK) |
420 | 420 | MCFG_CPU_PROGRAM_MAP(panther_main_map) |
421 | MCFG_CPU_VBLANK_INT("screen", redalert_vblank_interrupt) | |
421 | MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt) | |
422 | 422 | |
423 | 423 | /* video hardware */ |
424 | 424 | MCFG_FRAGMENT_ADD(panther_video) |
r17996 | r17997 | |
432 | 432 | /* basic machine hardware */ |
433 | 433 | MCFG_CPU_ADD("maincpu", M6502, MAIN_CPU_CLOCK) |
434 | 434 | MCFG_CPU_PROGRAM_MAP(demoneye_main_map) |
435 | MCFG_CPU_VBLANK_INT("screen", redalert_vblank_interrupt) | |
435 | MCFG_CPU_VBLANK_INT_DRIVER("screen", redalert_state, redalert_vblank_interrupt) | |
436 | 436 | |
437 | 437 | /* video hardware */ |
438 | 438 | MCFG_FRAGMENT_ADD(demoneye_video) |
r17996 | r17997 | |
---|---|---|
391 | 391 | |
392 | 392 | MCFG_CPU_ADD("maincpu", Z80, 7372800/2) |
393 | 393 | MCFG_CPU_PROGRAM_MAP(cpu0_mem) |
394 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
394 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pipeline_state, nmi_line_pulse) | |
395 | 395 | |
396 | 396 | MCFG_CPU_ADD("audiocpu", Z80, 7372800/2) |
397 | 397 | MCFG_CPU_CONFIG(daisy_chain_sound) |
r17996 | r17997 | |
---|---|---|
229 | 229 | /* basic machine hardware */ |
230 | 230 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) |
231 | 231 | MCFG_CPU_PROGRAM_MAP(main_map) |
232 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
232 | MCFG_CPU_VBLANK_INT_DRIVER("screen", stadhero_state, irq5_line_hold) | |
233 | 233 | |
234 | 234 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_24MHz/16) |
235 | 235 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
---|---|---|
49 | 49 | private: |
50 | 50 | bool m_digwait; |
51 | 51 | UINT8 m_keyrow; |
52 | public: | |
53 | INTERRUPT_GEN_MEMBER(techno_intgen); | |
52 | 54 | }; |
53 | 55 | |
54 | 56 | |
r17996 | r17997 | |
230 | 232 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_NAME("Fix top left target middle") PORT_CODE(KEYCODE_EQUALS) |
231 | 233 | INPUT_PORTS_END |
232 | 234 | |
233 | ||
235 | ||
234 | 236 | { |
235 | techno_state *state = device->machine().driver_data<techno_state>(); | |
236 | 237 | // vectors change per int: 88-8F, 98-9F) |
237 | if ((state->m_vector & 7) == 7) | |
238 | state->m_vector = (state->m_vector ^ 0x10) & 0x97; | |
239 | state->m_vector++; | |
238 | if ((m_vector & 7) == 7) | |
239 | m_vector = (m_vector ^ 0x10) & 0x97; | |
240 | m_vector++; | |
240 | 241 | // core doesn't support clearing of irq via hardware |
241 | generic_pulse_irq_line_and_vector(device, 1, | |
242 | generic_pulse_irq_line_and_vector(device.execute(), 1, | |
242 | 243 | } |
243 | 244 | |
244 | 245 | void techno_state::machine_reset() |
r17996 | r17997 | |
251 | 252 | /* basic machine hardware */ |
252 | 253 | MCFG_CPU_ADD("maincpu", M68000, TECHNO_MAINCLK) |
253 | 254 | MCFG_CPU_PROGRAM_MAP(techno_map) |
254 | MCFG_CPU_PERIODIC_INT(techno_intgen, TECHNO_MAINCLK/256) // 31250Hz | |
255 | MCFG_CPU_PERIODIC_INT_DRIVER(techno_state, techno_intgen, TECHNO_MAINCLK/256) // 31250Hz | |
255 | 256 | //MCFG_CPU_ADD("cpu2", TMS7000, 4000000) |
256 | 257 | //MCFG_CPU_PROGRAM_MAP(techno_sub_map) |
257 | 258 |
r17996 | r17997 | |
---|---|---|
202 | 202 | state->m_maincpu->set_input_line(2, HOLD_LINE); |
203 | 203 | } |
204 | 204 | |
205 | ||
205 | ||
206 | 206 | { |
207 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(rsaga2_interrupt2)); | |
208 | device->execute().set_input_line(4, HOLD_LINE); | |
207 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(rsaga2_interrupt2)); | |
208 | device.execute().set_input_line(4, HOLD_LINE); | |
209 | 209 | } |
210 | 210 | |
211 | 211 | |
r17996 | r17997 | |
215 | 215 | state->m_maincpu->set_input_line(3, HOLD_LINE); |
216 | 216 | } |
217 | 217 | |
218 | ||
218 | ||
219 | 219 | { |
220 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(crimec_interrupt3)); | |
221 | device->execute().set_input_line(5, HOLD_LINE); | |
220 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(crimec_interrupt3)); | |
221 | device.execute().set_input_line(5, HOLD_LINE); | |
222 | 222 | } |
223 | 223 | |
224 | 224 | |
r17996 | r17997 | |
228 | 228 | state->m_maincpu->set_input_line(6, HOLD_LINE); |
229 | 229 | } |
230 | 230 | |
231 | ||
231 | ||
232 | 232 | { |
233 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(hitice_interrupt6)); | |
234 | device->execute().set_input_line(4, HOLD_LINE); | |
233 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(hitice_interrupt6)); | |
234 | device.execute().set_input_line(4, HOLD_LINE); | |
235 | 235 | } |
236 | 236 | |
237 | 237 | |
r17996 | r17997 | |
241 | 241 | state->m_maincpu->set_input_line(1, HOLD_LINE); |
242 | 242 | } |
243 | 243 | |
244 | ||
244 | ||
245 | 245 | { |
246 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(rambo3_interrupt1)); | |
247 | device->execute().set_input_line(6, HOLD_LINE); | |
246 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(rambo3_interrupt1)); | |
247 | device.execute().set_input_line(6, HOLD_LINE); | |
248 | 248 | } |
249 | 249 | |
250 | 250 | |
r17996 | r17997 | |
254 | 254 | state->m_maincpu->set_input_line(5, HOLD_LINE); |
255 | 255 | } |
256 | 256 | |
257 | ||
257 | ||
258 | 258 | { |
259 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(pbobble_interrupt5)); | |
260 | device->execute().set_input_line(3, HOLD_LINE); | |
259 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(pbobble_interrupt5)); | |
260 | device.execute().set_input_line(3, HOLD_LINE); | |
261 | 261 | } |
262 | 262 | |
263 | 263 | static TIMER_CALLBACK( viofight_interrupt1 ) |
r17996 | r17997 | |
266 | 266 | state->m_maincpu->set_input_line(1, HOLD_LINE); |
267 | 267 | } |
268 | 268 | |
269 | ||
269 | ||
270 | 270 | { |
271 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(viofight_interrupt1)); | |
272 | device->execute().set_input_line(4, HOLD_LINE); | |
271 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(viofight_interrupt1)); | |
272 | device.execute().set_input_line(4, HOLD_LINE); | |
273 | 273 | } |
274 | 274 | |
275 | 275 | static TIMER_CALLBACK( masterw_interrupt4 ) |
r17996 | r17997 | |
278 | 278 | state->m_maincpu->set_input_line(4, HOLD_LINE); |
279 | 279 | } |
280 | 280 | |
281 | ||
281 | ||
282 | 282 | { |
283 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(masterw_interrupt4)); | |
284 | device->execute().set_input_line(5, HOLD_LINE); | |
283 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(masterw_interrupt4)); | |
284 | device.execute().set_input_line(5, HOLD_LINE); | |
285 | 285 | } |
286 | 286 | |
287 | 287 | static TIMER_CALLBACK( silentd_interrupt4 ) |
r17996 | r17997 | |
290 | 290 | state->m_maincpu->set_input_line(4, HOLD_LINE); |
291 | 291 | } |
292 | 292 | |
293 | ||
293 | ||
294 | 294 | { |
295 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(silentd_interrupt4)); | |
296 | device->execute().set_input_line(6, HOLD_LINE); | |
295 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(silentd_interrupt4)); | |
296 | device.execute().set_input_line(6, HOLD_LINE); | |
297 | 297 | } |
298 | 298 | |
299 | 299 | static TIMER_CALLBACK( selfeena_interrupt4 ) |
r17996 | r17997 | |
302 | 302 | state->m_maincpu->set_input_line(4, HOLD_LINE); |
303 | 303 | } |
304 | 304 | |
305 | ||
305 | ||
306 | 306 | { |
307 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(5000), FUNC(selfeena_interrupt4)); | |
308 | device->execute().set_input_line(6, HOLD_LINE); | |
307 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(5000), FUNC(selfeena_interrupt4)); | |
308 | device.execute().set_input_line(6, HOLD_LINE); | |
309 | 309 | } |
310 | 310 | |
311 | 311 | static TIMER_CALLBACK( sbm_interrupt5 )//4 |
r17996 | r17997 | |
314 | 314 | state->m_maincpu->set_input_line(5, HOLD_LINE); |
315 | 315 | } |
316 | 316 | |
317 | ||
317 | ||
318 | 318 | { |
319 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(10000), FUNC(sbm_interrupt5)); | |
320 | device->execute().set_input_line(4, HOLD_LINE); | |
319 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(10000), FUNC(sbm_interrupt5)); | |
320 | device.execute().set_input_line(4, HOLD_LINE); | |
321 | 321 | } |
322 | 322 | |
323 | 323 | static TIMER_CALLBACK( realpunc_interrupt3 )//3 |
r17996 | r17997 | |
326 | 326 | state->m_maincpu->set_input_line(3, HOLD_LINE); |
327 | 327 | } |
328 | 328 | |
329 | ||
329 | ||
330 | 330 | { |
331 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(10000), FUNC(realpunc_interrupt3)); | |
332 | device->execute().set_input_line(2, HOLD_LINE); | |
331 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(10000), FUNC(realpunc_interrupt3)); | |
332 | device.execute().set_input_line(2, HOLD_LINE); | |
333 | 333 | } |
334 | 334 | |
335 | 335 | |
r17996 | r17997 | |
2040 | 2040 | /* basic machine hardware */ |
2041 | 2041 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2042 | 2042 | MCFG_CPU_PROGRAM_MAP(rastsag2_map) |
2043 | MCFG_CPU_VBLANK_INT("screen", rastansaga2_interrupt) | |
2043 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, rastansaga2_interrupt) | |
2044 | 2044 | |
2045 | 2045 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2046 | 2046 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2084 | 2084 | /* basic machine hardware */ |
2085 | 2085 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2086 | 2086 | MCFG_CPU_PROGRAM_MAP(rastsag2_map) |
2087 | MCFG_CPU_VBLANK_INT("screen", rastansaga2_interrupt) | |
2087 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, rastansaga2_interrupt) | |
2088 | 2088 | |
2089 | 2089 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2090 | 2090 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2128 | 2128 | /* basic machine hardware */ |
2129 | 2129 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2130 | 2130 | MCFG_CPU_PROGRAM_MAP(crimec_map) |
2131 | MCFG_CPU_VBLANK_INT("screen", crimec_interrupt) | |
2131 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, crimec_interrupt) | |
2132 | 2132 | |
2133 | 2133 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2134 | 2134 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2172 | 2172 | /* basic machine hardware */ |
2173 | 2173 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ???*/ |
2174 | 2174 | MCFG_CPU_PROGRAM_MAP(tetrist_map) |
2175 | MCFG_CPU_VBLANK_INT("screen", rastansaga2_interrupt) | |
2175 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, rastansaga2_interrupt) | |
2176 | 2176 | |
2177 | 2177 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2178 | 2178 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2215 | 2215 | /* basic machine hardware */ |
2216 | 2216 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2217 | 2217 | MCFG_CPU_PROGRAM_MAP(tetrista_map) |
2218 | MCFG_CPU_VBLANK_INT("screen", masterw_interrupt) | |
2218 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, masterw_interrupt) | |
2219 | 2219 | |
2220 | 2220 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2221 | 2221 | MCFG_CPU_PROGRAM_MAP(masterw_sound_map) |
r17996 | r17997 | |
2259 | 2259 | /* basic machine hardware */ |
2260 | 2260 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2261 | 2261 | MCFG_CPU_PROGRAM_MAP(hitice_map) |
2262 | MCFG_CPU_VBLANK_INT("screen", hitice_interrupt) | |
2262 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, hitice_interrupt) | |
2263 | 2263 | |
2264 | 2264 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2265 | 2265 | MCFG_CPU_PROGRAM_MAP(viofight_sound_map) |
r17996 | r17997 | |
2308 | 2308 | /* basic machine hardware */ |
2309 | 2309 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* verified on pcb */ |
2310 | 2310 | MCFG_CPU_PROGRAM_MAP(rambo3_map) |
2311 | MCFG_CPU_VBLANK_INT("screen", rambo3_interrupt) | |
2311 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, rambo3_interrupt) | |
2312 | 2312 | |
2313 | 2313 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/6) /* verified on pcb */ |
2314 | 2314 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2352 | 2352 | /* basic machine hardware */ |
2353 | 2353 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* verified on pcb */ |
2354 | 2354 | MCFG_CPU_PROGRAM_MAP(rambo3_map) |
2355 | MCFG_CPU_VBLANK_INT("screen", rambo3_interrupt) | |
2355 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, rambo3_interrupt) | |
2356 | 2356 | |
2357 | 2357 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/6) /* verified on pcb */ |
2358 | 2358 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2395 | 2395 | /* basic machine hardware */ |
2396 | 2396 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2397 | 2397 | MCFG_CPU_PROGRAM_MAP(pbobble_map) |
2398 | MCFG_CPU_VBLANK_INT("screen", pbobble_interrupt) | |
2398 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, pbobble_interrupt) | |
2399 | 2399 | |
2400 | 2400 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2401 | 2401 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2443 | 2443 | /* basic machine hardware */ |
2444 | 2444 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2445 | 2445 | MCFG_CPU_PROGRAM_MAP(spacedx_map) |
2446 | MCFG_CPU_VBLANK_INT("screen", pbobble_interrupt) | |
2446 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, pbobble_interrupt) | |
2447 | 2447 | |
2448 | 2448 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2449 | 2449 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2491 | 2491 | /* basic machine hardware */ |
2492 | 2492 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2493 | 2493 | MCFG_CPU_PROGRAM_MAP(spacedxo_map) |
2494 | MCFG_CPU_VBLANK_INT("screen", selfeena_interrupt) | |
2494 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, selfeena_interrupt) | |
2495 | 2495 | |
2496 | 2496 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2497 | 2497 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2535 | 2535 | /* basic machine hardware */ |
2536 | 2536 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz according to the readme*/ |
2537 | 2537 | MCFG_CPU_PROGRAM_MAP(qzshowby_map) |
2538 | MCFG_CPU_VBLANK_INT("screen", pbobble_interrupt) | |
2538 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, pbobble_interrupt) | |
2539 | 2539 | |
2540 | 2540 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2541 | 2541 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2583 | 2583 | /* basic machine hardware */ |
2584 | 2584 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2585 | 2585 | MCFG_CPU_PROGRAM_MAP(viofight_map) |
2586 | MCFG_CPU_VBLANK_INT("screen", viofight_interrupt) | |
2586 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, viofight_interrupt) | |
2587 | 2587 | |
2588 | 2588 | MCFG_CPU_ADD("audiocpu", Z80, 6000000) /* 6 MHz verified */ |
2589 | 2589 | MCFG_CPU_PROGRAM_MAP(viofight_sound_map) |
r17996 | r17997 | |
2630 | 2630 | /* basic machine hardware */ |
2631 | 2631 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2632 | 2632 | MCFG_CPU_PROGRAM_MAP(masterw_map) |
2633 | MCFG_CPU_VBLANK_INT("screen", masterw_interrupt) | |
2633 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, masterw_interrupt) | |
2634 | 2634 | |
2635 | 2635 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2636 | 2636 | MCFG_CPU_PROGRAM_MAP(masterw_sound_map) |
r17996 | r17997 | |
2675 | 2675 | /* basic machine hardware */ |
2676 | 2676 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz ??? */ |
2677 | 2677 | MCFG_CPU_PROGRAM_MAP(silentd_map) |
2678 | MCFG_CPU_VBLANK_INT("screen", silentd_interrupt) | |
2678 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, silentd_interrupt) | |
2679 | 2679 | |
2680 | 2680 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2681 | 2681 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2719 | 2719 | /* basic machine hardware */ |
2720 | 2720 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2721 | 2721 | MCFG_CPU_PROGRAM_MAP(selfeena_map) |
2722 | MCFG_CPU_VBLANK_INT("screen", selfeena_interrupt) | |
2722 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, selfeena_interrupt) | |
2723 | 2723 | |
2724 | 2724 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2725 | 2725 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2772 | 2772 | /* basic machine hardware */ |
2773 | 2773 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2774 | 2774 | MCFG_CPU_PROGRAM_MAP(selfeena_map) |
2775 | MCFG_CPU_VBLANK_INT("screen", selfeena_interrupt) | |
2775 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, selfeena_interrupt) | |
2776 | 2776 | |
2777 | 2777 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2778 | 2778 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2823 | 2823 | /* basic machine hardware */ |
2824 | 2824 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2825 | 2825 | MCFG_CPU_PROGRAM_MAP(sbm_map) |
2826 | MCFG_CPU_VBLANK_INT("screen", sbm_interrupt) | |
2826 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, sbm_interrupt) | |
2827 | 2827 | |
2828 | 2828 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
2829 | 2829 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2872 | 2872 | /* basic machine hardware */ |
2873 | 2873 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
2874 | 2874 | MCFG_CPU_PROGRAM_MAP(realpunc_map) |
2875 | MCFG_CPU_VBLANK_INT("screen", realpunc_interrupt) | |
2875 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitob_state, realpunc_interrupt) | |
2876 | 2876 | |
2877 | 2877 | MCFG_CPU_ADD("audiocpu", Z80, 6000000) |
2878 | 2878 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
83 | 83 | DECLARE_WRITE8_MEMBER(kungfur_adpcm2_w); |
84 | 84 | virtual void machine_start(); |
85 | 85 | virtual void machine_reset(); |
86 | INTERRUPT_GEN_MEMBER(kungfur_irq); | |
86 | 87 | }; |
87 | 88 | |
88 | 89 | |
89 | ||
90 | ||
90 | 91 | { |
91 | kungfur_state *state = device->machine().driver_data<kungfur_state>(); | |
92 | if (state->m_control & 0x10) | |
93 | device->execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE); | |
92 | if (m_control & 0x10) | |
93 | device.execute().set_input_line(M6809_IRQ_LINE, ASSERT_LINE); | |
94 | 94 | } |
95 | 95 | |
96 | 96 | |
r17996 | r17997 | |
317 | 317 | /* basic machine hardware */ |
318 | 318 | MCFG_CPU_ADD("maincpu", M6809, 8000000/2) // 4MHz? |
319 | 319 | MCFG_CPU_PROGRAM_MAP(kungfur_map) |
320 | MCFG_CPU_PERIODIC_INT(kungfur_irq, 975) // close approximation | |
320 | MCFG_CPU_PERIODIC_INT_DRIVER(kungfur_state, kungfur_irq, 975) // close approximation | |
321 | 321 | |
322 | 322 | MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf ) |
323 | 323 | MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf ) |
r17996 | r17997 | |
---|---|---|
307 | 307 | * |
308 | 308 | *************************************/ |
309 | 309 | |
310 | ||
310 | ||
311 | 311 | { |
312 | jackal_state *state = device->machine().driver_data<jackal_state>(); | |
313 | 312 | |
314 | if ( | |
313 | if ( | |
315 | 314 | { |
316 | device->execute().set_input_line(0, HOLD_LINE); | |
317 | state->m_slavecpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
315 | device.execute().set_input_line(0, HOLD_LINE); | |
316 | m_slavecpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
318 | 317 | } |
319 | 318 | } |
320 | 319 | |
r17996 | r17997 | |
358 | 357 | /* basic machine hardware */ |
359 | 358 | MCFG_CPU_ADD("master", M6809, MASTER_CLOCK/12) // verified on pcb |
360 | 359 | MCFG_CPU_PROGRAM_MAP(master_map) |
361 | MCFG_CPU_VBLANK_INT("screen", jackal_interrupt) | |
360 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jackal_state, jackal_interrupt) | |
362 | 361 | |
363 | 362 | MCFG_CPU_ADD("slave", M6809, MASTER_CLOCK/12) // verified on pcb |
364 | 363 | MCFG_CPU_PROGRAM_MAP(slave_map) |
r17996 | r17997 | |
---|---|---|
347 | 347 | virtual void machine_start(); |
348 | 348 | virtual void machine_reset(); |
349 | 349 | UINT32 screen_update_viper(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
350 | INTERRUPT_GEN_MEMBER(viper_vblank); | |
350 | 351 | }; |
351 | 352 | |
352 | 353 | UINT32 viper_state::screen_update_viper(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) |
r17996 | r17997 | |
1925 | 1926 | NULL |
1926 | 1927 | }; |
1927 | 1928 | |
1928 | ||
1929 | ||
1929 | 1930 | { |
1930 | mpc8240_interrupt(device->machine(), MPC8240_IRQ0); | |
1931 | //mpc8240_interrupt(device->machine, MPC8240_IRQ3); | |
1931 | mpc8240_interrupt(machine(), MPC8240_IRQ0); | |
1932 | //mpc8240_interrupt(device.machine, MPC8240_IRQ3); | |
1932 | 1933 | } |
1933 | 1934 | |
1934 | 1935 | static void voodoo_vblank(device_t *device, int state) |
r17996 | r17997 | |
1993 | 1994 | MCFG_CPU_ADD("maincpu", MPC8240, 200000000) |
1994 | 1995 | MCFG_CPU_CONFIG(viper_ppc_cfg) |
1995 | 1996 | MCFG_CPU_PROGRAM_MAP(viper_map) |
1996 | MCFG_CPU_VBLANK_INT("screen", viper_vblank) | |
1997 | MCFG_CPU_VBLANK_INT_DRIVER("screen", viper_state, viper_vblank) | |
1997 | 1998 | |
1998 | 1999 | |
1999 | 2000 | MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) |
r17996 | r17997 | |
---|---|---|
1132 | 1132 | MCFG_CPU_ADD("maincpu",Z180,16000000) |
1133 | 1133 | MCFG_CPU_PROGRAM_MAP(pinkiri8_map) |
1134 | 1134 | MCFG_CPU_IO_MAP(pinkiri8_io) |
1135 | MCFG_CPU_VBLANK_INT("screen",nmi_line_assert) | |
1135 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pinkiri8_state, nmi_line_assert) | |
1136 | 1136 | |
1137 | 1137 | MCFG_SCREEN_ADD("screen", RASTER) |
1138 | 1138 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
1624 | 1624 | MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* verified on pcb */ |
1625 | 1625 | MCFG_CPU_PROGRAM_MAP(hardhead_map) |
1626 | 1626 | MCFG_CPU_IO_MAP(hardhead_io_map) |
1627 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* No NMI */ | |
1627 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suna8_state, irq0_line_hold) /* No NMI */ | |
1628 | 1628 | |
1629 | 1629 | MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 8) /* verified on pcb */ |
1630 | 1630 | MCFG_CPU_PROGRAM_MAP(hardhead_sound_map) |
1631 | 1631 | MCFG_CPU_IO_MAP(hardhead_sound_io_map) |
1632 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* No NMI */ | |
1632 | MCFG_CPU_PERIODIC_INT_DRIVER(suna8_state, irq0_line_hold, 4*60) /* No NMI */ | |
1633 | 1633 | |
1634 | 1634 | /* video hardware */ |
1635 | 1635 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
1689 | 1689 | MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */ |
1690 | 1690 | MCFG_CPU_PROGRAM_MAP(rranger_map) |
1691 | 1691 | MCFG_CPU_IO_MAP(rranger_io_map) |
1692 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ & NMI ! */ | |
1692 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suna8_state, irq0_line_hold) /* IRQ & NMI ! */ | |
1693 | 1693 | |
1694 | 1694 | MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */ |
1695 | 1695 | MCFG_CPU_PROGRAM_MAP(rranger_sound_map) |
1696 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* NMI = retn */ | |
1696 | MCFG_CPU_PERIODIC_INT_DRIVER(suna8_state, irq0_line_hold, 4*60) /* NMI = retn */ | |
1697 | 1697 | |
1698 | 1698 | /* video hardware */ |
1699 | 1699 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
1763 | 1763 | MCFG_CPU_ADD("maincpu", Z80, SUNA8_MASTER_CLOCK / 4) /* SUNA PROTECTION BLOCK */ |
1764 | 1764 | MCFG_CPU_PROGRAM_MAP(brickzn_map) |
1765 | 1765 | MCFG_CPU_IO_MAP(brickzn_io_map) |
1766 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) // nmi breaks ramtest but is needed! | |
1766 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suna8_state, irq0_line_hold) // nmi breaks ramtest but is needed! | |
1767 | 1767 | |
1768 | 1768 | MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 4) /* Z0840006PSC */ |
1769 | 1769 | MCFG_CPU_PROGRAM_MAP(brickzn_sound_map) |
r17996 | r17997 | |
1873 | 1873 | MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */ |
1874 | 1874 | MCFG_CPU_PROGRAM_MAP(hardhead_sound_map) |
1875 | 1875 | MCFG_CPU_IO_MAP(hardhead_sound_io_map) |
1876 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* No NMI */ | |
1876 | MCFG_CPU_PERIODIC_INT_DRIVER(suna8_state, irq0_line_hold, 4*60) /* No NMI */ | |
1877 | 1877 | |
1878 | 1878 | /* video hardware */ |
1879 | 1879 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
1920 | 1920 | MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 4) /* ? */ |
1921 | 1921 | MCFG_CPU_PROGRAM_MAP(hardhead_sound_map) |
1922 | 1922 | MCFG_CPU_IO_MAP(hardhead_sound_io_map) |
1923 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* No NMI */ | |
1923 | MCFG_CPU_PERIODIC_INT_DRIVER(suna8_state, irq0_line_hold, 4*60) /* No NMI */ | |
1924 | 1924 | |
1925 | 1925 | /* video hardware */ |
1926 | 1926 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
992 | 992 | /* basic machine hardware */ |
993 | 993 | MCFG_CPU_ADD("cpu1", M6809, 49152000/32) |
994 | 994 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
995 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
995 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_assert) | |
996 | 996 | |
997 | 997 | MCFG_CPU_ADD("cpu2", M6809, 49152000/32) |
998 | 998 | MCFG_CPU_PROGRAM_MAP(hopmappy_cpu2_map) |
999 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
999 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_assert) | |
1000 | 1000 | |
1001 | 1001 | MCFG_CPU_ADD("mcu", HD63701, 49152000/8) /* or compatible 6808 with extra instructions */ |
1002 | 1002 | MCFG_CPU_PROGRAM_MAP(hopmappy_mcu_map) |
1003 | 1003 | MCFG_CPU_IO_MAP(mcu_port_map) |
1004 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* ??? */ | |
1004 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos86_state, irq0_line_hold) /* ??? */ | |
1005 | 1005 | |
1006 | 1006 | MCFG_QUANTUM_TIME(attotime::from_hz(48000)) /* heavy interleaving needed to avoid hangs in rthunder */ |
1007 | 1007 |
r17996 | r17997 | |
---|---|---|
264 | 264 | /* basic machine hardware */ |
265 | 265 | MCFG_CPU_ADD("maincpu", M68000,12000000) /* Custom chip 59 */ |
266 | 266 | MCFG_CPU_PROGRAM_MAP(main_map) |
267 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
267 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vaportra_state, irq6_line_hold) | |
268 | 268 | |
269 | 269 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/4) /* Custom chip 45; Audio section crystal is 32.220 MHz */ |
270 | 270 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
86 | 86 | virtual void video_start(); |
87 | 87 | virtual void palette_init(); |
88 | 88 | UINT32 screen_update_m14(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
89 | INTERRUPT_GEN_MEMBER(m14_irq); | |
89 | 90 | }; |
90 | 91 | |
91 | 92 | |
r17996 | r17997 | |
313 | 314 | GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 0x10 ) |
314 | 315 | GFXDECODE_END |
315 | 316 | |
316 | ||
317 | ||
317 | 318 | { |
318 | device->execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
319 | device->execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
319 | device.execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
320 | device.execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
320 | 321 | } |
321 | 322 | |
322 | 323 | void m14_state::machine_start() |
r17996 | r17997 | |
340 | 341 | MCFG_CPU_ADD("maincpu",I8085A,6000000/2) //guess: 6 Mhz internally divided by 2 |
341 | 342 | MCFG_CPU_PROGRAM_MAP(m14_map) |
342 | 343 | MCFG_CPU_IO_MAP(m14_io_map) |
343 | MCFG_CPU_VBLANK_INT("screen",m14_irq) | |
344 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m14_state, m14_irq) | |
344 | 345 | |
345 | 346 | |
346 | 347 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
683 | 683 | /* basic machine hardware */ |
684 | 684 | MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz verified on schematics |
685 | 685 | MCFG_CPU_PROGRAM_MAP(nova2001_map) |
686 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
686 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nova2001_state, irq0_line_hold) | |
687 | 687 | |
688 | 688 | /* video hardware */ |
689 | 689 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
715 | 715 | /* basic machine hardware */ |
716 | 716 | MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz |
717 | 717 | MCFG_CPU_PROGRAM_MAP(ninjakun_cpu1_map) |
718 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
718 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nova2001_state, irq0_line_hold) | |
719 | 719 | |
720 | 720 | MCFG_CPU_ADD("sub", Z80, MAIN_CLOCK/4) // 3 MHz |
721 | 721 | MCFG_CPU_PROGRAM_MAP(ninjakun_cpu2_map) |
722 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* ? */ | |
722 | MCFG_CPU_PERIODIC_INT_DRIVER(nova2001_state, irq0_line_hold, 4*60) /* ? */ | |
723 | 723 | |
724 | 724 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */ |
725 | 725 | |
r17996 | r17997 | |
756 | 756 | MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz |
757 | 757 | MCFG_CPU_PROGRAM_MAP(pkunwar_map) |
758 | 758 | MCFG_CPU_IO_MAP(pkunwar_io) |
759 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
759 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nova2001_state, irq0_line_hold) | |
760 | 760 | |
761 | 761 | /* video hardware */ |
762 | 762 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
789 | 789 | MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/4) // 3 MHz |
790 | 790 | MCFG_CPU_PROGRAM_MAP(raiders5_cpu1_map) |
791 | 791 | MCFG_CPU_IO_MAP(raiders5_io) |
792 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
792 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nova2001_state, irq0_line_hold) | |
793 | 793 | |
794 | 794 | MCFG_CPU_ADD("sub", Z80, MAIN_CLOCK/4) // 3 MHz |
795 | 795 | MCFG_CPU_PROGRAM_MAP(raiders5_cpu2_map) |
796 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* ? */ | |
796 | MCFG_CPU_PERIODIC_INT_DRIVER(nova2001_state, irq0_line_hold, 4*60) /* ? */ | |
797 | 797 | |
798 | 798 | MCFG_QUANTUM_TIME(attotime::from_hz(24000)) |
799 | 799 |
r17996 | r17997 | |
---|---|---|
519 | 519 | MCFG_CPU_ADD("maincpu", Z80,MAIN_CLOCK/4) |
520 | 520 | MCFG_CPU_PROGRAM_MAP(jantotsu_map) |
521 | 521 | MCFG_CPU_IO_MAP(jantotsu_io) |
522 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
522 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jantotsu_state, nmi_line_pulse) | |
523 | 523 | |
524 | 524 | |
525 | 525 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
203 | 203 | MCFG_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2) /* HD64180RP8, 8 MHz? */ |
204 | 204 | MCFG_CPU_PROGRAM_MAP(chsuper_prg_map) |
205 | 205 | MCFG_CPU_IO_MAP(chsuper_portmap) |
206 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
206 | MCFG_CPU_VBLANK_INT_DRIVER("screen", chsuper_state, irq0_line_hold) | |
207 | 207 | |
208 | 208 | /* video hardware */ |
209 | 209 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
439 | 439 | }; |
440 | 440 | |
441 | 441 | |
442 | ||
442 | ||
443 | 443 | { |
444 | mermaid_state *state = device->machine().driver_data<mermaid_state>(); | |
445 | 444 | |
446 | if(state->m_nmi_mask) | |
447 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
445 | if(m_nmi_mask) | |
446 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
448 | 447 | } |
449 | 448 | |
450 | 449 | static MACHINE_CONFIG_START( mermaid, mermaid_state ) |
r17996 | r17997 | |
452 | 451 | /* basic machine hardware */ |
453 | 452 | MCFG_CPU_ADD("maincpu", Z80, 4000000) // ??? |
454 | 453 | MCFG_CPU_PROGRAM_MAP(mermaid_map) |
455 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
454 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mermaid_state, vblank_irq) | |
456 | 455 | |
457 | 456 | |
458 | 457 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
248 | 248 | /* basic machine hardware */ |
249 | 249 | MCFG_CPU_ADD("maincpu", M6502,MASTER_CLOCK/16) /* clock input is the "2H" signal divided by two */ |
250 | 250 | MCFG_CPU_PROGRAM_MAP(main_map) |
251 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,8*60) | |
251 | MCFG_CPU_PERIODIC_INT_DRIVER(avalnche_state, nmi_line_pulse, 8*60) | |
252 | 252 | |
253 | 253 | |
254 | 254 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
250 | 250 | * |
251 | 251 | *************************************/ |
252 | 252 | |
253 | ||
253 | ||
254 | 254 | { |
255 | gaelco3d_render(*device->machine().primary_screen); | |
256 | device->execute().set_input_line(2, ASSERT_LINE); | |
255 | gaelco3d_render(*machine().primary_screen); | |
256 | device.execute().set_input_line(2, ASSERT_LINE); | |
257 | 257 | } |
258 | 258 | |
259 | 259 | |
r17996 | r17997 | |
994 | 994 | /* basic machine hardware */ |
995 | 995 | MCFG_CPU_ADD("maincpu", M68000, 15000000) |
996 | 996 | MCFG_CPU_PROGRAM_MAP(main_map) |
997 | MCFG_CPU_VBLANK_INT("screen", vblank_gen) | |
997 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco3d_state, vblank_gen) | |
998 | 998 | |
999 | 999 | MCFG_CPU_ADD("tms", TMS32031, 60000000) |
1000 | 1000 | MCFG_TMS3203X_CONFIG(tms_config) |
r17996 | r17997 | |
1047 | 1047 | /* basic machine hardware */ |
1048 | 1048 | MCFG_CPU_REPLACE("maincpu", M68EC020, 25000000) |
1049 | 1049 | MCFG_CPU_PROGRAM_MAP(main020_map) |
1050 | MCFG_CPU_VBLANK_INT("screen", vblank_gen) | |
1050 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco3d_state, vblank_gen) | |
1051 | 1051 | |
1052 | 1052 | MCFG_CPU_MODIFY("tms") |
1053 | 1053 | MCFG_CPU_CLOCK(50000000) |
r17996 | r17997 | |
---|---|---|
251 | 251 | /* basic machine hardware */ |
252 | 252 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
253 | 253 | MCFG_CPU_PROGRAM_MAP(dcon_map) |
254 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
254 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dcon_state, irq4_line_hold) | |
255 | 255 | |
256 | 256 | SEIBU_SOUND_SYSTEM_CPU(4000000) /* Perhaps 14318180/4? */ |
257 | 257 | |
r17996 | r17997 | |
278 | 278 | /* basic machine hardware */ |
279 | 279 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
280 | 280 | MCFG_CPU_PROGRAM_MAP(dcon_map) |
281 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
281 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dcon_state, irq4_line_hold) | |
282 | 282 | |
283 | 283 | SEIBU2_SOUND_SYSTEM_CPU(14318180/4) |
284 | 284 |
r17996 | r17997 | |
---|---|---|
542 | 542 | static MACHINE_CONFIG_START( gstriker, gstriker_state ) |
543 | 543 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
544 | 544 | MCFG_CPU_PROGRAM_MAP(gstriker_map) |
545 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
545 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gstriker_state, irq1_line_hold) | |
546 | 546 | |
547 | 547 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */ |
548 | 548 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
580 | 580 | static MACHINE_CONFIG_START( vgoal, gstriker_state ) |
581 | 581 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
582 | 582 | MCFG_CPU_PROGRAM_MAP(vgoal_map) |
583 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
583 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gstriker_state, irq1_line_hold) | |
584 | 584 | |
585 | 585 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */ |
586 | 586 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
3625 | 3625 | /* basic machine hardware */ |
3626 | 3626 | MCFG_CPU_ADD("maincpu", Z80, 3360000) /* 3.36 MHz */ |
3627 | 3627 | MCFG_CPU_PROGRAM_MAP(marvins_cpuA_map) |
3628 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3628 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3629 | 3629 | |
3630 | 3630 | MCFG_CPU_ADD("sub", Z80, 3360000) /* 3.36 MHz */ |
3631 | 3631 | MCFG_CPU_PROGRAM_MAP(marvins_cpuB_map) |
3632 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3632 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3633 | 3633 | |
3634 | 3634 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* verified on schematics */ |
3635 | 3635 | MCFG_CPU_PROGRAM_MAP(marvins_sound_map) |
3636 | 3636 | MCFG_CPU_IO_MAP(marvins_sound_portmap) |
3637 | MCFG_CPU_PERIODIC_INT(nmi_line_assert, 244) // schematics show a separate 244Hz timer | |
3637 | MCFG_CPU_PERIODIC_INT_DRIVER(snk_state, nmi_line_assert, 244) // schematics show a separate 244Hz timer | |
3638 | 3638 | |
3639 | 3639 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
3640 | 3640 | |
r17996 | r17997 | |
3694 | 3694 | /* basic machine hardware */ |
3695 | 3695 | MCFG_CPU_ADD("maincpu", Z80, 3350000) /* NOT verified */ |
3696 | 3696 | MCFG_CPU_PROGRAM_MAP(jcross_cpuA_map) |
3697 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3697 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3698 | 3698 | |
3699 | 3699 | MCFG_CPU_ADD("sub", Z80, 3350000) /* NOT verified */ |
3700 | 3700 | MCFG_CPU_PROGRAM_MAP(jcross_cpuB_map) |
3701 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3701 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3702 | 3702 | |
3703 | 3703 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* NOT verified */ |
3704 | 3704 | MCFG_CPU_PROGRAM_MAP(jcross_sound_map) |
3705 | 3705 | MCFG_CPU_IO_MAP(jcross_sound_portmap) |
3706 | MCFG_CPU_PERIODIC_INT(irq0_line_assert, 244) // Marvin's frequency, sounds ok | |
3706 | MCFG_CPU_PERIODIC_INT_DRIVER(snk_state, irq0_line_assert, 244) // Marvin's frequency, sounds ok | |
3707 | 3707 | |
3708 | 3708 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
3709 | 3709 | |
r17996 | r17997 | |
3762 | 3762 | MCFG_CPU_MODIFY("audiocpu") |
3763 | 3763 | MCFG_CPU_PROGRAM_MAP(hal21_sound_map) |
3764 | 3764 | MCFG_CPU_IO_MAP(hal21_sound_portmap) |
3765 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 220) // music tempo, hand tuned | |
3765 | MCFG_CPU_PERIODIC_INT_DRIVER(snk_state, irq0_line_hold, 220) // music tempo, hand tuned | |
3766 | 3766 | |
3767 | 3767 | /* video hardware */ |
3768 | 3768 | MCFG_VIDEO_START_OVERRIDE(snk_state,hal21) |
r17996 | r17997 | |
3774 | 3774 | /* basic machine hardware */ |
3775 | 3775 | MCFG_CPU_ADD("maincpu", Z80, XTAL_13_4MHz/4) /* verified on pcb */ |
3776 | 3776 | MCFG_CPU_PROGRAM_MAP(tnk3_cpuA_map) |
3777 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3777 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3778 | 3778 | |
3779 | 3779 | MCFG_CPU_ADD("sub", Z80, XTAL_13_4MHz/4) /* verified on pcb */ |
3780 | 3780 | MCFG_CPU_PROGRAM_MAP(tnk3_cpuB_map) |
3781 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3781 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3782 | 3782 | |
3783 | 3783 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* verified on pcb */ |
3784 | 3784 | MCFG_CPU_PROGRAM_MAP(tnk3_YM3526_sound_map) |
r17996 | r17997 | |
3858 | 3858 | /* basic machine hardware */ |
3859 | 3859 | MCFG_CPU_ADD("maincpu", Z80, XTAL_13_4MHz/4) /* verified on pcb */ |
3860 | 3860 | MCFG_CPU_PROGRAM_MAP(ikari_cpuA_map) |
3861 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3861 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3862 | 3862 | |
3863 | 3863 | MCFG_CPU_ADD("sub", Z80, XTAL_13_4MHz/4) /* verified on pcb */ |
3864 | 3864 | MCFG_CPU_PROGRAM_MAP(ikari_cpuB_map) |
3865 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3865 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3866 | 3866 | |
3867 | 3867 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* verified on pcb */ |
3868 | 3868 | MCFG_CPU_PROGRAM_MAP(YM3526_YM3526_sound_map) |
r17996 | r17997 | |
3915 | 3915 | /* basic machine hardware */ |
3916 | 3916 | MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* verified on pcb */ |
3917 | 3917 | MCFG_CPU_PROGRAM_MAP(bermudat_cpuA_map) |
3918 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3918 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3919 | 3919 | |
3920 | 3920 | MCFG_CPU_ADD("sub", Z80, XTAL_8MHz/2) /* verified on pcb */ |
3921 | 3921 | MCFG_CPU_PROGRAM_MAP(bermudat_cpuB_map) |
3922 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3922 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
3923 | 3923 | |
3924 | 3924 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* verified on pcb */ |
3925 | 3925 | MCFG_CPU_PROGRAM_MAP(YM3526_Y8950_sound_map) |
r17996 | r17997 | |
4018 | 4018 | /* basic machine hardware */ |
4019 | 4019 | MCFG_CPU_ADD("maincpu", Z80, 4000000) |
4020 | 4020 | MCFG_CPU_PROGRAM_MAP(tdfever_cpuA_map) |
4021 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
4021 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
4022 | 4022 | |
4023 | 4023 | MCFG_CPU_ADD("sub", Z80, 4000000) |
4024 | 4024 | MCFG_CPU_PROGRAM_MAP(tdfever_cpuB_map) |
4025 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
4025 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk_state, irq0_line_hold) | |
4026 | 4026 | |
4027 | 4027 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
4028 | 4028 | MCFG_CPU_PROGRAM_MAP(YM3526_Y8950_sound_map) |
r17996 | r17997 | |
---|---|---|
127 | 127 | DECLARE_VIDEO_START(tourvisn); |
128 | 128 | UINT32 screen_update_tourvisn(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
129 | 129 | UINT32 screen_update_brasil(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
130 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
130 | 131 | }; |
131 | 132 | |
132 | 133 | |
r17996 | r17997 | |
920 | 921 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
921 | 922 | INPUT_PORTS_END |
922 | 923 | |
923 | ||
924 | ||
924 | 925 | { |
925 | device | |
926 | device. | |
926 | 927 | } |
927 | 928 | |
928 | 929 | static MACHINE_CONFIG_START( tv_vcf, highvdeo_state ) |
929 | 930 | MCFG_CPU_ADD("maincpu", V30, XTAL_12MHz/2 ) // ? |
930 | 931 | MCFG_CPU_PROGRAM_MAP(tv_vcf_map) |
931 | 932 | MCFG_CPU_IO_MAP(tv_vcf_io) |
932 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
933 | MCFG_CPU_VBLANK_INT_DRIVER("screen", highvdeo_state, vblank_irq) | |
933 | 934 | |
934 | 935 | MCFG_NVRAM_ADD_0FILL("nvram") |
935 | 936 | |
r17996 | r17997 | |
988 | 989 | MCFG_CPU_ADD("maincpu", I80186, 20000000/2 ) // ? |
989 | 990 | MCFG_CPU_PROGRAM_MAP(tv_tcf_map) |
990 | 991 | MCFG_CPU_IO_MAP(tv_tcf_io) |
991 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
992 | MCFG_CPU_VBLANK_INT_DRIVER("screen", highvdeo_state, vblank_irq) | |
992 | 993 | MACHINE_CONFIG_END |
993 | 994 | |
994 | 995 | static MACHINE_CONFIG_START( brasil, highvdeo_state ) |
995 | 996 | MCFG_CPU_ADD("maincpu", I80186, 20000000 ) // fashion doesn't like 20/2 Mhz |
996 | 997 | MCFG_CPU_PROGRAM_MAP(brasil_map) |
997 | 998 | MCFG_CPU_IO_MAP(brasil_io) |
998 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
999 | MCFG_CPU_VBLANK_INT_DRIVER("screen", highvdeo_state, vblank_irq) | |
999 | 1000 | |
1000 | 1001 | MCFG_NVRAM_ADD_0FILL("nvram") |
1001 | 1002 |
r17996 | r17997 | |
---|---|---|
83 | 83 | virtual void video_start(); |
84 | 84 | virtual void palette_init(); |
85 | 85 | UINT32 screen_update_nsmpoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
86 | INTERRUPT_GEN_MEMBER(nsmpoker_interrupt); | |
86 | 87 | }; |
87 | 88 | |
88 | 89 | |
r17996 | r17997 | |
145 | 146 | * Read / Write Handlers * |
146 | 147 | **************************/ |
147 | 148 | |
148 | ||
149 | ||
149 | 150 | { |
150 | device | |
151 | device. | |
151 | 152 | } |
152 | 153 | |
153 | 154 | //WRITE8_MEMBER(nsmpoker_state::debug_w) |
r17996 | r17997 | |
398 | 399 | MCFG_CPU_ADD("maincpu", TMS9995L, MASTER_CLOCK/2) /* guess */ |
399 | 400 | MCFG_CPU_PROGRAM_MAP(nsmpoker_map) |
400 | 401 | MCFG_CPU_IO_MAP(nsmpoker_portmap) |
401 | MCFG_CPU_VBLANK_INT("screen", nsmpoker_interrupt) | |
402 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nsmpoker_state, nsmpoker_interrupt) | |
402 | 403 | |
403 | 404 | /* video hardware */ |
404 | 405 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
307 | 307 | machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x02] & 0xf, ASSERT_LINE); |
308 | 308 | } |
309 | 309 | |
310 | ||
310 | ||
311 | 311 | { |
312 | namconb1_state *state = device->machine().driver_data<namconb1_state>(); | |
313 | 312 | /** |
314 | 313 | * 400000 0x00 |
315 | 314 | * 400001 0x00 |
r17996 | r17997 | |
344 | 343 | * 40001e 0x00 |
345 | 344 | * 40001f 0x00 |
346 | 345 | */ |
347 | int scanline = ( | |
346 | int scanline = ( | |
348 | 347 | |
349 | if((!state->m_vblank_irq_active) && (state->m_namconb_cpureg[0x04] & 0xf0)) { | |
350 | device->execute().set_input_line(state->m_namconb_cpureg[0x04] & 0xf, ASSERT_LINE); | |
351 | state->m_vblank_irq_active = 1; | |
348 | if((!m_vblank_irq_active) && (m_namconb_cpureg[0x04] & 0xf0)) { | |
349 | device.execute().set_input_line(m_namconb_cpureg[0x04] & 0xf, ASSERT_LINE); | |
350 | m_vblank_irq_active = 1; | |
352 | 351 | } |
353 | 352 | |
354 | 353 | if( scanline<0 ) |
r17996 | r17997 | |
357 | 356 | } |
358 | 357 | if( scanline < NAMCONB1_VBSTART ) |
359 | 358 | { |
360 | | |
359 | | |
361 | 360 | } |
362 | 361 | } /* namconb1_interrupt */ |
363 | 362 | |
r17996 | r17997 | |
370 | 369 | machine.device("maincpu")->execute().set_input_line(state->m_namconb_cpureg[0x02], ASSERT_LINE); |
371 | 370 | } |
372 | 371 | |
373 | ||
372 | ||
374 | 373 | { |
375 | namconb1_state *state = device->machine().driver_data<namconb1_state>(); | |
376 | 374 | /** |
377 | 375 | * f00000 0x01 // VBLANK irq level |
378 | 376 | * f00001 0x00 |
r17996 | r17997 | |
402 | 400 | * f0001e 0x00 |
403 | 401 | * f0001f 0x01 |
404 | 402 | */ |
405 | int scanline = ( | |
403 | int scanline = ( | |
406 | 404 | |
407 | if((!state->m_vblank_irq_active) && state->m_namconb_cpureg[0x00]) { | |
408 | device->execute().set_input_line(state->m_namconb_cpureg[0x00], ASSERT_LINE); | |
409 | state->m_vblank_irq_active = 1; | |
405 | if((!m_vblank_irq_active) && m_namconb_cpureg[0x00]) { | |
406 | device.execute().set_input_line(m_namconb_cpureg[0x00], ASSERT_LINE); | |
407 | m_vblank_irq_active = 1; | |
410 | 408 | } |
411 | 409 | |
412 | 410 | if( scanline<0 ) |
413 | 411 | scanline = 0; |
414 | 412 | |
415 | 413 | if( scanline < NAMCONB1_VBSTART ) |
416 | | |
414 | | |
417 | 415 | } /* namconb2_interrupt */ |
418 | 416 | |
419 | 417 | static void namconb1_cpureg8_w(running_machine &machine, int reg, UINT8 data) |
r17996 | r17997 | |
1009 | 1007 | static MACHINE_CONFIG_START( namconb1, namconb1_state ) |
1010 | 1008 | MCFG_CPU_ADD("maincpu", M68EC020,MASTER_CLOCK_HZ/2) |
1011 | 1009 | MCFG_CPU_PROGRAM_MAP(namconb1_am) |
1012 | MCFG_CPU_VBLANK_INT("screen", namconb1_interrupt) | |
1010 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namconb1_state, namconb1_interrupt) | |
1013 | 1011 | |
1014 | 1012 | MCFG_CPU_ADD("mcu", M37702, MASTER_CLOCK_HZ/3) |
1015 | 1013 | MCFG_CPU_PROGRAM_MAP(namcoc75_am) |
r17996 | r17997 | |
1041 | 1039 | static MACHINE_CONFIG_START( namconb2, namconb1_state ) |
1042 | 1040 | MCFG_CPU_ADD("maincpu", M68EC020,MASTER_CLOCK_HZ/2) |
1043 | 1041 | MCFG_CPU_PROGRAM_MAP(namconb2_am) |
1044 | MCFG_CPU_VBLANK_INT("screen", namconb2_interrupt) | |
1042 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namconb1_state, namconb2_interrupt) | |
1045 | 1043 | |
1046 | 1044 | MCFG_CPU_ADD("mcu", M37702, MASTER_CLOCK_HZ/3) |
1047 | 1045 | MCFG_CPU_PROGRAM_MAP(namcoc75_am) |
r17996 | r17997 | |
---|---|---|
726 | 726 | /* basic machine hardware */ |
727 | 727 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
728 | 728 | MCFG_CPU_PROGRAM_MAP(fcrash_map) |
729 | MCFG_CPU_VBLANK_INT("screen", cps1_interrupt) | |
729 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) | |
730 | 730 | |
731 | 731 | MCFG_CPU_ADD("soundcpu", Z80, 24000000/6) /* ? */ |
732 | 732 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
777 | 777 | /* basic machine hardware */ |
778 | 778 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
779 | 779 | MCFG_CPU_PROGRAM_MAP(kodb_map) |
780 | MCFG_CPU_VBLANK_INT("screen", cps1_interrupt) | |
780 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) | |
781 | 781 | |
782 | 782 | // MCFG_CPU_ADD("soundcpu", Z80, 3579545) |
783 | 783 | // MCFG_CPU_PROGRAM_MAP(sub_map) |
r17996 | r17997 | |
933 | 933 | /* basic machine hardware */ |
934 | 934 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
935 | 935 | MCFG_CPU_PROGRAM_MAP(kodb_map) |
936 | MCFG_CPU_VBLANK_INT("screen", cps1_interrupt) | |
936 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) | |
937 | 937 | |
938 | 938 | // MCFG_CPU_ADD("soundcpu", Z80, 3579545) |
939 | 939 | // MCFG_CPU_PROGRAM_MAP(sub_map) |
r17996 | r17997 | |
---|---|---|
417 | 417 | MCFG_CPU_ADD("maincpu",Z80,XTAL_8MHz/2) |
418 | 418 | MCFG_CPU_PROGRAM_MAP(main_map) |
419 | 419 | MCFG_CPU_IO_MAP(main_portmap) |
420 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
420 | MCFG_CPU_VBLANK_INT_DRIVER("screen", othello_state, irq0_line_hold) | |
421 | 421 | |
422 | 422 | MCFG_CPU_ADD("audiocpu",Z80,XTAL_3_579545MHz) |
423 | 423 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
---|---|---|
137 | 137 | MCFG_CPU_ADD("maincpu", E132XN, 20000000*4) /* 4x internal multiplier */ |
138 | 138 | MCFG_CPU_PROGRAM_MAP(common_map) |
139 | 139 | MCFG_CPU_IO_MAP(mosaicf2_io) |
140 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
140 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mosaicf2_state, irq0_line_hold) | |
141 | 141 | |
142 | 142 | MCFG_EEPROM_93C46_ADD("eeprom") |
143 | 143 |
r17996 | r17997 | |
---|---|---|
356 | 356 | |
357 | 357 | MCFG_CPU_ADD("sub", Z80,8000000/2) /* 4.000MHz */ |
358 | 358 | MCFG_CPU_PROGRAM_MAP(strnskil_map2) |
359 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
359 | MCFG_CPU_PERIODIC_INT_DRIVER(strnskil_state, irq0_line_hold, 2*60) | |
360 | 360 | |
361 | 361 | // MCFG_QUANTUM_PERFECT_CPU("maincpu") |
362 | 362 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
r17996 | r17997 | |
---|---|---|
33 | 33 | required_device<cpu_device> m_maincpu; |
34 | 34 | public: |
35 | 35 | DECLARE_DRIVER_INIT(sc5); |
36 | INTERRUPT_GEN_MEMBER(sc5_fake_timer_int); | |
36 | 37 | }; |
37 | 38 | |
38 | 39 | |
r17996 | r17997 | |
45 | 46 | static INPUT_PORTS_START( sc5 ) |
46 | 47 | INPUT_PORTS_END |
47 | 48 | |
48 | ||
49 | ||
49 | 50 | { |
50 | 51 | // this should be coming from the Timer / SIM modules of the Coldfire |
51 | | |
52 | | |
52 | 53 | } |
53 | 54 | |
54 | 55 | static MACHINE_CONFIG_START( sc5, sc5_state ) |
55 | 56 | MCFG_CPU_ADD("maincpu", MCF5206E, 40000000) /* MCF5206eFT */ |
56 | 57 | MCFG_CPU_PROGRAM_MAP(sc5_map) |
57 | MCFG_CPU_PERIODIC_INT(sc5_fake_timer_int,1000) | |
58 | MCFG_CPU_PERIODIC_INT_DRIVER(sc5_state, sc5_fake_timer_int, 1000) | |
58 | 59 | |
59 | 60 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
60 | 61 | /* unknown sound */ |
r17996 | r17997 | |
---|---|---|
2111 | 2111 | MCFG_CPU_ADD("drivecpu", Z80, 16000000/4) //??? |
2112 | 2112 | MCFG_CPU_PROGRAM_MAP(drive_map) |
2113 | 2113 | MCFG_CPU_IO_MAP(drive_io_map) |
2114 | ||
2114 | | |
2115 | 2115 | MACHINE_CONFIG_END |
2116 | 2116 | |
2117 | 2117 | static const sharc_config sharc_cfg = |
r17996 | r17997 | |
---|---|---|
1032 | 1032 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* 6 MHz */ |
1033 | 1033 | MCFG_CPU_PROGRAM_MAP(map) |
1034 | 1034 | MCFG_CPU_IO_MAP(portmap) |
1035 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1035 | MCFG_CPU_VBLANK_INT_DRIVER("screen", majorpkr_state, irq0_line_hold) | |
1036 | 1036 | |
1037 | 1037 | MCFG_NVRAM_ADD_0FILL("nvram") |
1038 | 1038 |
r17996 | r17997 | |
---|---|---|
395 | 395 | /* basic machine hardware */ |
396 | 396 | MCFG_CPU_ADD("maincpu", M68000, 28000000/2) |
397 | 397 | MCFG_CPU_PROGRAM_MAP(sshangha_map) |
398 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
398 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sshangha_state, irq6_line_hold) | |
399 | 399 | |
400 | 400 | MCFG_CPU_ADD("audiocpu", Z80, 16000000/4) |
401 | 401 | MCFG_CPU_PROGRAM_MAP(sshangha_sound_map) |
r17996 | r17997 | |
---|---|---|
262 | 262 | GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 64*4, 64 ) |
263 | 263 | GFXDECODE_END |
264 | 264 | |
265 | ||
265 | ||
266 | 266 | { |
267 | wiping_state *state = device->machine().driver_data<wiping_state>(); | |
268 | 267 | |
269 | if(state->m_main_irq_mask) | |
270 | device->execute().set_input_line(0, HOLD_LINE); | |
268 | if(m_main_irq_mask) | |
269 | device.execute().set_input_line(0, HOLD_LINE); | |
271 | 270 | } |
272 | 271 | |
273 | ||
272 | ||
274 | 273 | { |
275 | wiping_state *state = device->machine().driver_data<wiping_state>(); | |
276 | 274 | |
277 | if(state->m_sound_irq_mask) | |
278 | device->execute().set_input_line(0, HOLD_LINE); | |
275 | if(m_sound_irq_mask) | |
276 | device.execute().set_input_line(0, HOLD_LINE); | |
279 | 277 | } |
280 | 278 | |
281 | 279 | |
r17996 | r17997 | |
285 | 283 | /* basic machine hardware */ |
286 | 284 | MCFG_CPU_ADD("maincpu", Z80,18432000/6) /* 3.072 MHz */ |
287 | 285 | MCFG_CPU_PROGRAM_MAP(main_map) |
288 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
286 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wiping_state, vblank_irq) | |
289 | 287 | |
290 | 288 | MCFG_CPU_ADD("audiocpu", Z80,18432000/6) /* 3.072 MHz */ |
291 | 289 | MCFG_CPU_PROGRAM_MAP(sound_map) |
292 | MCFG_CPU_PERIODIC_INT(sound_timer_irq,120) /* periodic interrupt, don't know about the frequency */ | |
290 | MCFG_CPU_PERIODIC_INT_DRIVER(wiping_state, sound_timer_irq, 120) /* periodic interrupt, don't know about the frequency */ | |
293 | 291 | |
294 | 292 | /* video hardware */ |
295 | 293 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
21 | 21 | #include "sound/ay8910.h" |
22 | 22 | #include "includes/popeye.h" |
23 | 23 | |
24 | ||
24 | ||
25 | 25 | { |
26 | 26 | /* NMIs are enabled by the I register?? How can that be? */ |
27 | if (device->state().state_int(Z80_I) & 1) /* skyskipr: 0/1, popeye: 2/3 but also 0/1 */ | |
28 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
27 | if (device.state().state_int(Z80_I) & 1) /* skyskipr: 0/1, popeye: 2/3 but also 0/1 */ | |
28 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
29 | 29 | } |
30 | 30 | |
31 | 31 | |
r17996 | r17997 | |
428 | 428 | MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz/2) /* 4 MHz */ |
429 | 429 | MCFG_CPU_PROGRAM_MAP(skyskipr_map) |
430 | 430 | MCFG_CPU_IO_MAP(popeye_io_map) |
431 | MCFG_CPU_VBLANK_INT("screen", popeye_interrupt) | |
431 | MCFG_CPU_VBLANK_INT_DRIVER("screen", popeye_state, popeye_interrupt) | |
432 | 432 | |
433 | 433 | /* video hardware */ |
434 | 434 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
565 | 565 | MCFG_CPU_ADD("maincpu", E132XT, 16000000*4) /* 4x internal multiplier */ |
566 | 566 | MCFG_CPU_PROGRAM_MAP(gstream_32bit_map) |
567 | 567 | MCFG_CPU_IO_MAP(gstream_io) |
568 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
568 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gstream_state, irq0_line_hold) | |
569 | 569 | |
570 | 570 | |
571 | 571 | MCFG_NVRAM_ADD_1FILL("nvram") |
r17996 | r17997 | |
---|---|---|
321 | 321 | MCFG_CPU_ADD("maincpu",Z80,MAIN_CLOCK/2) |
322 | 322 | MCFG_CPU_PROGRAM_MAP(main_map) |
323 | 323 | MCFG_CPU_IO_MAP(main_portmap) |
324 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) // unknown timing | |
324 | MCFG_CPU_PERIODIC_INT_DRIVER(_4enraya_state, irq0_line_hold, 4*60) // unknown timing | |
325 | 325 | |
326 | 326 | |
327 | 327 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
248 | 248 | /* basic machine hardware */ |
249 | 249 | MCFG_CPU_ADD("maincpu", M6809, 2000000) |
250 | 250 | MCFG_CPU_PROGRAM_MAP(compgolf_map) |
251 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
251 | MCFG_CPU_VBLANK_INT_DRIVER("screen", compgolf_state, nmi_line_pulse) | |
252 | 252 | |
253 | 253 | |
254 | 254 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
429 | 429 | /* basic machine hardware */ |
430 | 430 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
431 | 431 | MCFG_CPU_PROGRAM_MAP(pushman_map) |
432 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
432 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pushman_state, irq2_line_hold) | |
433 | 433 | |
434 | 434 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
435 | 435 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
479 | 479 | /* basic machine hardware */ |
480 | 480 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
481 | 481 | MCFG_CPU_PROGRAM_MAP(bballs_map) |
482 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
482 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pushman_state, irq2_line_hold) | |
483 | 483 | |
484 | 484 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
485 | 485 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
259 | 259 | MCFG_CPU_ADD("maincpu", I8035, 12000000/32) /* 400KHz ??? - Main board Crystal is 12MHz */ |
260 | 260 | MCFG_CPU_PROGRAM_MAP(monzagp_map) |
261 | 261 | MCFG_CPU_IO_MAP(monzagp_io) |
262 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
262 | MCFG_CPU_VBLANK_INT_DRIVER("screen", monzagp_state, irq0_line_hold) | |
263 | 263 | |
264 | 264 | /* video hardware */ |
265 | 265 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
272 | 272 | GFXDECODE_ENTRY( "gfx2", 0, roadf_charlayout, 16*16, 16 ) |
273 | 273 | GFXDECODE_END |
274 | 274 | |
275 | ||
275 | ||
276 | 276 | { |
277 | hyperspt_state *state = device->machine().driver_data<hyperspt_state>(); | |
278 | 277 | |
279 | if(state->m_irq_mask) | |
280 | device->execute().set_input_line(0, HOLD_LINE); | |
278 | if(m_irq_mask) | |
279 | device.execute().set_input_line(0, HOLD_LINE); | |
281 | 280 | } |
282 | 281 | |
283 | 282 | //------------------------------------------------- |
r17996 | r17997 | |
294 | 293 | /* basic machine hardware */ |
295 | 294 | MCFG_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12) /* verified on pcb */ |
296 | 295 | MCFG_CPU_PROGRAM_MAP(hyperspt_map) |
297 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
296 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hyperspt_state, vblank_irq) | |
298 | 297 | |
299 | 298 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_14_31818MHz/4) /* verified on pcb */ |
300 | 299 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
560 | 560 | MCFG_CPU_ADD("maincpu", Z80, 20000000/4 ) /* 5 MHz ???? */ |
561 | 561 | MCFG_CPU_PROGRAM_MAP(hnayayoi_map) |
562 | 562 | MCFG_CPU_IO_MAP(hnayayoi_io_map) |
563 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
564 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 8000) | |
563 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hnayayoi_state, irq0_line_hold) | |
564 | MCFG_CPU_PERIODIC_INT_DRIVER(hnayayoi_state, nmi_line_pulse, 8000) | |
565 | 565 | |
566 | 566 | |
567 | 567 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
39 | 39 | virtual void video_start(); |
40 | 40 | DECLARE_PALETTE_INIT(shanghai); |
41 | 41 | UINT32 screen_update_shanghai(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(shanghai_interrupt); | |
42 | 43 | }; |
43 | 44 | |
44 | 45 | |
r17996 | r17997 | |
124 | 125 | return 0; |
125 | 126 | } |
126 | 127 | |
127 | ||
128 | ||
128 | 129 | { |
129 | device | |
130 | device. | |
130 | 131 | } |
131 | 132 | |
132 | 133 | WRITE16_MEMBER(shanghai_state::shanghai_coin_w) |
r17996 | r17997 | |
446 | 447 | MCFG_CPU_ADD("maincpu", V30,16000000/2) /* ? */ |
447 | 448 | MCFG_CPU_PROGRAM_MAP(shanghai_map) |
448 | 449 | MCFG_CPU_IO_MAP(shanghai_portmap) |
449 | MCFG_CPU_VBLANK_INT("screen", shanghai_interrupt) | |
450 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shanghai_state, shanghai_interrupt) | |
450 | 451 | |
451 | 452 | /* video hardware */ |
452 | 453 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
479 | 480 | MCFG_CPU_ADD("maincpu", V30,16000000/2) /* ? */ |
480 | 481 | MCFG_CPU_PROGRAM_MAP(shangha2_map) |
481 | 482 | MCFG_CPU_IO_MAP(shangha2_portmap) |
482 | MCFG_CPU_VBLANK_INT("screen", shanghai_interrupt) | |
483 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shanghai_state, shanghai_interrupt) | |
483 | 484 | |
484 | 485 | /* video hardware */ |
485 | 486 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
510 | 511 | /* basic machine hardware */ |
511 | 512 | MCFG_CPU_ADD("maincpu", V30,16000000/2) /* ? */ |
512 | 513 | MCFG_CPU_PROGRAM_MAP(kothello_map) |
513 | MCFG_CPU_VBLANK_INT("screen", shanghai_interrupt) | |
514 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shanghai_state, shanghai_interrupt) | |
514 | 515 | |
515 | 516 | SEIBU3A_SOUND_SYSTEM_CPU(14318180/4) |
516 | 517 |
r17996 | r17997 | |
---|---|---|
454 | 454 | DECLARE_PALETTE_INIT(amaticmg2); |
455 | 455 | UINT32 screen_update_amaticmg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
456 | 456 | UINT32 screen_update_amaticmg2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
457 | INTERRUPT_GEN_MEMBER(amaticmg2_irq); | |
457 | 458 | }; |
458 | 459 | |
459 | 460 | |
r17996 | r17997 | |
866 | 867 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* WRONG! */ |
867 | 868 | MCFG_CPU_PROGRAM_MAP(amaticmg_map) |
868 | 869 | MCFG_CPU_IO_MAP(amaticmg_portmap) |
869 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) // no NMI mask? | |
870 | MCFG_CPU_VBLANK_INT_DRIVER("screen", amaticmg_state, nmi_line_pulse) // no NMI mask? | |
870 | 871 | |
871 | 872 | // MCFG_NVRAM_ADD_0FILL("nvram") |
872 | 873 | |
r17996 | r17997 | |
903 | 904 | MACHINE_CONFIG_END |
904 | 905 | |
905 | 906 | |
906 | ||
907 | ||
907 | 908 | { |
908 | amaticmg_state *state = device->machine().driver_data<amaticmg_state>(); | |
909 | 909 | |
910 | if(state->m_nmi_mask) | |
911 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
910 | if(m_nmi_mask) | |
911 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
912 | 912 | } |
913 | 913 | |
914 | 914 | |
r17996 | r17997 | |
916 | 916 | |
917 | 917 | MCFG_CPU_MODIFY("maincpu") |
918 | 918 | MCFG_CPU_IO_MAP(amaticmg2_portmap) |
919 | MCFG_CPU_VBLANK_INT("screen", amaticmg2_irq) | |
919 | MCFG_CPU_VBLANK_INT_DRIVER("screen", amaticmg_state, amaticmg2_irq) | |
920 | 920 | |
921 | 921 | MCFG_SCREEN_MODIFY("screen") |
922 | 922 | MCFG_SCREEN_UPDATE_DRIVER(amaticmg_state, screen_update_amaticmg2) |
r17996 | r17997 | |
---|---|---|
1533 | 1533 | MCFG_CPU_REPLACE("maincpu", S2650, 18432000/6) |
1534 | 1534 | MCFG_CPU_PROGRAM_MAP(hunchbks_map) |
1535 | 1535 | MCFG_CPU_IO_MAP(hunchbks_readport) |
1536 | MCFG_CPU_VBLANK_INT("screen", hunchbks_vh_interrupt) | |
1536 | MCFG_CPU_VBLANK_INT_DRIVER("screen", scramble_state, hunchbks_vh_interrupt) | |
1537 | 1537 | |
1538 | 1538 | MCFG_SCREEN_MODIFY("screen") |
1539 | 1539 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) |
r17996 | r17997 | |
---|---|---|
369 | 369 | /* basic machine hardware */ |
370 | 370 | MCFG_CPU_ADD("maincpu", Z80,4000000) /* 4 MHz ??? */ |
371 | 371 | MCFG_CPU_PROGRAM_MAP(main_map) |
372 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
372 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taxidriv_state, irq0_line_hold) | |
373 | 373 | |
374 | 374 | MCFG_CPU_ADD("sub", Z80,4000000) /* 4 MHz ??? */ |
375 | 375 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
376 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* ??? */ | |
376 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taxidriv_state, irq0_line_hold) /* ??? */ | |
377 | 377 | |
378 | 378 | MCFG_CPU_ADD("audiocpu", Z80,4000000) /* 4 MHz ??? */ |
379 | 379 | MCFG_CPU_PROGRAM_MAP(cpu3_map) |
380 | 380 | MCFG_CPU_IO_MAP(cpu3_port_map) |
381 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* ??? */ | |
381 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taxidriv_state, irq0_line_hold) /* ??? */ | |
382 | 382 | |
383 | 383 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */ |
384 | 384 | /* synchronization of the CPUs */ |
r17996 | r17997 | |
---|---|---|
445 | 445 | virtual void video_start(); |
446 | 446 | virtual void palette_init(); |
447 | 447 | UINT32 screen_update_avt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
448 | INTERRUPT_GEN_MEMBER(avt_vblank_irq); | |
448 | 449 | }; |
449 | 450 | |
450 | 451 | #define mc6845_h_char_total (state->m_crtc_vreg[0]) |
r17996 | r17997 | |
881 | 882 | *********************************************/ |
882 | 883 | |
883 | 884 | /* IM 2 */ |
884 | ||
885 | ||
885 | 886 | { |
886 | avt_state *state = device->machine().driver_data<avt_state>(); | |
887 | 887 | |
888 | | |
888 | | |
889 | 889 | } |
890 | 890 | |
891 | 891 | static MACHINE_CONFIG_START( avt, avt_state ) |
r17996 | r17997 | |
894 | 894 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* guess */ |
895 | 895 | MCFG_CPU_PROGRAM_MAP(avt_map) |
896 | 896 | MCFG_CPU_IO_MAP(avt_portmap) |
897 | MCFG_CPU_VBLANK_INT("screen", avt_vblank_irq) | |
897 | MCFG_CPU_VBLANK_INT_DRIVER("screen", avt_state, avt_vblank_irq) | |
898 | 898 | |
899 | 899 | /* video hardware */ |
900 | 900 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
316 | 316 | /* basic machine hardware */ |
317 | 317 | MCFG_CPU_ADD("maincpu", M6502, 4000000) // ??? |
318 | 318 | MCFG_CPU_PROGRAM_MAP(mole_map) |
319 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
319 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mole_state, irq0_line_hold) | |
320 | 320 | |
321 | 321 | |
322 | 322 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
70 | 70 | #include "includes/pitnrun.h" |
71 | 71 | |
72 | 72 | |
73 | ||
73 | ||
74 | 74 | { |
75 | pitnrun_state *state = device->machine().driver_data<pitnrun_state>(); | |
76 | if(state->m_nmi) device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
75 | if(m_nmi) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
77 | 76 | } |
78 | 77 | |
79 | 78 | WRITE8_MEMBER(pitnrun_state::nmi_enable_w) |
r17996 | r17997 | |
231 | 230 | static MACHINE_CONFIG_START( pitnrun, pitnrun_state ) |
232 | 231 | MCFG_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/6) /* verified on pcb */ |
233 | 232 | MCFG_CPU_PROGRAM_MAP(pitnrun_map) |
234 | MCFG_CPU_VBLANK_INT("screen", pitnrun_nmi_source) | |
233 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pitnrun_state, pitnrun_nmi_source) | |
235 | 234 | |
236 | 235 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_5MHz/2) /* verified on pcb */ |
237 | 236 | MCFG_CPU_PROGRAM_MAP(pitnrun_sound_map) |
238 | 237 | MCFG_CPU_IO_MAP(pitnrun_sound_io_map) |
239 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
238 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pitnrun_state, irq0_line_hold) | |
240 | 239 | |
241 | 240 | MCFG_CPU_ADD("mcu", M68705,XTAL_18_432MHz/6) /* verified on pcb */ |
242 | 241 | MCFG_CPU_PROGRAM_MAP(pitnrun_mcu_map) |
r17996 | r17997 | |
---|---|---|
39 | 39 | DECLARE_MACHINE_START(missb2); |
40 | 40 | DECLARE_MACHINE_RESET(missb2); |
41 | 41 | UINT32 screen_update_missb2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
42 | INTERRUPT_GEN_MEMBER(missb2_interrupt); | |
42 | 43 | }; |
43 | 44 | |
44 | 45 | |
r17996 | r17997 | |
428 | 429 | |
429 | 430 | /* Interrupt Generator */ |
430 | 431 | |
431 | ||
432 | ||
432 | 433 | { |
433 | device | |
434 | device. | |
434 | 435 | } |
435 | 436 | |
436 | 437 | /* Machine Driver */ |
r17996 | r17997 | |
462 | 463 | /* basic machine hardware */ |
463 | 464 | MCFG_CPU_ADD("maincpu", Z80, MAIN_XTAL/4) // 6 MHz |
464 | 465 | MCFG_CPU_PROGRAM_MAP(master_map) |
465 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
466 | MCFG_CPU_VBLANK_INT_DRIVER("screen", missb2_state, irq0_line_hold) | |
466 | 467 | |
467 | 468 | MCFG_CPU_ADD("slave", Z80, MAIN_XTAL/4) // 6 MHz |
468 | 469 | MCFG_CPU_PROGRAM_MAP(slave_map) |
469 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
470 | MCFG_CPU_VBLANK_INT_DRIVER("screen", missb2_state, irq0_line_hold) | |
470 | 471 | |
471 | 472 | MCFG_CPU_ADD("audiocpu", Z80, MAIN_XTAL/8) // 3 MHz |
472 | 473 | MCFG_CPU_PROGRAM_MAP(sound_map) |
473 | // MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
474 | MCFG_CPU_VBLANK_INT("screen", missb2_interrupt) | |
474 | MCFG_CPU_VBLANK_INT_DRIVER("screen", missb2_state, irq0_line_hold) | |
475 | MCFG_CPU_VBLANK_INT_DRIVER("screen", missb2_state, missb2_interrupt) | |
475 | 476 | |
476 | 477 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // 100 CPU slices per frame - a high value to ensure proper synchronization of the CPUs |
477 | 478 |
r17996 | r17997 | |
---|---|---|
642 | 642 | /* basic machine hardware */ |
643 | 643 | MCFG_CPU_ADD("maincpu", Z80, 18432000/4) /* 18.432000 / 4 */ |
644 | 644 | MCFG_CPU_PROGRAM_MAP(main_mem) |
645 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
645 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tehkanwc_state, irq0_line_hold) | |
646 | 646 | |
647 | 647 | MCFG_CPU_ADD("sub", Z80, 18432000/4) |
648 | 648 | MCFG_CPU_PROGRAM_MAP(sub_mem) |
649 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
649 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tehkanwc_state, irq0_line_hold) | |
650 | 650 | |
651 | 651 | MCFG_CPU_ADD("audiocpu", Z80, 18432000/4) |
652 | 652 | MCFG_CPU_PROGRAM_MAP(sound_mem) |
653 | 653 | MCFG_CPU_IO_MAP(sound_port) |
654 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
654 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tehkanwc_state, irq0_line_hold) | |
655 | 655 | |
656 | 656 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - seems enough to keep the CPUs in sync */ |
657 | 657 |
r17996 | r17997 | |
---|---|---|
362 | 362 | * schematics indicate that nmi_line is set on M680000 access with AB1=1 |
363 | 363 | * and IOCS=0 (active low), see pages A-1/10, A-4/10 in schematics |
364 | 364 | */ |
365 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,4*60) | |
365 | MCFG_CPU_PERIODIC_INT_DRIVER(bionicc_state, nmi_line_pulse, 4*60) | |
366 | 366 | |
367 | 367 | |
368 | 368 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
37 | 37 | virtual void machine_reset(); |
38 | 38 | virtual void video_start(); |
39 | 39 | UINT32 screen_update_photon(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
40 | INTERRUPT_GEN_MEMBER(pk8000_interrupt); | |
40 | 41 | }; |
41 | 42 | |
42 | 43 | |
r17996 | r17997 | |
185 | 186 | PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_UNUSED) |
186 | 187 | INPUT_PORTS_END |
187 | 188 | |
188 | ||
189 | ||
189 | 190 | { |
190 | device | |
191 | device. | |
191 | 192 | } |
192 | 193 | |
193 | 194 | static IRQ_CALLBACK(pk8000_irq_callback) |
r17996 | r17997 | |
217 | 218 | MCFG_CPU_ADD("maincpu",I8080, 1780000) |
218 | 219 | MCFG_CPU_PROGRAM_MAP(pk8000_mem) |
219 | 220 | MCFG_CPU_IO_MAP(pk8000_io) |
220 | ||
221 | | |
221 | 222 | |
222 | 223 | |
223 | 224 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
206 | 206 | /* basic machine hardware */ |
207 | 207 | MCFG_CPU_ADD("maincpu", M6809, 2048000) /* 2.048 MHz ??? */ |
208 | 208 | MCFG_CPU_PROGRAM_MAP(citycon_map) |
209 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
209 | MCFG_CPU_VBLANK_INT_DRIVER("screen", citycon_state, irq0_line_assert) | |
210 | 210 | |
211 | 211 | MCFG_CPU_ADD("audiocpu", M6809, 640000) /* 0.640 MHz ??? */ |
212 | 212 | MCFG_CPU_PROGRAM_MAP(sound_map) |
213 | ||
213 | | |
214 | 214 | |
215 | 215 | |
216 | 216 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
150 | 150 | virtual void video_start(); |
151 | 151 | virtual void palette_init(); |
152 | 152 | UINT32 screen_update_jwildb52(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
153 | INTERRUPT_GEN_MEMBER(timer_irq); | |
153 | 154 | }; |
154 | 155 | |
155 | 156 | |
r17996 | r17997 | |
536 | 537 | * Interrupts Gen (to fix) * |
537 | 538 | ******************************/ |
538 | 539 | |
539 | ||
540 | ||
540 | 541 | { |
541 | generic_pulse_irq_line(device, M6809_IRQ_LINE, 1); | |
542 | generic_pulse_irq_line(device.execute(), M6809_IRQ_LINE, 1); | |
542 | 543 | } |
543 | 544 | |
544 | 545 | |
r17996 | r17997 | |
591 | 592 | /* basic machine hardware */ |
592 | 593 | MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK/9) /* 2 MHz */ |
593 | 594 | MCFG_CPU_PROGRAM_MAP(jwildb52_map) |
594 | MCFG_CPU_VBLANK_INT("screen", timer_irq) /* Fix me */ | |
595 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sigmab52_state, timer_irq) /* Fix me */ | |
595 | 596 | |
596 | 597 | #if 0 |
597 | 598 | MCFG_CPU_ADD("audiocpu", M6809, MAIN_CLOCK/9) /* 2 MHz */ |
598 | 599 | MCFG_CPU_PROGRAM_MAP(sound_prog_map) |
599 | 600 | //temporary teh same int as for main cpu |
600 | MCFG_CPU_PERIODIC_INT(timer_irq, 1000) /* Fix me */ | |
601 | MCFG_CPU_PERIODIC_INT_DRIVER(sigmab52_state, timer_irq, 1000) /* Fix me */ | |
601 | 602 | #endif |
602 | 603 | |
603 | 604 |
r17996 | r17997 | |
---|---|---|
1069 | 1069 | /* basic machine hardware */ |
1070 | 1070 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
1071 | 1071 | MCFG_CPU_PROGRAM_MAP(bigtwin_main_map) |
1072 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1072 | MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold) | |
1073 | 1073 | |
1074 | 1074 | MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) /* 3MHz */ |
1075 | 1075 | /* Program and Data Maps are internal to the MCU */ |
r17996 | r17997 | |
1103 | 1103 | /* basic machine hardware */ |
1104 | 1104 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
1105 | 1105 | MCFG_CPU_PROGRAM_MAP(bigtwinb_main_map) |
1106 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1106 | MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold) | |
1107 | 1107 | |
1108 | 1108 | MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) /* 3MHz */ |
1109 | 1109 | /* Program and Data Maps are internal to the MCU */ |
r17996 | r17997 | |
1137 | 1137 | /* basic machine hardware */ |
1138 | 1138 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
1139 | 1139 | MCFG_CPU_PROGRAM_MAP(wbeachvl_main_map) |
1140 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1140 | MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold) | |
1141 | 1141 | |
1142 | 1142 | // MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) /* 3MHz */ |
1143 | 1143 | /* Program and Data Maps are internal to the MCU */ |
r17996 | r17997 | |
1174 | 1174 | /* basic machine hardware */ |
1175 | 1175 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
1176 | 1176 | MCFG_CPU_PROGRAM_MAP(excelsr_main_map) |
1177 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1177 | MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold) | |
1178 | 1178 | |
1179 | 1179 | MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) /* 3MHz */ |
1180 | 1180 | /* Program and Data Maps are internal to the MCU */ |
r17996 | r17997 | |
1208 | 1208 | /* basic machine hardware */ |
1209 | 1209 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* verified on pcb */ |
1210 | 1210 | MCFG_CPU_PROGRAM_MAP(hotmind_main_map) |
1211 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1211 | MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold) | |
1212 | 1212 | |
1213 | 1213 | MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_24MHz/2) /* verified on pcb */ |
1214 | 1214 | /* Program and Data Maps are internal to the MCU */ |
r17996 | r17997 | |
1245 | 1245 | /* basic machine hardware */ |
1246 | 1246 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* verified on pcb */ |
1247 | 1247 | MCFG_CPU_PROGRAM_MAP(hrdtimes_main_map) |
1248 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
1248 | MCFG_CPU_VBLANK_INT_DRIVER("screen", playmark_state, irq6_line_hold) | |
1249 | 1249 | |
1250 | 1250 | // MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_24MHz/2) /* verified on pcb */ |
1251 | 1251 | /* Program and Data Maps are internal to the MCU */ |
r17996 | r17997 | |
---|---|---|
1169 | 1169 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/2) /* 3 MHz */ |
1170 | 1170 | MCFG_CPU_PROGRAM_MAP(ampoker2_map) |
1171 | 1171 | MCFG_CPU_IO_MAP(ampoker2_io_map) |
1172 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 1536) | |
1172 | MCFG_CPU_PERIODIC_INT_DRIVER(ampoker2_state, nmi_line_pulse, 1536) | |
1173 | 1173 | MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(200)) /* 200 ms, measured */ |
1174 | 1174 | |
1175 | 1175 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
520 | 520 | /* basic machine hardware */ |
521 | 521 | MCFG_CPU_ADD("maincpu", M68000, 20000000) /* 20 mhz! verified on real board */ |
522 | 522 | MCFG_CPU_PROGRAM_MAP(pgm_basic_mem) |
523 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
523 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pgm_state, irq6_line_hold) | |
524 | 524 | MCFG_TIMER_ADD_SCANLINE("scantimer", pgm_interrupt, "screen", 0, 1) |
525 | 525 | |
526 | 526 | MCFG_CPU_ADD("soundcpu", Z80, 33868800/4) |
r17996 | r17997 | |
---|---|---|
1489 | 1489 | static MACHINE_CONFIG_START( namcos21, namcos21_state ) |
1490 | 1490 | MCFG_CPU_ADD("maincpu", M68000,12288000) /* Master */ |
1491 | 1491 | MCFG_CPU_PROGRAM_MAP(namcos21_68k_master) |
1492 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1492 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, namcos2_68k_master_vblank) | |
1493 | 1493 | |
1494 | 1494 | MCFG_CPU_ADD("slave", M68000,12288000) /* Slave */ |
1495 | 1495 | MCFG_CPU_PROGRAM_MAP(namcos21_68k_slave) |
1496 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1496 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, namcos2_68k_slave_vblank) | |
1497 | 1497 | |
1498 | 1498 | MCFG_CPU_ADD("audiocpu", M6809,3072000) /* Sound */ |
1499 | 1499 | MCFG_CPU_PROGRAM_MAP(am_sound_winrun) |
1500 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
1501 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,120) | |
1500 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq0_line_hold, 2*60) | |
1501 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq1_line_hold, 120) | |
1502 | 1502 | |
1503 | 1503 | MCFG_CPU_ADD("mcu", HD63705,2048000) /* IO */ |
1504 | 1504 | MCFG_CPU_PROGRAM_MAP(am_mcu_winrun) |
1505 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1505 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, irq0_line_hold) | |
1506 | 1506 | |
1507 | 1507 | MCFG_CPU_ADD("dspmaster", TMS32025,24000000) /* 24 MHz? overclocked */ |
1508 | 1508 | MCFG_CPU_PROGRAM_MAP(master_dsp_program) |
r17996 | r17997 | |
1549 | 1549 | static MACHINE_CONFIG_START( driveyes, namcos21_state ) |
1550 | 1550 | MCFG_CPU_ADD("maincpu", M68000,12288000) /* Master */ |
1551 | 1551 | MCFG_CPU_PROGRAM_MAP(driveyes_68k_master) |
1552 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1552 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, namcos2_68k_master_vblank) | |
1553 | 1553 | |
1554 | 1554 | MCFG_CPU_ADD("slave", M68000,12288000) /* Slave */ |
1555 | 1555 | MCFG_CPU_PROGRAM_MAP(driveyes_68k_slave) |
1556 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1556 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, namcos2_68k_slave_vblank) | |
1557 | 1557 | |
1558 | 1558 | MCFG_CPU_ADD("audiocpu", M6809,3072000) /* Sound */ |
1559 | 1559 | MCFG_CPU_PROGRAM_MAP(am_sound_winrun) |
1560 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
1561 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,120) | |
1560 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq0_line_hold, 2*60) | |
1561 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq1_line_hold, 120) | |
1562 | 1562 | |
1563 | 1563 | MCFG_CPU_ADD("mcu", HD63705,2048000) /* IO */ |
1564 | 1564 | MCFG_CPU_PROGRAM_MAP(am_mcu_winrun) |
1565 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1565 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, irq0_line_hold) | |
1566 | 1566 | |
1567 | 1567 | MCFG_CPU_ADD("dsp", TMS32025,24000000*2) /* 24 MHz? overclocked */ |
1568 | 1568 | MCFG_CPU_PROGRAM_MAP(winrun_dsp_program) |
r17996 | r17997 | |
1604 | 1604 | static MACHINE_CONFIG_START( winrun, namcos21_state ) |
1605 | 1605 | MCFG_CPU_ADD("maincpu", M68000,12288000) /* Master */ |
1606 | 1606 | MCFG_CPU_PROGRAM_MAP(am_master_winrun) |
1607 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1607 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, namcos2_68k_master_vblank) | |
1608 | 1608 | |
1609 | 1609 | MCFG_CPU_ADD("slave", M68000,12288000) /* Slave */ |
1610 | 1610 | MCFG_CPU_PROGRAM_MAP(am_slave_winrun) |
1611 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1611 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, namcos2_68k_slave_vblank) | |
1612 | 1612 | |
1613 | 1613 | MCFG_CPU_ADD("audiocpu", M6809,3072000) /* Sound */ |
1614 | 1614 | MCFG_CPU_PROGRAM_MAP(am_sound_winrun) |
1615 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
1616 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,120) | |
1615 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq0_line_hold, 2*60) | |
1616 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos21_state, irq1_line_hold, 120) | |
1617 | 1617 | |
1618 | 1618 | MCFG_CPU_ADD("mcu", HD63705,2048000) /* IO */ |
1619 | 1619 | MCFG_CPU_PROGRAM_MAP(am_mcu_winrun) |
1620 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1620 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, irq0_line_hold) | |
1621 | 1621 | |
1622 | 1622 | MCFG_CPU_ADD("dsp", TMS32025,24000000) /* 24 MHz? overclocked */ |
1623 | 1623 | MCFG_CPU_PROGRAM_MAP(winrun_dsp_program) |
r17996 | r17997 | |
1626 | 1626 | |
1627 | 1627 | MCFG_CPU_ADD("gpu", M68000,12288000) /* graphics coprocessor */ |
1628 | 1628 | MCFG_CPU_PROGRAM_MAP(am_gpu_winrun) |
1629 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_gpu_vblank) | |
1629 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos21_state, namcos2_68k_gpu_vblank) | |
1630 | 1630 | |
1631 | 1631 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */ |
1632 | 1632 |
r17996 | r17997 | |
---|---|---|
991 | 991 | MCFG_CPU_ADD("cpu0", Z80, MASTER_CLOCK / 8) |
992 | 992 | MCFG_CPU_PROGRAM_MAP(cpu0_map) |
993 | 993 | MCFG_CPU_IO_MAP(cpu0_io) |
994 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
994 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jangou_state, irq0_line_hold) | |
995 | 995 | |
996 | 996 | MCFG_CPU_ADD("cpu1", Z80, MASTER_CLOCK / 8) |
997 | 997 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
r17996 | r17997 | |
---|---|---|
918 | 918 | /* basic machine hardware */ |
919 | 919 | MCFG_CPU_ADD("maincpu", M68000,16000000/2) /* 8 MHz ? */ |
920 | 920 | MCFG_CPU_PROGRAM_MAP(darius_map) |
921 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
921 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", darius_state, irq4_line_hold) | |
922 | 922 | |
923 | 923 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ? */ |
924 | 924 | MCFG_CPU_PROGRAM_MAP(darius_sound_map) |
925 | 925 | |
926 | 926 | MCFG_CPU_ADD("cpub", M68000,16000000/2) /* 8 MHz ? */ |
927 | 927 | MCFG_CPU_PROGRAM_MAP(darius_cpub_map) |
928 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
928 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", darius_state, irq4_line_hold) | |
929 | 929 | |
930 | 930 | MCFG_CPU_ADD("adpcm", Z80,8000000/2) /* 4 MHz ? */ /* ADPCM player using MSM5205 */ |
931 | 931 | MCFG_CPU_PROGRAM_MAP(darius_sound2_map) |
r17996 | r17997 | |
---|---|---|
105 | 105 | * |
106 | 106 | *************************************/ |
107 | 107 | |
108 | ||
108 | ||
109 | 109 | { |
110 | if (device->machine().root_device().ioport("SERVICE")->read() & 1) /* get status of the F2 key */ | |
111 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); /* trigger self test */ | |
110 | if (machine().root_device().ioport("SERVICE")->read() & 1) /* get status of the F2 key */ | |
111 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); /* trigger self test */ | |
112 | 112 | } |
113 | 113 | |
114 | 114 | |
r17996 | r17997 | |
361 | 361 | /* basic machine hardware */ |
362 | 362 | MCFG_CPU_ADD("maincpu", M6809E, MASTER_CLOCK) |
363 | 363 | MCFG_CPU_PROGRAM_MAP(capbowl_map) |
364 | MCFG_CPU_VBLANK_INT("screen", capbowl_interrupt) | |
364 | MCFG_CPU_VBLANK_INT_DRIVER("screen", capbowl_state, capbowl_interrupt) | |
365 | 365 | |
366 | 366 | MCFG_CPU_ADD("audiocpu", M6809E, MASTER_CLOCK) |
367 | 367 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
173 | 173 | DECLARE_CUSTOM_INPUT_MEMBER(controls_r); |
174 | 174 | DECLARE_DRIVER_INIT(ssingles); |
175 | 175 | virtual void video_start(); |
176 | INTERRUPT_GEN_MEMBER(atamanot_irq); | |
176 | 177 | }; |
177 | 178 | |
178 | 179 | //fake palette |
r17996 | r17997 | |
568 | 569 | MCFG_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */ |
569 | 570 | MCFG_CPU_PROGRAM_MAP(ssingles_map) |
570 | 571 | MCFG_CPU_IO_MAP(ssingles_io_map) |
571 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
572 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ssingles_state, nmi_line_pulse) | |
572 | 573 | |
573 | 574 | MCFG_SCREEN_ADD("screen", RASTER) |
574 | 575 | MCFG_SCREEN_RAW_PARAMS(4000000, 256, 0, 256, 256, 0, 256) /* temporary, CRTC will configure screen */ |
r17996 | r17997 | |
592 | 593 | |
593 | 594 | MACHINE_CONFIG_END |
594 | 595 | |
595 | ||
596 | ||
596 | 597 | { |
597 | 598 | // ... |
598 | 599 | } |
r17996 | r17997 | |
601 | 602 | MCFG_CPU_MODIFY("maincpu") |
602 | 603 | MCFG_CPU_PROGRAM_MAP(atamanot_map) |
603 | 604 | MCFG_CPU_IO_MAP(atamanot_io_map) |
604 | MCFG_CPU_VBLANK_INT("screen", atamanot_irq) | |
605 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ssingles_state, atamanot_irq) | |
605 | 606 | |
606 | 607 | MCFG_DEVICE_REMOVE("crtc") |
607 | 608 |
r17996 | r17997 | |
---|---|---|
264 | 264 | |
265 | 265 | MCFG_CPU_ADD("sub", Z80,8000000/2) /* 4.000MHz */ |
266 | 266 | MCFG_CPU_PROGRAM_MAP(ikki_cpu2) |
267 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
267 | MCFG_CPU_PERIODIC_INT_DRIVER(ikki_state, irq0_line_hold, 2*60) | |
268 | 268 | |
269 | 269 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
270 | 270 |
r17996 | r17997 | |
---|---|---|
163 | 163 | virtual void machine_start(); |
164 | 164 | virtual void machine_reset(); |
165 | 165 | UINT32 screen_update_kinst(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
166 | INTERRUPT_GEN_MEMBER(irq0_start); | |
166 | 167 | }; |
167 | 168 | |
168 | 169 | |
r17996 | r17997 | |
281 | 282 | } |
282 | 283 | |
283 | 284 | |
284 | ||
285 | ||
285 | 286 | { |
286 | device->execute().set_input_line(0, ASSERT_LINE); | |
287 | device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(irq0_stop)); | |
287 | device.execute().set_input_line(0, ASSERT_LINE); | |
288 | machine().scheduler().timer_set(attotime::from_usec(50), FUNC(irq0_stop)); | |
288 | 289 | } |
289 | 290 | |
290 | 291 | |
r17996 | r17997 | |
675 | 676 | MCFG_CPU_ADD("maincpu", R4600LE, MASTER_CLOCK*2) |
676 | 677 | MCFG_CPU_CONFIG(r4600_config) |
677 | 678 | MCFG_CPU_PROGRAM_MAP(main_map) |
678 | MCFG_CPU_VBLANK_INT("screen", irq0_start) | |
679 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kinst_state, irq0_start) | |
679 | 680 | |
680 | 681 | |
681 | 682 | MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true) |
r17996 | r17997 | |
---|---|---|
134 | 134 | virtual void video_start(); |
135 | 135 | virtual void palette_init(); |
136 | 136 | UINT32 screen_update_sub(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
137 | INTERRUPT_GEN_MEMBER(subm_sound_irq); | |
137 | 138 | }; |
138 | 139 | |
139 | 140 | void sub_state::video_start() |
r17996 | r17997 | |
418 | 419 | } |
419 | 420 | |
420 | 421 | |
421 | ||
422 | ||
422 | 423 | { |
423 | sub_state *state = device->machine().driver_data<sub_state>(); | |
424 | 424 | |
425 | if(state->m_nmi_en) | |
426 | device->machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
425 | if(m_nmi_en) | |
426 | machine().device("soundcpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
427 | 427 | } |
428 | 428 | |
429 | 429 | static MACHINE_CONFIG_START( sub, sub_state ) |
r17996 | r17997 | |
432 | 432 | MCFG_CPU_ADD("maincpu", Z80,MASTER_CLOCK/6) /* ? MHz */ |
433 | 433 | MCFG_CPU_PROGRAM_MAP(subm_map) |
434 | 434 | MCFG_CPU_IO_MAP(subm_io) |
435 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
435 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sub_state, irq0_line_hold) | |
436 | 436 | |
437 | 437 | MCFG_CPU_ADD("soundcpu", Z80,MASTER_CLOCK/6) /* ? MHz */ |
438 | 438 | MCFG_CPU_PROGRAM_MAP(subm_sound_map) |
439 | 439 | MCFG_CPU_IO_MAP(subm_sound_io) |
440 | MCFG_CPU_PERIODIC_INT(subm_sound_irq, 120) //??? | |
440 | MCFG_CPU_PERIODIC_INT_DRIVER(sub_state, subm_sound_irq, 120) //??? | |
441 | 441 | |
442 | 442 | |
443 | 443 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
277 | 277 | MCFG_CPU_ADD("maincpu", Z80, 6000000) /* ??? */ |
278 | 278 | MCFG_CPU_PROGRAM_MAP(cbasebal_map) |
279 | 279 | MCFG_CPU_IO_MAP(cbasebal_portmap) |
280 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* ??? */ | |
280 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cbasebal_state, irq0_line_hold) /* ??? */ | |
281 | 281 | |
282 | 282 | |
283 | 283 | MCFG_EEPROM_ADD("eeprom", cbasebal_eeprom_intf) |
r17996 | r17997 | |
---|---|---|
586 | 586 | /* basic machine hardware */ |
587 | 587 | MCFG_CPU_ADD("maincpu", Z80,MASTER_CLOCK/6) /* 3 MHz? */ |
588 | 588 | MCFG_CPU_PROGRAM_MAP(main_map) |
589 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
589 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mpoker_state, irq0_line_hold) | |
590 | 590 | |
591 | 591 | MCFG_NVRAM_ADD_0FILL("nvram") |
592 | 592 |
r17996 | r17997 | |
---|---|---|
176 | 176 | GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 16*16, 16*16 ) |
177 | 177 | GFXDECODE_END |
178 | 178 | |
179 | ||
179 | ||
180 | 180 | { |
181 | sbasketb_state *state = device->machine().driver_data<sbasketb_state>(); | |
182 | 181 | |
183 | if(state->m_irq_mask) | |
184 | device->execute().set_input_line(0, HOLD_LINE); | |
182 | if(m_irq_mask) | |
183 | device.execute().set_input_line(0, HOLD_LINE); | |
185 | 184 | } |
186 | 185 | |
187 | 186 | //------------------------------------------------- |
r17996 | r17997 | |
199 | 198 | /* basic machine hardware */ |
200 | 199 | MCFG_CPU_ADD("maincpu", M6809, 1400000) /* 1.400 MHz ??? */ |
201 | 200 | MCFG_CPU_PROGRAM_MAP(sbasketb_map) |
202 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
201 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sbasketb_state, vblank_irq) | |
203 | 202 | |
204 | 203 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz / 4) /* 3.5795 MHz */ |
205 | 204 | MCFG_CPU_PROGRAM_MAP(sbasketb_sound_map) |
r17996 | r17997 | |
---|---|---|
459 | 459 | MCFG_CPU_ADD("audiocpu",Z80,MASTER_CLOCK/4) |
460 | 460 | MCFG_CPU_PROGRAM_MAP(lastbank_audio_map) |
461 | 461 | MCFG_CPU_IO_MAP(lastbank_audio_io) |
462 | ||
462 | | |
463 | 463 | |
464 | 464 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
465 | 465 |
r17996 | r17997 | |
---|---|---|
54 | 54 | virtual void video_start(); |
55 | 55 | virtual void palette_init(); |
56 | 56 | UINT32 screen_update_skyarmy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
57 | INTERRUPT_GEN_MEMBER(skyarmy_nmi_source); | |
57 | 58 | }; |
58 | 59 | |
59 | 60 | WRITE8_MEMBER(skyarmy_state::skyarmy_flip_screen_x_w) |
r17996 | r17997 | |
155 | 156 | return 0; |
156 | 157 | } |
157 | 158 | |
158 | ||
159 | ||
159 | 160 | { |
160 | skyarmy_state *state = device->machine().driver_data<skyarmy_state>(); | |
161 | 161 | |
162 | if( | |
162 | if( | |
163 | 163 | } |
164 | 164 | |
165 | 165 | |
r17996 | r17997 | |
284 | 284 | MCFG_CPU_ADD("maincpu", Z80,4000000) |
285 | 285 | MCFG_CPU_PROGRAM_MAP(skyarmy_map) |
286 | 286 | MCFG_CPU_IO_MAP(skyarmy_io_map) |
287 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
288 | MCFG_CPU_PERIODIC_INT(skyarmy_nmi_source,650) /* Hz */ | |
287 | MCFG_CPU_VBLANK_INT_DRIVER("screen", skyarmy_state, irq0_line_hold) | |
288 | MCFG_CPU_PERIODIC_INT_DRIVER(skyarmy_state, skyarmy_nmi_source, 650) /* Hz */ | |
289 | 289 | |
290 | 290 | /* video hardware */ |
291 | 291 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
271 | 271 | /* basic machine hardware */ |
272 | 272 | MCFG_CPU_ADD("maincpu", Z80,MAIN_CLOCK/8) //divider is guessed |
273 | 273 | MCFG_CPU_PROGRAM_MAP(maincpu_map) |
274 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
274 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ksayakyu_state, irq0_line_hold) | |
275 | 275 | |
276 | 276 | MCFG_CPU_ADD("audiocpu", Z80, MAIN_CLOCK/8) //divider is guessed, controls DAC tempo |
277 | 277 | MCFG_CPU_PROGRAM_MAP(soundcpu_map) |
278 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,60) //guess, controls music tempo | |
278 | MCFG_CPU_PERIODIC_INT_DRIVER(ksayakyu_state, irq0_line_hold, 60) //guess, controls music tempo | |
279 | 279 | |
280 | 280 | MCFG_QUANTUM_TIME(attotime::from_hz(60000)) |
281 | 281 |
r17996 | r17997 | |
---|---|---|
515 | 515 | MCFG_CPU_ADD("maincpu", Z80,MASTER_CLOCK/2) /* guess */ |
516 | 516 | MCFG_CPU_PROGRAM_MAP(suprgolf_map) |
517 | 517 | MCFG_CPU_IO_MAP(io_map) |
518 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
518 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suprgolf_state, irq0_line_hold) | |
519 | 519 | |
520 | 520 | |
521 | 521 |
r17996 | r17997 | |
---|---|---|
292 | 292 | MCFG_CPU_ADD("maincpu", Z80, MCLK/2) /* 6.000 MHz */ |
293 | 293 | MCFG_CPU_PROGRAM_MAP(himesiki_prm0) |
294 | 294 | MCFG_CPU_IO_MAP(himesiki_iom0) |
295 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
295 | MCFG_CPU_VBLANK_INT_DRIVER("screen", himesiki_state, irq0_line_hold) | |
296 | 296 | |
297 | 297 | MCFG_CPU_ADD("sub", Z80, MCLK/3) /* 4.000 MHz */ |
298 | 298 | MCFG_CPU_PROGRAM_MAP(himesiki_prm1) |
r17996 | r17997 | |
---|---|---|
48 | 48 | #include "includes/battlex.h" |
49 | 49 | |
50 | 50 | |
51 | ||
51 | ||
52 | 52 | { |
53 | battlex_state *state = device->machine().driver_data<battlex_state>(); | |
54 | state->m_in0_b4 = 1; | |
55 | device->execute().set_input_line(0, ASSERT_LINE); | |
53 | m_in0_b4 = 1; | |
54 | device.execute().set_input_line(0, ASSERT_LINE); | |
56 | 55 | } |
57 | 56 | |
58 | 57 | CUSTOM_INPUT_MEMBER(battlex_state::battlex_in0_b4_r) |
r17996 | r17997 | |
250 | 249 | MCFG_CPU_ADD("maincpu", Z80,XTAL_10MHz/4 ) // ? |
251 | 250 | MCFG_CPU_PROGRAM_MAP(battlex_map) |
252 | 251 | MCFG_CPU_IO_MAP(io_map) |
253 | MCFG_CPU_PERIODIC_INT(battlex_interrupt,400) /* controls game speed? */ | |
252 | MCFG_CPU_PERIODIC_INT_DRIVER(battlex_state, battlex_interrupt, 400) /* controls game speed? */ | |
254 | 253 | |
255 | 254 | |
256 | 255 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
184 | 184 | DECLARE_MACHINE_RESET(skattv); |
185 | 185 | DECLARE_PALETTE_INIT(adp); |
186 | 186 | UINT32 screen_update_adp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
187 | //INTERRUPT_GEN_MEMBER(adp_int); | |
187 | 188 | }; |
188 | 189 | |
189 | 190 | |
r17996 | r17997 | |
621 | 622 | INPUT_PORTS_END |
622 | 623 | |
623 | 624 | /* |
624 | ||
625 | ||
625 | 626 | { |
626 | device | |
627 | device. | |
627 | 628 | } |
628 | 629 | */ |
629 | 630 | static const ay8910_interface ay8910_config = |
r17996 | r17997 | |
663 | 664 | |
664 | 665 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
665 | 666 | MCFG_CPU_PROGRAM_MAP(quickjac_mem) |
666 | // | |
667 | // | |
667 | 668 | |
668 | 669 | MCFG_MACHINE_START_OVERRIDE(adp_state,skattv) |
669 | 670 | MCFG_MACHINE_RESET_OVERRIDE(adp_state,skattv) |
r17996 | r17997 | |
695 | 696 | |
696 | 697 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
697 | 698 | MCFG_CPU_PROGRAM_MAP(skattv_mem) |
698 | // | |
699 | // | |
699 | 700 | |
700 | 701 | MCFG_MACHINE_START_OVERRIDE(adp_state,skattv) |
701 | 702 | MCFG_MACHINE_RESET_OVERRIDE(adp_state,skattv) |
r17996 | r17997 | |
---|---|---|
344 | 344 | |
345 | 345 | MCFG_CPU_ADD( "soundcpu", M68000, 8000000 ) |
346 | 346 | MCFG_CPU_PROGRAM_MAP( konamigq_sound_map) |
347 | MCFG_CPU_PERIODIC_INT( irq2_line_hold, 480 | |
347 | MCFG_CPU_PERIODIC_INT_DRIVER(konamigq_state, irq2_line_hold, 480 | |
348 | 348 | |
349 | 349 | MCFG_MACHINE_START_OVERRIDE(konamigq_state, konamigq ) |
350 | 350 | MCFG_MACHINE_RESET_OVERRIDE(konamigq_state, konamigq ) |
r17996 | r17997 | |
---|---|---|
444 | 444 | /* basic machine hardware */ |
445 | 445 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* verified on pcb */ |
446 | 446 | MCFG_CPU_PROGRAM_MAP(mcatadv_map) |
447 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
447 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mcatadv_state, irq1_line_hold) | |
448 | 448 | |
449 | 449 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_16MHz/4) /* verified on pcb */ |
450 | 450 | MCFG_CPU_PROGRAM_MAP(mcatadv_sound_map) |
r17996 | r17997 | |
---|---|---|
497 | 497 | machine.scheduler().timer_set(machine.primary_screen->time_until_pos(0xe6), FUNC(toaplan2_raise_irq), irq_line); |
498 | 498 | } |
499 | 499 | |
500 | static INTERRUPT_GEN( toaplan2_vblank_irq1 ) { toaplan2_vblank_irq(device->machine(), 1); } | |
501 | static INTERRUPT_GEN( toaplan2_vblank_irq2 ) { toaplan2_vblank_irq(device->machine(), 2); } | |
502 | static INTERRUPT_GEN( toaplan2_vblank_irq4 ) { toaplan2_vblank_irq(device->machine(), 4); } | |
500 | INTERRUPT_GEN_MEMBER(toaplan2_state::toaplan2_vblank_irq1){ toaplan2_vblank_irq(machine(), 1); } | |
501 | INTERRUPT_GEN_MEMBER(toaplan2_state::toaplan2_vblank_irq2){ toaplan2_vblank_irq(machine(), 2); } | |
502 | INTERRUPT_GEN_MEMBER(toaplan2_state::toaplan2_vblank_irq4){ toaplan2_vblank_irq(machine(), 4); } | |
503 | 503 | |
504 | 504 | |
505 | 505 | READ16_MEMBER(toaplan2_state::video_count_r) |
r17996 | r17997 | |
1018 | 1018 | } |
1019 | 1019 | |
1020 | 1020 | |
1021 | ||
1021 | ||
1022 | 1022 | { |
1023 | device | |
1023 | device. | |
1024 | 1024 | } |
1025 | 1025 | |
1026 | 1026 | |
r17996 | r17997 | |
3028 | 3028 | /* basic machine hardware */ |
3029 | 3029 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* 10MHz Oscillator */ |
3030 | 3030 | MCFG_CPU_PROGRAM_MAP(tekipaki_68k_mem) |
3031 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3031 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3032 | 3032 | |
3033 | 3033 | #ifdef USE_HD64x180 |
3034 | 3034 | MCFG_CPU_ADD("audiocpu", Z180, XTAL_10MHz) /* HD647180 CPU actually */ |
r17996 | r17997 | |
3069 | 3069 | /* basic machine hardware */ |
3070 | 3070 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* verified on pcb */ |
3071 | 3071 | MCFG_CPU_PROGRAM_MAP(ghox_68k_mem) |
3072 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3072 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3073 | 3073 | |
3074 | 3074 | #ifdef USE_HD64x180 |
3075 | 3075 | MCFG_CPU_ADD("audiocpu", Z180, XTAL_10MHz) /* HD647180 CPU actually */ |
r17996 | r17997 | |
3160 | 3160 | /* basic machine hardware */ |
3161 | 3161 | MCFG_CPU_ADD("maincpu", M68000, XTAL_25MHz/2) /* verified on pcb */ |
3162 | 3162 | MCFG_CPU_PROGRAM_MAP(dogyuun_68k_mem) |
3163 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3163 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3164 | 3164 | |
3165 | 3165 | MCFG_CPU_ADD("audiocpu", V25, XTAL_25MHz/2) /* NEC V25 type Toaplan marked CPU ??? */ |
3166 | 3166 | MCFG_CPU_PROGRAM_MAP(v25_mem) |
r17996 | r17997 | |
3203 | 3203 | /* basic machine hardware */ |
3204 | 3204 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* 16MHz Oscillator */ |
3205 | 3205 | MCFG_CPU_PROGRAM_MAP(kbash_68k_mem) |
3206 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3206 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3207 | 3207 | |
3208 | 3208 | /* ROM based v25 */ |
3209 | 3209 | MCFG_CPU_ADD("audiocpu", V25, XTAL_16MHz) /* NEC V25 type Toaplan marked CPU ??? */ |
r17996 | r17997 | |
3246 | 3246 | /* basic machine hardware */ |
3247 | 3247 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* 16MHz Oscillator */ |
3248 | 3248 | MCFG_CPU_PROGRAM_MAP(kbash2_68k_mem) |
3249 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3249 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3250 | 3250 | |
3251 | 3251 | MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) |
3252 | 3252 | |
r17996 | r17997 | |
3283 | 3283 | /* basic machine hardware */ |
3284 | 3284 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* verified on pcb */ |
3285 | 3285 | MCFG_CPU_PROGRAM_MAP(truxton2_68k_mem) |
3286 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq2) | |
3286 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq2) | |
3287 | 3287 | |
3288 | 3288 | MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) |
3289 | 3289 | |
r17996 | r17997 | |
3332 | 3332 | /* basic machine hardware */ |
3333 | 3333 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* verified on pcb */ |
3334 | 3334 | MCFG_CPU_PROGRAM_MAP(pipibibs_68k_mem) |
3335 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3335 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3336 | 3336 | |
3337 | 3337 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_27MHz/8) /* verified on pcb */ |
3338 | 3338 | MCFG_CPU_PROGRAM_MAP(pipibibs_sound_z80_mem) |
r17996 | r17997 | |
3373 | 3373 | /* basic machine hardware */ |
3374 | 3374 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* 10MHz Oscillator */ |
3375 | 3375 | MCFG_CPU_PROGRAM_MAP(pipibibi_bootleg_68k_mem) |
3376 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3376 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3377 | 3377 | |
3378 | 3378 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_27MHz/8) /* ??? 3.37MHz */ |
3379 | 3379 | MCFG_CPU_PROGRAM_MAP(pipibibs_sound_z80_mem) |
r17996 | r17997 | |
3453 | 3453 | /* basic machine hardware */ |
3454 | 3454 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* verified on pcb */ |
3455 | 3455 | MCFG_CPU_PROGRAM_MAP(fixeight_68k_mem) |
3456 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3456 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3457 | 3457 | |
3458 | 3458 | MCFG_CPU_ADD("audiocpu", V25, XTAL_16MHz) /* NEC V25 type Toaplan marked CPU ??? */ |
3459 | 3459 | MCFG_CPU_PROGRAM_MAP(fixeight_v25_mem) |
r17996 | r17997 | |
3497 | 3497 | /* basic machine hardware */ |
3498 | 3498 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* 10MHz Oscillator */ |
3499 | 3499 | MCFG_CPU_PROGRAM_MAP(fixeightbl_68k_mem) |
3500 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq2) | |
3500 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq2) | |
3501 | 3501 | |
3502 | 3502 | MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) |
3503 | 3503 | |
r17996 | r17997 | |
3532 | 3532 | /* basic machine hardware */ |
3533 | 3533 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */ |
3534 | 3534 | MCFG_CPU_PROGRAM_MAP(vfive_68k_mem) |
3535 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3535 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3536 | 3536 | |
3537 | 3537 | MCFG_CPU_ADD("audiocpu", V25, XTAL_20MHz/2) /* Verified on pcb, NEC V25 type Toaplan mark scratched out */ |
3538 | 3538 | MCFG_CPU_PROGRAM_MAP(vfive_v25_mem) |
r17996 | r17997 | |
3571 | 3571 | /* basic machine hardware */ |
3572 | 3572 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 16MHz , 32MHz Oscillator */ |
3573 | 3573 | MCFG_CPU_PROGRAM_MAP(batsugun_68k_mem) |
3574 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3574 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3575 | 3575 | |
3576 | 3576 | MCFG_CPU_ADD("audiocpu", V25, XTAL_32MHz/2) /* NEC V25 type Toaplan marked CPU ??? */ |
3577 | 3577 | MCFG_CPU_PROGRAM_MAP(v25_mem) |
r17996 | r17997 | |
3613 | 3613 | /* basic machine hardware */ |
3614 | 3614 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
3615 | 3615 | MCFG_CPU_PROGRAM_MAP(snowbro2_68k_mem) |
3616 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3616 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3617 | 3617 | |
3618 | 3618 | MCFG_MACHINE_START_OVERRIDE(toaplan2_state,toaplan2) |
3619 | 3619 | |
r17996 | r17997 | |
3650 | 3650 | /* basic machine hardware */ |
3651 | 3651 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 16MHz , 32MHz Oscillator */ |
3652 | 3652 | MCFG_CPU_PROGRAM_MAP(mahoudai_68k_mem) |
3653 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3653 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3654 | 3654 | |
3655 | 3655 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/8) /* 4MHz , 32MHz Oscillator */ |
3656 | 3656 | MCFG_CPU_PROGRAM_MAP(raizing_sound_z80_mem) |
r17996 | r17997 | |
3693 | 3693 | /* basic machine hardware */ |
3694 | 3694 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 16MHz , 32MHz Oscillator */ |
3695 | 3695 | MCFG_CPU_PROGRAM_MAP(shippumd_68k_mem) |
3696 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3696 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3697 | 3697 | |
3698 | 3698 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/8) /* 4MHz , 32MHz Oscillator */ |
3699 | 3699 | MCFG_CPU_PROGRAM_MAP(raizing_sound_z80_mem) |
r17996 | r17997 | |
3747 | 3747 | /* basic machine hardware */ |
3748 | 3748 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 16MHz , 32MHz Oscillator */ |
3749 | 3749 | MCFG_CPU_PROGRAM_MAP(bgaregga_68k_mem) |
3750 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq4) | |
3750 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq4) | |
3751 | 3751 | |
3752 | 3752 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/8) /* 4MHz , 32MHz Oscillator */ |
3753 | 3753 | MCFG_CPU_PROGRAM_MAP(bgaregga_sound_z80_mem) |
r17996 | r17997 | |
3796 | 3796 | /* basic machine hardware */ |
3797 | 3797 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 16MHz , 32MHz Oscillator */ |
3798 | 3798 | MCFG_CPU_PROGRAM_MAP(batrider_68k_mem) |
3799 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq2) | |
3799 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq2) | |
3800 | 3800 | |
3801 | 3801 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/8) /* 4MHz , 32MHz Oscillator */ |
3802 | 3802 | MCFG_CPU_PROGRAM_MAP(batrider_sound_z80_mem) |
r17996 | r17997 | |
3844 | 3844 | /* basic machine hardware */ |
3845 | 3845 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 16MHz , 32MHz Oscillator */ |
3846 | 3846 | MCFG_CPU_PROGRAM_MAP(bbakraid_68k_mem) |
3847 | MCFG_CPU_VBLANK_INT("screen", toaplan2_vblank_irq1) | |
3847 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan2_state, toaplan2_vblank_irq1) | |
3848 | 3848 | |
3849 | 3849 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/6) /* 5.3333MHz , 32MHz Oscillator */ |
3850 | 3850 | MCFG_CPU_PROGRAM_MAP(bbakraid_sound_z80_mem) |
3851 | 3851 | MCFG_CPU_IO_MAP(bbakraid_sound_z80_port) |
3852 | MCFG_CPU_PERIODIC_INT(bbakraid_snd_interrupt, 448) | |
3852 | MCFG_CPU_PERIODIC_INT_DRIVER(toaplan2_state, bbakraid_snd_interrupt, 448) | |
3853 | 3853 | |
3854 | 3854 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
3855 | 3855 |
r17996 | r17997 | |
---|---|---|
414 | 414 | GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 16 ) |
415 | 415 | GFXDECODE_END |
416 | 416 | |
417 | ||
417 | ||
418 | 418 | { |
419 | mjkjidai_state *state = device->machine().driver_data<mjkjidai_state>(); | |
420 | 419 | |
421 | if(state->m_nmi_mask) | |
422 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
420 | if(m_nmi_mask) | |
421 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
423 | 422 | } |
424 | 423 | |
425 | 424 | |
r17996 | r17997 | |
446 | 445 | MCFG_CPU_ADD("maincpu", Z80,10000000/2) /* 5 MHz ??? */ |
447 | 446 | MCFG_CPU_PROGRAM_MAP(mjkjidai_map) |
448 | 447 | MCFG_CPU_IO_MAP(mjkjidai_io_map) |
449 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
448 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mjkjidai_state, vblank_irq) | |
450 | 449 | |
451 | 450 | MCFG_NVRAM_HANDLER(mjkjidai) |
452 | 451 |
r17996 | r17997 | |
---|---|---|
100 | 100 | flip_screen_set(data & 0x08); |
101 | 101 | } |
102 | 102 | |
103 | ||
103 | ||
104 | 104 | { |
105 | jailbrek_state *state = device->machine().driver_data<jailbrek_state>(); | |
106 | 105 | |
107 | if (state->m_irq_enable) | |
108 | device->execute().set_input_line(0, HOLD_LINE); | |
106 | if (m_irq_enable) | |
107 | device.execute().set_input_line(0, HOLD_LINE); | |
109 | 108 | } |
110 | 109 | |
111 | ||
110 | ||
112 | 111 | { |
113 | jailbrek_state *state = device->machine().driver_data<jailbrek_state>(); | |
114 | 112 | |
115 | if (state->m_nmi_enable) | |
116 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
113 | if (m_nmi_enable) | |
114 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
117 | 115 | } |
118 | 116 | |
119 | 117 | |
r17996 | r17997 | |
271 | 269 | /* basic machine hardware */ |
272 | 270 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/12) |
273 | 271 | MCFG_CPU_PROGRAM_MAP(jailbrek_map) |
274 | MCFG_CPU_VBLANK_INT("screen", jb_interrupt) | |
275 | MCFG_CPU_PERIODIC_INT(jb_interrupt_nmi, 500) /* ? */ | |
272 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jailbrek_state, jb_interrupt) | |
273 | MCFG_CPU_PERIODIC_INT_DRIVER(jailbrek_state, jb_interrupt_nmi, 500) /* ? */ | |
276 | 274 | |
277 | 275 | |
278 | 276 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
506 | 506 | /* basic machine hardware */ |
507 | 507 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* MC68000P10, 10 MHz */ |
508 | 508 | MCFG_CPU_PROGRAM_MAP(bigkarnk_map) |
509 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
509 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) | |
510 | 510 | |
511 | 511 | MCFG_CPU_ADD("audiocpu", M6809, 8867000/4) /* 68B09, 2.21675 MHz? */ |
512 | 512 | MCFG_CPU_PROGRAM_MAP(bigkarnk_snd_map) |
r17996 | r17997 | |
542 | 542 | /* basic machine hardware */ |
543 | 543 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz */ |
544 | 544 | MCFG_CPU_PROGRAM_MAP(maniacsq_map) |
545 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
545 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) | |
546 | 546 | |
547 | 547 | |
548 | 548 | /* video hardware */ |
r17996 | r17997 | |
570 | 570 | /* basic machine hardware */ |
571 | 571 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* MC68000P12, 12 MHz */ |
572 | 572 | MCFG_CPU_PROGRAM_MAP(squash_map) |
573 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
573 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) | |
574 | 574 | |
575 | 575 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
576 | 576 | |
r17996 | r17997 | |
600 | 600 | /* basic machine hardware */ |
601 | 601 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* MC68000P12, 12 MHz */ |
602 | 602 | MCFG_CPU_PROGRAM_MAP(thoop_map) |
603 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
603 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) | |
604 | 604 | |
605 | 605 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
606 | 606 |
r17996 | r17997 | |
---|---|---|
1099 | 1099 | Hot Chase Hardware Definitions |
1100 | 1100 | ***************************************************************************/ |
1101 | 1101 | |
1102 | ||
1102 | ||
1103 | 1103 | { |
1104 | generic_pulse_irq_line(device, M6809_FIRQ_LINE, 1); | |
1104 | generic_pulse_irq_line(device.execute(), M6809_FIRQ_LINE, 1); | |
1105 | 1105 | } |
1106 | 1106 | |
1107 | 1107 | static const k051316_interface hotchase_k051316_intf_0 = |
r17996 | r17997 | |
1146 | 1146 | |
1147 | 1147 | MCFG_CPU_ADD("audiocpu", M6809, 3579545 / 2) /* 3.579/2 MHz - PCB is drawn in one set's readme */ |
1148 | 1148 | MCFG_CPU_PROGRAM_MAP(hotchase_sound_map) |
1149 | MCFG_CPU_PERIODIC_INT( hotchase_sound_timer, 496 | |
1149 | MCFG_CPU_PERIODIC_INT_DRIVER(wecleman_state, hotchase_sound_timer, 496 | |
1150 | 1150 | |
1151 | 1151 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
1152 | 1152 |
r17996 | r17997 | |
---|---|---|
81 | 81 | virtual void video_start(); |
82 | 82 | virtual void palette_init(); |
83 | 83 | UINT32 screen_update_dderby(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
84 | INTERRUPT_GEN_MEMBER(dderby_irq); | |
85 | INTERRUPT_GEN_MEMBER(dderby_timer_irq); | |
84 | 86 | }; |
85 | 87 | |
86 | 88 | |
r17996 | r17997 | |
498 | 500 | } |
499 | 501 | |
500 | 502 | /*Main Z80 is IM 0,HW-latched irqs. */ |
501 | ||
503 | ||
502 | 504 | { |
503 | | |
505 | | |
504 | 506 | } |
505 | 507 | |
506 | ||
508 | ||
507 | 509 | { |
508 | | |
510 | | |
509 | 511 | } |
510 | 512 | |
511 | 513 | static MACHINE_CONFIG_START( dderby, dmndrby_state ) |
512 | 514 | /* basic machine hardware */ |
513 | 515 | MCFG_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */ |
514 | 516 | MCFG_CPU_PROGRAM_MAP(memmap) |
515 | MCFG_CPU_VBLANK_INT("screen", dderby_irq) | |
516 | MCFG_CPU_PERIODIC_INT(dderby_timer_irq, 244/2) | |
517 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dmndrby_state, dderby_irq) | |
518 | MCFG_CPU_PERIODIC_INT_DRIVER(dmndrby_state, dderby_timer_irq, 244/2) | |
517 | 519 | |
518 | 520 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* verified on schematics */ |
519 | 521 | MCFG_CPU_PROGRAM_MAP(dderby_sound_map) |
r17996 | r17997 | |
---|---|---|
355 | 355 | * |
356 | 356 | *************************************/ |
357 | 357 | |
358 | ||
358 | ||
359 | 359 | { |
360 | crbaloon_state *state = device->machine().driver_data<crbaloon_state>(); | |
361 | 360 | |
362 | if(state->m_irq_mask) | |
363 | device->execute().set_input_line(0, HOLD_LINE); | |
361 | if(m_irq_mask) | |
362 | device.execute().set_input_line(0, HOLD_LINE); | |
364 | 363 | } |
365 | 364 | |
366 | 365 | |
r17996 | r17997 | |
370 | 369 | MCFG_CPU_ADD("maincpu", Z80, CRBALOON_MASTER_XTAL / 3) |
371 | 370 | MCFG_CPU_PROGRAM_MAP(main_map) |
372 | 371 | MCFG_CPU_IO_MAP(main_io_map) |
373 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
372 | MCFG_CPU_VBLANK_INT_DRIVER("screen", crbaloon_state, vblank_irq) | |
374 | 373 | |
375 | 374 | |
376 | 375 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
243 | 243 | static MACHINE_CONFIG_START( portrait, portrait_state ) |
244 | 244 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */ |
245 | 245 | MCFG_CPU_PROGRAM_MAP(portrait_map) |
246 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
246 | MCFG_CPU_VBLANK_INT_DRIVER("screen", portrait_state, irq0_line_hold) | |
247 | 247 | |
248 | 248 | MCFG_CPU_ADD("audiocpu", I8039, 3120000) /* ? */ |
249 | 249 | MCFG_CPU_PROGRAM_MAP(portrait_sound_map) |
r17996 | r17997 | |
---|---|---|
41 | 41 | } |
42 | 42 | |
43 | 43 | /* trusted thru schematics, NMI and IRQ triggers at vblank, at the same time (!) */ |
44 | ||
44 | ||
45 | 45 | { |
46 | munchmo_state *state = device->machine().driver_data<munchmo_state>(); | |
47 | 46 | |
48 | if (state->m_nmi_enable) | |
49 | state->m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
47 | if (m_nmi_enable) | |
48 | m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
50 | 49 | |
51 | | |
50 | | |
52 | 51 | } |
53 | 52 | |
54 | ||
53 | ||
55 | 54 | { |
56 | //munchmo_state *state = device->machine().driver_data<munchmo_state>(); | |
57 | 55 | |
58 | device | |
56 | device. | |
59 | 57 | } |
60 | 58 | |
61 | 59 | WRITE8_MEMBER(munchmo_state::mnchmobl_soundlatch_w) |
r17996 | r17997 | |
330 | 328 | /* basic machine hardware */ |
331 | 329 | MCFG_CPU_ADD("maincpu", Z80, XTAL_15MHz/4) /* ? */ |
332 | 330 | MCFG_CPU_PROGRAM_MAP(mnchmobl_map) |
333 | MCFG_CPU_VBLANK_INT("screen", mnchmobl_vblank_irq) | |
331 | MCFG_CPU_VBLANK_INT_DRIVER("screen", munchmo_state, mnchmobl_vblank_irq) | |
334 | 332 | |
335 | 333 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_15MHz/4) /* ? */ |
336 | 334 | MCFG_CPU_PROGRAM_MAP(sound_map) |
337 | MCFG_CPU_VBLANK_INT("screen", mnchmobl_sound_irq) | |
335 | MCFG_CPU_VBLANK_INT_DRIVER("screen", munchmo_state, mnchmobl_sound_irq) | |
338 | 336 | |
339 | 337 | |
340 | 338 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
296 | 296 | MCFG_CPU_ADD("maincpu", Z80, 3072000) /* 3.072 MHz */ |
297 | 297 | MCFG_CPU_PROGRAM_MAP(funkybee_map) |
298 | 298 | MCFG_CPU_IO_MAP(io_map) |
299 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
299 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funkybee_state, irq0_line_hold) | |
300 | 300 | |
301 | 301 | |
302 | 302 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
327 | 327 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4) |
328 | 328 | MCFG_CPU_PROGRAM_MAP(sound_map) |
329 | 329 | MCFG_CPU_IO_MAP(sound_io_map) |
330 | MCFG_CPU_PERIODIC_INT(irq0_line_assert, 183) | |
330 | MCFG_CPU_PERIODIC_INT_DRIVER(btoads_state, irq0_line_assert, 183) | |
331 | 331 | |
332 | 332 | MCFG_NVRAM_ADD_1FILL("nvram") |
333 | 333 |
r17996 | r17997 | |
---|---|---|
500 | 500 | /* basic machine hardware */ |
501 | 501 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* Could be 8 MHz */ |
502 | 502 | MCFG_CPU_PROGRAM_MAP(lastduel_map) |
503 | MCFG_CPU_VBLANK_INT("screen",irq2_line_hold) | |
503 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lastduel_state, irq2_line_hold) | |
504 | 504 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lastduel_timer_cb, attotime::from_hz(120)) /* control reads?? */ |
505 | 505 | |
506 | 506 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* Accurate */ |
r17996 | r17997 | |
543 | 543 | /* basic machine hardware */ |
544 | 544 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* Accurate */ |
545 | 545 | MCFG_CPU_PROGRAM_MAP(madgear_map) |
546 | MCFG_CPU_VBLANK_INT("screen",irq5_line_hold) | |
546 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lastduel_state, irq5_line_hold) | |
547 | 547 | MCFG_TIMER_ADD_PERIODIC("timer_irq", madgear_timer_cb, attotime::from_hz(120)) /* control reads?? */ |
548 | 548 | |
549 | 549 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
r17996 | r17997 | |
---|---|---|
397 | 397 | |
398 | 398 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* Confirmed */ |
399 | 399 | MCFG_CPU_PROGRAM_MAP(drgnmst_main_map) |
400 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
400 | MCFG_CPU_VBLANK_INT_DRIVER("screen", drgnmst_state, irq2_line_hold) | |
401 | 401 | |
402 | 402 | MCFG_CPU_ADD("audiocpu", PIC16C55, 32000000/8) /* Confirmed */ |
403 | 403 | /* Program and Data Maps are internal to the MCU */ |
r17996 | r17997 | |
---|---|---|
67 | 67 | virtual void machine_reset(); |
68 | 68 | virtual void video_start(); |
69 | 69 | UINT32 screen_update_cmmb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
70 | INTERRUPT_GEN_MEMBER(cmmb_irq); | |
70 | 71 | }; |
71 | 72 | |
72 | 73 | |
r17996 | r17997 | |
301 | 302 | GFXDECODE_ENTRY( "gfx", 0, spritelayout, 0x10, 4 ) |
302 | 303 | GFXDECODE_END |
303 | 304 | |
304 | ||
305 | ||
305 | 306 | { |
306 | //if(device->machine().input().code_pressed_once(KEYCODE_Z)) | |
307 | //if(device->machine().input().code_pressed(KEYCODE_Z)) | |
308 | // device->execute().set_input_line(0, HOLD_LINE); | |
307 | //if(machine().input().code_pressed_once(KEYCODE_Z)) | |
308 | //if(machine().input().code_pressed(KEYCODE_Z)) | |
309 | // device.execute().set_input_line(0, HOLD_LINE); | |
309 | 310 | } |
310 | 311 | |
311 | 312 | void cmmb_state::machine_reset() |
r17996 | r17997 | |
317 | 318 | /* basic machine hardware */ |
318 | 319 | MCFG_CPU_ADD("maincpu", M65SC02, XTAL_72_576MHz/5) // Unknown clock, but chip rated for 14MHz |
319 | 320 | MCFG_CPU_PROGRAM_MAP(cmmb_map) |
320 | MCFG_CPU_VBLANK_INT("screen",cmmb_irq) | |
321 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cmmb_state, cmmb_irq) | |
321 | 322 | |
322 | 323 | /* video hardware */ |
323 | 324 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
263 | 263 | /* basic machine hardware */ |
264 | 264 | MCFG_CPU_ADD("maincpu", Z80, STARFIRE_CPU_CLOCK) |
265 | 265 | MCFG_CPU_PROGRAM_MAP(main_map) |
266 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
266 | MCFG_CPU_VBLANK_INT_DRIVER("screen", starfire_state, nmi_line_pulse) | |
267 | 267 | |
268 | 268 | /* video hardware */ |
269 | 269 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
279 | 279 | MCFG_CPU_ADD("maincpu", Z80, 4000000) |
280 | 280 | MCFG_CPU_PROGRAM_MAP(roul_map) |
281 | 281 | MCFG_CPU_IO_MAP(roul_cpu_io_map) |
282 | MCFG_CPU_VBLANK_INT("screen",nmi_line_pulse) | |
282 | MCFG_CPU_VBLANK_INT_DRIVER("screen", roul_state, nmi_line_pulse) | |
283 | 283 | |
284 | 284 | MCFG_CPU_ADD("soundcpu", Z80, 4000000) |
285 | 285 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
76 | 76 | m_nmi_en = data & 1; |
77 | 77 | } |
78 | 78 | |
79 | ||
79 | ||
80 | 80 | { |
81 | freekick_state *state = device->machine().driver_data<freekick_state>(); | |
82 | if (state->m_nmi_en) | |
83 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
81 | if (m_nmi_en) | |
82 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
84 | 83 | } |
85 | 84 | |
86 | 85 | WRITE8_MEMBER(freekick_state::oigas_5_w) |
r17996 | r17997 | |
632 | 631 | |
633 | 632 | MCFG_CPU_ADD("maincpu",Z80, 18432000/6) //confirmed |
634 | 633 | MCFG_CPU_PROGRAM_MAP(pbillrd_map) |
635 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 50*3) //?? | |
636 | MCFG_CPU_VBLANK_INT("screen", freekick_irqgen) | |
634 | MCFG_CPU_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 50*3) //?? | |
635 | MCFG_CPU_VBLANK_INT_DRIVER("screen", freekick_state, freekick_irqgen) | |
637 | 636 | |
638 | 637 | MCFG_GFXDECODE(freekick) |
639 | 638 |
r17996 | r17997 | |
---|---|---|
1564 | 1564 | |
1565 | 1565 | MCFG_CPU_ADD("cpu2", M68000, 10000000) |
1566 | 1566 | MCFG_CPU_PROGRAM_MAP(bigrun_map2) |
1567 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
1567 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cischeat_state, irq4_line_hold) | |
1568 | 1568 | |
1569 | 1569 | MCFG_CPU_ADD("cpu3", M68000, 10000000) |
1570 | 1570 | MCFG_CPU_PROGRAM_MAP(bigrun_map3) |
1571 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
1571 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cischeat_state, irq4_line_hold) | |
1572 | 1572 | |
1573 | 1573 | MCFG_CPU_ADD("soundcpu", M68000, 6000000) |
1574 | 1574 | MCFG_CPU_PROGRAM_MAP(bigrun_sound_map) |
1575 | MCFG_CPU_PERIODIC_INT(irq4_line_hold,16*30) | |
1575 | MCFG_CPU_PERIODIC_INT_DRIVER(cischeat_state, irq4_line_hold, 16*30) | |
1576 | 1576 | |
1577 | 1577 | MCFG_QUANTUM_TIME(attotime::from_hz(1200)) |
1578 | 1578 |
r17996 | r17997 | |
---|---|---|
391 | 391 | MCFG_CPU_PROGRAM_MAP(st0016_mem) |
392 | 392 | MCFG_CPU_IO_MAP(st0016_io) |
393 | 393 | |
394 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
394 | MCFG_CPU_VBLANK_INT_DRIVER("screen", speglsht_state, irq0_line_hold) | |
395 | 395 | |
396 | 396 | MCFG_CPU_ADD("sub", R3000LE, 25000000) |
397 | 397 | MCFG_CPU_CONFIG(r3000_config) |
398 | 398 | MCFG_CPU_PROGRAM_MAP(speglsht_mem) |
399 | MCFG_CPU_VBLANK_INT("screen", irq4_line_assert) | |
399 | MCFG_CPU_VBLANK_INT_DRIVER("screen", speglsht_state, irq4_line_assert) | |
400 | 400 | |
401 | 401 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
402 | 402 | MCFG_MACHINE_RESET_OVERRIDE(speglsht_state,speglsht) |
r17996 | r17997 | |
---|---|---|
804 | 804 | /* basic machine hardware */ |
805 | 805 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16) /* guess */ |
806 | 806 | MCFG_CPU_PROGRAM_MAP(magicfly_map) |
807 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
807 | MCFG_CPU_VBLANK_INT_DRIVER("screen", magicfly_state, nmi_line_pulse) | |
808 | 808 | |
809 | 809 | MCFG_NVRAM_ADD_0FILL("nvram") |
810 | 810 |
r17996 | r17997 | |
---|---|---|
472 | 472 | /* FWIW offset of 10000,10500 on ints can get CPUB obeying the |
473 | 473 | first CPUA command the same frame; probably not necessary */ |
474 | 474 | |
475 | ||
475 | ||
476 | 476 | { |
477 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000-500), FUNC(wgp_cpub_interrupt6)); | |
478 | device->execute().set_input_line(4, HOLD_LINE); | |
477 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(200000-500), FUNC(wgp_cpub_interrupt6)); | |
478 | device.execute().set_input_line(4, HOLD_LINE); | |
479 | 479 | } |
480 | 480 | |
481 | 481 | |
r17996 | r17997 | |
994 | 994 | /* basic machine hardware */ |
995 | 995 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
996 | 996 | MCFG_CPU_PROGRAM_MAP(main_map) |
997 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
997 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wgp_state, irq4_line_hold) | |
998 | 998 | |
999 | 999 | MCFG_CPU_ADD("audiocpu", Z80, 16000000/4) /* 4 MHz ??? */ |
1000 | 1000 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
1001 | 1001 | |
1002 | 1002 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
1003 | 1003 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
1004 | MCFG_CPU_VBLANK_INT("screen", wgp_cpub_interrupt) | |
1004 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wgp_state, wgp_cpub_interrupt) | |
1005 | 1005 | |
1006 | 1006 | |
1007 | 1007 | MCFG_QUANTUM_TIME(attotime::from_hz(30000)) |
r17996 | r17997 | |
---|---|---|
60 | 60 | MCFG_CPU_ADD("maincpu", Z180, 6000000) |
61 | 61 | MCFG_CPU_PROGRAM_MAP(atronic_map) |
62 | 62 | MCFG_CPU_IO_MAP(atronic_portmap) |
63 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
63 | MCFG_CPU_VBLANK_INT_DRIVER("screen", atronic_state, irq0_line_hold) | |
64 | 64 | |
65 | 65 | MCFG_SCREEN_ADD("screen", RASTER) |
66 | 66 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
707 | 707 | /* basic machine hardware */ |
708 | 708 | MCFG_CPU_ADD("maincpu", M68000,20000000/2) /* 10 MHz */ |
709 | 709 | MCFG_CPU_PROGRAM_MAP(main_map) |
710 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
710 | MCFG_CPU_VBLANK_INT_DRIVER("screen", welltris_state, irq1_line_hold) | |
711 | 711 | |
712 | 712 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */ |
713 | 713 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
709 | 709 | /* basic machine hardware */ |
710 | 710 | MCFG_CPU_ADD("maincpu", M68000,24000000 / 2) /* 12 MHz ??? */ |
711 | 711 | MCFG_CPU_PROGRAM_MAP(airsys_map) |
712 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
712 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoair_state, irq5_line_hold) | |
713 | 713 | |
714 | 714 | MCFG_CPU_ADD("audiocpu", Z80,8000000 / 2) /* 4 MHz ??? */ |
715 | 715 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
37 | 37 | |
38 | 38 | /*******************************************************************/ |
39 | 39 | |
40 | ||
40 | ||
41 | 41 | { |
42 | tceptor_state *state = device->machine().driver_data<tceptor_state>(); | |
43 | if (state->m_m6809_irq_enable) | |
44 | device->execute().set_input_line(0, HOLD_LINE); | |
42 | if (m_m6809_irq_enable) | |
43 | device.execute().set_input_line(0, HOLD_LINE); | |
45 | 44 | else |
46 | | |
45 | | |
47 | 46 | } |
48 | 47 | |
49 | 48 | WRITE8_MEMBER(tceptor_state::m6809_irq_enable_w) |
r17996 | r17997 | |
57 | 56 | } |
58 | 57 | |
59 | 58 | |
60 | ||
59 | ||
61 | 60 | { |
62 | tceptor_state *state = device->machine().driver_data<tceptor_state>(); | |
63 | if (state->m_m68k_irq_enable) | |
64 | device->execute().set_input_line(M68K_IRQ_1, HOLD_LINE); | |
61 | if (m_m68k_irq_enable) | |
62 | device.execute().set_input_line(M68K_IRQ_1, HOLD_LINE); | |
65 | 63 | } |
66 | 64 | |
67 | 65 | WRITE16_MEMBER(tceptor_state::m68k_irq_enable_w) |
r17996 | r17997 | |
70 | 68 | } |
71 | 69 | |
72 | 70 | |
73 | ||
71 | ||
74 | 72 | { |
75 | tceptor_state *state = device->machine().driver_data<tceptor_state>(); | |
76 | if (state->m_mcu_irq_enable) | |
77 | device->execute().set_input_line(0, HOLD_LINE); | |
73 | if (m_mcu_irq_enable) | |
74 | device.execute().set_input_line(0, HOLD_LINE); | |
78 | 75 | else |
79 | | |
76 | | |
80 | 77 | } |
81 | 78 | |
82 | 79 | WRITE8_MEMBER(tceptor_state::mcu_irq_enable_w) |
r17996 | r17997 | |
364 | 361 | /* basic machine hardware */ |
365 | 362 | MCFG_CPU_ADD("maincpu", M6809, 49152000/32) |
366 | 363 | MCFG_CPU_PROGRAM_MAP(m6809_map) |
367 | MCFG_CPU_VBLANK_INT("2dscreen", m6809_vb_interrupt) | |
364 | MCFG_CPU_VBLANK_INT_DRIVER("2dscreen", tceptor_state, m6809_vb_interrupt) | |
368 | 365 | |
369 | 366 | MCFG_CPU_ADD("audiocpu", M65C02, 49152000/24) |
370 | 367 | MCFG_CPU_PROGRAM_MAP(m6502_a_map) |
r17996 | r17997 | |
374 | 371 | |
375 | 372 | MCFG_CPU_ADD("sub", M68000, 49152000/4) |
376 | 373 | MCFG_CPU_PROGRAM_MAP(m68k_map) |
377 | MCFG_CPU_VBLANK_INT("2dscreen", m68k_vb_interrupt) | |
374 | MCFG_CPU_VBLANK_INT_DRIVER("2dscreen", tceptor_state, m68k_vb_interrupt) | |
378 | 375 | |
379 | 376 | MCFG_CPU_ADD("mcu", HD63701, 49152000/8) /* or compatible 6808 with extra instructions */ |
380 | 377 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
381 | 378 | MCFG_CPU_IO_MAP(mcu_io_map) |
382 | MCFG_CPU_VBLANK_INT("2dscreen", mcu_vb_interrupt) | |
379 | MCFG_CPU_VBLANK_INT_DRIVER("2dscreen", tceptor_state, mcu_vb_interrupt) | |
383 | 380 | |
384 | 381 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
385 | 382 |
r17996 | r17997 | |
---|---|---|
318 | 318 | /* basic machine hardware */ |
319 | 319 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) // clock not verified on pcb |
320 | 320 | MCFG_CPU_PROGRAM_MAP(main_map) |
321 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
321 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aquarium_state, irq1_line_hold) | |
322 | 322 | |
323 | 323 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/6) // clock not verified on pcb |
324 | 324 | MCFG_CPU_PROGRAM_MAP(snd_map) |
r17996 | r17997 | |
---|---|---|
627 | 627 | static MACHINE_CONFIG_START( gal3, gal3_state ) |
628 | 628 | MCFG_CPU_ADD("cpumst", M68020, 49152000/2) |
629 | 629 | MCFG_CPU_PROGRAM_MAP(cpu_mst_map) |
630 | MCFG_CPU_VBLANK_INT("lscreen", irq1_line_hold) | |
630 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", gal3_state, irq1_line_hold) | |
631 | 631 | |
632 | 632 | MCFG_CPU_ADD("cpuslv", M68020, 49152000/2) |
633 | 633 | MCFG_CPU_PROGRAM_MAP(cpu_slv_map) |
634 | MCFG_CPU_VBLANK_INT("lscreen", irq1_line_hold) | |
634 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", gal3_state, irq1_line_hold) | |
635 | 635 | |
636 | 636 | MCFG_CPU_ADD("rs_cpu", M68000, 49152000/4) |
637 | 637 | MCFG_CPU_PROGRAM_MAP(rs_cpu_map) |
638 | MCFG_CPU_VBLANK_INT("lscreen", irq5_line_hold) /// programmable via 148 IC | |
638 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", gal3_state, irq5_line_hold) /// programmable via 148 IC | |
639 | 639 | |
640 | 640 | MCFG_CPU_ADD("sound_cpu", M68000, 12000000) // ?? |
641 | 641 | MCFG_CPU_PROGRAM_MAP(sound_cpu_map) |
r17996 | r17997 | |
---|---|---|
187 | 187 | update_irq_state(machine()); |
188 | 188 | } |
189 | 189 | |
190 | ||
190 | ||
191 | 191 | { |
192 | metro_state *state = device->machine().driver_data<metro_state>(); | |
193 | 192 | |
194 | state->m_requested_int[state->m_vblank_bit] = 1; | |
195 | update_irq_state(device->machine()); | |
193 | m_requested_int[m_vblank_bit] = 1; | |
194 | update_irq_state(machine()); | |
196 | 195 | } |
197 | 196 | |
198 | ||
197 | ||
199 | 198 | { |
200 | metro_state *state = device->machine().driver_data<metro_state>(); | |
201 | 199 | |
202 | state->m_requested_int[4] = 1; | |
203 | update_irq_state(device->machine()); | |
200 | m_requested_int[4] = 1; | |
201 | update_irq_state(machine()); | |
204 | 202 | } |
205 | 203 | |
206 | 204 | static TIMER_CALLBACK( karatour_irq_callback ) |
r17996 | r17997 | |
210 | 208 | } |
211 | 209 | |
212 | 210 | /* lev 2-7 (lev 1 seems sound related) */ |
213 | ||
211 | ||
214 | 212 | { |
215 | metro_state *state = device->machine().driver_data<metro_state>(); | |
216 | 213 | |
217 | | |
214 | | |
218 | 215 | |
219 | 216 | /* write to scroll registers, the duration is a guess */ |
220 | device->machine().scheduler().timer_set(attotime::from_usec(2500), FUNC(karatour_irq_callback)); | |
221 | state->m_requested_int[5] = 1; | |
217 | machine().scheduler().timer_set(attotime::from_usec(2500), FUNC(karatour_irq_callback)); | |
218 | m_requested_int[5] = 1; | |
222 | 219 | |
223 | update_irq_state( | |
220 | update_irq_state( | |
224 | 221 | } |
225 | 222 | |
226 | 223 | static TIMER_CALLBACK( mouja_irq_callback ) |
r17996 | r17997 | |
238 | 235 | m_mouja_irq_timer->adjust(attotime::zero, 0, attotime::from_hz(freq)); |
239 | 236 | } |
240 | 237 | |
241 | ||
238 | ||
242 | 239 | { |
243 | metro_state *state = device->machine().driver_data<metro_state>(); | |
244 | 240 | |
245 | state->m_requested_int[state->m_vblank_bit] = 1; | |
246 | update_irq_state(device->machine()); | |
241 | m_requested_int[m_vblank_bit] = 1; | |
242 | update_irq_state(machine()); | |
247 | 243 | |
248 | | |
244 | | |
249 | 245 | } |
250 | 246 | |
251 | 247 | static void ymf278b_interrupt( device_t *device, int active ) |
r17996 | r17997 | |
3421 | 3417 | /* basic machine hardware */ |
3422 | 3418 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
3423 | 3419 | MCFG_CPU_PROGRAM_MAP(balcube_map) |
3424 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3425 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3420 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3421 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3426 | 3422 | |
3427 | 3423 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3428 | 3424 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3455 | 3451 | /* basic machine hardware */ |
3456 | 3452 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
3457 | 3453 | MCFG_CPU_PROGRAM_MAP(daitoa_map) |
3458 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3459 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3454 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3455 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3460 | 3456 | |
3461 | 3457 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3462 | 3458 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3489 | 3485 | /* basic machine hardware */ |
3490 | 3486 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
3491 | 3487 | MCFG_CPU_PROGRAM_MAP(msgogo_map) |
3492 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) // timing is off, shaking sprites in intro | |
3493 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 60) // ? | |
3488 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) // timing is off, shaking sprites in intro | |
3489 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 60) // ? | |
3494 | 3490 | |
3495 | 3491 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3496 | 3492 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3523 | 3519 | /* basic machine hardware */ |
3524 | 3520 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
3525 | 3521 | MCFG_CPU_PROGRAM_MAP(bangball_map) |
3526 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3527 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 60) // ? | |
3522 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3523 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 60) // ? | |
3528 | 3524 | |
3529 | 3525 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3530 | 3526 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3557 | 3553 | /* basic machine hardware */ |
3558 | 3554 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
3559 | 3555 | MCFG_CPU_PROGRAM_MAP(batlbubl_map) |
3560 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3561 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 60) // ? | |
3556 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3557 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 60) // ? | |
3562 | 3558 | |
3563 | 3559 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3564 | 3560 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3590 | 3586 | /* basic machine hardware */ |
3591 | 3587 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) |
3592 | 3588 | MCFG_CPU_PROGRAM_MAP(daitorid_map) |
3593 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3594 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3589 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3590 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3595 | 3591 | |
3596 | 3592 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_12MHz) |
3597 | 3593 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
3633 | 3629 | /* basic machine hardware */ |
3634 | 3630 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
3635 | 3631 | MCFG_CPU_PROGRAM_MAP(dharma_map) |
3636 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3637 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3632 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3633 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3638 | 3634 | |
3639 | 3635 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
3640 | 3636 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
3675 | 3671 | /* basic machine hardware */ |
3676 | 3672 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
3677 | 3673 | MCFG_CPU_PROGRAM_MAP(karatour_map) |
3678 | MCFG_CPU_VBLANK_INT("screen", karatour_interrupt) | |
3679 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3674 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt) | |
3675 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3680 | 3676 | |
3681 | 3677 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
3682 | 3678 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
3717 | 3713 | /* basic machine hardware */ |
3718 | 3714 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
3719 | 3715 | MCFG_CPU_PROGRAM_MAP(kokushi_map) |
3720 | MCFG_CPU_VBLANK_INT("screen", karatour_interrupt) | |
3721 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3716 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt) | |
3717 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3722 | 3718 | |
3723 | 3719 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
3724 | 3720 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
3759 | 3755 | /* basic machine hardware */ |
3760 | 3756 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
3761 | 3757 | MCFG_CPU_PROGRAM_MAP(lastfort_map) |
3762 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3763 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3758 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3759 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3764 | 3760 | |
3765 | 3761 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
3766 | 3762 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
3800 | 3796 | /* basic machine hardware */ |
3801 | 3797 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
3802 | 3798 | MCFG_CPU_PROGRAM_MAP(lastforg_map) |
3803 | MCFG_CPU_VBLANK_INT("screen", karatour_interrupt) | |
3804 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3799 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt) | |
3800 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3805 | 3801 | |
3806 | 3802 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
3807 | 3803 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
3841 | 3837 | /* basic machine hardware */ |
3842 | 3838 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
3843 | 3839 | MCFG_CPU_PROGRAM_MAP(dokyusei_map) |
3844 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3840 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3845 | 3841 | |
3846 | 3842 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3847 | 3843 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3876 | 3872 | /* basic machine hardware */ |
3877 | 3873 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) |
3878 | 3874 | MCFG_CPU_PROGRAM_MAP(dokyusp_map) |
3879 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3875 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3880 | 3876 | |
3881 | 3877 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3882 | 3878 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3913 | 3909 | /* basic machine hardware */ |
3914 | 3910 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 26.6660MHz/2?, OSCs listed are 26.6660MHz & 3.579545MHz */ |
3915 | 3911 | MCFG_CPU_PROGRAM_MAP(gakusai_map) |
3916 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3912 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3917 | 3913 | |
3918 | 3914 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3919 | 3915 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3950 | 3946 | /* basic machine hardware */ |
3951 | 3947 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 26.6660MHz/2?, OSCs listed are 26.6660MHz & 3.579545MHz */ |
3952 | 3948 | MCFG_CPU_PROGRAM_MAP(gakusai2_map) |
3953 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3949 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3954 | 3950 | |
3955 | 3951 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
3956 | 3952 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
3987 | 3983 | /* basic machine hardware */ |
3988 | 3984 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
3989 | 3985 | MCFG_CPU_PROGRAM_MAP(pangpoms_map) |
3990 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
3991 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
3986 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
3987 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
3992 | 3988 | |
3993 | 3989 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
3994 | 3990 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
4029 | 4025 | /* basic machine hardware */ |
4030 | 4026 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
4031 | 4027 | MCFG_CPU_PROGRAM_MAP(poitto_map) |
4032 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
4033 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
4028 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
4029 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
4034 | 4030 | |
4035 | 4031 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
4036 | 4032 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
4071 | 4067 | /* basic machine hardware */ |
4072 | 4068 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* Not confirmed */ |
4073 | 4069 | MCFG_CPU_PROGRAM_MAP(pururun_map) |
4074 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
4075 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
4070 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
4071 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
4076 | 4072 | |
4077 | 4073 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) /* Not confiremd */ |
4078 | 4074 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
4114 | 4110 | /* basic machine hardware */ |
4115 | 4111 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
4116 | 4112 | MCFG_CPU_PROGRAM_MAP(skyalert_map) |
4117 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
4118 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
4113 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
4114 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
4119 | 4115 | |
4120 | 4116 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
4121 | 4117 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
4156 | 4152 | /* basic machine hardware */ |
4157 | 4153 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
4158 | 4154 | MCFG_CPU_PROGRAM_MAP(toride2g_map) |
4159 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
4160 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
4155 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
4156 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
4161 | 4157 | |
4162 | 4158 | MCFG_CPU_ADD("audiocpu", UPD7810, XTAL_24MHz/2) |
4163 | 4159 | MCFG_CPU_CONFIG(metro_cpu_config) |
r17996 | r17997 | |
4198 | 4194 | /* basic machine hardware */ |
4199 | 4195 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
4200 | 4196 | MCFG_CPU_PROGRAM_MAP(mouja_map) |
4201 | MCFG_CPU_VBLANK_INT("screen", metro_vblank_interrupt) | |
4197 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, metro_vblank_interrupt) | |
4202 | 4198 | |
4203 | 4199 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
4204 | 4200 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
4238 | 4234 | /* basic machine hardware */ |
4239 | 4235 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
4240 | 4236 | MCFG_CPU_PROGRAM_MAP(blzntrnd_map) |
4241 | MCFG_CPU_VBLANK_INT("screen", karatour_interrupt) | |
4242 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
4237 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt) | |
4238 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
4243 | 4239 | |
4244 | 4240 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/2) |
4245 | 4241 | MCFG_CPU_PROGRAM_MAP(blzntrnd_sound_map) |
r17996 | r17997 | |
4286 | 4282 | /* basic machine hardware */ |
4287 | 4283 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
4288 | 4284 | MCFG_CPU_PROGRAM_MAP(blzntrnd_map) |
4289 | MCFG_CPU_VBLANK_INT("screen", karatour_interrupt) | |
4290 | MCFG_CPU_PERIODIC_INT(metro_periodic_interrupt, 8*60) // ? | |
4285 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, karatour_interrupt) | |
4286 | MCFG_CPU_PERIODIC_INT_DRIVER(metro_state, metro_periodic_interrupt, 8*60) // ? | |
4291 | 4287 | |
4292 | 4288 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/2) |
4293 | 4289 | MCFG_CPU_PROGRAM_MAP(blzntrnd_sound_map) |
r17996 | r17997 | |
4329 | 4325 | MCFG_CPU_ADD("maincpu", H83007, XTAL_20MHz) // H8/3007 - Hitachi HD6413007F20 CPU. Clock 20MHz |
4330 | 4326 | MCFG_CPU_PROGRAM_MAP(puzzlet_map) |
4331 | 4327 | MCFG_CPU_IO_MAP(puzzlet_io_map) |
4332 | MCFG_CPU_VBLANK_INT("screen", puzzlet_interrupt) | |
4328 | MCFG_CPU_VBLANK_INT_DRIVER("screen", metro_state, puzzlet_interrupt) | |
4333 | 4329 | |
4334 | 4330 | MCFG_MACHINE_START_OVERRIDE(metro_state,metro) |
4335 | 4331 | MCFG_MACHINE_RESET_OVERRIDE(metro_state,metro) |
r17996 | r17997 | |
---|---|---|
602 | 602 | MCFG_CPU_ADD("maincpu", Z80, XTAL_6MHz) |
603 | 603 | MCFG_CPU_PROGRAM_MAP(main_map) |
604 | 604 | MCFG_CPU_IO_MAP(main_portmap) |
605 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
605 | MCFG_CPU_VBLANK_INT_DRIVER("screen", angelkds_state, irq0_line_hold) | |
606 | 606 | |
607 | 607 | MCFG_CPU_ADD("sub", Z80, XTAL_4MHz) |
608 | 608 | MCFG_CPU_PROGRAM_MAP(sub_map) |
r17996 | r17997 | |
---|---|---|
112 | 112 | DECLARE_WRITE8_MEMBER(jrpacman_interrupt_vector_w); |
113 | 113 | DECLARE_WRITE8_MEMBER(irq_mask_w); |
114 | 114 | DECLARE_DRIVER_INIT(jrpacman); |
115 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
115 | 116 | }; |
116 | 117 | |
117 | 118 | |
r17996 | r17997 | |
280 | 281 | * |
281 | 282 | *************************************/ |
282 | 283 | |
283 | ||
284 | ||
284 | 285 | { |
285 | jrpacman_state *state = device->machine().driver_data<jrpacman_state>(); | |
286 | 286 | |
287 | if(state->m_irq_mask) | |
288 | device->execute().set_input_line(0, HOLD_LINE); | |
287 | if(m_irq_mask) | |
288 | device.execute().set_input_line(0, HOLD_LINE); | |
289 | 289 | } |
290 | 290 | |
291 | 291 | static MACHINE_CONFIG_START( jrpacman, jrpacman_state ) |
r17996 | r17997 | |
294 | 294 | MCFG_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */ |
295 | 295 | MCFG_CPU_PROGRAM_MAP(main_map) |
296 | 296 | MCFG_CPU_IO_MAP(port_map) |
297 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
297 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jrpacman_state, vblank_irq) | |
298 | 298 | |
299 | 299 | /* video hardware */ |
300 | 300 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
868 | 868 | MCFG_CPU_ADD("maincpu", Z80,MASTER_CLOCK / 8) /* ? MHz */ |
869 | 869 | MCFG_CPU_PROGRAM_MAP(royalqn_map) |
870 | 870 | MCFG_CPU_IO_MAP(royalqn_io) |
871 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
871 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nightgal_state, irq0_line_hold) | |
872 | 872 | |
873 | 873 | MCFG_CPU_ADD("sub", NSC8105, MASTER_CLOCK / 8) |
874 | 874 | MCFG_CPU_PROGRAM_MAP(royalqn_nsc_map) |
r17996 | r17997 | |
902 | 902 | MCFG_CPU_MODIFY("maincpu") |
903 | 903 | MCFG_CPU_PROGRAM_MAP(sexygal_map) |
904 | 904 | MCFG_CPU_IO_MAP(sexygal_io) |
905 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,244)//??? | |
905 | MCFG_CPU_PERIODIC_INT_DRIVER(nightgal_state, nmi_line_pulse, 244)//??? | |
906 | 906 | |
907 | 907 | MCFG_CPU_MODIFY("sub") |
908 | 908 | MCFG_CPU_PROGRAM_MAP(sexygal_nsc_map) |
909 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
909 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nightgal_state, irq0_line_hold) | |
910 | 910 | |
911 | 911 | MCFG_DEVICE_REMOVE("aysnd") |
912 | 912 | |
r17996 | r17997 | |
919 | 919 | MCFG_CPU_MODIFY("maincpu") |
920 | 920 | MCFG_CPU_PROGRAM_MAP(royalqn_map) |
921 | 921 | MCFG_CPU_IO_MAP(royalqn_io) |
922 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,244)//??? | |
922 | MCFG_CPU_PERIODIC_INT_DRIVER(nightgal_state, nmi_line_pulse, 244)//??? | |
923 | 923 | MACHINE_CONFIG_END |
924 | 924 | |
925 | 925 | /* |
r17996 | r17997 | |
---|---|---|
243 | 243 | virtual void video_start(); |
244 | 244 | UINT32 screen_update_maygayv1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
245 | 245 | void screen_eof_maygayv1(screen_device &screen, bool state); |
246 | INTERRUPT_GEN_MEMBER(vsync_interrupt); | |
246 | 247 | }; |
247 | 248 | |
248 | 249 | |
r17996 | r17997 | |
1025 | 1026 | } |
1026 | 1027 | |
1027 | 1028 | |
1028 | ||
1029 | ||
1029 | 1030 | { |
1030 | maygayv1_state *state = device->machine().driver_data<maygayv1_state>(); | |
1031 | if (state->m_vsync_latch_preset) | |
1032 | device->machine().device("maincpu")->execute().set_input_line(3, ASSERT_LINE); | |
1031 | if (m_vsync_latch_preset) | |
1032 | machine().device("maincpu")->execute().set_input_line(3, ASSERT_LINE); | |
1033 | 1033 | } |
1034 | 1034 | |
1035 | 1035 | |
1036 | 1036 | static MACHINE_CONFIG_START( maygayv1, maygayv1_state ) |
1037 | 1037 | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2) |
1038 | 1038 | MCFG_CPU_PROGRAM_MAP(main_map) |
1039 | MCFG_CPU_VBLANK_INT("screen", vsync_interrupt) | |
1039 | MCFG_CPU_VBLANK_INT_DRIVER("screen", maygayv1_state, vsync_interrupt) | |
1040 | 1040 | |
1041 | 1041 | MCFG_CPU_ADD("soundcpu", I8052, SOUND_CLOCK) |
1042 | 1042 | MCFG_CPU_PROGRAM_MAP(sound_prg) |
r17996 | r17997 | |
---|---|---|
265 | 265 | AM_RANGE(H8_ADC_0_L, H8_ADC_3_H) AM_NOP // MCU reads these, but the games have no analog controls |
266 | 266 | ADDRESS_MAP_END |
267 | 267 | |
268 | ||
268 | ||
269 | 269 | { |
270 | namcond1_state *state = device->machine().driver_data<namcond1_state>(); | |
271 | if( state->m_h8_irq5_enabled ) | |
270 | if( m_h8_irq5_enabled ) | |
272 | 271 | { |
273 | generic_pulse_irq_line(device, H8_IRQ5, 1); | |
272 | generic_pulse_irq_line(device.execute(), H8_IRQ5, 1); | |
274 | 273 | } |
275 | 274 | } |
276 | 275 | |
r17996 | r17997 | |
286 | 285 | /* basic machine hardware */ |
287 | 286 | MCFG_CPU_ADD("maincpu", M68000, XTAL_49_152MHz/4) |
288 | 287 | MCFG_CPU_PROGRAM_MAP(namcond1_map) |
289 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
288 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcond1_state, irq1_line_hold) | |
290 | 289 | |
291 | 290 | // I've disabled this for now, I don't think it's correct, it breaks ncv2 'game options' in test |
292 | 291 | // mode (and could also be responsible for the random resets?) |
r17996 | r17997 | |
298 | 297 | MCFG_CPU_ADD("mcu", H83002, XTAL_49_152MHz/3 ) |
299 | 298 | MCFG_CPU_PROGRAM_MAP( nd1h8rwmap) |
300 | 299 | MCFG_CPU_IO_MAP( nd1h8iomap) |
301 | MCFG_CPU_VBLANK_INT("screen", mcu_interrupt) | |
300 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcond1_state, mcu_interrupt) | |
302 | 301 | |
303 | 302 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
304 | 303 |
r17996 | r17997 | |
---|---|---|
268 | 268 | /* basic machine hardware */ |
269 | 269 | MCFG_CPU_ADD("maincpu", M65C02,24000000/16) /* ? MHz */ |
270 | 270 | MCFG_CPU_PROGRAM_MAP(rgum_map) |
271 | ||
271 | | |
272 | 272 | |
273 | 273 | /* video hardware */ |
274 | 274 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
18 | 18 | /* prototypes */ |
19 | 19 | static KONAMI_SETLINES_CALLBACK( surpratk_banking ); |
20 | 20 | |
21 | ||
21 | ||
22 | 22 | { |
23 | surpratk_state *state = device->machine().driver_data<surpratk_state>(); | |
24 | if (k052109_is_irq_enabled(state->m_k052109)) | |
25 | device->execute().set_input_line(0, HOLD_LINE); | |
23 | if (k052109_is_irq_enabled(m_k052109)) | |
24 | device.execute().set_input_line(0, HOLD_LINE); | |
26 | 25 | } |
27 | 26 | |
28 | 27 | READ8_MEMBER(surpratk_state::bankedram_r) |
r17996 | r17997 | |
230 | 229 | /* basic machine hardware */ |
231 | 230 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* 053248 */ |
232 | 231 | MCFG_CPU_PROGRAM_MAP(surpratk_map) |
233 | MCFG_CPU_VBLANK_INT("screen", surpratk_interrupt) | |
232 | MCFG_CPU_VBLANK_INT_DRIVER("screen", surpratk_state, surpratk_interrupt) | |
234 | 233 | |
235 | 234 | |
236 | 235 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
95 | 95 | MCFG_CPU_ADD("maincpu",I80188,20000000) // N80C188-20 AMD |
96 | 96 | MCFG_CPU_PROGRAM_MAP(neptunp2_map) |
97 | 97 | MCFG_CPU_IO_MAP(neptunp2_io) |
98 | ||
98 | | |
99 | 99 | |
100 | 100 | /* video hardware */ |
101 | 101 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
151 | 151 | m_last_port0b = data; |
152 | 152 | } |
153 | 153 | |
154 | ||
154 | ||
155 | 155 | { |
156 | zaccaria_state *state = device->machine().driver_data<zaccaria_state>(); | |
157 | pia6821_device *pia0 = device->machine().device<pia6821_device>("pia0"); | |
156 | pia6821_device *pia0 = machine().device<pia6821_device>("pia0"); | |
158 | 157 | |
159 | pia0->cb1_w(state->m_toggle & 1); | |
160 | state->m_toggle ^= 1; | |
158 | pia0->cb1_w(m_toggle & 1); | |
159 | m_toggle ^= 1; | |
161 | 160 | } |
162 | 161 | |
163 | 162 | WRITE8_MEMBER(zaccaria_state::zaccaria_port1b_w) |
r17996 | r17997 | |
570 | 569 | DEVCB_DEVICE_LINE_MEMBER("pia1", pia6821_device, ca2_w) /* READYQ handler */ |
571 | 570 | }; |
572 | 571 | |
573 | ||
572 | ||
574 | 573 | { |
575 | zaccaria_state *state = device->machine().driver_data<zaccaria_state>(); | |
576 | 574 | |
577 | if(state->m_nmi_mask) | |
578 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
575 | if(m_nmi_mask) | |
576 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
579 | 577 | } |
580 | 578 | |
581 | 579 | |
r17996 | r17997 | |
584 | 582 | /* basic machine hardware */ |
585 | 583 | MCFG_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/6) /* verified on pcb */ |
586 | 584 | MCFG_CPU_PROGRAM_MAP(main_map) |
587 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
585 | MCFG_CPU_VBLANK_INT_DRIVER("screen", zaccaria_state, vblank_irq) | |
588 | 586 | MCFG_QUANTUM_TIME(attotime::from_hz(1000000)) |
589 | 587 | |
590 | 588 | MCFG_CPU_ADD("audiocpu", M6802,XTAL_3_579545MHz) /* verified on pcb */ |
591 | 589 | MCFG_CPU_PROGRAM_MAP(sound_map_1) |
592 | MCFG_CPU_PERIODIC_INT(zaccaria_cb1_toggle,(double)XTAL_3_579545MHz/4096) | |
590 | MCFG_CPU_PERIODIC_INT_DRIVER(zaccaria_state, zaccaria_cb1_toggle, (double)XTAL_3_579545MHz/4096) | |
593 | 591 | MCFG_QUANTUM_TIME(attotime::from_hz(1000000)) |
594 | 592 | |
595 | 593 | MCFG_CPU_ADD("audio2", M6802,XTAL_3_579545MHz) /* verified on pcb */ |
r17996 | r17997 | |
---|---|---|
223 | 223 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ??? */ |
224 | 224 | MCFG_CPU_PROGRAM_MAP(main_cpu_map) |
225 | 225 | MCFG_CPU_IO_MAP(main_cpu_io_map) |
226 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
226 | MCFG_CPU_VBLANK_INT_DRIVER("screen", speedbal_state, irq0_line_hold) | |
227 | 227 | |
228 | 228 | MCFG_CPU_ADD("audiocpu", Z80, 2660000) /* 2.66 MHz ??? Maybe yes */ |
229 | 229 | MCFG_CPU_PROGRAM_MAP(sound_cpu_map) |
230 | 230 | MCFG_CPU_IO_MAP(sound_cpu_io_map) |
231 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8*60) | |
231 | MCFG_CPU_PERIODIC_INT_DRIVER(speedbal_state, irq0_line_hold, 8*60) | |
232 | 232 | |
233 | 233 | MCFG_NVRAM_ADD_1FILL("nvram") |
234 | 234 |
r17996 | r17997 | |
---|---|---|
69 | 69 | |
70 | 70 | DECLARE_READ8_MEMBER( vic_videoram_r ); |
71 | 71 | DECLARE_READ8_MEMBER( vic_colorram_r ); |
72 | INTERRUPT_GEN_MEMBER(attckufo_raster_interrupt); | |
72 | 73 | }; |
73 | 74 | |
74 | 75 | READ8_MEMBER(attckufo_state::attckufo_io_r) |
r17996 | r17997 | |
148 | 149 | INPUT_PORTS_END |
149 | 150 | |
150 | 151 | |
151 | ||
152 | ||
152 | 153 | { |
153 | attckufo_state *state = device->machine().driver_data<attckufo_state>(); | |
154 | state->m_mos6560->raster_interrupt_gen(); | |
154 | m_mos6560->raster_interrupt_gen(); | |
155 | 155 | } |
156 | 156 | |
157 | 157 | static MOS6560_INTERFACE( vic_intf ) |
r17996 | r17997 | |
166 | 166 | /* basic machine hardware */ |
167 | 167 | MCFG_CPU_ADD("maincpu", M6502, 14318181/14) |
168 | 168 | MCFG_CPU_PROGRAM_MAP(cpu_map) |
169 | MCFG_CPU_PERIODIC_INT(attckufo_raster_interrupt, MOS656X_HRETRACERATE) | |
169 | MCFG_CPU_PERIODIC_INT_DRIVER(attckufo_state, attckufo_raster_interrupt, MOS656X_HRETRACERATE) | |
170 | 170 | |
171 | 171 | /* video hardware */ |
172 | 172 | MCFG_MOS656X_ATTACK_UFO_ADD("mos6560", "screen", 14318181/14, vic_intf, vic_videoram_map, vic_colorram_map) |
r17996 | r17997 | |
---|---|---|
494 | 494 | MCFG_CPU_ADD("maincpu", Z80,JONGKYO_CLOCK/4) |
495 | 495 | MCFG_CPU_PROGRAM_MAP(jongkyo_memmap) |
496 | 496 | MCFG_CPU_IO_MAP(jongkyo_portmap) |
497 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
497 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jongkyo_state, irq0_line_hold) | |
498 | 498 | |
499 | 499 | |
500 | 500 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
195 | 195 | GFXDECODE_END |
196 | 196 | |
197 | 197 | |
198 | ||
198 | ||
199 | 199 | { |
200 | tagteam_state *state = device->machine().driver_data<tagteam_state>(); | |
201 | 200 | |
202 | if(state->m_sound_nmi_mask) | |
203 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
201 | if(m_sound_nmi_mask) | |
202 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
204 | 203 | } |
205 | 204 | |
206 | 205 | |
r17996 | r17997 | |
209 | 208 | /* basic machine hardware */ |
210 | 209 | MCFG_CPU_ADD("maincpu", M6502, XTAL_12MHz/8) |
211 | 210 | MCFG_CPU_PROGRAM_MAP(main_map) |
212 | MCFG_CPU_PERIODIC_INT(irq0_line_assert,272/16*57) // connected to bit 4 of vcount (basically once every 16 scanlines) | |
211 | MCFG_CPU_PERIODIC_INT_DRIVER(tagteam_state, irq0_line_assert, 272/16*57) // connected to bit 4 of vcount (basically once every 16 scanlines) | |
213 | 212 | |
214 | 213 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz/2/6) // daughterboard gets 12mhz/2 from mainboard, but how it's divided further is a guess |
215 | 214 | MCFG_CPU_PROGRAM_MAP(sound_map) |
216 | MCFG_CPU_PERIODIC_INT(sound_timer_irq,272/16*57) // same source as maincpu irq | |
215 | MCFG_CPU_PERIODIC_INT_DRIVER(tagteam_state, sound_timer_irq, 272/16*57) // same source as maincpu irq | |
217 | 216 | |
218 | 217 | /* video hardware */ |
219 | 218 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
1435 | 1435 | DECLARE_VIDEO_START(ss23); |
1436 | 1436 | DECLARE_MACHINE_RESET(gmen); |
1437 | 1437 | UINT32 screen_update_ss23(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
1438 | INTERRUPT_GEN_MEMBER(s23_interrupt); | |
1438 | 1439 | }; |
1439 | 1440 | |
1440 | 1441 | |
r17996 | r17997 | |
2432 | 2433 | return 0; |
2433 | 2434 | } |
2434 | 2435 | |
2435 | ||
2436 | ||
2436 | 2437 | { |
2437 | namcos23_state *state = device->machine().driver_data<namcos23_state>(); | |
2438 | render_t &render = state->m_render; | |
2438 | render_t &render = m_render; | |
2439 | 2439 | |
2440 | if(!state->m_ctl_vbl_active) { | |
2441 | state->m_ctl_vbl_active = true; | |
2442 | device->execute().set_input_line(MIPS3_IRQ0, ASSERT_LINE); | |
2440 | if(!m_ctl_vbl_active) { | |
2441 | m_ctl_vbl_active = true; | |
2442 | device.execute().set_input_line(MIPS3_IRQ0, ASSERT_LINE); | |
2443 | 2443 | } |
2444 | 2444 | |
2445 | 2445 | render.cur = !render.cur; |
r17996 | r17997 | |
3148 | 3148 | MCFG_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*4) |
3149 | 3149 | MCFG_CPU_CONFIG(r4650_config) |
3150 | 3150 | MCFG_CPU_PROGRAM_MAP(gorgon_map) |
3151 | MCFG_CPU_VBLANK_INT("screen", s23_interrupt) | |
3151 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos23_state, s23_interrupt) | |
3152 | 3152 | |
3153 | 3153 | MCFG_CPU_ADD("audiocpu", H83002, S23_H8CLOCK ) |
3154 | 3154 | MCFG_CPU_PROGRAM_MAP( s23h8rwmap ) |
3155 | 3155 | MCFG_CPU_IO_MAP( s23h8iomap ) |
3156 | MCFG_CPU_VBLANK_INT("screen", irq1_line_pulse) | |
3156 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos23_state, irq1_line_pulse) | |
3157 | 3157 | |
3158 | 3158 | MCFG_CPU_ADD("ioboard", H83334, S23_H8CLOCK ) |
3159 | 3159 | MCFG_CPU_PROGRAM_MAP( gorgoniobrdmap ) |
r17996 | r17997 | |
3193 | 3193 | MCFG_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*4) |
3194 | 3194 | MCFG_CPU_CONFIG(r4650_config) |
3195 | 3195 | MCFG_CPU_PROGRAM_MAP(ss23_map) |
3196 | MCFG_CPU_VBLANK_INT("screen", s23_interrupt) | |
3196 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos23_state, s23_interrupt) | |
3197 | 3197 | |
3198 | 3198 | MCFG_CPU_ADD("audiocpu", H83002, S23_H8CLOCK ) |
3199 | 3199 | MCFG_CPU_PROGRAM_MAP( s23h8rwmap ) |
3200 | 3200 | MCFG_CPU_IO_MAP( s23h8iomap ) |
3201 | MCFG_CPU_VBLANK_INT("screen", irq1_line_pulse) | |
3201 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos23_state, irq1_line_pulse) | |
3202 | 3202 | |
3203 | 3203 | MCFG_CPU_ADD("ioboard", H83334, S23_H8CLOCK ) |
3204 | 3204 | MCFG_CPU_PROGRAM_MAP( s23iobrdmap ) |
r17996 | r17997 | |
3238 | 3238 | MCFG_CPU_ADD("maincpu", R4650BE, S23_BUSCLOCK*5) |
3239 | 3239 | MCFG_CPU_CONFIG(r4650_config) |
3240 | 3240 | MCFG_CPU_PROGRAM_MAP(ss23_map) |
3241 | MCFG_CPU_VBLANK_INT("screen", s23_interrupt) | |
3241 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos23_state, s23_interrupt) | |
3242 | 3242 | |
3243 | 3243 | MCFG_CPU_ADD("audiocpu", H83002, S23_H8CLOCK ) |
3244 | 3244 | MCFG_CPU_PROGRAM_MAP( s23h8rwmap ) |
3245 | 3245 | MCFG_CPU_IO_MAP( s23h8noiobmap ) |
3246 | MCFG_CPU_VBLANK_INT("screen", irq1_line_pulse) | |
3246 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos23_state, irq1_line_pulse) | |
3247 | 3247 | |
3248 | 3248 | MCFG_QUANTUM_TIME(attotime::from_hz(60000)) |
3249 | 3249 |
r17996 | r17997 | |
---|---|---|
216 | 216 | |
217 | 217 | /* Interrupt Generator */ |
218 | 218 | |
219 | ||
219 | ||
220 | 220 | { |
221 | device | |
221 | device. | |
222 | 222 | } |
223 | 223 | |
224 | 224 | /* Machine Driver */ |
r17996 | r17997 | |
247 | 247 | /* basic machine hardware */ |
248 | 248 | MCFG_CPU_ADD("maincpu", Z80, PHI_MAIN) // ??? |
249 | 249 | MCFG_CPU_PROGRAM_MAP(commando_map) |
250 | MCFG_CPU_VBLANK_INT("screen", commando_interrupt) | |
250 | MCFG_CPU_VBLANK_INT_DRIVER("screen", commando_state, commando_interrupt) | |
251 | 251 | |
252 | 252 | MCFG_CPU_ADD("audiocpu", Z80, PHI_B) // 3 MHz |
253 | 253 | MCFG_CPU_PROGRAM_MAP(sound_map) |
254 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) | |
254 | MCFG_CPU_PERIODIC_INT_DRIVER(commando_state, irq0_line_hold, 4*60) | |
255 | 255 | |
256 | 256 | |
257 | 257 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
259 | 259 | * |
260 | 260 | *************************************/ |
261 | 261 | |
262 | ||
262 | ||
263 | 263 | { |
264 | atarisy2_state *state = device->machine().driver_data<atarisy2_state>(); | |
265 | 264 | |
266 | 265 | /* clock the VBLANK through */ |
267 | if (state->m_interrupt_enable & 8) | |
268 | atarigen_video_int_gen(device); | |
266 | if (m_interrupt_enable & 8) | |
267 | atarigen_video_int_gen(&device); | |
269 | 268 | } |
270 | 269 | |
271 | 270 | |
r17996 | r17997 | |
1262 | 1261 | MCFG_CPU_ADD("maincpu", T11, MASTER_CLOCK/2) |
1263 | 1262 | MCFG_CPU_CONFIG(t11_data) |
1264 | 1263 | MCFG_CPU_PROGRAM_MAP(main_map) |
1265 | MCFG_CPU_VBLANK_INT("screen", vblank_int) | |
1264 | MCFG_CPU_VBLANK_INT_DRIVER("screen", atarisy2_state, vblank_int) | |
1266 | 1265 | |
1267 | 1266 | MCFG_CPU_ADD("soundcpu", M6502, SOUND_CLOCK/8) |
1268 | 1267 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
143 | 143 | } |
144 | 144 | |
145 | 145 | |
146 | ||
146 | ||
147 | 147 | { |
148 | skydiver_state *state = device->machine().driver_data<skydiver_state>(); | |
149 | device_t *discrete = device->machine().device("discrete"); | |
148 | device_t *discrete = machine().device("discrete"); | |
150 | 149 | |
151 | 150 | /* Convert range data to divide value and write to sound */ |
152 | address_space &space = *device->machine().firstcpu->space(AS_PROGRAM); | |
153 | discrete_sound_w(discrete, space, SKYDIVER_RANGE_DATA, (0x01 << (~state->m_videoram[0x394] & 0x07)) & 0xff); // Range 0-2 | |
151 | address_space &space = *machine().firstcpu->space(AS_PROGRAM); | |
152 | discrete_sound_w(discrete, space, SKYDIVER_RANGE_DATA, (0x01 << (~m_videoram[0x394] & 0x07)) & 0xff); // Range 0-2 | |
154 | 153 | |
155 | discrete_sound_w(discrete, space, SKYDIVER_RANGE3_EN, state->m_videoram[0x394] & 0x08); // Range 3 - note disable | |
156 | discrete_sound_w(discrete, space, SKYDIVER_NOTE_DATA, ~state->m_videoram[0x395] & 0xff); // Note - freq | |
157 | discrete_sound_w(discrete, space, SKYDIVER_NOISE_DATA, state->m_videoram[0x396] & 0x0f); // NAM - Noise Amplitude | |
154 | discrete_sound_w(discrete, space, SKYDIVER_RANGE3_EN, m_videoram[0x394] & 0x08); // Range 3 - note disable | |
155 | discrete_sound_w(discrete, space, SKYDIVER_NOTE_DATA, ~m_videoram[0x395] & 0xff); // Note - freq | |
156 | discrete_sound_w(discrete, space, SKYDIVER_NOISE_DATA, m_videoram[0x396] & 0x0f); // NAM - Noise Amplitude | |
158 | 157 | |
159 | if (state->m_nmion) | |
160 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
158 | if (m_nmion) | |
159 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
161 | 160 | } |
162 | 161 | |
163 | 162 | |
r17996 | r17997 | |
378 | 377 | /* basic machine hardware */ |
379 | 378 | MCFG_CPU_ADD("maincpu", M6800,MASTER_CLOCK/16) /* ???? */ |
380 | 379 | MCFG_CPU_PROGRAM_MAP(skydiver_map) |
381 | MCFG_CPU_PERIODIC_INT(skydiver_interrupt, 5*60) | |
380 | MCFG_CPU_PERIODIC_INT_DRIVER(skydiver_state, skydiver_interrupt, 5*60) | |
382 | 381 | MCFG_WATCHDOG_VBLANK_INIT(8) // 128V clocks the same as VBLANK |
383 | 382 | |
384 | 383 |
r17996 | r17997 | |
---|---|---|
166 | 166 | static void omegaf_io_protection_reset(running_machine &machine); |
167 | 167 | |
168 | 168 | |
169 | ||
169 | ||
170 | 170 | { |
171 | device | |
171 | device. | |
172 | 172 | } |
173 | 173 | |
174 | 174 | |
r17996 | r17997 | |
939 | 939 | /* basic machine hardware */ |
940 | 940 | MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK_12/2) /* verified */ |
941 | 941 | MCFG_CPU_PROGRAM_MAP(ninjakd2_main_cpu) |
942 | MCFG_CPU_VBLANK_INT("screen", ninjakd2_interrupt) | |
942 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ninjakd2_state, ninjakd2_interrupt) | |
943 | 943 | |
944 | 944 | MCFG_CPU_ADD("soundcpu", Z80, MAIN_CLOCK_5) /* verified */ |
945 | 945 | MCFG_CPU_PROGRAM_MAP(ninjakd2_sound_cpu) |
r17996 | r17997 | |
---|---|---|
499 | 499 | MCFG_CPU_ADD("maincpu", Z80, MCLK/2) /* 6.000 MHz */ |
500 | 500 | MCFG_CPU_PROGRAM_MAP(mjsister_map) |
501 | 501 | MCFG_CPU_IO_MAP(mjsister_io_map) |
502 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
502 | MCFG_CPU_PERIODIC_INT_DRIVER(mjsister_state, irq0_line_hold, 2*60) | |
503 | 503 | |
504 | 504 | |
505 | 505 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
502 | 502 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* Z80B */ |
503 | 503 | MCFG_CPU_PROGRAM_MAP(main_map) |
504 | 504 | MCFG_CPU_IO_MAP(port_map) |
505 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* No nmi routine */ | |
505 | MCFG_CPU_VBLANK_INT_DRIVER("screen", yunsung8_state, irq0_line_hold) /* No nmi routine */ | |
506 | 506 | |
507 | 507 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ? */ |
508 | 508 | MCFG_CPU_PROGRAM_MAP(sound_map) |
509 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* NMI caused by the MSM5205? */ | |
509 | MCFG_CPU_VBLANK_INT_DRIVER("screen", yunsung8_state, irq0_line_hold) /* NMI caused by the MSM5205? */ | |
510 | 510 | |
511 | 511 | |
512 | 512 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
139 | 139 | |
140 | 140 | |
141 | 141 | /* Interrupt Gen */ |
142 | ||
142 | ||
143 | 143 | { |
144 | warpwarp_state *state = device->machine().driver_data<warpwarp_state>(); | |
145 | 144 | |
146 | if(state->m_ball_on) | |
147 | device->execute().set_input_line(0, ASSERT_LINE); | |
145 | if(m_ball_on) | |
146 | device.execute().set_input_line(0, ASSERT_LINE); | |
148 | 147 | } |
149 | 148 | |
150 | 149 | |
r17996 | r17997 | |
732 | 731 | MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* verified on pcb */ |
733 | 732 | MCFG_CPU_PROGRAM_MAP(geebee_map) |
734 | 733 | MCFG_CPU_IO_MAP(geebee_port_map) |
735 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
734 | MCFG_CPU_VBLANK_INT_DRIVER("screen", warpwarp_state, vblank_irq) | |
736 | 735 | |
737 | 736 | /* video hardware */ |
738 | 737 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
767 | 766 | /* basic machine hardware */ |
768 | 767 | MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/9) /* 18.432 MHz / 9 */ |
769 | 768 | MCFG_CPU_PROGRAM_MAP(bombbee_map) |
770 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
769 | MCFG_CPU_VBLANK_INT_DRIVER("screen", warpwarp_state, vblank_irq) | |
771 | 770 | |
772 | 771 | /* video hardware */ |
773 | 772 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
396 | 396 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) |
397 | 397 | MCFG_CPU_PROGRAM_MAP(main_map) |
398 | 398 | MCFG_CPU_IO_MAP(main_portmap) |
399 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
399 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m52_state, irq0_line_hold) | |
400 | 400 | |
401 | 401 | |
402 | 402 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
817 | 817 | |
818 | 818 | MCFG_CPU_ADD("subcpu", M68000, 32000000/2) |
819 | 819 | MCFG_CPU_PROGRAM_MAP(wheelfir_sub) |
820 | //MCFG_CPU_PERIODIC_INT(irq1_line_hold,256*60) | |
820 | //MCFG_CPU_PERIODIC_INT_DRIVER(wheelfir_state, irq1_line_hold, 256*60) | |
821 | 821 | |
822 | 822 | MCFG_QUANTUM_TIME(attotime::from_hz(12000)) |
823 | 823 |
r17996 | r17997 | |
---|---|---|
362 | 362 | MCFG_CPU_ADD("maincpu", Z80,MASTER_CLOCK) /* 4 MHz */ |
363 | 363 | MCFG_CPU_PROGRAM_MAP(main_cpu) |
364 | 364 | MCFG_CPU_IO_MAP(main_cpu_io) |
365 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
365 | MCFG_CPU_VBLANK_INT_DRIVER("screen", onetwo_state, irq0_line_hold) | |
366 | 366 | |
367 | 367 | MCFG_CPU_ADD("audiocpu", Z80,MASTER_CLOCK) /* 4 MHz */ |
368 | 368 | MCFG_CPU_PROGRAM_MAP(sound_cpu) |
r17996 | r17997 | |
---|---|---|
343 | 343 | /* basic machine hardware */ |
344 | 344 | MCFG_CPU_ADD("maincpu", M6809, XTAL_12MHz/8) /* verified on pcb */ |
345 | 345 | MCFG_CPU_PROGRAM_MAP(gng_map) |
346 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
346 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gng_state, irq0_line_hold) | |
347 | 347 | |
348 | 348 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/4) /* verified on pcb */ |
349 | 349 | MCFG_CPU_PROGRAM_MAP(sound_map) |
350 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
350 | MCFG_CPU_PERIODIC_INT_DRIVER(gng_state, irq0_line_hold, 4*60) | |
351 | 351 | |
352 | 352 | |
353 | 353 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
87 | 87 | MACHINE_CONFIG_DERIVED_CLASS( mpu4plasma , mod2, mpu4plasma_state ) |
88 | 88 | MCFG_CPU_ADD("plasmacpu", M68000, 10000000) |
89 | 89 | MCFG_CPU_PROGRAM_MAP(mpu4plasma_map) |
90 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
90 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mpu4plasma_state, irq4_line_hold) | |
91 | 91 | |
92 | 92 | MCFG_SCREEN_ADD("screen", RASTER) |
93 | 93 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
365 | 365 | /* basic machine hardware */ |
366 | 366 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK) |
367 | 367 | MCFG_CPU_PROGRAM_MAP(wc90b_map1) |
368 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
368 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wc90b_state, irq0_line_hold) | |
369 | 369 | |
370 | 370 | MCFG_CPU_ADD("sub", Z80, MASTER_CLOCK) |
371 | 371 | MCFG_CPU_PROGRAM_MAP(wc90b_map2) |
372 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
372 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wc90b_state, irq0_line_hold) | |
373 | 373 | |
374 | 374 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK) |
375 | 375 | MCFG_CPU_PROGRAM_MAP(sound_cpu) |
r17996 | r17997 | |
---|---|---|
280 | 280 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */ |
281 | 281 | MCFG_CPU_PROGRAM_MAP(holeland_map) |
282 | 282 | MCFG_CPU_IO_MAP(io_map) |
283 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
283 | MCFG_CPU_VBLANK_INT_DRIVER("screen", holeland_state, irq0_line_hold) | |
284 | 284 | |
285 | 285 | /* video hardware */ |
286 | 286 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
348 | 348 | MCFG_CPU_ADD("maincpu", Z80, 20000000/4) /* 5 MHz */ |
349 | 349 | MCFG_CPU_PROGRAM_MAP(crzrally_map) |
350 | 350 | MCFG_CPU_IO_MAP(io_map) |
351 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
351 | MCFG_CPU_VBLANK_INT_DRIVER("screen", holeland_state, irq0_line_hold) | |
352 | 352 | |
353 | 353 | MCFG_NVRAM_ADD_1FILL("nvram") |
354 | 354 |
r17996 | r17997 | |
---|---|---|
760 | 760 | * |
761 | 761 | *************************************/ |
762 | 762 | |
763 | ||
763 | ||
764 | 764 | { |
765 | liberate_state *state = device->machine().driver_data<liberate_state>(); | |
766 | int p = ~state->ioport("IN3")->read(); | |
767 | if ((p & 0x43) && !state->m_latch) | |
765 | int p = ~ioport("IN3")->read(); | |
766 | if ((p & 0x43) && !m_latch) | |
768 | 767 | { |
769 | device->execute().set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); | |
770 | state->m_latch = 1; | |
768 | device.execute().set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); | |
769 | m_latch = 1; | |
771 | 770 | } |
772 | 771 | else |
773 | 772 | { |
774 | 773 | if (!(p & 0x43)) |
775 | | |
774 | | |
776 | 775 | } |
777 | 776 | } |
778 | 777 | |
779 | 778 | #if 0 |
780 | ||
779 | ||
781 | 780 | { |
782 | 781 | /* ??? */ |
783 | device | |
782 | device. | |
784 | 783 | } |
785 | 784 | #endif |
786 | 785 | |
r17996 | r17997 | |
823 | 822 | MCFG_CPU_ADD("maincpu",DECO16, 2000000) |
824 | 823 | MCFG_CPU_PROGRAM_MAP(liberate_map) |
825 | 824 | MCFG_CPU_IO_MAP(deco16_io_map) |
826 | MCFG_CPU_VBLANK_INT("screen", deco16_interrupt) | |
825 | MCFG_CPU_VBLANK_INT_DRIVER("screen", liberate_state, deco16_interrupt) | |
827 | 826 | |
828 | 827 | MCFG_CPU_ADD("audiocpu",M6502, 1500000) |
829 | 828 | MCFG_CPU_PROGRAM_MAP(liberate_sound_map) |
830 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,16*60) /* ??? */ | |
829 | MCFG_CPU_PERIODIC_INT_DRIVER(liberate_state, nmi_line_pulse, 16*60) /* ??? */ | |
831 | 830 | |
832 | 831 | MCFG_QUANTUM_TIME(attotime::from_hz(12000)) |
833 | 832 | |
r17996 | r17997 | |
863 | 862 | /* basic machine hardware */ |
864 | 863 | MCFG_CPU_REPLACE("maincpu", M6502, 2000000) |
865 | 864 | MCFG_CPU_PROGRAM_MAP(liberatb_map) |
866 | MCFG_CPU_VBLANK_INT("screen", deco16_interrupt) | |
865 | MCFG_CPU_VBLANK_INT_DRIVER("screen", liberate_state, deco16_interrupt) | |
867 | 866 | MACHINE_CONFIG_END |
868 | 867 | |
869 | 868 | static MACHINE_CONFIG_DERIVED( boomrang, liberate ) |
r17996 | r17997 | |
902 | 901 | MCFG_CPU_ADD("maincpu", DECO16, 2000000) |
903 | 902 | MCFG_CPU_PROGRAM_MAP(prosport_map) |
904 | 903 | MCFG_CPU_IO_MAP(deco16_io_map) |
905 | MCFG_CPU_VBLANK_INT("screen", deco16_interrupt) | |
904 | MCFG_CPU_VBLANK_INT_DRIVER("screen", liberate_state, deco16_interrupt) | |
906 | 905 | |
907 | 906 | MCFG_CPU_ADD("audiocpu", M6502, 1500000/2) |
908 | 907 | MCFG_CPU_PROGRAM_MAP(liberate_sound_map) |
909 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,16*60) /* ??? */ | |
908 | MCFG_CPU_PERIODIC_INT_DRIVER(liberate_state, nmi_line_pulse, 16*60) /* ??? */ | |
910 | 909 | |
911 | 910 | // MCFG_QUANTUM_TIME(attotime::from_hz(12000)) |
912 | 911 |
r17996 | r17997 | |
---|---|---|
297 | 297 | /* basic machine hardware */ |
298 | 298 | MCFG_CPU_ADD("maincpu", Z80, 4000000) // 4 MHz |
299 | 299 | MCFG_CPU_PROGRAM_MAP(gunsmoke_map) |
300 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
300 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gunsmoke_state, irq0_line_hold) | |
301 | 301 | |
302 | 302 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) // 3 MHz |
303 | 303 | MCFG_CPU_PROGRAM_MAP(sound_map) |
304 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) | |
304 | MCFG_CPU_PERIODIC_INT_DRIVER(gunsmoke_state, irq0_line_hold, 4*60) | |
305 | 305 | |
306 | 306 | |
307 | 307 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
389 | 389 | m_battery_ram[0x020] = m_battery_ram[0x011]; |
390 | 390 | } |
391 | 391 | |
392 | ||
392 | ||
393 | 393 | { |
394 | truco_state *state = device->machine().driver_data<truco_state>(); | |
395 | 394 | /* coinup */ |
396 | 395 | |
397 | if ( | |
396 | if ( | |
398 | 397 | { |
399 | if ( | |
398 | if ( | |
400 | 399 | { |
401 | generic_pulse_irq_line(device, M6809_IRQ_LINE, 1); | |
402 | state->m_trigger++; | |
400 | generic_pulse_irq_line(device.execute(), M6809_IRQ_LINE, 1); | |
401 | m_trigger++; | |
403 | 402 | } |
404 | 403 | } else |
405 | | |
404 | | |
406 | 405 | } |
407 | 406 | |
408 | 407 | |
r17996 | r17997 | |
457 | 456 | /* basic machine hardware */ |
458 | 457 | MCFG_CPU_ADD("maincpu", M6809, CPU_CLOCK) |
459 | 458 | MCFG_CPU_PROGRAM_MAP(main_map) |
460 | MCFG_CPU_VBLANK_INT("screen", truco_interrupt) | |
459 | MCFG_CPU_VBLANK_INT_DRIVER("screen", truco_state, truco_interrupt) | |
461 | 460 | MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(1.6)) /* 1.6 seconds */ |
462 | 461 | |
463 | 462 | MCFG_PIA6821_ADD("pia0", pia0_intf) |
r17996 | r17997 | |
---|---|---|
7484 | 7484 | /* basic machine hardware */ |
7485 | 7485 | MCFG_CPU_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */ |
7486 | 7486 | MCFG_CPU_PROGRAM_MAP(tndrcade_map) |
7487 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
7487 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_hold) | |
7488 | 7488 | |
7489 | 7489 | MCFG_CPU_ADD("sub", M65C02, 16000000/8) /* 2 MHz */ |
7490 | 7490 | MCFG_CPU_PROGRAM_MAP(tndrcade_sub_map) |
r17996 | r17997 | |
7534 | 7534 | /* basic machine hardware */ |
7535 | 7535 | MCFG_CPU_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */ |
7536 | 7536 | MCFG_CPU_PROGRAM_MAP(downtown_map) |
7537 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) | |
7537 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold) | |
7538 | 7538 | |
7539 | 7539 | MCFG_CPU_ADD("sub", M65C02, 16000000/8) /* 2 MHz */ |
7540 | 7540 | MCFG_CPU_PROGRAM_MAP(twineagl_sub_map) |
r17996 | r17997 | |
7637 | 7637 | |
7638 | 7638 | MCFG_CPU_ADD("sub", M65C02, 16000000/8) /* 2 MHz */ |
7639 | 7639 | MCFG_CPU_PROGRAM_MAP(calibr50_sub_map) |
7640 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* NMI caused by main cpu when writing to the sound latch */ | |
7640 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq0_line_hold) /* NMI caused by main cpu when writing to the sound latch */ | |
7641 | 7641 | |
7642 | 7642 | MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50) |
7643 | 7643 | |
r17996 | r17997 | |
7685 | 7685 | |
7686 | 7686 | MCFG_CPU_ADD("sub", M65C02, XTAL_16MHz/8) /* verified on pcb */ |
7687 | 7687 | MCFG_CPU_PROGRAM_MAP(calibr50_sub_map) |
7688 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* IRQ: 4/frame | |
7688 | MCFG_CPU_PERIODIC_INT_DRIVER(seta_state, irq0_line_hold, 4*60) /* IRQ: 4/frame | |
7689 | 7689 | NMI: when the 68k writes the sound latch */ |
7690 | 7690 | |
7691 | 7691 | MCFG_MACHINE_RESET_OVERRIDE(seta_state,calibr50) |
r17996 | r17997 | |
7724 | 7724 | /* basic machine hardware */ |
7725 | 7725 | MCFG_CPU_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */ |
7726 | 7726 | MCFG_CPU_PROGRAM_MAP(downtown_map) |
7727 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) | |
7727 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold) | |
7728 | 7728 | |
7729 | 7729 | MCFG_CPU_ADD("sub", M65C02, 16000000/8) /* 2 MHz */ |
7730 | 7730 | MCFG_CPU_PROGRAM_MAP(metafox_sub_map) |
r17996 | r17997 | |
7877 | 7877 | /* basic machine hardware */ |
7878 | 7878 | MCFG_CPU_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */ |
7879 | 7879 | MCFG_CPU_PROGRAM_MAP(blockcar_map) |
7880 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) | |
7880 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold) | |
7881 | 7881 | |
7882 | 7882 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
7883 | 7883 | |
r17996 | r17997 | |
8151 | 8151 | Gundhara |
8152 | 8152 | ***************************************************************************/ |
8153 | 8153 | #if __uPD71054_TIMER |
8154 | ||
8154 | ||
8155 | 8155 | { |
8156 | device | |
8156 | device. | |
8157 | 8157 | } |
8158 | 8158 | |
8159 | 8159 | MACHINE_START_MEMBER(seta_state,wrofaero){ uPD71054_timer_init(machine()); } |
r17996 | r17997 | |
8290 | 8290 | /* basic machine hardware */ |
8291 | 8291 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8292 | 8292 | MCFG_CPU_PROGRAM_MAP(kamenrid_map) |
8293 | MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt) | |
8293 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt) | |
8294 | 8294 | |
8295 | 8295 | #if __uPD71054_TIMER |
8296 | 8296 | MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero ) |
r17996 | r17997 | |
8442 | 8442 | /* basic machine hardware */ |
8443 | 8443 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8444 | 8444 | MCFG_CPU_PROGRAM_MAP(madshark_map) |
8445 | MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt) | |
8445 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt) | |
8446 | 8446 | |
8447 | 8447 | #if __uPD71054_TIMER |
8448 | 8448 | MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero ) |
r17996 | r17997 | |
8484 | 8484 | /* basic machine hardware */ |
8485 | 8485 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8486 | 8486 | MCFG_CPU_PROGRAM_MAP(magspeed_map) |
8487 | MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt) | |
8487 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt) | |
8488 | 8488 | |
8489 | 8489 | #if __uPD71054_TIMER |
8490 | 8490 | MCFG_MACHINE_START_OVERRIDE(seta_state, wrofaero ) |
r17996 | r17997 | |
8527 | 8527 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8528 | 8528 | MCFG_CPU_PROGRAM_MAP(msgundam_map) |
8529 | 8529 | #if __uPD71054_TIMER |
8530 | MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt) | |
8530 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt) | |
8531 | 8531 | #else |
8532 | 8532 | MCFG_TIMER_ADD_SCANLINE("scantimer", seta_interrupt_2_and_4, "screen", 0, 1) |
8533 | 8533 | #endif // __uPD71054_TIMER |
r17996 | r17997 | |
8609 | 8609 | /* basic machine hardware */ |
8610 | 8610 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8611 | 8611 | MCFG_CPU_PROGRAM_MAP(triplfun_map) |
8612 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) | |
8612 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold) | |
8613 | 8613 | |
8614 | 8614 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
8615 | 8615 | |
r17996 | r17997 | |
8643 | 8643 | /* basic machine hardware */ |
8644 | 8644 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8645 | 8645 | MCFG_CPU_PROGRAM_MAP(kiwame_map) |
8646 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* lev 1-7 are the same. WARNING: | |
8646 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq1_line_hold)/* lev 1-7 are the same. WARNING: | |
8647 | 8647 | the interrupt table is written to. */ |
8648 | 8648 | |
8649 | 8649 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
r17996 | r17997 | |
8722 | 8722 | /* basic machine hardware */ |
8723 | 8723 | MCFG_CPU_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */ |
8724 | 8724 | MCFG_CPU_PROGRAM_MAP(thunderl_map) |
8725 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
8725 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_hold) | |
8726 | 8726 | |
8727 | 8727 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
8728 | 8728 | |
r17996 | r17997 | |
8772 | 8772 | /* basic machine hardware */ |
8773 | 8773 | MCFG_CPU_MODIFY("maincpu") |
8774 | 8774 | MCFG_CPU_PROGRAM_MAP(thunderlbl_map) |
8775 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
8775 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_hold) | |
8776 | 8776 | |
8777 | 8777 | MCFG_CPU_ADD("audiocpu", Z80, 10000000/2) |
8778 | 8778 | MCFG_CPU_PROGRAM_MAP(thunderlbl_sound_map) |
r17996 | r17997 | |
8790 | 8790 | /* basic machine hardware */ |
8791 | 8791 | MCFG_CPU_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */ |
8792 | 8792 | MCFG_CPU_PROGRAM_MAP(wiggie_map) |
8793 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
8793 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_hold) | |
8794 | 8794 | |
8795 | 8795 | MCFG_CPU_ADD("audiocpu", Z80, 16000000/4) /* 4 MHz */ |
8796 | 8796 | MCFG_CPU_PROGRAM_MAP(wiggie_sound_map) |
r17996 | r17997 | |
8827 | 8827 | /* basic machine hardware */ |
8828 | 8828 | MCFG_CPU_ADD("maincpu", M68000, 16000000/2) /* 8 MHz */ |
8829 | 8829 | MCFG_CPU_PROGRAM_MAP(thunderl_map) |
8830 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
8830 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq2_line_hold) | |
8831 | 8831 | |
8832 | 8832 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
8833 | 8833 | |
r17996 | r17997 | |
8863 | 8863 | /* basic machine hardware */ |
8864 | 8864 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8865 | 8865 | MCFG_CPU_PROGRAM_MAP(umanclub_map) |
8866 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) | |
8866 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold) | |
8867 | 8867 | |
8868 | 8868 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
8869 | 8869 | |
r17996 | r17997 | |
8945 | 8945 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8946 | 8946 | MCFG_CPU_PROGRAM_MAP(wrofaero_map) |
8947 | 8947 | #if __uPD71054_TIMER |
8948 | MCFG_CPU_VBLANK_INT("screen", wrofaero_interrupt) | |
8948 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, wrofaero_interrupt) | |
8949 | 8949 | #else |
8950 | 8950 | MCFG_TIMER_ADD_SCANLINE("scantimer", seta_interrupt_2_and_4, "screen", 0, 1) |
8951 | 8951 | #endif // __uPD71054_TIMER |
r17996 | r17997 | |
8995 | 8995 | /* basic machine hardware */ |
8996 | 8996 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
8997 | 8997 | MCFG_CPU_PROGRAM_MAP(wrofaero_map) |
8998 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) | |
8998 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq3_line_hold) | |
8999 | 8999 | |
9000 | 9000 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
9001 | 9001 |
r17996 | r17997 | |
---|---|---|
646 | 646 | }; |
647 | 647 | |
648 | 648 | |
649 | ||
649 | ||
650 | 650 | { |
651 | device | |
651 | device. | |
652 | 652 | } |
653 | 653 | |
654 | ||
654 | ||
655 | 655 | { |
656 | laserbat_state *state = device->machine().driver_data<laserbat_state>(); | |
657 | 656 | |
658 | state->m_pia->cb1_w(state->m_cb1_toggle & 1); | |
659 | state->m_cb1_toggle ^= 1; | |
657 | m_pia->cb1_w(m_cb1_toggle & 1); | |
658 | m_cb1_toggle ^= 1; | |
660 | 659 | } |
661 | 660 | |
662 | 661 | |
r17996 | r17997 | |
750 | 749 | MCFG_CPU_ADD("maincpu", S2650, 14318180/4) // ??? |
751 | 750 | MCFG_CPU_PROGRAM_MAP(laserbat_map) |
752 | 751 | MCFG_CPU_IO_MAP(laserbat_io_map) |
753 | MCFG_CPU_VBLANK_INT("screen", laserbat_interrupt) | |
752 | MCFG_CPU_VBLANK_INT_DRIVER("screen", laserbat_state, laserbat_interrupt) | |
754 | 753 | |
755 | 754 | |
756 | 755 | /* video hardware */ |
r17996 | r17997 | |
788 | 787 | MCFG_CPU_ADD("maincpu", S2650, 14318000/4) /* ? */ |
789 | 788 | MCFG_CPU_PROGRAM_MAP(laserbat_map) |
790 | 789 | MCFG_CPU_IO_MAP(catnmous_io_map) |
791 | MCFG_CPU_VBLANK_INT("screen", laserbat_interrupt) | |
790 | MCFG_CPU_VBLANK_INT_DRIVER("screen", laserbat_state, laserbat_interrupt) | |
792 | 791 | |
793 | 792 | MCFG_CPU_ADD("audiocpu", M6802,3580000) /* ? */ |
794 | 793 | MCFG_CPU_PROGRAM_MAP(catnmous_sound_map) |
795 | MCFG_CPU_PERIODIC_INT(zaccaria_cb1_toggle, (double)3580000/4096) | |
794 | MCFG_CPU_PERIODIC_INT_DRIVER(laserbat_state, zaccaria_cb1_toggle, (double)3580000/4096) | |
796 | 795 | |
797 | 796 | MCFG_PIA6821_ADD("pia", pia_intf) |
798 | 797 |
r17996 | r17997 | |
---|---|---|
278 | 278 | GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 64*4*8, 16*8 ) |
279 | 279 | GFXDECODE_END |
280 | 280 | |
281 | ||
281 | ||
282 | 282 | { |
283 | tp84_state *state = device->machine().driver_data<tp84_state>(); | |
284 | 283 | |
285 | if(state->m_sub_irq_mask) | |
286 | device->execute().set_input_line(0, HOLD_LINE); | |
284 | if(m_sub_irq_mask) | |
285 | device.execute().set_input_line(0, HOLD_LINE); | |
287 | 286 | } |
288 | 287 | |
289 | 288 | |
r17996 | r17997 | |
309 | 308 | /* basic machine hardware */ |
310 | 309 | MCFG_CPU_ADD("cpu1",M6809, XTAL_18_432MHz/12) /* verified on pcb */ |
311 | 310 | MCFG_CPU_PROGRAM_MAP(tp84_cpu1_map) |
312 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
311 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tp84_state, irq0_line_hold) | |
313 | 312 | |
314 | 313 | MCFG_CPU_ADD("sub", M6809, XTAL_18_432MHz/12) /* verified on pcb */ |
315 | 314 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
316 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
315 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tp84_state, sub_vblank_irq) | |
317 | 316 | |
318 | 317 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_14_31818MHz/4) /* verified on pcb */ |
319 | 318 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
---|---|---|
115 | 115 | m_dac = machine().device<dac_device>("dac"); |
116 | 116 | } |
117 | 117 | |
118 | ||
118 | ||
119 | 119 | { |
120 | cheekyms_state *state = device->machine().driver_data<cheekyms_state>(); | |
121 | 120 | |
122 | if(state->m_irq_mask) | |
123 | device->execute().set_input_line(0, HOLD_LINE); | |
121 | if(m_irq_mask) | |
122 | device.execute().set_input_line(0, HOLD_LINE); | |
124 | 123 | } |
125 | 124 | |
126 | 125 | |
r17996 | r17997 | |
130 | 129 | MCFG_CPU_ADD("maincpu", Z80,5000000/2) /* 2.5 MHz */ |
131 | 130 | MCFG_CPU_PROGRAM_MAP(main_map) |
132 | 131 | MCFG_CPU_IO_MAP(io_map) |
133 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
132 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cheekyms_state, vblank_irq) | |
134 | 133 | |
135 | 134 | |
136 | 135 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
615 | 615 | /* basic machine hardware */ |
616 | 616 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8) |
617 | 617 | MCFG_CPU_PROGRAM_MAP(asteroid_map) |
618 | MCFG_CPU_PERIODIC_INT(asteroid_interrupt, (double)MASTER_CLOCK/4096/12) | |
618 | MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asteroid_interrupt, (double)MASTER_CLOCK/4096/12) | |
619 | 619 | |
620 | 620 | |
621 | 621 | /* video hardware */ |
r17996 | r17997 | |
639 | 639 | |
640 | 640 | /* basic machine hardware */ |
641 | 641 | MCFG_CPU_MODIFY("maincpu") |
642 | MCFG_CPU_PERIODIC_INT(asterock_interrupt, (double)MASTER_CLOCK/4096/12) | |
642 | MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, asterock_interrupt, (double)MASTER_CLOCK/4096/12) | |
643 | 643 | MACHINE_CONFIG_END |
644 | 644 | |
645 | 645 | |
r17996 | r17997 | |
668 | 668 | /* basic machine hardware */ |
669 | 669 | MCFG_CPU_MODIFY("maincpu") |
670 | 670 | MCFG_CPU_PROGRAM_MAP(llander_map) |
671 | MCFG_CPU_PERIODIC_INT(llander_interrupt, (double)MASTER_CLOCK/4096/12) | |
671 | MCFG_CPU_PERIODIC_INT_DRIVER(asteroid_state, llander_interrupt, (double)MASTER_CLOCK/4096/12) | |
672 | 672 | |
673 | 673 | MCFG_MACHINE_RESET(avgdvg) |
674 | 674 |
r17996 | r17997 | |
---|---|---|
214 | 214 | DEVCB_NULL |
215 | 215 | }; |
216 | 216 | |
217 | ||
217 | ||
218 | 218 | { |
219 | timelimt_state *state = device->machine().driver_data<timelimt_state>(); | |
220 | if ( state->m_nmi_enabled ) | |
221 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
219 | if ( m_nmi_enabled ) | |
220 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
222 | 221 | } |
223 | 222 | |
224 | 223 | /***************************************************************************/ |
r17996 | r17997 | |
229 | 228 | MCFG_CPU_ADD("maincpu", Z80, 5000000) /* 5.000 MHz */ |
230 | 229 | MCFG_CPU_PROGRAM_MAP(main_map) |
231 | 230 | MCFG_CPU_IO_MAP(main_io_map) |
232 | MCFG_CPU_VBLANK_INT("screen", timelimt_irq) | |
231 | MCFG_CPU_VBLANK_INT_DRIVER("screen", timelimt_state, timelimt_irq) | |
233 | 232 | |
234 | 233 | MCFG_CPU_ADD("audiocpu", Z80,18432000/6) /* 3.072 MHz */ |
235 | 234 | MCFG_CPU_PROGRAM_MAP(sound_map) |
236 | 235 | MCFG_CPU_IO_MAP(sound_io_map) |
237 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* ? */ | |
236 | MCFG_CPU_VBLANK_INT_DRIVER("screen", timelimt_state, irq0_line_hold) /* ? */ | |
238 | 237 | |
239 | 238 | MCFG_QUANTUM_TIME(attotime::from_hz(3000)) |
240 | 239 |
r17996 | r17997 | |
---|---|---|
480 | 480 | /* basic machine hardware */ |
481 | 481 | MCFG_CPU_ADD("maincpu", Z80, 16000000/4) /* 4MHz */ |
482 | 482 | MCFG_CPU_PROGRAM_MAP(champbwl_map) |
483 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
483 | MCFG_CPU_VBLANK_INT_DRIVER("screen", champbwl_state, irq0_line_hold) | |
484 | 484 | |
485 | 485 | MCFG_NVRAM_ADD_0FILL("nvram") |
486 | 486 | |
r17996 | r17997 | |
544 | 544 | /* basic machine hardware */ |
545 | 545 | MCFG_CPU_ADD("maincpu", Z80, XTAL_14_31818MHz/4) |
546 | 546 | MCFG_CPU_PROGRAM_MAP(doraemon) |
547 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
547 | MCFG_CPU_VBLANK_INT_DRIVER("screen", champbwl_state, irq0_line_hold) | |
548 | 548 | |
549 | 549 | MCFG_NVRAM_ADD_0FILL("nvram") |
550 | 550 | MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) |
r17996 | r17997 | |
---|---|---|
985 | 985 | static MACHINE_CONFIG_START( common, vamphalf_state ) |
986 | 986 | MCFG_CPU_ADD("maincpu", E116T, 50000000) /* 50 MHz */ |
987 | 987 | MCFG_CPU_PROGRAM_MAP(common_map) |
988 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
988 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold) | |
989 | 989 | |
990 | 990 | MCFG_EEPROM_93C46_ADD("eeprom") |
991 | 991 | |
r17996 | r17997 | |
1045 | 1045 | MCFG_CPU_REPLACE("maincpu", GMS30C2116, 50000000) /* 50 MHz */ |
1046 | 1046 | MCFG_CPU_PROGRAM_MAP(common_map) |
1047 | 1047 | MCFG_CPU_IO_MAP(misncrft_io) |
1048 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1048 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold) | |
1049 | 1049 | |
1050 | 1050 | MCFG_FRAGMENT_ADD(sound_qs1000) |
1051 | 1051 | MACHINE_CONFIG_END |
r17996 | r17997 | |
1076 | 1076 | MCFG_CPU_PROGRAM_MAP(common_map) |
1077 | 1077 | MCFG_CPU_MODIFY("maincpu") |
1078 | 1078 | MCFG_CPU_IO_MAP(mrdig_io) |
1079 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1079 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold) | |
1080 | 1080 | |
1081 | 1081 | MCFG_FRAGMENT_ADD(sound_ym_oki) |
1082 | 1082 | MACHINE_CONFIG_END |
r17996 | r17997 | |
1085 | 1085 | MCFG_CPU_REPLACE("maincpu", E132T, 50000000) /* 50 MHz */ |
1086 | 1086 | MCFG_CPU_PROGRAM_MAP(common_32bit_map) |
1087 | 1087 | MCFG_CPU_IO_MAP(wyvernwg_io) |
1088 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1088 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold) | |
1089 | 1089 | |
1090 | 1090 | MCFG_FRAGMENT_ADD(sound_qs1000) |
1091 | 1091 | MACHINE_CONFIG_END |
r17996 | r17997 | |
1094 | 1094 | MCFG_CPU_REPLACE("maincpu", E132T, 50000000) /* 50 MHz */ |
1095 | 1095 | MCFG_CPU_PROGRAM_MAP(common_32bit_map) |
1096 | 1096 | MCFG_CPU_IO_MAP(finalgdr_io) |
1097 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1097 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold) | |
1098 | 1098 | |
1099 | 1099 | MCFG_NVRAM_ADD_0FILL("nvram") |
1100 | 1100 | |
r17996 | r17997 | |
1105 | 1105 | MCFG_CPU_REPLACE("maincpu", E132T, 50000000) /* 50 MHz */ |
1106 | 1106 | MCFG_CPU_PROGRAM_MAP(common_32bit_map) |
1107 | 1107 | MCFG_CPU_IO_MAP(mrkicker_io) |
1108 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1108 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold) | |
1109 | 1109 | |
1110 | 1110 | MCFG_NVRAM_ADD_0FILL("nvram") |
1111 | 1111 | |
r17996 | r17997 | |
1116 | 1116 | MCFG_CPU_ADD("maincpu", E132XN, 20000000*4) /* 4x internal multiplier */ |
1117 | 1117 | MCFG_CPU_PROGRAM_MAP(aoh_map) |
1118 | 1118 | MCFG_CPU_IO_MAP(aoh_io) |
1119 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1119 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vamphalf_state, irq1_line_hold) | |
1120 | 1120 | |
1121 | 1121 | MCFG_EEPROM_93C46_ADD("eeprom") |
1122 | 1122 |
r17996 | r17997 | |
---|---|---|
262 | 262 | |
263 | 263 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CPU_CLOCK) /* 3 MHz ??? */ |
264 | 264 | MCFG_CPU_PROGRAM_MAP(sound_map) |
265 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
265 | MCFG_CPU_PERIODIC_INT_DRIVER(_1942_state, irq0_line_hold, 4*60) | |
266 | 266 | |
267 | 267 | |
268 | 268 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
216 | 216 | /* basic machine hardware */ |
217 | 217 | MCFG_CPU_ADD("maincpu", M6800, 11055000 / 8) /* ? */ |
218 | 218 | MCFG_CPU_PROGRAM_MAP(poolshrk_cpu_map) |
219 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
219 | MCFG_CPU_VBLANK_INT_DRIVER("screen", poolshrk_state, irq0_line_assert) | |
220 | 220 | |
221 | 221 | /* video hardware */ |
222 | 222 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
46 | 46 | virtual void machine_reset(); |
47 | 47 | virtual void video_start(); |
48 | 48 | UINT32 screen_update_mayumi(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
49 | INTERRUPT_GEN_MEMBER(mayumi_interrupt); | |
49 | 50 | }; |
50 | 51 | |
51 | 52 | |
r17996 | r17997 | |
86 | 87 | * |
87 | 88 | *************************************/ |
88 | 89 | |
89 | ||
90 | ||
90 | 91 | { |
91 | mayumi_state *state = device->machine().driver_data<mayumi_state>(); | |
92 | 92 | |
93 | if (state->m_int_enable) | |
94 | device->execute().set_input_line(0, HOLD_LINE); | |
93 | if (m_int_enable) | |
94 | device.execute().set_input_line(0, HOLD_LINE); | |
95 | 95 | } |
96 | 96 | |
97 | 97 | /************************************* |
r17996 | r17997 | |
399 | 399 | MCFG_CPU_ADD("maincpu", Z80, MCLK/2) /* 5.000 MHz ? */ |
400 | 400 | MCFG_CPU_PROGRAM_MAP(mayumi_map) |
401 | 401 | MCFG_CPU_IO_MAP(mayumi_io_map) |
402 | MCFG_CPU_VBLANK_INT("screen", mayumi_interrupt) | |
402 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mayumi_state, mayumi_interrupt) | |
403 | 403 | |
404 | 404 | |
405 | 405 | MCFG_I8255_ADD( "i8255", mayumi_i8255_intf ) |
r17996 | r17997 | |
---|---|---|
237 | 237 | |
238 | 238 | /******************************************************************************/ |
239 | 239 | |
240 | ||
240 | ||
241 | 241 | { |
242 | device | |
242 | device. | |
243 | 243 | } |
244 | 244 | |
245 | 245 | static MACHINE_CONFIG_START( raiden, raiden_state ) |
r17996 | r17997 | |
247 | 247 | /* basic machine hardware */ |
248 | 248 | MCFG_CPU_ADD("maincpu", V30,XTAL_20MHz/2) /* NEC V30 CPU, 20MHz verified on pcb */ |
249 | 249 | MCFG_CPU_PROGRAM_MAP(main_map) |
250 | MCFG_CPU_VBLANK_INT("screen", raiden_interrupt) | |
250 | MCFG_CPU_VBLANK_INT_DRIVER("screen", raiden_state, raiden_interrupt) | |
251 | 251 | |
252 | 252 | MCFG_CPU_ADD("sub", V30,XTAL_20MHz/2) /* NEC V30 CPU, 20MHz verified on pcb */ |
253 | 253 | MCFG_CPU_PROGRAM_MAP(sub_map) |
254 | MCFG_CPU_VBLANK_INT("screen", raiden_interrupt) | |
254 | MCFG_CPU_VBLANK_INT_DRIVER("screen", raiden_state, raiden_interrupt) | |
255 | 255 | |
256 | 256 | SEIBU_SOUND_SYSTEM_CPU(XTAL_14_31818MHz/4) /* verified on pcb */ |
257 | 257 |
r17996 | r17997 | |
---|---|---|
436 | 436 | // basic machine hardware |
437 | 437 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */ |
438 | 438 | MCFG_CPU_PROGRAM_MAP(bloodbro_map) |
439 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
439 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bloodbro_state, irq4_line_hold) | |
440 | 440 | |
441 | 441 | SEIBU_SOUND_SYSTEM_CPU(XTAL_7_15909MHz/2) /* verified on pcb */ |
442 | 442 | |
r17996 | r17997 | |
463 | 463 | |
464 | 464 | MCFG_CPU_MODIFY("maincpu") |
465 | 465 | MCFG_CPU_PROGRAM_MAP(weststry_map) |
466 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
466 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bloodbro_state, irq6_line_hold) | |
467 | 467 | |
468 | 468 | MCFG_GFXDECODE(weststry) |
469 | 469 | MCFG_PALETTE_LENGTH(1024) |
r17996 | r17997 | |
475 | 475 | static MACHINE_CONFIG_DERIVED( skysmash, bloodbro ) |
476 | 476 | |
477 | 477 | MCFG_CPU_MODIFY("maincpu") |
478 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
478 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bloodbro_state, irq2_line_hold) | |
479 | 479 | |
480 | 480 | MCFG_SCREEN_MODIFY("screen") |
481 | 481 | MCFG_SCREEN_UPDATE_DRIVER(bloodbro_state, screen_update_skysmash) |
r17996 | r17997 | |
---|---|---|
67 | 67 | #include "includes/galaxia.h" |
68 | 68 | |
69 | 69 | |
70 | ||
70 | ||
71 | 71 | { |
72 | device->execute().set_input_line_and_vector(0, HOLD_LINE, 0x03); | |
73 | cvs_scroll_stars(device->machine()); | |
72 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x03); | |
73 | cvs_scroll_stars(machine()); | |
74 | 74 | } |
75 | 75 | |
76 | 76 | |
r17996 | r17997 | |
296 | 296 | MCFG_CPU_ADD("maincpu", S2650, 2000000) /* ? MHz */ |
297 | 297 | MCFG_CPU_PROGRAM_MAP(galaxia_mem_map) |
298 | 298 | MCFG_CPU_IO_MAP(galaxia_io_map) |
299 | MCFG_CPU_VBLANK_INT("screen", galaxia_interrupt) | |
299 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxia_state, galaxia_interrupt) | |
300 | 300 | |
301 | 301 | /* video hardware */ |
302 | 302 | MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) |
r17996 | r17997 | |
336 | 336 | MCFG_CPU_ADD("maincpu", S2650, 2000000) /* ? MHz */ |
337 | 337 | MCFG_CPU_PROGRAM_MAP(astrowar_mem_map) |
338 | 338 | MCFG_CPU_IO_MAP(galaxia_io_map) |
339 | MCFG_CPU_VBLANK_INT("screen", galaxia_interrupt) | |
339 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxia_state, galaxia_interrupt) | |
340 | 340 | |
341 | 341 | /* video hardware */ |
342 | 342 | MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) |
r17996 | r17997 | |
---|---|---|
31 | 31 | * |
32 | 32 | *************************************/ |
33 | 33 | |
34 | ||
34 | ||
35 | 35 | { |
36 | device | |
36 | device. | |
37 | 37 | } |
38 | 38 | |
39 | 39 | |
r17996 | r17997 | |
546 | 546 | /* basic machine hardware */ |
547 | 547 | MCFG_CPU_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */ |
548 | 548 | MCFG_CPU_PROGRAM_MAP(fromanc2_main_map) |
549 | MCFG_CPU_VBLANK_INT("lscreen", fromanc2_interrupt) | |
549 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", fromanc2_state, fromanc2_interrupt) | |
550 | 550 | |
551 | 551 | MCFG_CPU_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */ |
552 | 552 | MCFG_CPU_PROGRAM_MAP(fromanc2_sound_map) |
r17996 | r17997 | |
596 | 596 | /* basic machine hardware */ |
597 | 597 | MCFG_CPU_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */ |
598 | 598 | MCFG_CPU_PROGRAM_MAP(fromancr_main_map) |
599 | MCFG_CPU_VBLANK_INT("lscreen", fromanc2_interrupt) | |
599 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", fromanc2_state, fromanc2_interrupt) | |
600 | 600 | |
601 | 601 | MCFG_CPU_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */ |
602 | 602 | MCFG_CPU_PROGRAM_MAP(fromanc2_sound_map) |
r17996 | r17997 | |
646 | 646 | /* basic machine hardware */ |
647 | 647 | MCFG_CPU_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */ |
648 | 648 | MCFG_CPU_PROGRAM_MAP(fromanc4_main_map) |
649 | MCFG_CPU_VBLANK_INT("lscreen", fromanc2_interrupt) | |
649 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", fromanc2_state, fromanc2_interrupt) | |
650 | 650 | |
651 | 651 | MCFG_CPU_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */ |
652 | 652 | MCFG_CPU_PROGRAM_MAP(fromanc2_sound_map) |
r17996 | r17997 | |
---|---|---|
888 | 888 | m_stars_enable = 0; |
889 | 889 | } |
890 | 890 | |
891 | ||
891 | ||
892 | 892 | { |
893 | rallyx_state *state = device->machine().driver_data<rallyx_state>(); | |
894 | 893 | |
895 | if(state->m_main_irq_mask) | |
896 | device->execute().set_input_line(0, ASSERT_LINE); | |
894 | if(m_main_irq_mask) | |
895 | device.execute().set_input_line(0, ASSERT_LINE); | |
897 | 896 | } |
898 | 897 | |
899 | ||
898 | ||
900 | 899 | { |
901 | rallyx_state *state = device->machine().driver_data<rallyx_state>(); | |
902 | 900 | |
903 | if(state->m_main_irq_mask) | |
904 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
901 | if(m_main_irq_mask) | |
902 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
905 | 903 | } |
906 | 904 | |
907 | 905 | static MACHINE_CONFIG_START( rallyx, rallyx_state ) |
r17996 | r17997 | |
910 | 908 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
911 | 909 | MCFG_CPU_PROGRAM_MAP(rallyx_map) |
912 | 910 | MCFG_CPU_IO_MAP(io_map) |
913 | MCFG_CPU_VBLANK_INT("screen", rallyx_vblank_irq) | |
911 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rallyx_state, rallyx_vblank_irq) | |
914 | 912 | |
915 | 913 | MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx) |
916 | 914 | MCFG_MACHINE_RESET_OVERRIDE(rallyx_state,rallyx) |
r17996 | r17997 | |
948 | 946 | /* basic machine hardware */ |
949 | 947 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
950 | 948 | MCFG_CPU_PROGRAM_MAP(jungler_map) |
951 | MCFG_CPU_VBLANK_INT("screen", jungler_vblank_irq) | |
949 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rallyx_state, jungler_vblank_irq) | |
952 | 950 | |
953 | 951 | MCFG_MACHINE_START_OVERRIDE(rallyx_state,rallyx) |
954 | 952 | MCFG_MACHINE_RESET_OVERRIDE(rallyx_state,rallyx) |
r17996 | r17997 | |
---|---|---|
591 | 591 | /* basic machine hardware */ |
592 | 592 | MCFG_CPU_ADD("maincpu", Z80, XTAL_10MHz/4) |
593 | 593 | MCFG_CPU_PROGRAM_MAP(main_map) |
594 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
594 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dai3wksi_state, irq0_line_hold) | |
595 | 595 | |
596 | 596 | |
597 | 597 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
746 | 746 | Billiard Academy Real Break |
747 | 747 | ***************************************************************************/ |
748 | 748 | |
749 | ||
749 | ||
750 | 750 | { |
751 | 751 | /* VBlank is connected to INT1 (external interrupts pin 1) */ |
752 | tmp68301_external_interrupt_1( | |
752 | tmp68301_external_interrupt_1( | |
753 | 753 | } |
754 | 754 | |
755 | 755 | static MACHINE_CONFIG_START( realbrk, realbrk_state ) |
r17996 | r17997 | |
757 | 757 | /* basic machine hardware */ |
758 | 758 | MCFG_CPU_ADD("maincpu",M68000, XTAL_32MHz / 2) /* !! TMP68301 !! */ |
759 | 759 | MCFG_CPU_PROGRAM_MAP(realbrk_mem) |
760 | MCFG_CPU_VBLANK_INT("screen", realbrk_interrupt) | |
760 | MCFG_CPU_VBLANK_INT_DRIVER("screen", realbrk_state, realbrk_interrupt) | |
761 | 761 | |
762 | 762 | MCFG_MACHINE_START( tmp68301 ) |
763 | 763 | MCFG_MACHINE_RESET( tmp68301 ) |
r17996 | r17997 | |
---|---|---|
257 | 257 | |
258 | 258 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* guess */ |
259 | 259 | MCFG_CPU_PROGRAM_MAP(diverboy_map) |
260 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
260 | MCFG_CPU_VBLANK_INT_DRIVER("screen", diverboy_state, irq6_line_hold) | |
261 | 261 | |
262 | 262 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
263 | 263 | MCFG_CPU_PROGRAM_MAP(snd_map) |
r17996 | r17997 | |
---|---|---|
190 | 190 | m_bgcolor = 0; |
191 | 191 | } |
192 | 192 | |
193 | ||
193 | ||
194 | 194 | { |
195 | carjmbre_state *state = device->machine().driver_data<carjmbre_state>(); | |
196 | 195 | |
197 | if(state->m_nmi_mask) | |
198 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
196 | if(m_nmi_mask) | |
197 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
199 | 198 | } |
200 | 199 | |
201 | 200 | static MACHINE_CONFIG_START( carjmbre, carjmbre_state ) |
r17996 | r17997 | |
203 | 202 | /* basic machine hardware */ |
204 | 203 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) |
205 | 204 | MCFG_CPU_PROGRAM_MAP(carjmbre_map) |
206 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
205 | MCFG_CPU_VBLANK_INT_DRIVER("screen", carjmbre_state, vblank_irq) | |
207 | 206 | |
208 | 207 | |
209 | 208 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_18_432MHz/6/2) |
210 | 209 | MCFG_CPU_PROGRAM_MAP(carjmbre_sound_map) |
211 | 210 | MCFG_CPU_IO_MAP(carjmbre_sound_io_map) |
212 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
211 | MCFG_CPU_VBLANK_INT_DRIVER("screen", carjmbre_state, irq0_line_hold) | |
213 | 212 | |
214 | 213 | /* video hardware */ |
215 | 214 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
484 | 484 | /* basic machine hardware */ |
485 | 485 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
486 | 486 | MCFG_CPU_PROGRAM_MAP(varia_program_map) |
487 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) // also level 3 | |
487 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vmetal_state, irq1_line_hold) // also level 3 | |
488 | 488 | |
489 | 489 | /* video hardware */ |
490 | 490 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
328 | 328 | /* basic machine hardware */ |
329 | 329 | MCFG_CPU_ADD("maincpu", M68EC020, XTAL_32MHz/2) |
330 | 330 | MCFG_CPU_PROGRAM_MAP(superchs_map) |
331 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
331 | MCFG_CPU_VBLANK_INT_DRIVER("screen", superchs_state, irq2_line_hold) | |
332 | 332 | |
333 | 333 | MCFG_CPU_ADD("sub", M68000, XTAL_32MHz/2) |
334 | 334 | MCFG_CPU_PROGRAM_MAP(superchs_cpub_map) |
335 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
335 | MCFG_CPU_VBLANK_INT_DRIVER("screen", superchs_state, irq4_line_hold) | |
336 | 336 | |
337 | 337 | MCFG_QUANTUM_TIME(attotime::from_hz(480)) /* Need to interleave CPU 1 & 3 */ |
338 | 338 |
r17996 | r17997 | |
---|---|---|
250 | 250 | // cpus are Z80 "A" type, official maximum speed of 4 MHz, but 4.6 MHz has been proven to work in practice |
251 | 251 | MCFG_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/4) |
252 | 252 | MCFG_CPU_PROGRAM_MAP(flower_cpu1_2) |
253 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
253 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flower_state, irq0_line_hold) | |
254 | 254 | |
255 | 255 | MCFG_CPU_ADD("subcpu", Z80,XTAL_18_432MHz/4) |
256 | 256 | MCFG_CPU_PROGRAM_MAP(flower_cpu1_2) |
257 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 120) // controls game speed? irqsource and frequency unknown | |
257 | MCFG_CPU_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 120) // controls game speed? irqsource and frequency unknown | |
258 | 258 | |
259 | 259 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_18_432MHz/4) |
260 | 260 | MCFG_CPU_PROGRAM_MAP(flower_sound_cpu) |
261 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 90) // controls music speed. irqsource and frequency unknown, same as subcpu perhaps? | |
261 | MCFG_CPU_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 90) // controls music speed. irqsource and frequency unknown, same as subcpu perhaps? | |
262 | 262 | |
263 | 263 | // tight sync, slowdowns otherwise |
264 | 264 | // MCFG_QUANTUM_PERFECT_CPU("maincpu") |
r17996 | r17997 | |
---|---|---|
1083 | 1083 | /* basic machine hardware */ |
1084 | 1084 | MCFG_CPU_ADD("maincpu", M6809,49152000/32) |
1085 | 1085 | MCFG_CPU_PROGRAM_MAP(main_map) |
1086 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
1086 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) | |
1087 | 1087 | |
1088 | 1088 | MCFG_CPU_ADD("sub", M6809,49152000/32) |
1089 | 1089 | MCFG_CPU_PROGRAM_MAP(sub_map) |
1090 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
1090 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) | |
1091 | 1091 | |
1092 | 1092 | MCFG_CPU_ADD("audiocpu", M6809,49152000/32) |
1093 | 1093 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1094 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
1094 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) | |
1095 | 1095 | |
1096 | 1096 | MCFG_CPU_ADD("mcu",HD63701,49152000/8) |
1097 | 1097 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
1098 | 1098 | MCFG_CPU_IO_MAP(mcu_port_map) |
1099 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
1099 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos1_state, irq0_line_assert) | |
1100 | 1100 | |
1101 | 1101 | // heavy sync required to prevent CPUs from fighting for video RAM access and going into deadlocks |
1102 | 1102 | MCFG_QUANTUM_TIME(attotime::from_hz(38400)) |
r17996 | r17997 | |
---|---|---|
186 | 186 | /* basic machine hardware */ |
187 | 187 | MCFG_CPU_ADD("maincpu", Z80, MAIN_CLOCK/2) /* Verified */ |
188 | 188 | MCFG_CPU_PROGRAM_MAP(main_map) |
189 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
189 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mrdo_state, irq0_line_hold) | |
190 | 190 | |
191 | 191 | /* video hardware */ |
192 | 192 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
31 | 31 | #include "includes/konamipt.h" |
32 | 32 | #include "includes/mainevt.h" |
33 | 33 | |
34 | ||
34 | ||
35 | 35 | { |
36 | mainevt_state *state = device->machine().driver_data<mainevt_state>(); | |
37 | 36 | |
38 | if (k052109_is_irq_enabled( | |
37 | if (k052109_is_irq_enabled( | |
39 | 38 | irq0_line_hold(device); |
40 | 39 | } |
41 | 40 | |
r17996 | r17997 | |
44 | 43 | m_nmi_enable = data; |
45 | 44 | } |
46 | 45 | |
47 | ||
46 | ||
48 | 47 | { |
49 | mainevt_state *state = device->machine().driver_data<mainevt_state>(); | |
50 | 48 | |
51 | if ( | |
49 | if ( | |
52 | 50 | nmi_line_pulse(device); |
53 | 51 | } |
54 | 52 | |
r17996 | r17997 | |
433 | 431 | m_nmi_enable = 0; |
434 | 432 | } |
435 | 433 | |
436 | ||
434 | ||
437 | 435 | { |
438 | mainevt_state *state = device->machine().driver_data<mainevt_state>(); | |
439 | 436 | |
440 | if(state->m_sound_irq_mask) | |
441 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
437 | if(m_sound_irq_mask) | |
438 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
442 | 439 | } |
443 | 440 | |
444 | ||
441 | ||
445 | 442 | { |
446 | mainevt_state *state = device->machine().driver_data<mainevt_state>(); | |
447 | 443 | |
448 | if(state->m_sound_irq_mask) | |
449 | device->execute().set_input_line(0, HOLD_LINE); | |
444 | if(m_sound_irq_mask) | |
445 | device.execute().set_input_line(0, HOLD_LINE); | |
450 | 446 | } |
451 | 447 | |
452 | 448 | static MACHINE_CONFIG_START( mainevt, mainevt_state ) |
r17996 | r17997 | |
454 | 450 | /* basic machine hardware */ |
455 | 451 | MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) /* ?? */ |
456 | 452 | MCFG_CPU_PROGRAM_MAP(mainevt_map) |
457 | MCFG_CPU_VBLANK_INT("screen", mainevt_interrupt) | |
453 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mainevt_state, mainevt_interrupt) | |
458 | 454 | |
459 | 455 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ |
460 | 456 | MCFG_CPU_PROGRAM_MAP(mainevt_sound_map) |
461 | MCFG_CPU_PERIODIC_INT(mainevt_sound_timer_irq,8*60) /* ??? */ | |
457 | MCFG_CPU_PERIODIC_INT_DRIVER(mainevt_state, mainevt_sound_timer_irq, 8*60) /* ??? */ | |
462 | 458 | |
463 | 459 | |
464 | 460 | /* video hardware */ |
r17996 | r17997 | |
512 | 508 | /* basic machine hardware */ |
513 | 509 | MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) /* ?? */ |
514 | 510 | MCFG_CPU_PROGRAM_MAP(devstors_map) |
515 | MCFG_CPU_VBLANK_INT("screen", dv_interrupt) | |
511 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mainevt_state, dv_interrupt) | |
516 | 512 | |
517 | 513 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ |
518 | 514 | MCFG_CPU_PROGRAM_MAP(devstors_sound_map) |
519 | MCFG_CPU_PERIODIC_INT(devstors_sound_timer_irq,4*60) /* ??? */ | |
515 | MCFG_CPU_PERIODIC_INT_DRIVER(mainevt_state, devstors_sound_timer_irq, 4*60) /* ??? */ | |
520 | 516 | |
521 | 517 | |
522 | 518 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
418 | 418 | /* basic machine hardware */ |
419 | 419 | MCFG_CPU_ADD("maincpu", M68000,XTAL_20MHz /2) /* verified on pcb */ |
420 | 420 | MCFG_CPU_PROGRAM_MAP(toki_map) |
421 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* VBL */ | |
421 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toki_state, irq1_line_hold)/* VBL */ | |
422 | 422 | |
423 | 423 | SEIBU_SOUND_SYSTEM_CPU(XTAL_14_31818MHz/4) /* verifed on pcb */ |
424 | 424 | |
r17996 | r17997 | |
448 | 448 | /* basic machine hardware */ |
449 | 449 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10MHz causes bad slowdowns with monkey machine rd1, but is correct, 20Mhz XTAL */ |
450 | 450 | MCFG_CPU_PROGRAM_MAP(tokib_map) |
451 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)/* VBL (could be level1, same vector) */ | |
451 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toki_state, irq6_line_hold)/* VBL (could be level1, same vector) */ | |
452 | 452 | |
453 | 453 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* verified with PCB */ |
454 | 454 | MCFG_CPU_PROGRAM_MAP(tokib_audio_map) |
r17996 | r17997 | |
---|---|---|
55 | 55 | DECLARE_DRIVER_INIT(wcvol95); |
56 | 56 | virtual void video_start(); |
57 | 57 | UINT32 screen_update_wcvol95(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
58 | INTERRUPT_GEN_MEMBER(deco32_vbl_interrupt); | |
58 | 59 | }; |
59 | 60 | |
60 | 61 | |
r17996 | r17997 | |
313 | 314 | sound_irq_gen |
314 | 315 | }; |
315 | 316 | |
316 | ||
317 | ||
317 | 318 | { |
318 | device | |
319 | device. | |
319 | 320 | } |
320 | 321 | |
321 | 322 | static int deco156_bank_callback(const int bank) |
r17996 | r17997 | |
354 | 355 | /* basic machine hardware */ |
355 | 356 | MCFG_CPU_ADD("maincpu", ARM, 28000000) /* Unconfirmed */ |
356 | 357 | MCFG_CPU_PROGRAM_MAP(hvysmsh_map) |
357 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
358 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco156_state, deco32_vbl_interrupt) | |
358 | 359 | |
359 | 360 | MCFG_EEPROM_93C46_ADD("eeprom") |
360 | 361 | |
r17996 | r17997 | |
391 | 392 | /* basic machine hardware */ |
392 | 393 | MCFG_CPU_ADD("maincpu", ARM, 28000000) /* Unconfirmed */ |
393 | 394 | MCFG_CPU_PROGRAM_MAP(wcvol95_map) |
394 | MCFG_CPU_VBLANK_INT("screen", deco32_vbl_interrupt) | |
395 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco156_state, deco32_vbl_interrupt) | |
395 | 396 | |
396 | 397 | MCFG_EEPROM_93C46_ADD("eeprom") |
397 | 398 |
r17996 | r17997 | |
---|---|---|
118 | 118 | DECLARE_DRIVER_INIT(junofrst); |
119 | 119 | DECLARE_MACHINE_START(junofrst); |
120 | 120 | DECLARE_MACHINE_RESET(junofrst); |
121 | INTERRUPT_GEN_MEMBER(junofrst_30hz_irq); | |
121 | 122 | }; |
122 | 123 | |
123 | 124 | |
r17996 | r17997 | |
418 | 419 | m_blitterdata[3] = 0; |
419 | 420 | } |
420 | 421 | |
421 | ||
422 | ||
422 | 423 | { |
423 | junofrst_state *state = device->machine().driver_data<junofrst_state>(); | |
424 | 424 | |
425 | 425 | /* flip flops cause the interrupt to be signalled every other frame */ |
426 | state->m_irq_toggle ^= 1; | |
427 | if (state->m_irq_toggle && state->m_irq_enable) | |
428 | device->execute().set_input_line(0, ASSERT_LINE); | |
426 | m_irq_toggle ^= 1; | |
427 | if (m_irq_toggle && m_irq_enable) | |
428 | device.execute().set_input_line(0, ASSERT_LINE); | |
429 | 429 | } |
430 | 430 | |
431 | 431 | static MACHINE_CONFIG_START( junofrst, junofrst_state ) |
r17996 | r17997 | |
433 | 433 | /* basic machine hardware */ |
434 | 434 | MCFG_CPU_ADD("maincpu", M6809, 1500000) /* 1.5 MHz ??? */ |
435 | 435 | MCFG_CPU_PROGRAM_MAP(main_map) |
436 | MCFG_CPU_VBLANK_INT("screen", junofrst_30hz_irq) | |
436 | MCFG_CPU_VBLANK_INT_DRIVER("screen", junofrst_state, junofrst_30hz_irq) | |
437 | 437 | |
438 | 438 | MCFG_CPU_ADD("audiocpu", Z80,14318000/8) /* 1.78975 MHz */ |
439 | 439 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
---|---|---|
305 | 305 | MCFG_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */ |
306 | 306 | MCFG_CPU_PROGRAM_MAP(vvillage_mem) |
307 | 307 | MCFG_CPU_IO_MAP(vvillage_io) |
308 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold | |
308 | MCFG_CPU_VBLANK_INT_DRIVER("screen", caswin_state, irq0_line_hold | |
309 | 309 | |
310 | 310 | /* video hardware */ |
311 | 311 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
82 | 82 | DECLARE_DRIVER_INIT(hitpoker); |
83 | 83 | virtual void video_start(); |
84 | 84 | UINT32 screen_update_hitpoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
85 | INTERRUPT_GEN_MEMBER(hitpoker_irq); | |
85 | 86 | }; |
86 | 87 | |
87 | 88 | |
r17996 | r17997 | |
485 | 486 | 0x01 //INIT defaults to 0x01 |
486 | 487 | }; |
487 | 488 | |
488 | ||
489 | ||
489 | 490 | { |
490 | device | |
491 | device. | |
491 | 492 | } |
492 | 493 | |
493 | 494 | static MACHINE_CONFIG_START( hitpoker, hitpoker_state ) |
r17996 | r17997 | |
495 | 496 | MCFG_CPU_PROGRAM_MAP(hitpoker_map) |
496 | 497 | MCFG_CPU_IO_MAP(hitpoker_io) |
497 | 498 | MCFG_CPU_CONFIG(hitpoker_config) |
498 | MCFG_CPU_VBLANK_INT("screen", hitpoker_irq) | |
499 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hitpoker_state, hitpoker_irq) | |
499 | 500 | |
500 | 501 | MCFG_NVRAM_ADD_0FILL("nvram") |
501 | 502 |
r17996 | r17997 | |
---|---|---|
566 | 566 | /* basic machine hardware */ |
567 | 567 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2) /* 12 MHz */ |
568 | 568 | MCFG_CPU_PROGRAM_MAP(syvalion_map) |
569 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
569 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoh_state, irq2_line_hold) | |
570 | 570 | |
571 | 571 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz / 2) /* 4 MHz ??? */ |
572 | 572 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
607 | 607 | /* basic machine hardware */ |
608 | 608 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2) /* 12 MHz */ |
609 | 609 | MCFG_CPU_PROGRAM_MAP(recordbr_map) |
610 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
610 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoh_state, irq2_line_hold) | |
611 | 611 | |
612 | 612 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz / 2) /* 4 MHz ??? */ |
613 | 613 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
648 | 648 | /* basic machine hardware */ |
649 | 649 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2) /* 12 MHz */ |
650 | 650 | MCFG_CPU_PROGRAM_MAP(dleague_map) |
651 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
651 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoh_state, irq1_line_hold) | |
652 | 652 | |
653 | 653 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz / 2) /* 4 MHz ??? */ |
654 | 654 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
261 | 261 | /* basic machine hardware */ |
262 | 262 | MCFG_CPU_ADD("maincpu", M68000, MAIN_CLOCK) |
263 | 263 | MCFG_CPU_PROGRAM_MAP(ginganin_map) |
264 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) /* ? (vectors 1-7 cointain the same address) */ | |
264 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ginganin_state, irq1_line_hold) /* ? (vectors 1-7 cointain the same address) */ | |
265 | 265 | |
266 | 266 | MCFG_CPU_ADD("audiocpu", M6809, SOUND_CLOCK) |
267 | 267 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
238 | 238 | /* basic machine hardware */ |
239 | 239 | MCFG_CPU_ADD("maincpu", M68000,XTAL_20MHz/2) /* verified on pcb */ |
240 | 240 | MCFG_CPU_PROGRAM_MAP(main_map) |
241 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
241 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tail2nos_state, irq6_line_hold) | |
242 | 242 | |
243 | 243 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_20MHz/4) /* verified on pcb */ |
244 | 244 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
79 | 79 | DECLARE_WRITE8_MEMBER(m79amb_8002_w); |
80 | 80 | DECLARE_DRIVER_INIT(m79amb); |
81 | 81 | UINT32 screen_update_ramtek(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
82 | INTERRUPT_GEN_MEMBER(m79amb_interrupt); | |
82 | 83 | }; |
83 | 84 | |
84 | 85 | |
r17996 | r17997 | |
202 | 203 | INPUT_PORTS_END |
203 | 204 | |
204 | 205 | |
205 | ||
206 | ||
206 | 207 | { |
207 | device | |
208 | device. | |
208 | 209 | } |
209 | 210 | |
210 | 211 | static MACHINE_CONFIG_START( m79amb, m79amb_state ) |
r17996 | r17997 | |
212 | 213 | /* basic machine hardware */ |
213 | 214 | MCFG_CPU_ADD("maincpu", I8080, XTAL_19_6608MHz / 10) |
214 | 215 | MCFG_CPU_PROGRAM_MAP(main_map) |
215 | MCFG_CPU_VBLANK_INT("screen", m79amb_interrupt) | |
216 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m79amb_state, m79amb_interrupt) | |
216 | 217 | |
217 | 218 | /* video hardware */ |
218 | 219 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
201 | 201 | MCFG_CPU_ADD("maincpu", Z80,15468000/6) /* 2.578 MHz?? */ |
202 | 202 | MCFG_CPU_PROGRAM_MAP(mrjong_map) |
203 | 203 | MCFG_CPU_IO_MAP(mrjong_io_map) |
204 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
204 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mrjong_state, nmi_line_pulse) | |
205 | 205 | |
206 | 206 | /* video hardware */ |
207 | 207 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
178 | 178 | } |
179 | 179 | |
180 | 180 | |
181 | ||
181 | ||
182 | 182 | { |
183 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(slapshot_interrupt6)); | |
184 | device->execute().set_input_line(5, HOLD_LINE); | |
183 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(200000 - 500), FUNC(slapshot_interrupt6)); | |
184 | device.execute().set_input_line(5, HOLD_LINE); | |
185 | 185 | } |
186 | 186 | |
187 | 187 | |
r17996 | r17997 | |
543 | 543 | /* basic machine hardware */ |
544 | 544 | MCFG_CPU_ADD("maincpu", M68000, 14346000) /* 28.6860 MHz / 2 ??? */ |
545 | 545 | MCFG_CPU_PROGRAM_MAP(slapshot_map) |
546 | MCFG_CPU_VBLANK_INT("screen", slapshot_interrupt) | |
546 | MCFG_CPU_VBLANK_INT_DRIVER("screen", slapshot_state, slapshot_interrupt) | |
547 | 547 | |
548 | 548 | MCFG_CPU_ADD("audiocpu", Z80,32000000/8) /* 4 MHz */ |
549 | 549 | MCFG_CPU_PROGRAM_MAP(opwolf3_z80_sound_map) |
r17996 | r17997 | |
589 | 589 | /* basic machine hardware */ |
590 | 590 | MCFG_CPU_ADD("maincpu", M68000, 14346000) /* 28.6860 MHz / 2 ??? */ |
591 | 591 | MCFG_CPU_PROGRAM_MAP(opwolf3_map) |
592 | MCFG_CPU_VBLANK_INT("screen", slapshot_interrupt) | |
592 | MCFG_CPU_VBLANK_INT_DRIVER("screen", slapshot_state, slapshot_interrupt) | |
593 | 593 | |
594 | 594 | MCFG_CPU_ADD("audiocpu", Z80,32000000/8) /* 4 MHz */ |
595 | 595 | MCFG_CPU_PROGRAM_MAP(opwolf3_z80_sound_map) |
r17996 | r17997 | |
---|---|---|
38 | 38 | DECLARE_DRIVER_INIT(ertictac); |
39 | 39 | virtual void machine_start(); |
40 | 40 | virtual void machine_reset(); |
41 | INTERRUPT_GEN_MEMBER(ertictac_podule_irq); | |
41 | 42 | }; |
42 | 43 | |
43 | 44 | |
r17996 | r17997 | |
208 | 209 | archimedes_reset(machine()); |
209 | 210 | } |
210 | 211 | |
211 | ||
212 | ||
212 | 213 | { |
213 | archimedes_request_irq_b( | |
214 | archimedes_request_irq_b( | |
214 | 215 | } |
215 | 216 | |
216 | 217 | /* TODO: Are we sure that this HW have I2C device? */ |
r17996 | r17997 | |
226 | 227 | |
227 | 228 | MCFG_CPU_ADD("maincpu", ARM, XTAL_24MHz/3) /* guess, 12MHz 8MHz or 6MHz, what's the correct divider 2, 3 or 4? */ |
228 | 229 | MCFG_CPU_PROGRAM_MAP(ertictac_map) |
229 | MCFG_CPU_PERIODIC_INT(ertictac_podule_irq,60) // FIXME: timing of this | |
230 | MCFG_CPU_PERIODIC_INT_DRIVER(ertictac_state, ertictac_podule_irq, 60) // FIXME: timing of this | |
230 | 231 | |
231 | 232 | |
232 | 233 | MCFG_I2CMEM_ADD("i2cmem",i2cmem_interface) |
r17996 | r17997 | |
---|---|---|
214 | 214 | MCFG_CPU_ADD("maincpu", Z80, VICTORY_MAIN_CPU_CLOCK) |
215 | 215 | MCFG_CPU_PROGRAM_MAP(main_map) |
216 | 216 | MCFG_CPU_IO_MAP(main_io_map) |
217 | MCFG_CPU_VBLANK_INT("screen", victory_vblank_interrupt) | |
217 | MCFG_CPU_VBLANK_INT_DRIVER("screen", victory_state, victory_vblank_interrupt) | |
218 | 218 | |
219 | 219 | MCFG_NVRAM_ADD_0FILL("nvram") |
220 | 220 |
r17996 | r17997 | |
---|---|---|
59 | 59 | virtual void video_reset(); |
60 | 60 | DECLARE_MACHINE_RESET(airrace); |
61 | 61 | UINT32 screen_update_atarisy4(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(vblank_int); | |
62 | 63 | }; |
63 | 64 | |
64 | 65 | |
r17996 | r17997 | |
516 | 517 | return res; |
517 | 518 | } |
518 | 519 | |
519 | ||
520 | ||
520 | 521 | { |
521 | 522 | if (gpu.mcr & 0x08) |
522 | | |
523 | | |
523 | 524 | } |
524 | 525 | |
525 | 526 | |
r17996 | r17997 | |
730 | 731 | static MACHINE_CONFIG_START( atarisy4, atarisy4_state ) |
731 | 732 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
732 | 733 | MCFG_CPU_PROGRAM_MAP(main_map) |
733 | MCFG_CPU_VBLANK_INT("screen", vblank_int) | |
734 | MCFG_CPU_VBLANK_INT_DRIVER("screen", atarisy4_state, vblank_int) | |
734 | 735 | |
735 | 736 | MCFG_CPU_ADD("dsp0", TMS32010, 16000000) |
736 | 737 | MCFG_CPU_PROGRAM_MAP(dsp0_map) |
r17996 | r17997 | |
---|---|---|
901 | 901 | * Interrupts Gen * |
902 | 902 | ************************/ |
903 | 903 | |
904 | ||
904 | ||
905 | 905 | { |
906 | lucky74_state *state = device->machine().driver_data<lucky74_state>(); | |
907 | if ((state->m_ym2149_portb & 0x10) == 0) /* ym2149 portB bit 4 trigger the NMI */ | |
906 | if ((m_ym2149_portb & 0x10) == 0) /* ym2149 portB bit 4 trigger the NMI */ | |
908 | 907 | { |
909 | device | |
908 | device. | |
910 | 909 | } |
911 | 910 | } |
912 | 911 | |
r17996 | r17997 | |
1361 | 1360 | MCFG_CPU_ADD("maincpu", Z80, C_06B49P_CLKOUT_03) /* 3 MHz. */ |
1362 | 1361 | MCFG_CPU_PROGRAM_MAP(lucky74_map) |
1363 | 1362 | MCFG_CPU_IO_MAP(lucky74_portmap) |
1364 | MCFG_CPU_VBLANK_INT("screen", nmi_interrupt) /* 60 Hz. measured */ | |
1363 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lucky74_state, nmi_interrupt) /* 60 Hz. measured */ | |
1365 | 1364 | |
1366 | 1365 | MCFG_NVRAM_ADD_0FILL("nvram") |
1367 | 1366 |
r17996 | r17997 | |
---|---|---|
391 | 391 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* 6MHz */ |
392 | 392 | MCFG_CPU_PROGRAM_MAP(main_program_map) |
393 | 393 | MCFG_CPU_IO_MAP(main_io_map) |
394 | MCFG_CPU_VBLANK_INT("screen", wardner_interrupt) | |
394 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wardner_state, wardner_interrupt) | |
395 | 395 | |
396 | 396 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_14MHz/4) /* 3.5MHz */ |
397 | 397 | MCFG_CPU_PROGRAM_MAP(sound_program_map) |
r17996 | r17997 | |
---|---|---|
906 | 906 | /* basic machine hardware */ |
907 | 907 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
908 | 908 | MCFG_CPU_PROGRAM_MAP(cninja_map) |
909 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
909 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cninja_state, irq5_line_hold) | |
910 | 910 | |
911 | 911 | MCFG_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */ |
912 | 912 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
958 | 958 | /* basic machine hardware */ |
959 | 959 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
960 | 960 | MCFG_CPU_PROGRAM_MAP(cninja_map) |
961 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
961 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cninja_state, irq5_line_hold) | |
962 | 962 | |
963 | 963 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
964 | 964 | MCFG_CPU_PROGRAM_MAP(stoneage_s_map) |
r17996 | r17997 | |
1010 | 1010 | /* basic machine hardware */ |
1011 | 1011 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
1012 | 1012 | MCFG_CPU_PROGRAM_MAP(cninjabl_map) |
1013 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1013 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cninja_state, irq5_line_hold) | |
1014 | 1014 | |
1015 | 1015 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
1016 | 1016 | MCFG_CPU_PROGRAM_MAP(stoneage_s_map) |
r17996 | r17997 | |
1053 | 1053 | /* basic machine hardware */ |
1054 | 1054 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
1055 | 1055 | MCFG_CPU_PROGRAM_MAP(edrandy_map) |
1056 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1056 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cninja_state, irq5_line_hold) | |
1057 | 1057 | |
1058 | 1058 | MCFG_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */ |
1059 | 1059 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1105 | 1105 | /* basic machine hardware */ |
1106 | 1106 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
1107 | 1107 | MCFG_CPU_PROGRAM_MAP(robocop2_map) |
1108 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1108 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cninja_state, irq5_line_hold) | |
1109 | 1109 | |
1110 | 1110 | MCFG_CPU_ADD("audiocpu", H6280,32220000/8) /* Accurate */ |
1111 | 1111 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1160 | 1160 | /* basic machine hardware */ |
1161 | 1161 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
1162 | 1162 | MCFG_CPU_PROGRAM_MAP(mutantf_map) |
1163 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
1163 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cninja_state, irq6_line_hold) | |
1164 | 1164 | |
1165 | 1165 | MCFG_CPU_ADD("audiocpu", H6280,32220000/8) |
1166 | 1166 | MCFG_CPU_PROGRAM_MAP(sound_map_mutantf) |
r17996 | r17997 | |
---|---|---|
326 | 326 | |
327 | 327 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
328 | 328 | MCFG_CPU_PROGRAM_MAP(go2000_map) |
329 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
329 | MCFG_CPU_VBLANK_INT_DRIVER("screen", go2000_state, irq1_line_hold) | |
330 | 330 | |
331 | 331 | MCFG_CPU_ADD("soundcpu", Z80, 4000000) |
332 | 332 | MCFG_CPU_PROGRAM_MAP(go2000_sound_map) |
r17996 | r17997 | |
---|---|---|
813 | 813 | /* basic machine hardware */ |
814 | 814 | MCFG_CPU_ADD("maincpu", Z80, 18000000/6) /* 3 MHz */ |
815 | 815 | MCFG_CPU_PROGRAM_MAP(jack_map) |
816 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* jack needs 1 or its too fast */ | |
816 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jack_state, irq0_line_hold) /* jack needs 1 or its too fast */ | |
817 | 817 | |
818 | 818 | MCFG_CPU_ADD("audiocpu", Z80,18000000/12) /* 1.5 MHz */ |
819 | 819 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
844 | 844 | |
845 | 845 | /* basic machine hardware */ |
846 | 846 | MCFG_CPU_MODIFY("maincpu") |
847 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* tripool needs 2 or the palette is broken */ | |
847 | MCFG_CPU_PERIODIC_INT_DRIVER(jack_state, irq0_line_hold, 2*60) /* tripool needs 2 or the palette is broken */ | |
848 | 848 | MACHINE_CONFIG_END |
849 | 849 | |
850 | ||
850 | ||
851 | 851 | { |
852 | 852 | /* TODO: looks hackish to me ... */ |
853 | if (!(device->machine().root_device().ioport("IN2")->read() & 0x80)) | |
854 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
853 | if (!(machine().root_device().ioport("IN2")->read() & 0x80)) | |
854 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
855 | 855 | } |
856 | 856 | |
857 | 857 | static MACHINE_CONFIG_DERIVED( joinem, jack ) |
r17996 | r17997 | |
859 | 859 | /* basic machine hardware */ |
860 | 860 | MCFG_CPU_MODIFY("maincpu") |
861 | 861 | MCFG_CPU_PROGRAM_MAP(joinem_map) |
862 | MCFG_CPU_VBLANK_INT("screen",joinem_vblank_irq) | |
863 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
862 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jack_state, joinem_vblank_irq) | |
863 | MCFG_CPU_PERIODIC_INT_DRIVER(jack_state, irq0_line_hold, 2*60) | |
864 | 864 | |
865 | 865 | MCFG_GFXDECODE(joinem) |
866 | 866 | MCFG_PALETTE_LENGTH(0x100) |
r17996 | r17997 | |
879 | 879 | /* basic machine hardware */ |
880 | 880 | MCFG_CPU_MODIFY("maincpu") |
881 | 881 | MCFG_CPU_PROGRAM_MAP(joinem_map) |
882 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
882 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jack_state, nmi_line_pulse) | |
883 | 883 | |
884 | 884 | MCFG_GFXDECODE(joinem) |
885 | 885 | MCFG_PALETTE_LENGTH(0x100) |
r17996 | r17997 | |
---|---|---|
242 | 242 | /* basic machine hardware */ |
243 | 243 | MCFG_CPU_ADD("maincpu", M6502, 1500000) /* 1.5 MHz ???? */ |
244 | 244 | MCFG_CPU_PROGRAM_MAP(main_map) |
245 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,16*60) /* ? controls music tempo */ | |
245 | MCFG_CPU_PERIODIC_INT_DRIVER(dogfgt_state, irq0_line_hold, 16*60) /* ? controls music tempo */ | |
246 | 246 | |
247 | 247 | MCFG_CPU_ADD("sub", M6502, 1500000) /* 1.5 MHz ???? */ |
248 | 248 | MCFG_CPU_PROGRAM_MAP(sub_map) |
r17996 | r17997 | |
---|---|---|
483 | 483 | MCFG_CPU_ADD("maincpu", Z80, 3579645) /* 3.579645 MHz */ |
484 | 484 | MCFG_CPU_PROGRAM_MAP(vigilant_map) |
485 | 485 | MCFG_CPU_IO_MAP(vigilant_io_map) |
486 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
486 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vigilant_state, irq0_line_hold) | |
487 | 487 | |
488 | 488 | MCFG_CPU_ADD("soundcpu", Z80, 3579645) /* 3.579645 MHz */ |
489 | 489 | MCFG_CPU_PROGRAM_MAP(sound_map) |
490 | 490 | MCFG_CPU_IO_MAP(sound_io_map) |
491 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1 */ | |
491 | MCFG_CPU_PERIODIC_INT_DRIVER(vigilant_state, nmi_line_pulse, 128*55) /* clocked by V1 */ | |
492 | 492 | /* IRQs are generated by main Z80 and YM2151 */ |
493 | 493 | /* video hardware */ |
494 | 494 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
523 | 523 | MCFG_CPU_ADD("maincpu", Z80, 5688800) /* 5.688800 MHz */ |
524 | 524 | MCFG_CPU_PROGRAM_MAP(vigilant_map) |
525 | 525 | MCFG_CPU_IO_MAP(vigilant_io_map) |
526 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
526 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vigilant_state, irq0_line_hold) | |
527 | 527 | |
528 | 528 | MCFG_CPU_ADD("soundcpu", Z80, 18432000/6) /* 3.072000 MHz */ |
529 | 529 | MCFG_CPU_PROGRAM_MAP(sound_map) |
530 | 530 | MCFG_CPU_IO_MAP(buccanrs_sound_io_map) |
531 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1 */ | |
531 | MCFG_CPU_PERIODIC_INT_DRIVER(vigilant_state, nmi_line_pulse, 128*55) /* clocked by V1 */ | |
532 | 532 | /* IRQs are generated by main Z80 and YM2151 */ |
533 | 533 | /* video hardware */ |
534 | 534 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
579 | 579 | MCFG_CPU_ADD("maincpu", Z80, 3579645) /* 3.579645 MHz */ |
580 | 580 | MCFG_CPU_PROGRAM_MAP(kikcubic_map) |
581 | 581 | MCFG_CPU_IO_MAP(kikcubic_io_map) |
582 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
582 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vigilant_state, irq0_line_hold) | |
583 | 583 | |
584 | 584 | MCFG_CPU_ADD("soundcpu", Z80, 3579645) /* 3.579645 MHz */ |
585 | 585 | MCFG_CPU_PROGRAM_MAP(sound_map) |
586 | 586 | MCFG_CPU_IO_MAP(sound_io_map) |
587 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1 */ | |
587 | MCFG_CPU_PERIODIC_INT_DRIVER(vigilant_state, nmi_line_pulse, 128*55) /* clocked by V1 */ | |
588 | 588 | /* IRQs are generated by main Z80 and YM2151 */ |
589 | 589 | /* video hardware */ |
590 | 590 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
1791 | 1791 | /* basic machine hardware */ |
1792 | 1792 | MCFG_CPU_ADD("maincpu",Z80,8000000/2) /* 4 MHz */ |
1793 | 1793 | MCFG_CPU_PROGRAM_MAP(taitosj_main_nomcu_map) |
1794 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1794 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitosj_state, irq0_line_hold) | |
1795 | 1795 | |
1796 | 1796 | MCFG_CPU_ADD("audiocpu", Z80,6000000/2) /* 3 MHz */ |
1797 | 1797 | MCFG_CPU_PROGRAM_MAP(taitosj_audio_map) |
r17996 | r17997 | |
1799 | 1799 | /* - no interrupts synced with vblank */ |
1800 | 1800 | /* - NMI triggered by the main CPU */ |
1801 | 1801 | /* - periodic IRQ, with frequency 6000000/(4*16*16*10*16) = 36.621 Hz, */ |
1802 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)6000000/(4*16*16*10*16)) | |
1802 | MCFG_CPU_PERIODIC_INT_DRIVER(taitosj_state, irq0_line_hold, (double)6000000/(4*16*16*10*16)) | |
1803 | 1803 | |
1804 | 1804 | |
1805 | 1805 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
436 | 436 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* 6 MHz? */ |
437 | 437 | MCFG_CPU_PROGRAM_MAP(galivan_map) |
438 | 438 | MCFG_CPU_IO_MAP(io_map) |
439 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
439 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galivan_state, irq0_line_hold) | |
440 | 440 | |
441 | 441 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* 4 MHz? */ |
442 | 442 | MCFG_CPU_PROGRAM_MAP(sound_map) |
443 | 443 | MCFG_CPU_IO_MAP(sound_io_map) |
444 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
444 | MCFG_CPU_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
445 | 445 | |
446 | 446 | MCFG_MACHINE_START_OVERRIDE(galivan_state,galivan) |
447 | 447 | MCFG_MACHINE_RESET_OVERRIDE(galivan_state,galivan) |
r17996 | r17997 | |
478 | 478 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* 6 MHz? */ |
479 | 479 | MCFG_CPU_PROGRAM_MAP(ninjemak_map) |
480 | 480 | MCFG_CPU_IO_MAP(ninjemak_io_map) |
481 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
481 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galivan_state, irq0_line_hold) | |
482 | 482 | |
483 | 483 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* 4 MHz? */ |
484 | 484 | MCFG_CPU_PROGRAM_MAP(sound_map) |
485 | 485 | MCFG_CPU_IO_MAP(sound_io_map) |
486 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
486 | MCFG_CPU_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
487 | 487 | |
488 | 488 | MCFG_MACHINE_START_OVERRIDE(galivan_state,ninjemak) |
489 | 489 | MCFG_MACHINE_RESET_OVERRIDE(galivan_state,ninjemak) |
r17996 | r17997 | |
---|---|---|
261 | 261 | /* basic machine hardware */ |
262 | 262 | MCFG_CPU_ADD("maincpu", M6809, XTAL_4MHz/2) |
263 | 263 | MCFG_CPU_PROGRAM_MAP(main_map) |
264 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 60) // timer irq controls update speed, frequency needs to be determined yet (2MHz through three 74LS390) | |
264 | MCFG_CPU_PERIODIC_INT_DRIVER(destiny_state, irq0_line_hold, 60) // timer irq controls update speed, frequency needs to be determined yet (2MHz through three 74LS390) | |
265 | 265 | |
266 | 266 | /* video hardware (dummy) */ |
267 | 267 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
239 | 239 | /* basic machine hardware */ |
240 | 240 | MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz / 16) |
241 | 241 | MCFG_CPU_PROGRAM_MAP(main_map) |
242 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
242 | MCFG_CPU_VBLANK_INT_DRIVER("screen", canyon_state, nmi_line_pulse) | |
243 | 243 | MCFG_WATCHDOG_VBLANK_INIT(8) |
244 | 244 | |
245 | 245 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
59 | 59 | TILE_GET_INFO_MEMBER(get_bg_tilemap_tile_info); |
60 | 60 | virtual void video_start(); |
61 | 61 | UINT32 screen_update_igs_majhong(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(igs_majhong_interrupt); | |
62 | 63 | }; |
63 | 64 | |
64 | 65 | |
r17996 | r17997 | |
357 | 358 | GFXDECODE_END |
358 | 359 | |
359 | 360 | |
360 | ||
361 | ||
361 | 362 | { |
362 | generic_pulse_irq_line(device, ARM7_FIRQ_LINE, 1); | |
363 | generic_pulse_irq_line(device.execute(), ARM7_FIRQ_LINE, 1); | |
363 | 364 | } |
364 | 365 | |
365 | 366 | |
r17996 | r17997 | |
368 | 369 | |
369 | 370 | MCFG_CPU_PROGRAM_MAP(igs_majhong_map) |
370 | 371 | |
371 | MCFG_CPU_VBLANK_INT("screen", igs_majhong_interrupt) | |
372 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs_m027_state, igs_majhong_interrupt) | |
372 | 373 | //MCFG_NVRAM_ADD_0FILL("nvram") |
373 | 374 | |
374 | 375 | MCFG_GFXDECODE(igs_m027) |
r17996 | r17997 | |
---|---|---|
496 | 496 | /* basic machine hardware */ |
497 | 497 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* 12MHz (24/2) */ |
498 | 498 | MCFG_CPU_PROGRAM_MAP(splash_map) |
499 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
499 | MCFG_CPU_VBLANK_INT_DRIVER("screen", splash_state, irq6_line_hold) | |
500 | 500 | |
501 | 501 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_30MHz/8) /* 3.75MHz (30/8) */ |
502 | 502 | MCFG_CPU_PROGRAM_MAP(splash_sound_map) |
503 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,60*64) /* needed for the msm5205 to play the samples */ | |
503 | MCFG_CPU_PERIODIC_INT_DRIVER(splash_state, nmi_line_pulse, 60*64) /* needed for the msm5205 to play the samples */ | |
504 | 504 | |
505 | 505 | /* video hardware */ |
506 | 506 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
539 | 539 | DEVCB_LINE(ym_irq) |
540 | 540 | }; |
541 | 541 | |
542 | ||
542 | ||
543 | 543 | { |
544 | splash_state *state = device->machine().driver_data<splash_state>(); | |
545 | state->m_vblank_irq = 1; | |
546 | roldfrog_update_irq(device->machine()); | |
544 | m_vblank_irq = 1; | |
545 | roldfrog_update_irq(machine()); | |
547 | 546 | } |
548 | 547 | |
549 | 548 | static MACHINE_CONFIG_START( roldfrog, splash_state ) |
r17996 | r17997 | |
551 | 550 | /* basic machine hardware */ |
552 | 551 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* 12 MHz - verified */ |
553 | 552 | MCFG_CPU_PROGRAM_MAP(roldfrog_map) |
554 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
553 | MCFG_CPU_VBLANK_INT_DRIVER("screen", splash_state, irq6_line_hold) | |
555 | 554 | |
556 | 555 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8) /* 3 MHz - verified */ |
557 | 556 | MCFG_CPU_PROGRAM_MAP(roldfrog_sound_map) |
558 | 557 | MCFG_CPU_IO_MAP(roldfrog_sound_io_map) |
559 | MCFG_CPU_VBLANK_INT("screen", roldfrog_interrupt) | |
558 | MCFG_CPU_VBLANK_INT_DRIVER("screen", splash_state, roldfrog_interrupt) | |
560 | 559 | |
561 | 560 | /* video hardware */ |
562 | 561 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
632 | 631 | /* basic machine hardware */ |
633 | 632 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) /* 12 MHz (24/2) */ |
634 | 633 | MCFG_CPU_PROGRAM_MAP(funystrp_map) |
635 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
634 | MCFG_CPU_VBLANK_INT_DRIVER("screen", splash_state, irq6_line_hold) | |
636 | 635 | |
637 | 636 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/4) /* 6MHz (24/4) */ |
638 | 637 | MCFG_CPU_PROGRAM_MAP(funystrp_sound_map) |
r17996 | r17997 | |
---|---|---|
333 | 333 | /* basic machine hardware */ |
334 | 334 | MCFG_CPU_ADD("maincpu", Z80,XTAL_3_579545MHz) /* ? MHz */ |
335 | 335 | MCFG_CPU_PROGRAM_MAP(mainmap) |
336 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
336 | MCFG_CPU_VBLANK_INT_DRIVER("screen", buster_state, irq0_line_hold) | |
337 | 337 | |
338 | 338 | /* video hardware */ |
339 | 339 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
166 | 166 | DECLARE_MACHINE_RESET(am188em); |
167 | 167 | DECLARE_VIDEO_START(xtrain); |
168 | 168 | UINT32 screen_update_subsino2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
169 | INTERRUPT_GEN_MEMBER(am188em_int0_irq); | |
169 | 170 | }; |
170 | 171 | |
171 | 172 | |
r17996 | r17997 | |
862 | 863 | m_am188em_regs[AM188EM_I0CON+1] = 0x00; |
863 | 864 | } |
864 | 865 | |
865 | ||
866 | ||
866 | 867 | { |
867 | subsino2_state *state = device->machine().driver_data<subsino2_state>(); | |
868 | if ( ((state->m_am188em_regs[AM188EM_IMASK+0] & 0x10) == 0) || // IMASK.I0 mask | |
869 | ((state->m_am188em_regs[AM188EM_I0CON+0] & 0x08) == 0) ) // I0CON.MSK mask | |
870 | device->execute().set_input_line_and_vector(0, HOLD_LINE, 0x0c); // INT0 (background scrolling in xplan) | |
868 | if ( ((m_am188em_regs[AM188EM_IMASK+0] & 0x10) == 0) || // IMASK.I0 mask | |
869 | ((m_am188em_regs[AM188EM_I0CON+0] & 0x08) == 0) ) // I0CON.MSK mask | |
870 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x0c); // INT0 (background scrolling in xplan) | |
871 | 871 | } |
872 | 872 | |
873 | 873 | static TIMER_DEVICE_CALLBACK( am188em_timer2_irq ) |
r17996 | r17997 | |
2177 | 2177 | static MACHINE_CONFIG_START( bishjan, subsino2_state ) |
2178 | 2178 | MCFG_CPU_ADD("maincpu", H83044, XTAL_44_1MHz / 3) |
2179 | 2179 | MCFG_CPU_PROGRAM_MAP( bishjan_map ) |
2180 | MCFG_CPU_VBLANK_INT( | |
2180 | MCFG_CPU_VBLANK_INT_DRIVER( | |
2181 | 2181 | MCFG_TIMER_ADD_PERIODIC("timer", h8_timer_irq, attotime::from_hz(60)) // timer, ?? Hz |
2182 | 2182 | |
2183 | 2183 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
2274 | 2274 | MCFG_CPU_ADD("maincpu", I80188, XTAL_20MHz ) // !! AMD AM188-EM !! |
2275 | 2275 | MCFG_CPU_PROGRAM_MAP( xplan_map ) |
2276 | 2276 | MCFG_CPU_IO_MAP( xplan_io ) |
2277 | MCFG_CPU_VBLANK_INT( | |
2277 | MCFG_CPU_VBLANK_INT_DRIVER( | |
2278 | 2278 | MCFG_TIMER_ADD_PERIODIC("timer2", am188em_timer2_irq, attotime::from_hz(60)) // timer 2, ?? Hz |
2279 | 2279 | |
2280 | 2280 | MCFG_MACHINE_RESET_OVERRIDE(subsino2_state,am188em) |
r17996 | r17997 | |
---|---|---|
184 | 184 | DECLARE_VIDEO_START(m63); |
185 | 185 | DECLARE_PALETTE_INIT(m63); |
186 | 186 | UINT32 screen_update_m63(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
187 | INTERRUPT_GEN_MEMBER(snd_irq); | |
188 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
187 | 189 | }; |
188 | 190 | |
189 | 191 | |
r17996 | r17997 | |
718 | 720 | fghtbskt_sh_start |
719 | 721 | }; |
720 | 722 | |
721 | ||
723 | ||
722 | 724 | { |
723 | m63_state *state = device->machine().driver_data<m63_state>(); | |
724 | state->m_sound_irq = 1; | |
725 | m_sound_irq = 1; | |
725 | 726 | } |
726 | 727 | |
727 | 728 | MACHINE_START_MEMBER(m63_state,m63) |
r17996 | r17997 | |
755 | 756 | } |
756 | 757 | |
757 | 758 | |
758 | ||
759 | ||
759 | 760 | { |
760 | m63_state *state = device->machine().driver_data<m63_state>(); | |
761 | 761 | |
762 | if(state->m_nmi_mask) | |
763 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
762 | if(m_nmi_mask) | |
763 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
764 | 764 | } |
765 | 765 | |
766 | 766 | static MACHINE_CONFIG_START( m63, m63_state ) |
r17996 | r17997 | |
768 | 768 | /* basic machine hardware */ |
769 | 769 | MCFG_CPU_ADD("maincpu",Z80,XTAL_12MHz/4) /* 3 MHz */ |
770 | 770 | MCFG_CPU_PROGRAM_MAP(m63_map) |
771 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
771 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m63_state, vblank_irq) | |
772 | 772 | |
773 | 773 | MCFG_CPU_ADD("soundcpu",I8039,XTAL_12MHz/4) /* ????? */ |
774 | 774 | MCFG_CPU_PROGRAM_MAP(i8039_map) |
775 | 775 | MCFG_CPU_IO_MAP(i8039_port_map) |
776 | MCFG_CPU_PERIODIC_INT(snd_irq, 60) | |
776 | MCFG_CPU_PERIODIC_INT_DRIVER(m63_state, snd_irq, 60) | |
777 | 777 | |
778 | 778 | MCFG_MACHINE_START_OVERRIDE(m63_state,m63) |
779 | 779 | MCFG_MACHINE_RESET_OVERRIDE(m63_state,m63) |
r17996 | r17997 | |
804 | 804 | |
805 | 805 | static MACHINE_CONFIG_DERIVED( atomboy, m63 ) |
806 | 806 | MCFG_CPU_MODIFY("soundcpu") |
807 | MCFG_CPU_PERIODIC_INT(snd_irq, 60/2) | |
807 | MCFG_CPU_PERIODIC_INT_DRIVER(m63_state, snd_irq, 60/2) | |
808 | 808 | MACHINE_CONFIG_END |
809 | 809 | |
810 | 810 | static MACHINE_CONFIG_START( fghtbskt, m63_state ) |
r17996 | r17997 | |
812 | 812 | /* basic machine hardware */ |
813 | 813 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/4) /* 3 MHz */ |
814 | 814 | MCFG_CPU_PROGRAM_MAP(fghtbskt_map) |
815 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
815 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m63_state, vblank_irq) | |
816 | 816 | |
817 | 817 | MCFG_CPU_ADD("soundcpu", I8039,XTAL_12MHz/4) /* ????? */ |
818 | 818 | MCFG_CPU_PROGRAM_MAP(i8039_map) |
819 | 819 | MCFG_CPU_IO_MAP(i8039_port_map) |
820 | MCFG_CPU_PERIODIC_INT(snd_irq, 60/2) | |
820 | MCFG_CPU_PERIODIC_INT_DRIVER(m63_state, snd_irq, 60/2) | |
821 | 821 | |
822 | 822 | MCFG_MACHINE_START_OVERRIDE(m63_state,m63) |
823 | 823 | MCFG_MACHINE_RESET_OVERRIDE(m63_state,m63) |
r17996 | r17997 | |
---|---|---|
601 | 601 | MCFG_CPU_ADD("cpu1", Z80, 2500000) /* 10MHz / 4 = 2.5MHz */ |
602 | 602 | MCFG_CPU_PROGRAM_MAP(route16_cpu1_map) |
603 | 603 | MCFG_CPU_IO_MAP(cpu1_io_map) |
604 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
604 | MCFG_CPU_VBLANK_INT_DRIVER("screen", route16_state, irq0_line_hold) | |
605 | 605 | |
606 | 606 | MCFG_CPU_ADD("cpu2", Z80, 2500000) /* 10MHz / 4 = 2.5MHz */ |
607 | 607 | MCFG_CPU_PROGRAM_MAP(route16_cpu2_map) |
r17996 | r17997 | |
667 | 667 | |
668 | 668 | /* basic machine hardware */ |
669 | 669 | MCFG_CPU_MODIFY("cpu2") |
670 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,48*60) | |
670 | MCFG_CPU_PERIODIC_INT_DRIVER(route16_state, irq0_line_hold, 48*60) | |
671 | 671 | MACHINE_CONFIG_END |
672 | 672 | |
673 | 673 |
r17996 | r17997 | |
---|---|---|
455 | 455 | static MACHINE_CONFIG_START( deroon, tecmosys_state ) |
456 | 456 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
457 | 457 | MCFG_CPU_PROGRAM_MAP(main_map) |
458 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
458 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tecmosys_state, irq1_line_hold) | |
459 | 459 | MCFG_WATCHDOG_VBLANK_INIT(400) // guess |
460 | 460 | |
461 | 461 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/2 ) |
r17996 | r17997 | |
---|---|---|
740 | 740 | * |
741 | 741 | *************************************/ |
742 | 742 | |
743 | ||
743 | ||
744 | 744 | { |
745 | snk6502_state *state = device->machine().driver_data<snk6502_state>(); | |
746 | 745 | |
747 | if(state->m_irq_mask) | |
748 | device->execute().set_input_line(M6502_IRQ_LINE, HOLD_LINE); /* one IRQ per frame */ | |
746 | if(m_irq_mask) | |
747 | device.execute().set_input_line(M6502_IRQ_LINE, HOLD_LINE); /* one IRQ per frame */ | |
749 | 748 | } |
750 | 749 | |
751 | ||
750 | ||
752 | 751 | { |
753 | device | |
752 | device. | |
754 | 753 | } |
755 | 754 | |
756 | 755 | |
r17996 | r17997 | |
824 | 823 | // basic machine hardware |
825 | 824 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 16) // 700 kHz |
826 | 825 | MCFG_CPU_PROGRAM_MAP(sasuke_map) |
827 | MCFG_CPU_VBLANK_INT("screen",satansat_interrupt) | |
826 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk6502_state, satansat_interrupt) | |
828 | 827 | |
829 | 828 | MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,sasuke) |
830 | 829 | |
r17996 | r17997 | |
897 | 896 | //MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8) // 1.4 MHz |
898 | 897 | MCFG_CPU_ADD("maincpu", M6502, 930000) // adjusted |
899 | 898 | MCFG_CPU_PROGRAM_MAP(vanguard_map) |
900 | MCFG_CPU_VBLANK_INT("screen",snk6502_interrupt) | |
899 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk6502_state, snk6502_interrupt) | |
901 | 900 | |
902 | 901 | MCFG_MACHINE_RESET_OVERRIDE(snk6502_state,vanguard) |
903 | 902 |
r17996 | r17997 | |
---|---|---|
118 | 118 | } |
119 | 119 | |
120 | 120 | |
121 | ||
121 | ||
122 | 122 | { |
123 | device | |
123 | device. | |
124 | 124 | } |
125 | 125 | |
126 | 126 | |
127 | ||
127 | ||
128 | 128 | { |
129 | polyplay_state *state = device->machine().driver_data<polyplay_state>(); | |
130 | 129 | |
131 | if (state->ioport("INPUT")->read() & 0x80) | |
132 | state->m_last = 0; | |
130 | if (ioport("INPUT")->read() & 0x80) | |
131 | m_last = 0; | |
133 | 132 | else |
134 | 133 | { |
135 | if (state->m_last == 0) /* coin inserted */ | |
136 | device->execute().set_input_line_and_vector(0, HOLD_LINE, 0x50); | |
134 | if (m_last == 0) /* coin inserted */ | |
135 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x50); | |
137 | 136 | |
138 | | |
137 | | |
139 | 138 | } |
140 | 139 | } |
141 | 140 | |
r17996 | r17997 | |
273 | 272 | MCFG_CPU_ADD("maincpu", Z80, 9830400/4) |
274 | 273 | MCFG_CPU_PROGRAM_MAP(polyplay_map) |
275 | 274 | MCFG_CPU_IO_MAP(polyplay_io_map) |
276 | MCFG_CPU_PERIODIC_INT(periodic_interrupt,75) | |
277 | MCFG_CPU_VBLANK_INT("screen", coin_interrupt) | |
275 | MCFG_CPU_PERIODIC_INT_DRIVER(polyplay_state, periodic_interrupt, 75) | |
276 | MCFG_CPU_VBLANK_INT_DRIVER("screen", polyplay_state, coin_interrupt) | |
278 | 277 | |
279 | 278 | |
280 | 279 | MCFG_TIMER_ADD("timer", polyplay_timer_callback) |
r17996 | r17997 | |
---|---|---|
999 | 999 | /* basic machine hardware */ |
1000 | 1000 | MCFG_CPU_ADD("maincpu", M6809, MAIN_CPU_CLOCK) |
1001 | 1001 | MCFG_CPU_PROGRAM_MAP(exidy440_map) |
1002 | MCFG_CPU_VBLANK_INT("screen", exidy440_vblank_interrupt) | |
1002 | MCFG_CPU_VBLANK_INT_DRIVER("screen", exidy440_state, exidy440_vblank_interrupt) | |
1003 | 1003 | |
1004 | 1004 | MCFG_NVRAM_ADD_0FILL("nvram") |
1005 | 1005 |
r17996 | r17997 | |
---|---|---|
506 | 506 | /* basic machine hardware */ |
507 | 507 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz/2) /* 14MHz - Accurate */ |
508 | 508 | MCFG_CPU_PROGRAM_MAP(dassault_map) |
509 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
509 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dassault_state, irq4_line_hold) | |
510 | 510 | |
511 | 511 | MCFG_CPU_ADD("sub", M68000, XTAL_28MHz/2) /* 14MHz - Accurate */ |
512 | 512 | MCFG_CPU_PROGRAM_MAP(dassault_sub_map) |
513 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
513 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dassault_state, irq5_line_hold) | |
514 | 514 | |
515 | 515 | MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/8) /* Accurate */ |
516 | 516 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
849 | 849 | DEVCB_LINE(sound_irq) |
850 | 850 | }; |
851 | 851 | |
852 | ||
852 | ||
853 | 853 | { |
854 | device | |
854 | device. | |
855 | 855 | } |
856 | 856 | |
857 | 857 | static void apache3_68000_reset(device_t *device) |
r17996 | r17997 | |
873 | 873 | /* basic machine hardware */ |
874 | 874 | MCFG_CPU_ADD("maincpu", V30, CLOCK_1 / 2) |
875 | 875 | MCFG_CPU_PROGRAM_MAP(apache3_v30_map) |
876 | MCFG_CPU_VBLANK_INT("screen", roundup5_interrupt) | |
876 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, roundup5_interrupt) | |
877 | 877 | |
878 | 878 | MCFG_CPU_ADD("sub", M68000, CLOCK_2 / 4) |
879 | 879 | MCFG_CPU_PROGRAM_MAP(apache3_68000_map) |
880 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
880 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, irq4_line_hold) | |
881 | 881 | |
882 | 882 | MCFG_CPU_ADD("audiocpu", V20, CLOCK_1 / 2) |
883 | 883 | MCFG_CPU_PROGRAM_MAP(apache3_v20_map) |
884 | 884 | |
885 | 885 | MCFG_CPU_ADD("sub2", Z80, CLOCK_2 / 8) |
886 | 886 | MCFG_CPU_PROGRAM_MAP(apache3_z80_map) |
887 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
887 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, irq0_line_hold) | |
888 | 888 | |
889 | 889 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
890 | 890 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
918 | 918 | /* basic machine hardware */ |
919 | 919 | MCFG_CPU_ADD("maincpu", V30, CLOCK_1 / 2) |
920 | 920 | MCFG_CPU_PROGRAM_MAP(roundup5_v30_map) |
921 | MCFG_CPU_VBLANK_INT("screen", roundup5_interrupt) | |
921 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, roundup5_interrupt) | |
922 | 922 | |
923 | 923 | MCFG_CPU_ADD("sub", M68000, CLOCK_2 / 4) |
924 | 924 | MCFG_CPU_PROGRAM_MAP(roundup5_68000_map) |
r17996 | r17997 | |
959 | 959 | /* basic machine hardware */ |
960 | 960 | MCFG_CPU_ADD("maincpu", M68000, CLOCK_2 / 4) |
961 | 961 | MCFG_CPU_PROGRAM_MAP(cyclwarr_68000a_map) |
962 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
962 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, irq5_line_hold) | |
963 | 963 | |
964 | 964 | MCFG_CPU_ADD("sub", M68000, CLOCK_2 / 4) |
965 | 965 | MCFG_CPU_PROGRAM_MAP(cyclwarr_68000b_map) |
966 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
966 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, irq5_line_hold) | |
967 | 967 | |
968 | 968 | MCFG_CPU_ADD("audiocpu", Z80, CLOCK_1 / 4) |
969 | 969 | MCFG_CPU_PROGRAM_MAP(cyclwarr_z80_map) |
r17996 | r17997 | |
1001 | 1001 | /* basic machine hardware */ |
1002 | 1002 | MCFG_CPU_ADD("maincpu", M68000, CLOCK_2 / 4) |
1003 | 1003 | MCFG_CPU_PROGRAM_MAP(bigfight_68000a_map) |
1004 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1004 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, irq5_line_hold) | |
1005 | 1005 | |
1006 | 1006 | MCFG_CPU_ADD("sub", M68000, CLOCK_2 / 4) |
1007 | 1007 | MCFG_CPU_PROGRAM_MAP(bigfight_68000b_map) |
1008 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1008 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tatsumi_state, irq5_line_hold) | |
1009 | 1009 | |
1010 | 1010 | MCFG_CPU_ADD("audiocpu", Z80, CLOCK_1 / 4) |
1011 | 1011 | MCFG_CPU_PROGRAM_MAP(cyclwarr_z80_map) |
r17996 | r17997 | |
---|---|---|
343 | 343 | /* basic machine hardware */ |
344 | 344 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
345 | 345 | MCFG_CPU_PROGRAM_MAP(supbtime_map) |
346 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
346 | MCFG_CPU_VBLANK_INT_DRIVER("screen", supbtime_state, irq6_line_hold) | |
347 | 347 | |
348 | 348 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) /* Custom chip 45, audio section crystal is 32.220 MHz */ |
349 | 349 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
384 | 384 | /* basic machine hardware */ |
385 | 385 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
386 | 386 | MCFG_CPU_PROGRAM_MAP(chinatwn_map) |
387 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
387 | MCFG_CPU_VBLANK_INT_DRIVER("screen", supbtime_state, irq6_line_hold) | |
388 | 388 | |
389 | 389 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) /* Custom chip 45, audio section crystal is 32.220 MHz */ |
390 | 390 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
58 | 58 | virtual void machine_start(); |
59 | 59 | virtual void machine_reset(); |
60 | 60 | UINT32 screen_update_toratora(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
61 | INTERRUPT_GEN_MEMBER(toratora_timer); | |
61 | 62 | }; |
62 | 63 | |
63 | 64 | |
r17996 | r17997 | |
150 | 151 | } |
151 | 152 | |
152 | 153 | |
153 | ||
154 | ||
154 | 155 | { |
155 | toratora_state *state = device->machine().driver_data<toratora_state>(); | |
156 | state->m_timer++; /* timer counting at 16 Hz */ | |
156 | m_timer++; /* timer counting at 16 Hz */ | |
157 | 157 | |
158 | 158 | /* also, when the timer overflows (16 seconds) watchdog would kick in */ |
159 | if ( | |
159 | if ( | |
160 | 160 | popmessage("watchdog!"); |
161 | 161 | |
162 | if ( | |
162 | if ( | |
163 | 163 | { |
164 | state->m_last = state->ioport("INPUT")->read() & 0x0f; | |
165 | generic_pulse_irq_line(device, 0, 1); | |
164 | m_last = ioport("INPUT")->read() & 0x0f; | |
165 | generic_pulse_irq_line(device.execute(), 0, 1); | |
166 | 166 | } |
167 | state->m_pia_u1->set_a_input(device->machine().root_device().ioport("INPUT")->read() & 0x0f, 0); | |
168 | state->m_pia_u1->ca1_w(device->machine().root_device().ioport("INPUT")->read() & 0x10); | |
169 | state->m_pia_u1->ca2_w(device->machine().root_device().ioport("INPUT")->read() & 0x20); | |
167 | m_pia_u1->set_a_input(machine().root_device().ioport("INPUT")->read() & 0x0f, 0); | |
168 | m_pia_u1->ca1_w(machine().root_device().ioport("INPUT")->read() & 0x10); | |
169 | m_pia_u1->ca2_w(machine().root_device().ioport("INPUT")->read() & 0x20); | |
170 | 170 | } |
171 | 171 | |
172 | 172 | READ8_MEMBER(toratora_state::timer_r) |
r17996 | r17997 | |
449 | 449 | /* basic machine hardware */ |
450 | 450 | MCFG_CPU_ADD("maincpu", M6800,500000) /* ?????? game speed is entirely controlled by this */ |
451 | 451 | MCFG_CPU_PROGRAM_MAP(main_map) |
452 | MCFG_CPU_PERIODIC_INT(toratora_timer,16) /* timer counting at 16 Hz */ | |
452 | MCFG_CPU_PERIODIC_INT_DRIVER(toratora_state, toratora_timer, 16) /* timer counting at 16 Hz */ | |
453 | 453 | |
454 | 454 | MCFG_PIA6821_ADD("pia_u1", pia_u1_intf) |
455 | 455 | MCFG_PIA6821_ADD("pia_u2", pia_u2_intf) |
r17996 | r17997 | |
---|---|---|
355 | 355 | /* basic machine hardware */ |
356 | 356 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* ? */ |
357 | 357 | MCFG_CPU_PROGRAM_MAP(blmbycar_map) |
358 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
358 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blmbycar_state, irq1_line_hold) | |
359 | 359 | |
360 | 360 | MCFG_MACHINE_START_OVERRIDE(blmbycar_state,blmbycar) |
361 | 361 | MCFG_MACHINE_RESET_OVERRIDE(blmbycar_state,blmbycar) |
r17996 | r17997 | |
398 | 398 | /* basic machine hardware */ |
399 | 399 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* ? */ |
400 | 400 | MCFG_CPU_PROGRAM_MAP(watrball_map) |
401 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
401 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blmbycar_state, irq1_line_hold) | |
402 | 402 | |
403 | 403 | MCFG_MACHINE_START_OVERRIDE(blmbycar_state,watrball) |
404 | 404 | MCFG_MACHINE_RESET_OVERRIDE(blmbycar_state,watrball) |
r17996 | r17997 | |
---|---|---|
19 | 19 | /* prototypes */ |
20 | 20 | static KONAMI_SETLINES_CALLBACK( gbusters_banking ); |
21 | 21 | |
22 | ||
22 | ||
23 | 23 | { |
24 | gbusters_state *state = device->machine().driver_data<gbusters_state>(); | |
25 | 24 | |
26 | if (k052109_is_irq_enabled(state->m_k052109)) | |
27 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
25 | if (k052109_is_irq_enabled(m_k052109)) | |
26 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
28 | 27 | } |
29 | 28 | |
30 | 29 | READ8_MEMBER(gbusters_state::bankedram_r) |
r17996 | r17997 | |
303 | 302 | /* basic machine hardware */ |
304 | 303 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* Konami custom 052526 */ |
305 | 304 | MCFG_CPU_PROGRAM_MAP(gbusters_map) |
306 | MCFG_CPU_VBLANK_INT("screen", gbusters_interrupt) | |
305 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gbusters_state, gbusters_interrupt) | |
307 | 306 | |
308 | 307 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */ |
309 | 308 | MCFG_CPU_PROGRAM_MAP(gbusters_sound_map) |
r17996 | r17997 | |
---|---|---|
241 | 241 | // basic machine hardware |
242 | 242 | MCFG_CPU_ADD("maincpu", M6502, 1500000) /* Verified */ |
243 | 243 | MCFG_CPU_PROGRAM_MAP(bogeyman_map) |
244 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 16*60) // Controls sound | |
244 | MCFG_CPU_PERIODIC_INT_DRIVER(bogeyman_state, irq0_line_hold, 16*60) // Controls sound | |
245 | 245 | |
246 | 246 | |
247 | 247 | // video hardware |
r17996 | r17997 | |
---|---|---|
283 | 283 | return ret; |
284 | 284 | } |
285 | 285 | |
286 | ||
286 | ||
287 | 287 | { |
288 | m72_state *state = device->machine().driver_data<m72_state>(); | |
289 | //state->m_mcu_snd_cmd_latch |= 0x11; /* 0x10 is special as well - FIXME */ | |
290 | state->m_mcu_snd_cmd_latch = 0x11;// | (machine.rand() & 1); /* 0x10 is special as well - FIXME */ | |
291 | device->execute().set_input_line(1, ASSERT_LINE); | |
288 | //m_mcu_snd_cmd_latch |= 0x11; /* 0x10 is special as well - FIXME */ | |
289 | m_mcu_snd_cmd_latch = 0x11;// | (machine.rand() & 1); /* 0x10 is special as well - FIXME */ | |
290 | device.execute().set_input_line(1, ASSERT_LINE); | |
292 | 291 | } |
293 | 292 | |
294 | 293 | READ8_MEMBER(m72_state::m72_mcu_sample_r) |
r17996 | r17997 | |
434 | 433 | } |
435 | 434 | #endif |
436 | 435 | |
437 | ||
436 | ||
438 | 437 | { |
439 | m72_state *state = device->machine().driver_data<m72_state>(); | |
440 | address_space &space = state->generic_space(); | |
441 | int sample = m72_sample_r(state->m_audio,space,0); | |
438 | address_space &space = generic_space(); | |
439 | int sample = m72_sample_r(m_audio,space,0); | |
442 | 440 | if (sample) |
443 | m72_sample_w( | |
441 | m72_sample_w( | |
444 | 442 | } |
445 | 443 | |
446 | 444 | |
r17996 | r17997 | |
1843 | 1841 | |
1844 | 1842 | static MACHINE_CONFIG_DERIVED( m72, m72_base ) |
1845 | 1843 | MCFG_CPU_MODIFY("maincpu") |
1846 | MCFG_CPU_PERIODIC_INT(fake_nmi,128*55) /* clocked by V1? (Vigilante) */ | |
1844 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */ | |
1847 | 1845 | /* IRQs are generated by main Z80 and YM2151 */ |
1848 | 1846 | MACHINE_CONFIG_END |
1849 | 1847 | |
r17996 | r17997 | |
1851 | 1849 | |
1852 | 1850 | MCFG_CPU_ADD("mcu",I8751, MASTER_CLOCK/4) |
1853 | 1851 | MCFG_CPU_IO_MAP(mcu_io_map) |
1854 | MCFG_CPU_VBLANK_INT("screen", m72_mcu_int) | |
1852 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m72_state, m72_mcu_int) | |
1855 | 1853 | |
1856 | 1854 | MACHINE_CONFIG_END |
1857 | 1855 | |
r17996 | r17997 | |
1902 | 1900 | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
1903 | 1901 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
1904 | 1902 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
1905 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
1903 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
1906 | 1904 | /* IRQs are generated by main Z80 and YM2151 */ |
1907 | 1905 | |
1908 | 1906 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
1943 | 1941 | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
1944 | 1942 | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
1945 | 1943 | MCFG_CPU_IO_MAP(sound_portmap) |
1946 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
1944 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
1947 | 1945 | /* IRQs are generated by main Z80 and YM2151 */ |
1948 | 1946 | |
1949 | 1947 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
1984 | 1982 | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
1985 | 1983 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
1986 | 1984 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
1987 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
1985 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
1988 | 1986 | /* IRQs are generated by main Z80 and YM2151 */ |
1989 | 1987 | |
1990 | 1988 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2025 | 2023 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
2026 | 2024 | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
2027 | 2025 | MCFG_CPU_IO_MAP(sound_portmap) |
2028 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
2026 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
2029 | 2027 | /* IRQs are generated by main Z80 and YM2151 */ |
2030 | 2028 | |
2031 | 2029 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2066 | 2064 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
2067 | 2065 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
2068 | 2066 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
2069 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
2067 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
2070 | 2068 | /* IRQs are generated by main Z80 and YM2151 */ |
2071 | 2069 | |
2072 | 2070 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2107 | 2105 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
2108 | 2106 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
2109 | 2107 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
2110 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
2108 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
2111 | 2109 | /* IRQs are generated by main Z80 and YM2151 */ |
2112 | 2110 | |
2113 | 2111 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2148 | 2146 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
2149 | 2147 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
2150 | 2148 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
2151 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
2149 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
2152 | 2150 | /* IRQs are generated by main Z80 and YM2151 */ |
2153 | 2151 | |
2154 | 2152 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2189 | 2187 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
2190 | 2188 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
2191 | 2189 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
2192 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
2190 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
2193 | 2191 | /* IRQs are generated by main Z80 and YM2151 */ |
2194 | 2192 | |
2195 | 2193 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2230 | 2228 | MCFG_CPU_ADD("soundcpu",Z80, SOUND_CLOCK) |
2231 | 2229 | MCFG_CPU_PROGRAM_MAP(sound_ram_map) |
2232 | 2230 | MCFG_CPU_IO_MAP(sound_portmap) |
2233 | MCFG_CPU_PERIODIC_INT(fake_nmi,128*55) /* clocked by V1? (Vigilante) */ | |
2231 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */ | |
2234 | 2232 | /* IRQs are generated by main Z80 and YM2151 */ |
2235 | 2233 | |
2236 | 2234 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2271 | 2269 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
2272 | 2270 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
2273 | 2271 | MCFG_CPU_IO_MAP(poundfor_sound_portmap) |
2274 | MCFG_CPU_PERIODIC_INT(fake_nmi,128*55) /* clocked by V1? (Vigilante) */ | |
2272 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, fake_nmi, 128*55) /* clocked by V1? (Vigilante) */ | |
2275 | 2273 | /* IRQs are generated by main Z80 and YM2151 */ |
2276 | 2274 | |
2277 | 2275 | MCFG_MACHINE_START_OVERRIDE(m72_state,m72) |
r17996 | r17997 | |
2312 | 2310 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK) |
2313 | 2311 | MCFG_CPU_PROGRAM_MAP(sound_rom_map) |
2314 | 2312 | MCFG_CPU_IO_MAP(rtype2_sound_portmap) |
2315 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
2313 | MCFG_CPU_PERIODIC_INT_DRIVER(m72_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
2316 | 2314 | /* IRQs are generated by main Z80 and YM2151 */ |
2317 | 2315 | |
2318 | 2316 | MCFG_MACHINE_START_OVERRIDE(m72_state,kengo) |
r17996 | r17997 | |
---|---|---|
206 | 206 | /* basic machine hardware */ |
207 | 207 | MCFG_CPU_ADD("maincpu", M6502, 4000000) |
208 | 208 | MCFG_CPU_PROGRAM_MAP(pokechmp_map) |
209 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
209 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pokechmp_state, nmi_line_pulse) | |
210 | 210 | |
211 | 211 | MCFG_CPU_ADD("audiocpu", M6502, 4000000) |
212 | 212 | MCFG_CPU_PROGRAM_MAP(pokechmp_sound_map) |
213 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
213 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pokechmp_state, irq0_line_hold) | |
214 | 214 | |
215 | 215 | /* video hardware */ |
216 | 216 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
404 | 404 | /* basic machine hardware */ |
405 | 405 | MCFG_CPU_ADD("maincpu", Z80,MASTER_CLOCK/3/2) |
406 | 406 | MCFG_CPU_PROGRAM_MAP(main_map) |
407 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
407 | MCFG_CPU_VBLANK_INT_DRIVER("screen", crgolf_state, irq0_line_hold) | |
408 | 408 | |
409 | 409 | MCFG_CPU_ADD("audiocpu", Z80,MASTER_CLOCK/3/2) |
410 | 410 | MCFG_CPU_PROGRAM_MAP(sound_map) |
411 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
411 | MCFG_CPU_VBLANK_INT_DRIVER("screen", crgolf_state, irq0_line_hold) | |
412 | 412 | |
413 | 413 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
414 | 414 |
r17996 | r17997 | |
---|---|---|
479 | 479 | virtual void machine_reset(); |
480 | 480 | virtual void video_start(); |
481 | 481 | UINT32 screen_update_mastboy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
482 | INTERRUPT_GEN_MEMBER(mastboy_interrupt); | |
482 | 483 | }; |
483 | 484 | |
484 | 485 | |
r17996 | r17997 | |
693 | 694 | machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE); |
694 | 695 | } |
695 | 696 | |
696 | ||
697 | ||
697 | 698 | { |
698 | mastboy_state *state = device->machine().driver_data<mastboy_state>(); | |
699 | if ((state->m_irq0_ack & 1) == 1) | |
699 | if ((m_irq0_ack & 1) == 1) | |
700 | 700 | { |
701 | device | |
701 | device. | |
702 | 702 | } |
703 | 703 | } |
704 | 704 | |
r17996 | r17997 | |
888 | 888 | MCFG_CPU_ADD("maincpu", Z180, 12000000/2) /* HD647180X0CP6-1M1R */ |
889 | 889 | MCFG_CPU_PROGRAM_MAP(mastboy_map) |
890 | 890 | MCFG_CPU_IO_MAP(mastboy_io_map) |
891 | MCFG_CPU_VBLANK_INT("screen", mastboy_interrupt) | |
891 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mastboy_state, mastboy_interrupt) | |
892 | 892 | |
893 | 893 | MCFG_NVRAM_ADD_1FILL("nvram") |
894 | 894 |
r17996 | r17997 | |
---|---|---|
800 | 800 | MCFG_CPU_ADD("st0016",Z80,8000000) |
801 | 801 | MCFG_CPU_PROGRAM_MAP(st0016_mem) |
802 | 802 | MCFG_CPU_IO_MAP(st0016_io) |
803 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
803 | MCFG_CPU_VBLANK_INT_DRIVER("screen", darkhors_state, irq0_line_hold) | |
804 | 804 | |
805 | 805 | MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C46_8bit) |
806 | 806 |
r17996 | r17997 | |
---|---|---|
469 | 469 | MCFG_CPU_ADD("maincpu",Z80,20000000/4) /* 5 MHz ??? */ |
470 | 470 | MCFG_CPU_PROGRAM_MAP(rmhaihai_map) |
471 | 471 | MCFG_CPU_IO_MAP(rmhaihai_io_map) |
472 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
472 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rmhaihai_state, irq0_line_hold) | |
473 | 473 | |
474 | 474 | /* video hardware */ |
475 | 475 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
337 | 337 | } |
338 | 338 | |
339 | 339 | |
340 | ||
340 | ||
341 | 341 | { |
342 | 342 | /* Unsure how many int6's per frame */ |
343 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(topspeed_interrupt6)); | |
344 | device->execute().set_input_line(5, HOLD_LINE); | |
343 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(200000 - 500), FUNC(topspeed_interrupt6)); | |
344 | device.execute().set_input_line(5, HOLD_LINE); | |
345 | 345 | } |
346 | 346 | |
347 | ||
347 | ||
348 | 348 | { |
349 | 349 | /* Unsure how many int6's per frame */ |
350 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(topspeed_cpub_interrupt6)); | |
351 | device->execute().set_input_line(5, HOLD_LINE); | |
350 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(200000 - 500), FUNC(topspeed_cpub_interrupt6)); | |
351 | device.execute().set_input_line(5, HOLD_LINE); | |
352 | 352 | } |
353 | 353 | |
354 | 354 | |
r17996 | r17997 | |
751 | 751 | /* basic machine hardware */ |
752 | 752 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
753 | 753 | MCFG_CPU_PROGRAM_MAP(topspeed_map) |
754 | MCFG_CPU_VBLANK_INT("screen", topspeed_interrupt) | |
754 | MCFG_CPU_VBLANK_INT_DRIVER("screen", topspeed_state, topspeed_interrupt) | |
755 | 755 | |
756 | 756 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz / 4) |
757 | 757 | MCFG_CPU_PROGRAM_MAP(z80_map) |
758 | 758 | |
759 | 759 | MCFG_CPU_ADD("subcpu", M68000, 12000000) /* 12 MHz ??? */ |
760 | 760 | MCFG_CPU_PROGRAM_MAP(topspeed_cpub_map) |
761 | MCFG_CPU_VBLANK_INT("screen", topspeed_cpub_interrupt) | |
761 | MCFG_CPU_VBLANK_INT_DRIVER("screen", topspeed_state, topspeed_cpub_interrupt) | |
762 | 762 | |
763 | 763 | |
764 | 764 | MCFG_TC0220IOC_ADD("tc0220ioc", topspeed_io_intf) |
r17996 | r17997 | |
---|---|---|
275 | 275 | MCFG_CPU_ADD("maincpu", Z80,3000000) |
276 | 276 | MCFG_CPU_PROGRAM_MAP(amspdwy_map) |
277 | 277 | MCFG_CPU_IO_MAP(amspdwy_portmap) |
278 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ: 60Hz, NMI: retn */ | |
278 | MCFG_CPU_VBLANK_INT_DRIVER("screen", amspdwy_state, irq0_line_hold) /* IRQ: 60Hz, NMI: retn */ | |
279 | 279 | |
280 | 280 | MCFG_CPU_ADD("audiocpu", Z80,3000000) /* Can't be disabled: the YM2151 timers must work */ |
281 | 281 | MCFG_CPU_PROGRAM_MAP(amspdwy_sound_map) |
r17996 | r17997 | |
---|---|---|
829 | 829 | m_nmi_enable = 0; |
830 | 830 | } |
831 | 831 | |
832 | ||
832 | ||
833 | 833 | { |
834 | fantland_state *state = device->machine().driver_data<fantland_state>(); | |
835 | if (state->m_nmi_enable & 8) | |
836 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
834 | if (m_nmi_enable & 8) | |
835 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
837 | 836 | } |
838 | 837 | |
839 | ||
838 | ||
840 | 839 | { |
841 | device | |
840 | device. | |
842 | 841 | } |
843 | 842 | |
844 | 843 | static MACHINE_CONFIG_START( fantland, fantland_state ) |
r17996 | r17997 | |
846 | 845 | /* basic machine hardware */ |
847 | 846 | MCFG_CPU_ADD("maincpu", I8086, 8000000) // ? |
848 | 847 | MCFG_CPU_PROGRAM_MAP(fantland_map) |
849 | MCFG_CPU_VBLANK_INT("screen", fantland_irq) | |
848 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fantland_state, fantland_irq) | |
850 | 849 | |
851 | 850 | MCFG_CPU_ADD("audiocpu", I8088, 8000000) // ? |
852 | 851 | MCFG_CPU_PROGRAM_MAP(fantland_sound_map) |
853 | 852 | MCFG_CPU_IO_MAP(fantland_sound_iomap) |
854 | MCFG_CPU_PERIODIC_INT(fantland_sound_irq, 8000) | |
853 | MCFG_CPU_PERIODIC_INT_DRIVER(fantland_state, fantland_sound_irq, 8000) | |
855 | 854 | // NMI when soundlatch is written |
856 | 855 | |
857 | 856 | MCFG_MACHINE_START_OVERRIDE(fantland_state,fantland) |
r17996 | r17997 | |
899 | 898 | /* basic machine hardware */ |
900 | 899 | MCFG_CPU_ADD("maincpu", I8088, 8000000) // ? |
901 | 900 | MCFG_CPU_PROGRAM_MAP(galaxygn_map) |
902 | MCFG_CPU_VBLANK_INT("screen", fantland_irq) | |
901 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fantland_state, fantland_irq) | |
903 | 902 | |
904 | 903 | MCFG_CPU_ADD("audiocpu", I8088, 8000000) // ? |
905 | 904 | MCFG_CPU_PROGRAM_MAP(fantland_sound_map) |
r17996 | r17997 | |
1005 | 1004 | /* basic machine hardware */ |
1006 | 1005 | MCFG_CPU_ADD("maincpu", V20, 16000000/2) // D701080C-8 - NEC D70108C-8 V20 CPU, running at 8.000MHz [16/2] |
1007 | 1006 | MCFG_CPU_PROGRAM_MAP(borntofi_map) |
1008 | MCFG_CPU_VBLANK_INT("screen", fantland_irq) | |
1007 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fantland_state, fantland_irq) | |
1009 | 1008 | |
1010 | 1009 | MCFG_CPU_ADD("audiocpu", I8088, 18432000/3) // 8088 - AMD P8088-2 CPU, running at 6.144MHz [18.432/3] |
1011 | 1010 | MCFG_CPU_PROGRAM_MAP(borntofi_sound_map) |
r17996 | r17997 | |
1044 | 1043 | /* basic machine hardware */ |
1045 | 1044 | MCFG_CPU_ADD("maincpu", V20, XTAL_18MHz/2) // D701080C-8 (V20) |
1046 | 1045 | MCFG_CPU_PROGRAM_MAP(wheelrun_map) |
1047 | MCFG_CPU_VBLANK_INT("screen", fantland_irq) | |
1046 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fantland_state, fantland_irq) | |
1048 | 1047 | |
1049 | 1048 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_18MHz/2) // Z8400BB1 (Z80B) |
1050 | 1049 | MCFG_CPU_PROGRAM_MAP(wheelrun_sound_map) |
r17996 | r17997 | |
---|---|---|
271 | 271 | |
272 | 272 | MCFG_CPU_ADD("maincpu", Z80,6000000) /* ? MHz */ |
273 | 273 | MCFG_CPU_PROGRAM_MAP(hanaroku_map) |
274 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
274 | MCFG_CPU_VBLANK_INT_DRIVER("screen", albazc_state, irq0_line_hold) | |
275 | 275 | |
276 | 276 | /* video hardware */ |
277 | 277 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
1052 | 1052 | /* basic machine hardware */ |
1053 | 1053 | MCFG_CPU_ADD("maincpu", M68000,20000000/2) /* ??? */ |
1054 | 1054 | MCFG_CPU_PROGRAM_MAP(legionna_map) |
1055 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)/* VBL */ | |
1055 | MCFG_CPU_VBLANK_INT_DRIVER("screen", legionna_state, irq4_line_hold)/* VBL */ | |
1056 | 1056 | |
1057 | 1057 | SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
1058 | 1058 | |
r17996 | r17997 | |
1082 | 1082 | /* basic machine hardware */ |
1083 | 1083 | MCFG_CPU_ADD("maincpu", M68000,20000000/2) /* ??? */ |
1084 | 1084 | MCFG_CPU_PROGRAM_MAP(heatbrl_map) |
1085 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)/* VBL */ | |
1085 | MCFG_CPU_VBLANK_INT_DRIVER("screen", legionna_state, irq4_line_hold)/* VBL */ | |
1086 | 1086 | |
1087 | 1087 | SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
1088 | 1088 | |
r17996 | r17997 | |
1111 | 1111 | /* basic machine hardware */ |
1112 | 1112 | MCFG_CPU_ADD("maincpu", M68000, 20000000/2) |
1113 | 1113 | MCFG_CPU_PROGRAM_MAP(godzilla_map) |
1114 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
1114 | MCFG_CPU_VBLANK_INT_DRIVER("screen", legionna_state, irq4_line_hold) | |
1115 | 1115 | |
1116 | 1116 | SEIBU2_SOUND_SYSTEM_CPU(14318180/4) |
1117 | 1117 | |
r17996 | r17997 | |
1140 | 1140 | /* basic machine hardware */ |
1141 | 1141 | MCFG_CPU_ADD("maincpu", M68000, 20000000/2) |
1142 | 1142 | MCFG_CPU_PROGRAM_MAP(denjinmk_map) |
1143 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
1143 | MCFG_CPU_VBLANK_INT_DRIVER("screen", legionna_state, irq4_line_hold) | |
1144 | 1144 | |
1145 | 1145 | SEIBU2_SOUND_SYSTEM_CPU(14318180/4) |
1146 | 1146 | |
r17996 | r17997 | |
1169 | 1169 | /* basic machine hardware */ |
1170 | 1170 | MCFG_CPU_ADD("maincpu", M68000, 20000000/2) |
1171 | 1171 | MCFG_CPU_PROGRAM_MAP(grainbow_map) |
1172 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
1172 | MCFG_CPU_VBLANK_INT_DRIVER("screen", legionna_state, irq4_line_hold) | |
1173 | 1173 | |
1174 | 1174 | SEIBU2_SOUND_SYSTEM_CPU(14318180/4) |
1175 | 1175 | |
r17996 | r17997 | |
1199 | 1199 | /* basic machine hardware */ |
1200 | 1200 | MCFG_CPU_ADD("maincpu", M68000,20000000/2) |
1201 | 1201 | MCFG_CPU_PROGRAM_MAP(cupsoc_mem) |
1202 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)/* VBL */ | |
1202 | MCFG_CPU_VBLANK_INT_DRIVER("screen", legionna_state, irq4_line_hold)/* VBL */ | |
1203 | 1203 | |
1204 | 1204 | SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
1205 | 1205 | |
r17996 | r17997 | |
1233 | 1233 | /* basic machine hardware */ |
1234 | 1234 | MCFG_CPU_ADD("maincpu", M68000,12000000) |
1235 | 1235 | MCFG_CPU_PROGRAM_MAP(cupsocbl_mem) |
1236 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) /* VBL */ | |
1236 | MCFG_CPU_VBLANK_INT_DRIVER("screen", legionna_state, irq4_line_hold) /* VBL */ | |
1237 | 1237 | |
1238 | 1238 | /*Different Sound hardware*/ |
1239 | 1239 | //SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
r17996 | r17997 | |
---|---|---|
701 | 701 | /* basic machine hardware */ |
702 | 702 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2) |
703 | 703 | MCFG_CPU_PROGRAM_MAP(livequiz_map) |
704 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
704 | MCFG_CPU_VBLANK_INT_DRIVER("screen", midas_state, irq1_line_hold) | |
705 | 705 | |
706 | 706 | MCFG_EEPROM_93C46_ADD("eeprom") |
707 | 707 | |
r17996 | r17997 | |
730 | 730 | /* basic machine hardware */ |
731 | 731 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2) |
732 | 732 | MCFG_CPU_PROGRAM_MAP(hammer_map) |
733 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
733 | MCFG_CPU_VBLANK_INT_DRIVER("screen", midas_state, irq1_line_hold) | |
734 | 734 | |
735 | 735 | MCFG_EEPROM_93C46_ADD("eeprom") |
736 | 736 |
r17996 | r17997 | |
---|---|---|
1684 | 1684 | /* basic machine hardware */ |
1685 | 1685 | MCFG_CPU_ADD("maincpu", M6809, MAIN_CLOCK/8) // 1.5mhz |
1686 | 1686 | MCFG_CPU_PROGRAM_MAP(aristmk4_map) |
1687 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1687 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aristmk4_state, irq0_line_hold) | |
1688 | 1688 | |
1689 | 1689 | MCFG_NVRAM_ADD_0FILL("nvram") |
1690 | 1690 | MCFG_TIMER_ADD_PERIODIC("power_fail", aristmk4_pf,attotime::from_hz(1)) // not real but required to simulate power failure to access robot test. How else can we do this ? |
r17996 | r17997 | |
1727 | 1727 | /* basic machine hardware */ |
1728 | 1728 | MCFG_CPU_MODIFY("maincpu") |
1729 | 1729 | MCFG_CPU_PROGRAM_MAP(aristmk4_poker_map) |
1730 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1730 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aristmk4_state, irq0_line_hold) | |
1731 | 1731 | MACHINE_CONFIG_END |
1732 | 1732 | |
1733 | 1733 | /* same as Aristocrat Mark-IV HW color offset 7 */ |
r17996 | r17997 | |
---|---|---|
21 | 21 | |
22 | 22 | /***************************************************************************/ |
23 | 23 | |
24 | ||
24 | ||
25 | 25 | { |
26 | thunderx_state *state = device->machine().driver_data<thunderx_state>(); | |
27 | 26 | |
28 | if (k052109_is_irq_enabled(state->m_k052109)) | |
29 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
27 | if (k052109_is_irq_enabled(m_k052109)) | |
28 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
30 | 29 | } |
31 | 30 | |
32 | 31 | static TIMER_CALLBACK( thunderx_firq_callback ) |
r17996 | r17997 | |
658 | 657 | /* basic machine hardware */ |
659 | 658 | MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* Verified on pcb, CPU is 052001 */ |
660 | 659 | MCFG_CPU_PROGRAM_MAP(scontra_map) |
661 | MCFG_CPU_VBLANK_INT("screen", scontra_interrupt) | |
660 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thunderx_state, scontra_interrupt) | |
662 | 661 | |
663 | 662 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
664 | 663 | MCFG_CPU_PROGRAM_MAP(scontra_sound_map) |
r17996 | r17997 | |
701 | 700 | /* basic machine hardware */ |
702 | 701 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */ |
703 | 702 | MCFG_CPU_PROGRAM_MAP(thunderx_map) |
704 | MCFG_CPU_VBLANK_INT("screen", scontra_interrupt) | |
703 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thunderx_state, scontra_interrupt) | |
705 | 704 | |
706 | 705 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */ |
707 | 706 | MCFG_CPU_PROGRAM_MAP(thunderx_sound_map) |
r17996 | r17997 | |
---|---|---|
406 | 406 | /* basic machine hardware */ |
407 | 407 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) // ? |
408 | 408 | MCFG_CPU_PROGRAM_MAP(galaxi_map) |
409 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
409 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxi_state, irq4_line_hold) | |
410 | 410 | |
411 | 411 | MCFG_NVRAM_ADD_0FILL("nvram") |
412 | 412 |
r17996 | r17997 | |
---|---|---|
99 | 99 | } |
100 | 100 | } |
101 | 101 | |
102 | ||
102 | ||
103 | 103 | { |
104 | toypop_state *state = device->machine().driver_data<toypop_state>(); | |
105 | device_t *namcoio_0 = device->machine().device("58xx"); | |
106 | device_t *namcoio_1 = device->machine().device("56xx_1"); | |
107 | device_t *namcoio_2 = device->machine().device("56xx_2"); | |
104 | device_t *namcoio_0 = machine().device("58xx"); | |
105 | device_t *namcoio_1 = machine().device("56xx_1"); | |
106 | device_t *namcoio_2 = machine().device("56xx_2"); | |
108 | 107 | |
109 | if(state->m_main_irq_mask) | |
110 | device->execute().set_input_line(0, HOLD_LINE); | |
108 | if(m_main_irq_mask) | |
109 | device.execute().set_input_line(0, HOLD_LINE); | |
111 | 110 | |
112 | 111 | if (!namcoio_read_reset_line(namcoio_0)) /* give the cpu a tiny bit of time to write the command before processing it */ |
113 | | |
112 | | |
114 | 113 | |
115 | 114 | if (!namcoio_read_reset_line(namcoio_1)) /* give the cpu a tiny bit of time to write the command before processing it */ |
116 | | |
115 | | |
117 | 116 | |
118 | 117 | if (!namcoio_read_reset_line(namcoio_2)) /* give the cpu a tiny bit of time to write the command before processing it */ |
119 | | |
118 | | |
120 | 119 | |
121 | 120 | } |
122 | 121 | |
123 | ||
122 | ||
124 | 123 | { |
125 | toypop_state *state = device->machine().driver_data<toypop_state>(); | |
126 | 124 | |
127 | if(state->m_sound_irq_mask) | |
128 | device->execute().set_input_line(0, HOLD_LINE); | |
125 | if(m_sound_irq_mask) | |
126 | device.execute().set_input_line(0, HOLD_LINE); | |
129 | 127 | } |
130 | 128 | |
131 | 129 | WRITE8_MEMBER(toypop_state::toypop_sound_clear_w) |
r17996 | r17997 | |
160 | 158 | m_interrupt_enable_68k = 0; |
161 | 159 | } |
162 | 160 | |
163 | ||
161 | ||
164 | 162 | { |
165 | toypop_state *state = device->machine().driver_data<toypop_state>(); | |
166 | if (state->m_interrupt_enable_68k) | |
167 | device->execute().set_input_line(6, HOLD_LINE); | |
163 | if (m_interrupt_enable_68k) | |
164 | device.execute().set_input_line(6, HOLD_LINE); | |
168 | 165 | } |
169 | 166 | |
170 | 167 | WRITE16_MEMBER(toypop_state::toypop_m68000_interrupt_enable_w) |
r17996 | r17997 | |
549 | 546 | /* basic machine hardware */ |
550 | 547 | MCFG_CPU_ADD("maincpu", M6809, 1536000) /* 1.536 MHz (measured on Libble Rabble board) */ |
551 | 548 | MCFG_CPU_PROGRAM_MAP(liblrabl_map) |
552 | MCFG_CPU_VBLANK_INT("screen", toypop_main_vblank_irq) | |
549 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toypop_state, toypop_main_vblank_irq) | |
553 | 550 | |
554 | 551 | MCFG_CPU_ADD("audiocpu", M6809, 1536000) |
555 | 552 | MCFG_CPU_PROGRAM_MAP(sound_map) |
556 | MCFG_CPU_VBLANK_INT("screen", toypop_sound_timer_irq) | |
553 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toypop_state, toypop_sound_timer_irq) | |
557 | 554 | |
558 | 555 | MCFG_CPU_ADD("sub", M68000, 6144000) /* 6.144 MHz (measured on Libble Rabble board) */ |
559 | 556 | MCFG_CPU_PROGRAM_MAP(m68k_map) |
560 | MCFG_CPU_VBLANK_INT("screen", toypop_m68000_interrupt) | |
557 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toypop_state, toypop_m68000_interrupt) | |
561 | 558 | |
562 | 559 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */ |
563 | 560 | /* synchronization of the CPUs */ |
r17996 | r17997 | |
---|---|---|
439 | 439 | } |
440 | 440 | |
441 | 441 | |
442 | ||
442 | ||
443 | 443 | { |
444 | tumbleb_state *state = device->machine().driver_data<tumbleb_state>(); | |
445 | device->execute().set_input_line(6, HOLD_LINE); | |
446 | tumbleb2_playmusic(state->m_oki); | |
444 | device.execute().set_input_line(6, HOLD_LINE); | |
445 | tumbleb2_playmusic(m_oki); | |
447 | 446 | } |
448 | 447 | |
449 | 448 | static const int tumbleb_sound_lookup[256] = { |
r17996 | r17997 | |
1977 | 1976 | /* basic machine hardware */ |
1978 | 1977 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
1979 | 1978 | MCFG_CPU_PROGRAM_MAP(tumblepopb_main_map) |
1980 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
1979 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumbleb_state, irq6_line_hold) | |
1981 | 1980 | |
1982 | 1981 | MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb) |
1983 | 1982 | MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb) |
r17996 | r17997 | |
2012 | 2011 | /* basic machine hardware */ |
2013 | 2012 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
2014 | 2013 | MCFG_CPU_PROGRAM_MAP(tumblepopb_main_map) |
2015 | MCFG_CPU_VBLANK_INT("screen", tumbleb2_interrupt) | |
2014 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumbleb_state, tumbleb2_interrupt) | |
2016 | 2015 | |
2017 | 2016 | MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb) |
2018 | 2017 | MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb) |
r17996 | r17997 | |
2046 | 2045 | /* basic machine hardware */ |
2047 | 2046 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
2048 | 2047 | MCFG_CPU_PROGRAM_MAP(jumpkids_main_map) |
2049 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
2048 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumbleb_state, irq6_line_hold) | |
2050 | 2049 | |
2051 | 2050 | /* z80? */ |
2052 | 2051 | MCFG_CPU_ADD("audiocpu", Z80, 8000000/2) |
r17996 | r17997 | |
2084 | 2083 | /* basic machine hardware */ |
2085 | 2084 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
2086 | 2085 | MCFG_CPU_PROGRAM_MAP(fncywld_main_map) |
2087 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
2086 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumbleb_state, irq6_line_hold) | |
2088 | 2087 | |
2089 | 2088 | MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb) |
2090 | 2089 | MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb) |
r17996 | r17997 | |
2151 | 2150 | /* basic machine hardware */ |
2152 | 2151 | MCFG_CPU_ADD("maincpu", M68000, 15000000) /* verified */ |
2153 | 2152 | MCFG_CPU_PROGRAM_MAP(htchctch_main_map) |
2154 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
2153 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumbleb_state, irq6_line_hold) | |
2155 | 2154 | |
2156 | 2155 | MCFG_CPU_ADD("audiocpu", Z80, 15000000/4) /* verified on dquizgo */ |
2157 | 2156 | MCFG_CPU_PROGRAM_MAP(semicom_sound_map) |
r17996 | r17997 | |
2244 | 2243 | /* basic machine hardware */ |
2245 | 2244 | MCFG_CPU_ADD("maincpu", M68000, 14000000) /* 14mhz should be correct, but lots of sprite flicker later in game */ |
2246 | 2245 | MCFG_CPU_PROGRAM_MAP(suprtrio_main_map) |
2247 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
2246 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumbleb_state, irq6_line_hold) | |
2248 | 2247 | |
2249 | 2248 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) |
2250 | 2249 | MCFG_CPU_PROGRAM_MAP(suprtrio_sound_map) |
r17996 | r17997 | |
2282 | 2281 | /* basic machine hardware */ |
2283 | 2282 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
2284 | 2283 | MCFG_CPU_PROGRAM_MAP(pangpang_main_map) |
2285 | MCFG_CPU_VBLANK_INT("screen", tumbleb2_interrupt) | |
2284 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumbleb_state, tumbleb2_interrupt) | |
2286 | 2285 | |
2287 | 2286 | MCFG_MACHINE_START_OVERRIDE(tumbleb_state,tumbleb) |
2288 | 2287 | MCFG_MACHINE_RESET_OVERRIDE(tumbleb_state,tumbleb) |
r17996 | r17997 | |
---|---|---|
230 | 230 | static MACHINE_CONFIG_START( bmcpokr, bmcpokr_state ) |
231 | 231 | MCFG_CPU_ADD("maincpu", M68000, XTAL_42MHz/4) |
232 | 232 | MCFG_CPU_PROGRAM_MAP(bmcpokr_mem) |
233 | MCFG_CPU_VBLANK_INT("screen",irq3_line_hold) | |
233 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bmcpokr_state, irq3_line_hold) | |
234 | 234 | |
235 | 235 | MCFG_SCREEN_ADD("screen", RASTER) |
236 | 236 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
525 | 525 | virtual void machine_reset(); |
526 | 526 | virtual void video_start(); |
527 | 527 | UINT32 screen_update_taitotz(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
528 | INTERRUPT_GEN_MEMBER(taitotz_vbi); | |
528 | 529 | }; |
529 | 530 | |
530 | 531 | |
r17996 | r17997 | |
2445 | 2446 | } |
2446 | 2447 | |
2447 | 2448 | |
2448 | ||
2449 | ||
2449 | 2450 | { |
2450 | | |
2451 | | |
2451 | 2452 | } |
2452 | 2453 | |
2453 | 2454 | static void ide_interrupt(device_t *device, int state) |
r17996 | r17997 | |
2487 | 2488 | MCFG_CPU_ADD("iocpu", TMP95C063, 25000000) |
2488 | 2489 | MCFG_CPU_CONFIG(taitotz_tlcs900_interface) |
2489 | 2490 | MCFG_CPU_PROGRAM_MAP(tlcs900h_mem) |
2490 | MCFG_CPU_VBLANK_INT("screen", taitotz_vbi) | |
2491 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitotz_state, taitotz_vbi) | |
2491 | 2492 | |
2492 | 2493 | /* MN1020819DA sound CPU */ |
2493 | 2494 |
r17996 | r17997 | |
---|---|---|
335 | 335 | |
336 | 336 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz / 2) |
337 | 337 | MCFG_CPU_PROGRAM_MAP(hostmem) |
338 | MCFG_CPU_VBLANK_INT("screen", micro3d_vblank) | |
338 | MCFG_CPU_VBLANK_INT_DRIVER("screen", micro3d_state, micro3d_vblank) | |
339 | 339 | |
340 | 340 | MCFG_CPU_ADD("vgb", TMS34010, XTAL_40MHz) |
341 | 341 | MCFG_CPU_CONFIG(vgb_config) |
r17996 | r17997 | |
---|---|---|
56 | 56 | virtual void machine_reset(); |
57 | 57 | virtual void video_start(); |
58 | 58 | UINT32 screen_update_cabaret(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
59 | INTERRUPT_GEN_MEMBER(cabaret_interrupt); | |
59 | 60 | }; |
60 | 61 | |
61 | 62 | |
r17996 | r17997 | |
324 | 325 | m_nmi_enable = 0; |
325 | 326 | } |
326 | 327 | |
327 | ||
328 | ||
328 | 329 | { |
329 | cabaret_state *state = device->machine().driver_data<cabaret_state>(); | |
330 | if (state->m_nmi_enable & 0x80) | |
331 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
330 | if (m_nmi_enable & 0x80) | |
331 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
332 | 332 | } |
333 | 333 | |
334 | 334 | static MACHINE_CONFIG_START( cabaret, cabaret_state ) |
r17996 | r17997 | |
336 | 336 | MCFG_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2) |
337 | 337 | MCFG_CPU_PROGRAM_MAP(cabaret_map) |
338 | 338 | MCFG_CPU_IO_MAP(cabaret_portmap) |
339 | MCFG_CPU_VBLANK_INT("screen",cabaret_interrupt) | |
339 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cabaret_state, cabaret_interrupt) | |
340 | 340 | |
341 | 341 | |
342 | 342 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
263 | 263 | /* basic machine hardware */ |
264 | 264 | MCFG_CPU_ADD("maincpu", Z80, 5000000) /* 5.0MHz */ |
265 | 265 | MCFG_CPU_PROGRAM_MAP(momoko_map) |
266 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
266 | MCFG_CPU_VBLANK_INT_DRIVER("screen", momoko_state, irq0_line_hold) | |
267 | 267 | |
268 | 268 | MCFG_CPU_ADD("audiocpu", Z80, 2500000) /* 2.5MHz */ |
269 | 269 | MCFG_CPU_PROGRAM_MAP(momoko_sound_map) |
r17996 | r17997 | |
---|---|---|
340 | 340 | |
341 | 341 | |
342 | 342 | |
343 | ||
343 | ||
344 | 344 | { |
345 | kchamp_state *state = device->machine().driver_data<kchamp_state>(); | |
346 | if (state->m_nmi_enable) | |
347 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
345 | if (m_nmi_enable) | |
346 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
348 | 347 | } |
349 | 348 | |
350 | 349 | static void msmint( device_t *device ) |
r17996 | r17997 | |
375 | 374 | * 1 Player Version * |
376 | 375 | ********************/ |
377 | 376 | |
378 | ||
377 | ||
379 | 378 | { |
380 | kchamp_state *state = device->machine().driver_data<kchamp_state>(); | |
381 | if (state->m_sound_nmi_enable) | |
382 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
379 | if (m_sound_nmi_enable) | |
380 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
383 | 381 | } |
384 | 382 | |
385 | 383 | |
r17996 | r17997 | |
415 | 413 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/4) /* verified on pcb */ |
416 | 414 | MCFG_CPU_PROGRAM_MAP(kchampvs_map) |
417 | 415 | MCFG_CPU_IO_MAP(kchampvs_io_map) |
418 | MCFG_CPU_VBLANK_INT("screen", kc_interrupt) | |
416 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kchamp_state, kc_interrupt) | |
419 | 417 | |
420 | 418 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/4) /* verified on pcb */ |
421 | 419 | MCFG_CPU_PROGRAM_MAP(kchampvs_sound_map) |
r17996 | r17997 | |
460 | 458 | MCFG_CPU_ADD("maincpu", Z80, 3000000) /* 12MHz / 4 = 3.0 MHz */ |
461 | 459 | MCFG_CPU_PROGRAM_MAP(kchamp_map) |
462 | 460 | MCFG_CPU_IO_MAP(kchamp_io_map) |
463 | MCFG_CPU_VBLANK_INT("screen", kc_interrupt) | |
461 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kchamp_state, kc_interrupt) | |
464 | 462 | |
465 | 463 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) /* 12MHz / 4 = 3.0 MHz */ |
466 | 464 | MCFG_CPU_PROGRAM_MAP(kchamp_sound_map) |
467 | 465 | MCFG_CPU_IO_MAP(kchamp_sound_io_map) |
468 | MCFG_CPU_PERIODIC_INT(sound_int, 125) /* Hz */ | |
466 | MCFG_CPU_PERIODIC_INT_DRIVER(kchamp_state, sound_int, 125) /* Hz */ | |
469 | 467 | /* irq's triggered from main cpu */ |
470 | 468 | /* nmi's from 125 Hz clock */ |
471 | 469 |
r17996 | r17997 | |
---|---|---|
452 | 452 | |
453 | 453 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ?? */ |
454 | 454 | MCFG_CPU_PROGRAM_MAP(olibochu_sound_map) |
455 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,60) //??? | |
455 | MCFG_CPU_PERIODIC_INT_DRIVER(olibochu_state, irq0_line_hold, 60) //??? | |
456 | 456 | |
457 | 457 | // MCFG_QUANTUM_PERFECT_CPU("maincpu") |
458 | 458 |
r17996 | r17997 | |
---|---|---|
677 | 677 | DEVCB_NULL |
678 | 678 | }; |
679 | 679 | |
680 | ||
680 | ||
681 | 681 | { |
682 | m90_state *state = device->machine().driver_data<m90_state>(); | |
683 | address_space &space = *device->machine().firstcpu->space(AS_PROGRAM); | |
684 | int sample = m72_sample_r(state->m_audio,space,0); | |
682 | address_space &space = *machine().firstcpu->space(AS_PROGRAM); | |
683 | int sample = m72_sample_r(m_audio,space,0); | |
685 | 684 | if (sample) |
686 | m72_sample_w( | |
685 | m72_sample_w( | |
687 | 686 | } |
688 | 687 | |
689 | ||
688 | ||
690 | 689 | { |
691 | m90_state *state = device->machine().driver_data<m90_state>(); | |
692 | address_space &space = *device->machine().firstcpu->space(AS_PROGRAM); | |
693 | int sample = m72_sample_r(state->m_audio,space,0); | |
690 | address_space &space = *machine().firstcpu->space(AS_PROGRAM); | |
691 | int sample = m72_sample_r(m_audio,space,0); | |
694 | 692 | if (sample != 0x80) |
695 | m72_sample_w( | |
693 | m72_sample_w( | |
696 | 694 | } |
697 | 695 | |
698 | ||
696 | ||
699 | 697 | { |
700 | generic_pulse_irq_line(device, NEC_INPUT_LINE_INTP0, 1); | |
698 | generic_pulse_irq_line(device.execute(), NEC_INPUT_LINE_INTP0, 1); | |
701 | 699 | } |
702 | 700 | |
703 | ||
701 | ||
704 | 702 | { |
705 | device | |
703 | device. | |
706 | 704 | } |
707 | 705 | |
708 | ||
706 | ||
709 | 707 | { |
710 | device | |
708 | device. | |
711 | 709 | } |
712 | 710 | |
713 | 711 | |
r17996 | r17997 | |
717 | 715 | MCFG_CPU_ADD("maincpu", V35, XTAL_32MHz/2) |
718 | 716 | MCFG_CPU_PROGRAM_MAP(m90_main_cpu_map) |
719 | 717 | MCFG_CPU_IO_MAP(m90_main_cpu_io_map) |
720 | MCFG_CPU_VBLANK_INT("screen", m90_interrupt) | |
718 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m90_state, m90_interrupt) | |
721 | 719 | |
722 | 720 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
723 | 721 | MCFG_CPU_PROGRAM_MAP(m90_sound_cpu_map) |
724 | 722 | MCFG_CPU_IO_MAP(m90_sound_cpu_io_map) |
725 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 128*60) /* clocked by V1? (Vigilante) */ | |
723 | MCFG_CPU_PERIODIC_INT_DRIVER(m90_state, nmi_line_pulse, 128*60) /* clocked by V1? (Vigilante) */ | |
726 | 724 | /* IRQs are generated by main Z80 and YM2151 */ |
727 | 725 | |
728 | 726 | |
r17996 | r17997 | |
802 | 800 | static MACHINE_CONFIG_DERIVED( bbmanw, bbmanwj ) |
803 | 801 | MCFG_CPU_MODIFY("soundcpu") |
804 | 802 | MCFG_CPU_IO_MAP(m99_sound_cpu_io_map) |
805 | MCFG_CPU_PERIODIC_INT(fake_nmi, 128*60) | |
803 | MCFG_CPU_PERIODIC_INT_DRIVER(m90_state, fake_nmi, 128*60) | |
806 | 804 | MACHINE_CONFIG_END |
807 | 805 | |
808 | 806 | |
r17996 | r17997 | |
810 | 808 | MCFG_CPU_REPLACE("maincpu", V30, 32000000/4) |
811 | 809 | MCFG_CPU_PROGRAM_MAP(bomblord_main_cpu_map) |
812 | 810 | MCFG_CPU_IO_MAP(m90_main_cpu_io_map) |
813 | MCFG_CPU_VBLANK_INT("screen", bomblord_interrupt) | |
811 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m90_state, bomblord_interrupt) | |
814 | 812 | |
815 | 813 | MCFG_CPU_MODIFY("soundcpu") |
816 | 814 | MCFG_CPU_IO_MAP(m99_sound_cpu_io_map) |
817 | MCFG_CPU_PERIODIC_INT(bomblord_fake_nmi, 128*60) | |
815 | MCFG_CPU_PERIODIC_INT_DRIVER(m90_state, bomblord_fake_nmi, 128*60) | |
818 | 816 | |
819 | 817 | MCFG_SCREEN_MODIFY("screen") |
820 | 818 | MCFG_SCREEN_VISIBLE_AREA(10*8, 50*8-1, 17*8, 47*8-1) |
r17996 | r17997 | |
828 | 826 | MCFG_CPU_REPLACE("maincpu", V30, 32000000/4) |
829 | 827 | MCFG_CPU_PROGRAM_MAP(dynablsb_main_cpu_map) |
830 | 828 | MCFG_CPU_IO_MAP(dynablsb_main_cpu_io_map) |
831 | MCFG_CPU_VBLANK_INT("screen", dynablsb_interrupt) | |
829 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m90_state, dynablsb_interrupt) | |
832 | 830 | |
833 | 831 | MCFG_CPU_MODIFY("soundcpu") |
834 | 832 | MCFG_CPU_IO_MAP(dynablsb_sound_cpu_io_map) |
835 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 64*60) /* half the sample rate of the original */ | |
833 | MCFG_CPU_PERIODIC_INT_DRIVER(m90_state, irq0_line_hold, 64*60) /* half the sample rate of the original */ | |
836 | 834 | |
837 | 835 | MCFG_SCREEN_MODIFY("screen") |
838 | 836 | MCFG_SCREEN_SIZE(320, 240) |
r17996 | r17997 | |
---|---|---|
333 | 333 | static MACHINE_CONFIG_START( tugboat, tugboat_state ) |
334 | 334 | MCFG_CPU_ADD("maincpu", M6502, 2000000) /* 2 MHz ???? */ |
335 | 335 | MCFG_CPU_PROGRAM_MAP(main_map) |
336 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
336 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tugboat_state, nmi_line_pulse) | |
337 | 337 | |
338 | 338 | |
339 | 339 | MCFG_PIA6821_ADD("pia0", pia0_intf) |
r17996 | r17997 | |
---|---|---|
1017 | 1017 | MCFG_CPU_ADD("master", Z80, CLK_2) |
1018 | 1018 | MCFG_CPU_PROGRAM_MAP(master_map) |
1019 | 1019 | MCFG_CPU_IO_MAP(master_io_map) |
1020 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1020 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingdrby_state, irq0_line_hold) | |
1021 | 1021 | |
1022 | 1022 | MCFG_CPU_ADD("slave", Z80, CLK_2) |
1023 | 1023 | MCFG_CPU_PROGRAM_MAP(slave_map) |
1024 | 1024 | MCFG_CPU_IO_MAP(slave_io_map) |
1025 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1025 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingdrby_state, irq0_line_hold) | |
1026 | 1026 | |
1027 | 1027 | MCFG_CPU_ADD("soundcpu", Z80, CLK_2) |
1028 | 1028 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1029 | 1029 | MCFG_CPU_IO_MAP(sound_io_map) |
1030 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,1000) /* guess, controls ay8910 tempo.*/ | |
1030 | MCFG_CPU_PERIODIC_INT_DRIVER(kingdrby_state, irq0_line_hold, 1000) /* guess, controls ay8910 tempo.*/ | |
1031 | 1031 | |
1032 | 1032 | MCFG_QUANTUM_PERFECT_CPU("master") |
1033 | 1033 |
r17996 | r17997 | |
---|---|---|
71 | 71 | tilemap_t *m_tx_tilemap; |
72 | 72 | virtual void video_start(); |
73 | 73 | UINT32 screen_update_rdx_v33(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
74 | INTERRUPT_GEN_MEMBER(rdx_v33_interrupt); | |
74 | 75 | }; |
75 | 76 | |
76 | 77 | |
r17996 | r17997 | |
509 | 510 | AM_RANGE(0x40000, 0xfffff) AM_ROM AM_REGION("mainprg", 0x40000 ) |
510 | 511 | ADDRESS_MAP_END |
511 | 512 | |
512 | ||
513 | ||
513 | 514 | { |
514 | device | |
515 | device. | |
515 | 516 | } |
516 | 517 | |
517 | 518 | static const gfx_layout rdx_v33_charlayout = |
r17996 | r17997 | |
692 | 693 | /* basic machine hardware */ |
693 | 694 | MCFG_CPU_ADD("maincpu", V33, 32000000/2 ) // ? |
694 | 695 | MCFG_CPU_PROGRAM_MAP(rdx_v33_map) |
695 | MCFG_CPU_VBLANK_INT("screen", rdx_v33_interrupt) | |
696 | MCFG_CPU_VBLANK_INT_DRIVER("screen", r2dx_v33_state, rdx_v33_interrupt) | |
696 | 697 | |
697 | 698 | //MCFG_MACHINE_RESET_OVERRIDE(r2dx_v33_state,rdx_v33) |
698 | 699 | |
r17996 | r17997 | |
722 | 723 | /* basic machine hardware */ |
723 | 724 | MCFG_CPU_ADD("maincpu", V33,XTAL_32MHz/2) /* verified on pcb */ |
724 | 725 | MCFG_CPU_PROGRAM_MAP(nzerotea_map) |
725 | MCFG_CPU_VBLANK_INT("screen", rdx_v33_interrupt) | |
726 | MCFG_CPU_VBLANK_INT_DRIVER("screen", r2dx_v33_state, rdx_v33_interrupt) | |
726 | 727 | |
727 | 728 | MCFG_MACHINE_RESET(seibu_sound) |
728 | 729 |
r17996 | r17997 | |
---|---|---|
125 | 125 | virtual void machine_reset(); |
126 | 126 | virtual void video_start(); |
127 | 127 | UINT32 screen_update_lastfght(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
128 | INTERRUPT_GEN_MEMBER(unknown_interrupt); | |
128 | 129 | }; |
129 | 130 | |
130 | 131 | |
r17996 | r17997 | |
527 | 528 | Machine Drivers |
528 | 529 | ***************************************************************************/ |
529 | 530 | |
530 | ||
531 | ||
531 | 532 | { |
532 | lastfght_state *state = device->machine().driver_data<lastfght_state>(); | |
533 | 533 | |
534 | | |
534 | | |
535 | 535 | } |
536 | 536 | |
537 | 537 | void lastfght_state::machine_start() |
r17996 | r17997 | |
581 | 581 | /* basic machine hardware */ |
582 | 582 | MCFG_CPU_ADD("maincpu", H83044, 32000000/2) |
583 | 583 | MCFG_CPU_PROGRAM_MAP( lastfght_map) |
584 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
585 | MCFG_CPU_PERIODIC_INT(unknown_interrupt,60) | |
584 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lastfght_state, irq0_line_hold) | |
585 | MCFG_CPU_PERIODIC_INT_DRIVER(lastfght_state, unknown_interrupt, 60) | |
586 | 586 | |
587 | 587 | MCFG_NVRAM_ADD_0FILL("nvram") |
588 | 588 |
r17996 | r17997 | |
---|---|---|
982 | 982 | DEVCB_NULL |
983 | 983 | }; |
984 | 984 | |
985 | ||
985 | ||
986 | 986 | { |
987 | superqix_state *state = device->machine().driver_data<superqix_state>(); | |
988 | 987 | |
989 | if(state->m_nmi_mask) | |
990 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
988 | if(m_nmi_mask) | |
989 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
991 | 990 | } |
992 | 991 | |
993 | ||
992 | ||
994 | 993 | { |
995 | superqix_state *state = device->machine().driver_data<superqix_state>(); | |
996 | 994 | |
997 | if (state->m_nmi_mask) | |
998 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
995 | if (m_nmi_mask) | |
996 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
999 | 997 | } |
1000 | 998 | |
1001 | 999 | |
r17996 | r17997 | |
1004 | 1002 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz */ |
1005 | 1003 | MCFG_CPU_PROGRAM_MAP(main_map) |
1006 | 1004 | MCFG_CPU_IO_MAP(pbillian_port_map) |
1007 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
1005 | MCFG_CPU_VBLANK_INT_DRIVER("screen", superqix_state, vblank_irq) | |
1008 | 1006 | |
1009 | 1007 | MCFG_MACHINE_START_OVERRIDE(superqix_state,pbillian) |
1010 | 1008 | |
r17996 | r17997 | |
1035 | 1033 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz */ |
1036 | 1034 | MCFG_CPU_PROGRAM_MAP(main_map) |
1037 | 1035 | MCFG_CPU_IO_MAP(hotsmash_port_map) |
1038 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
1036 | MCFG_CPU_VBLANK_INT_DRIVER("screen", superqix_state, vblank_irq) | |
1039 | 1037 | |
1040 | 1038 | MCFG_CPU_ADD("mcu", M68705, 4000000) /* ???? */ |
1041 | 1039 | MCFG_CPU_PROGRAM_MAP(m68705_map) |
r17996 | r17997 | |
1071 | 1069 | MCFG_CPU_ADD("maincpu", Z80, 12000000/2) /* 6 MHz */ |
1072 | 1070 | MCFG_CPU_PROGRAM_MAP(main_map) |
1073 | 1071 | MCFG_CPU_IO_MAP(sqix_port_map) |
1074 | MCFG_CPU_PERIODIC_INT(sqix_timer_irq, 4*60) /* ??? */ | |
1072 | MCFG_CPU_PERIODIC_INT_DRIVER(superqix_state, sqix_timer_irq, 4*60) /* ??? */ | |
1075 | 1073 | |
1076 | 1074 | MCFG_CPU_ADD("mcu", I8751, 12000000/3) /* ??? */ |
1077 | 1075 | MCFG_CPU_IO_MAP(bootleg_mcu_io_map) |
r17996 | r17997 | |
1119 | 1117 | MCFG_CPU_ADD("maincpu", Z80, 12000000/2) /* 6 MHz */ |
1120 | 1118 | MCFG_CPU_PROGRAM_MAP(main_map) |
1121 | 1119 | MCFG_CPU_IO_MAP(sqix_port_map) |
1122 | MCFG_CPU_PERIODIC_INT(sqix_timer_irq, 4*60) /* ??? */ | |
1120 | MCFG_CPU_PERIODIC_INT_DRIVER(superqix_state, sqix_timer_irq, 4*60) /* ??? */ | |
1123 | 1121 | |
1124 | 1122 | MCFG_MACHINE_START_OVERRIDE(superqix_state,superqix) |
1125 | 1123 |
r17996 | r17997 | |
---|---|---|
194 | 194 | /* basic machine hardware */ |
195 | 195 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) /* 4.000MHz */ |
196 | 196 | MCFG_CPU_PROGRAM_MAP(markham_master_map) |
197 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
197 | MCFG_CPU_VBLANK_INT_DRIVER("screen", markham_state, irq0_line_hold) | |
198 | 198 | |
199 | 199 | MCFG_CPU_ADD("sub", Z80,8000000/2) /* 4.000MHz */ |
200 | 200 | MCFG_CPU_PROGRAM_MAP(markham_slave_map) |
201 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
201 | MCFG_CPU_VBLANK_INT_DRIVER("screen", markham_state, irq0_line_hold) | |
202 | 202 | |
203 | 203 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
204 | 204 |
r17996 | r17997 | |
---|---|---|
842 | 842 | MCFG_CPU_ADD("maincpu", I8035, 4000000) |
843 | 843 | MCFG_CPU_PROGRAM_MAP(vega_map) |
844 | 844 | MCFG_CPU_IO_MAP(vega_io_map) |
845 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
845 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vega_state, irq0_line_hold) | |
846 | 846 | |
847 | 847 | |
848 | 848 |
r17996 | r17997 | |
---|---|---|
440 | 440 | |
441 | 441 | MCFG_CPU_ADD("dac", M68000, ATARI_CLOCK_14MHz/2) |
442 | 442 | MCFG_CPU_PROGRAM_MAP(sound_68k_map) |
443 | MCFG_CPU_PERIODIC_INT(cyberbal_sound_68k_irq_gen, 10000) | |
443 | MCFG_CPU_PERIODIC_INT_DRIVER(cyberbal_state, cyberbal_sound_68k_irq_gen, 10000) | |
444 | 444 | |
445 | 445 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
446 | 446 |
r17996 | r17997 | |
---|---|---|
308 | 308 | MCFG_CPU_ADD("maincpu", Z80, XTAL_5MHz/2) |
309 | 309 | MCFG_CPU_PROGRAM_MAP(warpspeed_map) |
310 | 310 | MCFG_CPU_IO_MAP(warpspeed_io_map) |
311 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
311 | MCFG_CPU_VBLANK_INT_DRIVER("screen", warpspeed_state, irq0_line_hold) | |
312 | 312 | |
313 | 313 | /* video hardware */ |
314 | 314 |
r17996 | r17997 | |
---|---|---|
53 | 53 | |
54 | 54 | virtual void video_start(); |
55 | 55 | virtual void palette_init(); |
56 | public: | |
57 | INTERRUPT_GEN_MEMBER(kontest_interrupt); | |
56 | 58 | }; |
57 | 59 | |
58 | 60 | |
r17996 | r17997 | |
240 | 242 | |
241 | 243 | ***************************************************************************/ |
242 | 244 | |
243 | ||
245 | ||
244 | 246 | { |
245 | kontest_state *state = device->machine().driver_data<kontest_state>(); | |
246 | if (state->m_control & 8) | |
247 | device->execute().set_input_line(0, ASSERT_LINE); | |
247 | if (m_control & 8) | |
248 | device.execute().set_input_line(0, ASSERT_LINE); | |
248 | 249 | } |
249 | 250 | |
250 | 251 | void kontest_state::machine_start() |
r17996 | r17997 | |
264 | 265 | MCFG_CPU_ADD("maincpu", Z80,MAIN_CLOCK/8) |
265 | 266 | MCFG_CPU_PROGRAM_MAP(kontest_map) |
266 | 267 | MCFG_CPU_IO_MAP(kontest_io) |
267 | MCFG_CPU_VBLANK_INT("screen", kontest_interrupt) | |
268 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kontest_state, kontest_interrupt) | |
268 | 269 | |
269 | 270 | /* video hardware */ |
270 | 271 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
116 | 116 | state->m_maincpu->set_input_line(6, HOLD_LINE); |
117 | 117 | } |
118 | 118 | |
119 | ||
119 | ||
120 | 120 | { |
121 | gijoe_state *state = device->machine().driver_data<gijoe_state>(); | |
122 | 121 | |
123 | 122 | // global interrupt masking (*this game only) |
124 | if (!k056832_is_irq_enabled( | |
123 | if (!k056832_is_irq_enabled( | |
125 | 124 | return; |
126 | 125 | |
127 | if (k053246_is_irq_enabled( | |
126 | if (k053246_is_irq_enabled( | |
128 | 127 | { |
129 | gijoe_objdma( | |
128 | gijoe_objdma( | |
130 | 129 | |
131 | 130 | // 42.7us(clr) + 341.3us(xfer) delay at 6Mhz dotclock |
132 | | |
131 | | |
133 | 132 | } |
134 | 133 | |
135 | 134 | // trigger V-blank interrupt |
136 | if (state->m_cur_control2 & 0x0080) | |
137 | device->execute().set_input_line(5, HOLD_LINE); | |
135 | if (m_cur_control2 & 0x0080) | |
136 | device.execute().set_input_line(5, HOLD_LINE); | |
138 | 137 | } |
139 | 138 | |
140 | 139 | WRITE16_MEMBER(gijoe_state::sound_cmd_w) |
r17996 | r17997 | |
296 | 295 | /* basic machine hardware */ |
297 | 296 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* Confirmed */ |
298 | 297 | MCFG_CPU_PROGRAM_MAP(gijoe_map) |
299 | MCFG_CPU_VBLANK_INT("screen", gijoe_interrupt) | |
298 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gijoe_state, gijoe_interrupt) | |
300 | 299 | |
301 | 300 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* Amuse & confirmed. z80e */ |
302 | 301 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
520 | 520 | /* basic machine hardware */ |
521 | 521 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* verified on pcb */ |
522 | 522 | MCFG_CPU_PROGRAM_MAP(main_map) |
523 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
523 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tigeroad_state, irq2_line_hold) | |
524 | 524 | |
525 | 525 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
526 | 526 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
563 | 563 | MCFG_CPU_ADD("sample", Z80, 3579545) /* ? */ |
564 | 564 | MCFG_CPU_PROGRAM_MAP(sample_map) |
565 | 565 | MCFG_CPU_IO_MAP(sample_port_map) |
566 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4000) /* ? */ | |
566 | MCFG_CPU_PERIODIC_INT_DRIVER(tigeroad_state, irq0_line_hold, 4000) /* ? */ | |
567 | 567 | |
568 | 568 | /* sound hardware */ |
569 | 569 | MCFG_SOUND_ADD("msm", MSM5205, 384000) |
r17996 | r17997 | |
---|---|---|
147 | 147 | state->m_timer->adjust(attotime::from_hz( RLT_TIMER_FREQ )); |
148 | 148 | } |
149 | 149 | |
150 | ||
150 | ||
151 | 151 | { |
152 | rltennis_state *state = device->machine().driver_data<rltennis_state>(); | |
153 | ++state->m_unk_counter; /* frame counter? verify */ | |
154 | device->execute().set_input_line(4, HOLD_LINE); | |
155 | device->execute().set_input_line(1, HOLD_LINE); /* hack, to avoid dead loop */ | |
152 | ++m_unk_counter; /* frame counter? verify */ | |
153 | device.execute().set_input_line(4, HOLD_LINE); | |
154 | device.execute().set_input_line(1, HOLD_LINE); /* hack, to avoid dead loop */ | |
156 | 155 | } |
157 | 156 | |
158 | 157 | void rltennis_state::machine_start() |
r17996 | r17997 | |
185 | 184 | |
186 | 185 | MCFG_CPU_ADD("maincpu", M68000, RLT_XTAL/2) /* 68000P8 ??? */ |
187 | 186 | MCFG_CPU_PROGRAM_MAP(rltennis_main) |
188 | MCFG_CPU_VBLANK_INT("screen", rltennis_interrupt) | |
187 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rltennis_state, rltennis_interrupt) | |
189 | 188 | |
190 | 189 | MCFG_SCREEN_ADD("screen", RASTER) |
191 | 190 | MCFG_SCREEN_REFRESH_RATE( RLT_REFRESH_RATE ) |
r17996 | r17997 | |
---|---|---|
428 | 428 | /* basic machine hardware */ |
429 | 429 | MCFG_CPU_ADD("maincpu", Z80,2500000) /* 2.5 MHz */ |
430 | 430 | MCFG_CPU_PROGRAM_MAP(spaceg_map) |
431 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* 60 Hz NMIs (verified) */ | |
431 | MCFG_CPU_VBLANK_INT_DRIVER("screen", spaceg_state, nmi_line_pulse) /* 60 Hz NMIs (verified) */ | |
432 | 432 | |
433 | 433 | /* video hardware */ |
434 | 434 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
134 | 134 | DECLARE_DRIVER_INIT(setbank); |
135 | 135 | virtual void palette_init(); |
136 | 136 | DECLARE_PALETTE_INIT(quizvid); |
137 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
137 | 138 | }; |
138 | 139 | |
139 | 140 | |
r17996 | r17997 | |
1105 | 1106 | }; |
1106 | 1107 | |
1107 | 1108 | |
1108 | ||
1109 | ||
1109 | 1110 | { |
1110 | gei_state *state = device->machine().driver_data<gei_state>(); | |
1111 | 1111 | |
1112 | if(state->m_nmi_mask) | |
1113 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
1112 | if(m_nmi_mask) | |
1113 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
1114 | 1114 | } |
1115 | 1115 | |
1116 | 1116 | |
1117 | 1117 | static MACHINE_CONFIG_START( getrivia, gei_state ) |
1118 | 1118 | MCFG_CPU_ADD("maincpu",Z80,4000000) /* 4 MHz */ |
1119 | 1119 | MCFG_CPU_PROGRAM_MAP(getrivia_map) |
1120 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
1120 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gei_state, vblank_irq) | |
1121 | 1121 | |
1122 | 1122 | /* video hardware */ |
1123 | 1123 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
569 | 569 | } |
570 | 570 | |
571 | 571 | |
572 | ||
572 | ||
573 | 573 | { |
574 | segas32_state *state = device->machine().driver_data<segas32_state>(); | |
575 | signal_v60_irq(device->machine(), MAIN_IRQ_VBSTART); | |
576 | system32_set_vblank(device->machine(), 1); | |
577 | device->machine().scheduler().timer_set(device->machine().primary_screen->time_until_pos(0), FUNC(end_of_vblank_int)); | |
578 | if (state->m_system32_prot_vblank) | |
579 | (*state->m_system32_prot_vblank)(device); | |
574 | signal_v60_irq(machine(), MAIN_IRQ_VBSTART); | |
575 | system32_set_vblank(machine(), 1); | |
576 | machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(end_of_vblank_int)); | |
577 | if (m_system32_prot_vblank) | |
578 | (*m_system32_prot_vblank)(&device); | |
580 | 579 | } |
581 | 580 | |
582 | 581 | |
r17996 | r17997 | |
2193 | 2192 | /* basic machine hardware */ |
2194 | 2193 | MCFG_CPU_ADD("maincpu", V60, MASTER_CLOCK/2) |
2195 | 2194 | MCFG_CPU_PROGRAM_MAP(system32_map) |
2196 | MCFG_CPU_VBLANK_INT("screen", start_of_vblank_int) | |
2195 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segas32_state, start_of_vblank_int) | |
2197 | 2196 | |
2198 | 2197 | MCFG_CPU_ADD("soundcpu", Z80, MASTER_CLOCK/4) |
2199 | 2198 | MCFG_CPU_PROGRAM_MAP(system32_sound_map) |
r17996 | r17997 | |
2252 | 2251 | /* basic machine hardware */ |
2253 | 2252 | MCFG_CPU_ADD("maincpu", V70, MULTI32_CLOCK/2) |
2254 | 2253 | MCFG_CPU_PROGRAM_MAP(multi32_map) |
2255 | MCFG_CPU_VBLANK_INT("lscreen", start_of_vblank_int) | |
2254 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", segas32_state, start_of_vblank_int) | |
2256 | 2255 | |
2257 | 2256 | MCFG_CPU_ADD("soundcpu", Z80, MASTER_CLOCK/4) |
2258 | 2257 | MCFG_CPU_PROGRAM_MAP(multi32_sound_map) |
r17996 | r17997 | |
---|---|---|
143 | 143 | virtual void video_start(); |
144 | 144 | virtual void palette_init(); |
145 | 145 | UINT32 screen_update_looping(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
146 | INTERRUPT_GEN_MEMBER(looping_interrupt); | |
146 | 147 | }; |
147 | 148 | |
148 | 149 | |
r17996 | r17997 | |
333 | 334 | * |
334 | 335 | *************************************/ |
335 | 336 | |
336 | ||
337 | ||
337 | 338 | { |
338 | device | |
339 | device. | |
339 | 340 | } |
340 | 341 | |
341 | 342 | |
r17996 | r17997 | |
642 | 643 | MCFG_CPU_ADD("maincpu", TMS9995L, MAIN_CPU_CLOCK) |
643 | 644 | MCFG_CPU_PROGRAM_MAP(looping_map) |
644 | 645 | MCFG_CPU_IO_MAP(looping_io_map) |
645 | MCFG_CPU_VBLANK_INT("screen", looping_interrupt) | |
646 | MCFG_CPU_VBLANK_INT_DRIVER("screen", looping_state, looping_interrupt) | |
646 | 647 | |
647 | 648 | MCFG_CPU_ADD("audiocpu", TMS9980L, SOUND_CLOCK/4) |
648 | 649 | MCFG_CPU_PROGRAM_MAP(looping_sound_map) |
r17996 | r17997 | |
---|---|---|
257 | 257 | |
258 | 258 | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK) |
259 | 259 | MCFG_CPU_PROGRAM_MAP(k3_map) |
260 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
260 | MCFG_CPU_VBLANK_INT_DRIVER("screen", k3_state, irq4_line_hold) | |
261 | 261 | |
262 | 262 | |
263 | 263 | MCFG_GFXDECODE(1945kiii) |
r17996 | r17997 | |
---|---|---|
227 | 227 | * |
228 | 228 | *************************************/ |
229 | 229 | |
230 | ||
230 | ||
231 | 231 | { |
232 | badlands_state *state = device->machine().driver_data<badlands_state>(); | |
233 | int pedal_state = state->ioport("PEDALS")->read(); | |
232 | int pedal_state = ioport("PEDALS")->read(); | |
234 | 233 | int i; |
235 | 234 | |
236 | 235 | /* update the pedals once per frame */ |
237 | 236 | for (i = 0; i < 2; i++) |
238 | 237 | { |
239 | | |
238 | | |
240 | 239 | if (pedal_state & (1 << i)) |
241 | | |
240 | | |
242 | 241 | } |
243 | 242 | |
244 | atarigen_video_int_gen(device); | |
243 | atarigen_video_int_gen(&device); | |
245 | 244 | } |
246 | 245 | |
247 | 246 | |
r17996 | r17997 | |
502 | 501 | /* basic machine hardware */ |
503 | 502 | MCFG_CPU_ADD("maincpu", M68000, ATARI_CLOCK_14MHz/2) |
504 | 503 | MCFG_CPU_PROGRAM_MAP(main_map) |
505 | MCFG_CPU_VBLANK_INT("screen", vblank_int) | |
504 | MCFG_CPU_VBLANK_INT_DRIVER("screen", badlands_state, vblank_int) | |
506 | 505 | |
507 | 506 | MCFG_CPU_ADD("audiocpu", M6502, ATARI_CLOCK_14MHz/8) |
508 | 507 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
708 | 707 | /* basic machine hardware */ |
709 | 708 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz/4) /* Divisor estimated */ |
710 | 709 | MCFG_CPU_PROGRAM_MAP(bootleg_map) |
711 | MCFG_CPU_VBLANK_INT("screen", vblank_int) | |
710 | MCFG_CPU_VBLANK_INT_DRIVER("screen", badlands_state, vblank_int) | |
712 | 711 | |
713 | 712 | // MCFG_CPU_ADD("audiocpu", Z80, XTAL_20MHz/12) /* Divisor estimated */ |
714 | 713 | // MCFG_CPU_PROGRAM_MAP(bootleg_soundmap) |
r17996 | r17997 | |
---|---|---|
734 | 734 | DEVCB_NULL |
735 | 735 | }; |
736 | 736 | |
737 | ||
737 | ||
738 | 738 | { |
739 | slapfght_state *state = device->machine().driver_data<slapfght_state>(); | |
740 | 739 | |
741 | if(state->m_irq_mask) | |
742 | device->execute().set_input_line(0, HOLD_LINE); | |
740 | if(m_irq_mask) | |
741 | device.execute().set_input_line(0, HOLD_LINE); | |
743 | 742 | } |
744 | 743 | |
745 | 744 | |
r17996 | r17997 | |
749 | 748 | MCFG_CPU_ADD("maincpu", Z80,16000000/4) /* 4MHz ???, 16MHz Oscillator */ |
750 | 749 | MCFG_CPU_PROGRAM_MAP(perfrman_map) |
751 | 750 | MCFG_CPU_IO_MAP(slapfght_io_map) |
752 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
751 | MCFG_CPU_VBLANK_INT_DRIVER("screen", slapfght_state, vblank_irq) | |
753 | 752 | |
754 | 753 | MCFG_CPU_ADD("audiocpu", Z80,16000000/8) /* 2MHz ???, 16MHz Oscillator */ |
755 | 754 | MCFG_CPU_PROGRAM_MAP(perfrman_sound_map) |
756 | MCFG_CPU_PERIODIC_INT(getstar_interrupt,4*60) /* music speed, verified */ | |
755 | MCFG_CPU_PERIODIC_INT_DRIVER(slapfght_state, getstar_interrupt, 4*60) /* music speed, verified */ | |
757 | 756 | |
758 | 757 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */ |
759 | 758 | |
r17996 | r17997 | |
795 | 794 | MCFG_CPU_ADD("maincpu", Z80, 6000000) |
796 | 795 | MCFG_CPU_PROGRAM_MAP(tigerh_map) |
797 | 796 | MCFG_CPU_IO_MAP(tigerhb_io_map) |
798 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
797 | MCFG_CPU_VBLANK_INT_DRIVER("screen", slapfght_state, vblank_irq) | |
799 | 798 | |
800 | 799 | MCFG_CPU_ADD("audiocpu", Z80, 6000000) |
801 | 800 | MCFG_CPU_PROGRAM_MAP(slapfght_sound_map) |
802 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,6*60) /* ??? */ | |
801 | MCFG_CPU_PERIODIC_INT_DRIVER(slapfght_state, nmi_line_pulse, 6*60) /* ??? */ | |
803 | 802 | |
804 | 803 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */ |
805 | 804 | |
r17996 | r17997 | |
840 | 839 | MCFG_CPU_ADD("maincpu", Z80, XTAL_36MHz/6) /* verified on pcb */ |
841 | 840 | MCFG_CPU_PROGRAM_MAP(tigerh_map) |
842 | 841 | MCFG_CPU_IO_MAP(tigerh_io_map) |
843 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
842 | MCFG_CPU_VBLANK_INT_DRIVER("screen", slapfght_state, vblank_irq) | |
844 | 843 | |
845 | 844 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_36MHz/12) /* verified on pcb */ |
846 | 845 | MCFG_CPU_PROGRAM_MAP(slapfght_sound_map) |
847 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,6*60) /* ??? */ | |
846 | MCFG_CPU_PERIODIC_INT_DRIVER(slapfght_state, nmi_line_pulse, 6*60) /* ??? */ | |
848 | 847 | |
849 | 848 | MCFG_CPU_ADD("mcu", M68705,XTAL_36MHz/12) /* verified on pcb */ |
850 | 849 | MCFG_CPU_PROGRAM_MAP(tigerh_m68705_map) |
r17996 | r17997 | |
889 | 888 | MCFG_CPU_ADD("maincpu",Z80, XTAL_36MHz/6) /* verified on pcb */ |
890 | 889 | MCFG_CPU_PROGRAM_MAP(slapfght_map) |
891 | 890 | MCFG_CPU_IO_MAP(slapfght_io_map) |
892 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
891 | MCFG_CPU_VBLANK_INT_DRIVER("screen", slapfght_state, vblank_irq) | |
893 | 892 | |
894 | 893 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_36MHz/12) /* verified on pcb */ |
895 | 894 | MCFG_CPU_PROGRAM_MAP(slapfght_sound_map) |
896 | MCFG_CPU_PERIODIC_INT(getstar_interrupt, 3*60) | |
895 | MCFG_CPU_PERIODIC_INT_DRIVER(slapfght_state, getstar_interrupt, 3*60) | |
897 | 896 | |
898 | 897 | MCFG_CPU_ADD("mcu", M68705, XTAL_36MHz/12) /* verified on pcb */ |
899 | 898 | MCFG_CPU_PROGRAM_MAP(slapfight_m68705_map) |
r17996 | r17997 | |
---|---|---|
347 | 347 | return 0; |
348 | 348 | } |
349 | 349 | |
350 | ||
350 | ||
351 | 351 | { |
352 | device | |
352 | device. | |
353 | 353 | } |
354 | 354 | |
355 | 355 | // VBL handler writes 0x00 on entry, 0xc0 on exit |
r17996 | r17997 | |
808 | 808 | /* basic machine hardware */ |
809 | 809 | MCFG_CPU_ADD("maincpu", SH2, MASTER_CLOCK/2) |
810 | 810 | MCFG_CPU_PROGRAM_MAP(ps3v1_map) |
811 | MCFG_CPU_VBLANK_INT("screen", psikyosh_interrupt) | |
811 | MCFG_CPU_VBLANK_INT_DRIVER("screen", psikyosh_state, psikyosh_interrupt) | |
812 | 812 | |
813 | 813 | |
814 | 814 | MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56) |
r17996 | r17997 | |
---|---|---|
625 | 625 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK) /* a guess */ |
626 | 626 | MCFG_CPU_PROGRAM_MAP(spaceint_map) |
627 | 627 | MCFG_CPU_IO_MAP(spaceint_portmap) |
628 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
628 | MCFG_CPU_VBLANK_INT_DRIVER("screen", astinvad_state, irq0_line_hold) | |
629 | 629 | |
630 | 630 | MCFG_MACHINE_START_OVERRIDE(astinvad_state,spaceint) |
631 | 631 | MCFG_MACHINE_RESET_OVERRIDE(astinvad_state,spaceint) |
r17996 | r17997 | |
---|---|---|
126 | 126 | virtual void machine_reset(); |
127 | 127 | virtual void video_start(); |
128 | 128 | UINT32 screen_update_supertnk(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
129 | INTERRUPT_GEN_MEMBER(supertnk_interrupt); | |
129 | 130 | }; |
130 | 131 | |
131 | 132 | |
r17996 | r17997 | |
167 | 168 | * |
168 | 169 | *************************************/ |
169 | 170 | |
170 | ||
171 | ||
171 | 172 | { |
172 | 173 | /* On a TMS9980, a 6 on the interrupt bus means a level 4 interrupt */ |
173 | device | |
174 | device. | |
174 | 175 | } |
175 | 176 | |
176 | 177 | |
r17996 | r17997 | |
429 | 430 | MCFG_CPU_ADD("maincpu", TMS9980L, 2598750) /* ? to which frequency is the 20.79 Mhz crystal mapped down? */ |
430 | 431 | MCFG_CPU_PROGRAM_MAP(supertnk_map) |
431 | 432 | MCFG_CPU_IO_MAP(supertnk_io_map) |
432 | MCFG_CPU_VBLANK_INT("screen", supertnk_interrupt) | |
433 | MCFG_CPU_VBLANK_INT_DRIVER("screen", supertnk_state, supertnk_interrupt) | |
433 | 434 | |
434 | 435 | |
435 | 436 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
447 | 447 | MCFG_CPU_ADD("maincpu", Z80, MCLK/2) /* 8.000 MHz */ |
448 | 448 | MCFG_CPU_PROGRAM_MAP(quizdna_map) |
449 | 449 | MCFG_CPU_IO_MAP(quizdna_io_map) |
450 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
450 | MCFG_CPU_VBLANK_INT_DRIVER("screen", quizdna_state, irq0_line_hold) | |
451 | 451 | |
452 | 452 | /* video hardware */ |
453 | 453 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
343 | 343 | /* basic machine hardware */ |
344 | 344 | MCFG_CPU_ADD("maincpu", M68000, 14000000) /* DE102 */ |
345 | 345 | MCFG_CPU_PROGRAM_MAP(boogwing_map) |
346 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
346 | MCFG_CPU_VBLANK_INT_DRIVER("screen", boogwing_state, irq6_line_hold) | |
347 | 347 | |
348 | 348 | MCFG_CPU_ADD("audiocpu", H6280,32220000/4) |
349 | 349 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
---|---|---|
50 | 50 | virtual void machine_start(); |
51 | 51 | virtual void palette_init(); |
52 | 52 | UINT32 screen_update_esh(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
53 | INTERRUPT_GEN_MEMBER(vblank_callback_esh); | |
53 | 54 | }; |
54 | 55 | |
55 | 56 | |
r17996 | r17997 | |
283 | 284 | machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE); |
284 | 285 | } |
285 | 286 | |
286 | ||
287 | ||
287 | 288 | { |
288 | 289 | // IRQ |
289 | device->execute().set_input_line(0, ASSERT_LINE); | |
290 | device->machine().scheduler().timer_set(attotime::from_usec(50), FUNC(irq_stop)); | |
290 | device.execute().set_input_line(0, ASSERT_LINE); | |
291 | machine().scheduler().timer_set(attotime::from_usec(50), FUNC(irq_stop)); | |
291 | 292 | } |
292 | 293 | |
293 | 294 | void esh_state::machine_start() |
r17996 | r17997 | |
302 | 303 | MCFG_CPU_ADD("maincpu", Z80, PCB_CLOCK/6) /* The denominator is a Daphne guess based on PacMan's hardware */ |
303 | 304 | MCFG_CPU_PROGRAM_MAP(z80_0_mem) |
304 | 305 | MCFG_CPU_IO_MAP(z80_0_io) |
305 | MCFG_CPU_VBLANK_INT("screen", vblank_callback_esh) | |
306 | MCFG_CPU_VBLANK_INT_DRIVER("screen", esh_state, vblank_callback_esh) | |
306 | 307 | |
307 | 308 | MCFG_NVRAM_ADD_0FILL("nvram") |
308 | 309 |
r17996 | r17997 | |
---|---|---|
1004 | 1004 | /* basic machine hardware */ |
1005 | 1005 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 Mhz ? */ |
1006 | 1006 | MCFG_CPU_PROGRAM_MAP(nekkyoku_main_map) |
1007 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1007 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fromance_state, irq0_line_hold) | |
1008 | 1008 | |
1009 | 1009 | MCFG_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */ |
1010 | 1010 | MCFG_CPU_PROGRAM_MAP(nekkyoku_sub_map) |
r17996 | r17997 | |
1042 | 1042 | /* basic machine hardware */ |
1043 | 1043 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 Mhz ? */ |
1044 | 1044 | MCFG_CPU_PROGRAM_MAP(fromance_main_map) |
1045 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1045 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fromance_state, irq0_line_hold) | |
1046 | 1046 | |
1047 | 1047 | MCFG_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */ |
1048 | 1048 | MCFG_CPU_PROGRAM_MAP(fromance_sub_map) |
r17996 | r17997 | |
1080 | 1080 | /* basic machine hardware */ |
1081 | 1081 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 Mhz ? */ |
1082 | 1082 | MCFG_CPU_PROGRAM_MAP(fromance_main_map) |
1083 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1083 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fromance_state, irq0_line_hold) | |
1084 | 1084 | |
1085 | 1085 | MCFG_CPU_ADD("sub", Z80,12000000/2) /* 6.00 Mhz ? */ |
1086 | 1086 | MCFG_CPU_PROGRAM_MAP(fromance_sub_map) |
r17996 | r17997 | |
---|---|---|
422 | 422 | 0 /* stereo */ |
423 | 423 | }; |
424 | 424 | |
425 | ||
425 | ||
426 | 426 | { |
427 | skykid_state *state = device->machine().driver_data<skykid_state>(); | |
428 | 427 | |
429 | if(state->m_main_irq_mask) | |
430 | device->execute().set_input_line(0, ASSERT_LINE); | |
428 | if(m_main_irq_mask) | |
429 | device.execute().set_input_line(0, ASSERT_LINE); | |
431 | 430 | } |
432 | 431 | |
433 | 432 | |
434 | ||
433 | ||
435 | 434 | { |
436 | skykid_state *state = device->machine().driver_data<skykid_state>(); | |
437 | 435 | |
438 | if(state->m_mcu_irq_mask) | |
439 | device->execute().set_input_line(0, ASSERT_LINE); | |
436 | if(m_mcu_irq_mask) | |
437 | device.execute().set_input_line(0, ASSERT_LINE); | |
440 | 438 | } |
441 | 439 | |
442 | 440 | |
r17996 | r17997 | |
445 | 443 | /* basic machine hardware */ |
446 | 444 | MCFG_CPU_ADD("maincpu", M6809,49152000/32) |
447 | 445 | MCFG_CPU_PROGRAM_MAP(skykid_map) |
448 | MCFG_CPU_VBLANK_INT("screen", main_vblank_irq) | |
446 | MCFG_CPU_VBLANK_INT_DRIVER("screen", skykid_state, main_vblank_irq) | |
449 | 447 | |
450 | 448 | MCFG_CPU_ADD("mcu", HD63701,49152000/8) /* or compatible 6808 with extra instructions */ |
451 | 449 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
452 | 450 | MCFG_CPU_IO_MAP(mcu_port_map) |
453 | MCFG_CPU_VBLANK_INT("screen", mcu_vblank_irq) | |
451 | MCFG_CPU_VBLANK_INT_DRIVER("screen", skykid_state, mcu_vblank_irq) | |
454 | 452 | |
455 | 453 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */ |
456 | 454 |
r17996 | r17997 | |
---|---|---|
1963 | 1963 | |
1964 | 1964 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_6MHz/2) /* verified on pcb */ |
1965 | 1965 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1966 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)6000000/(4*16*16*10*16)) | |
1966 | MCFG_CPU_PERIODIC_INT_DRIVER(halleys_state, irq0_line_hold, (double)6000000/(4*16*16*10*16)) | |
1967 | 1967 | |
1968 | 1968 | |
1969 | 1969 | // video hardware |
r17996 | r17997 | |
---|---|---|
74 | 74 | |
75 | 75 | |
76 | 76 | |
77 | #define DISABLE_VB_INT (!( | |
77 | #define DISABLE_VB_INT (!( | |
78 | 78 | |
79 | 79 | |
80 | 80 | |
r17996 | r17997 | |
396 | 396 | * |
397 | 397 | *************************************/ |
398 | 398 | |
399 | ||
399 | ||
400 | 400 | { |
401 | djmain_state *state = device->machine().driver_data<djmain_state>(); | |
402 | state->m_pending_vb_int = 0; | |
401 | m_pending_vb_int = 0; | |
403 | 402 | |
404 | 403 | if (DISABLE_VB_INT) |
405 | 404 | { |
406 | | |
405 | | |
407 | 406 | return; |
408 | 407 | } |
409 | 408 | |
410 | 409 | //logerror("V-Blank interrupt\n"); |
411 | device | |
410 | device. | |
412 | 411 | } |
413 | 412 | |
414 | 413 | |
r17996 | r17997 | |
1460 | 1459 | //MCFG_CPU_ADD("maincpu", M68EC020, 18432000/2) /* 9.216 MHz!? */ |
1461 | 1460 | MCFG_CPU_ADD("maincpu", M68EC020, 32000000/4) /* 8.000 MHz!? */ |
1462 | 1461 | MCFG_CPU_PROGRAM_MAP(memory_map) |
1463 | MCFG_CPU_VBLANK_INT("screen", vb_interrupt) | |
1462 | MCFG_CPU_VBLANK_INT_DRIVER("screen", djmain_state, vb_interrupt) | |
1464 | 1463 | |
1465 | 1464 | |
1466 | 1465 | MCFG_IDE_CONTROLLER_ADD("ide", ide_intf, ide_devices, "hdd", NULL, true) |
r17996 | r17997 | |
---|---|---|
162 | 162 | machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE); |
163 | 163 | } |
164 | 164 | |
165 | ||
165 | ||
166 | 166 | { |
167 | mustache_state *state = device->machine().driver_data<mustache_state>(); | |
168 | device->execute().set_input_line(0, ASSERT_LINE); | |
169 | state->m_clear_irq_timer->adjust(downcast<cpu_device *>(device)->cycles_to_attotime(14288)); | |
167 | device.execute().set_input_line(0, ASSERT_LINE); | |
168 | m_clear_irq_timer->adjust(downcast<cpu_device *>(&device)->cycles_to_attotime(14288)); | |
170 | 169 | /* Timing here is an educated GUESS, Z80 /INT must stay high so the irq |
171 | 170 | fires no less than TWICE per frame, else game doesn't work right. |
172 | 171 | 6000000 / 56.747 = 105732.4616 cycles per frame, we'll call it A |
r17996 | r17997 | |
188 | 187 | /* basic machine hardware */ |
189 | 188 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
190 | 189 | MCFG_CPU_PROGRAM_MAP(memmap) |
191 | MCFG_CPU_VBLANK_INT("screen", assert_irq) | |
190 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mustache_state, assert_irq) | |
192 | 191 | |
193 | 192 | MCFG_CPU_ADD(CPUTAG_T5182,Z80, T5182_CLOCK) |
194 | 193 | MCFG_CPU_PROGRAM_MAP(t5182_map) |
r17996 | r17997 | |
---|---|---|
690 | 690 | /* basic machine hardware */ |
691 | 691 | MCFG_CPU_ADD("maincpu", M65SC02, MASTER_CLOCK/8) /* 2 MHz (1.999 MHz measured) */ |
692 | 692 | MCFG_CPU_PROGRAM_MAP(snookr10_map) |
693 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
693 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snookr10_state, nmi_line_pulse) | |
694 | 694 | |
695 | 695 | MCFG_NVRAM_ADD_0FILL("nvram") |
696 | 696 |
r17996 | r17997 | |
---|---|---|
110 | 110 | virtual void palette_init(); |
111 | 111 | DECLARE_VIDEO_START(vertical); |
112 | 112 | UINT32 screen_update_statriv2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
113 | INTERRUPT_GEN_MEMBER(statriv2_interrupt); | |
113 | 114 | }; |
114 | 115 | |
115 | 116 | |
r17996 | r17997 | |
209 | 210 | * |
210 | 211 | *************************************/ |
211 | 212 | |
212 | ||
213 | ||
213 | 214 | { |
214 | statriv2_state *state = device->machine().driver_data<statriv2_state>(); | |
215 | UINT8 new_coin = state->ioport("COIN")->read(); | |
215 | UINT8 new_coin = ioport("COIN")->read(); | |
216 | 216 | |
217 | 217 | /* check the coin inputs once per frame */ |
218 | state->m_latched_coin |= new_coin & (new_coin ^ state->m_last_coin); | |
219 | state->m_last_coin = new_coin; | |
218 | m_latched_coin |= new_coin & (new_coin ^ m_last_coin); | |
219 | m_last_coin = new_coin; | |
220 | 220 | |
221 | device->execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
222 | device->execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
221 | device.execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
222 | device.execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
223 | 223 | } |
224 | 224 | |
225 | 225 | |
r17996 | r17997 | |
602 | 602 | MCFG_CPU_ADD("maincpu", I8085A, MASTER_CLOCK) |
603 | 603 | MCFG_CPU_PROGRAM_MAP(statriv2_map) |
604 | 604 | MCFG_CPU_IO_MAP(statriv2_io_map) |
605 | MCFG_CPU_VBLANK_INT("screen", statriv2_interrupt) | |
605 | MCFG_CPU_VBLANK_INT_DRIVER("screen", statriv2_state, statriv2_interrupt) | |
606 | 606 | |
607 | 607 | MCFG_NVRAM_ADD_0FILL("nvram") |
608 | 608 |
r17996 | r17997 | |
---|---|---|
330 | 330 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK / 6) |
331 | 331 | MCFG_CPU_PROGRAM_MAP(carrera_map) |
332 | 332 | MCFG_CPU_IO_MAP(io_map) |
333 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
333 | MCFG_CPU_VBLANK_INT_DRIVER("screen", carrera_state, nmi_line_pulse) | |
334 | 334 | |
335 | 335 | /* video hardware */ |
336 | 336 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
218 | 218 | /* basic machine hardware */ |
219 | 219 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz? */ |
220 | 220 | MCFG_CPU_PROGRAM_MAP(main_map) |
221 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
221 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ultraman_state, irq4_line_hold) | |
222 | 222 | |
223 | 223 | MCFG_CPU_ADD("audiocpu", Z80,24000000/6) /* 4 MHz? */ |
224 | 224 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
284 | 284 | MCFG_CPU_ADD("maincpu", Z80, 24000000/4)/* ? MHz */ |
285 | 285 | MCFG_CPU_PROGRAM_MAP(d9final_map) |
286 | 286 | MCFG_CPU_IO_MAP(d9final_io) |
287 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
287 | MCFG_CPU_VBLANK_INT_DRIVER("screen", d9final_state, irq0_line_hold) | |
288 | 288 | |
289 | 289 | |
290 | 290 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
814 | 814 | /* basic machine hardware */ |
815 | 815 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz */ |
816 | 816 | MCFG_CPU_PROGRAM_MAP(sraider_cpu1_map) |
817 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
817 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ladybug_state, irq0_line_hold) | |
818 | 818 | |
819 | 819 | MCFG_CPU_ADD("sub", Z80, 4000000) /* 4 MHz */ |
820 | 820 | MCFG_CPU_PROGRAM_MAP(sraider_cpu2_map) |
821 | 821 | MCFG_CPU_IO_MAP(sraider_cpu2_io_map) |
822 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
822 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ladybug_state, irq0_line_hold) | |
823 | 823 | |
824 | 824 | MCFG_MACHINE_START_OVERRIDE(ladybug_state,sraider) |
825 | 825 | MCFG_MACHINE_RESET_OVERRIDE(ladybug_state,sraider) |
r17996 | r17997 | |
---|---|---|
296 | 296 | /* basic machine hardware */ |
297 | 297 | MCFG_CPU_ADD("maincpu", Z80, 7000000/2) // 3.5 MHz |
298 | 298 | MCFG_CPU_PROGRAM_MAP(blueprnt_map) |
299 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
299 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blueprnt_state, irq0_line_hold) | |
300 | 300 | |
301 | 301 | MCFG_CPU_ADD("audiocpu", Z80, 10000000/2/2/2) // 1.25 MHz (2H) |
302 | 302 | MCFG_CPU_PROGRAM_MAP(sound_map) |
303 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) // IRQs connected to 32V | |
303 | MCFG_CPU_PERIODIC_INT_DRIVER(blueprnt_state, irq0_line_hold, 4*60) // IRQs connected to 32V | |
304 | 304 | // NMIs are caused by the main CPU |
305 | 305 | |
306 | 306 |
r17996 | r17997 | |
---|---|---|
85 | 85 | |
86 | 86 | virtual void video_start(); |
87 | 87 | UINT32 screen_update_ttchamp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
88 | INTERRUPT_GEN_MEMBER(ttchamp_irq); | |
88 | 89 | }; |
89 | 90 | |
90 | 91 | |
r17996 | r17997 | |
269 | 270 | INPUT_PORTS_END |
270 | 271 | |
271 | 272 | |
272 | ||
273 | ||
273 | 274 | { |
274 | device | |
275 | device. | |
275 | 276 | } |
276 | 277 | |
277 | 278 | static MACHINE_CONFIG_START( ttchamp, ttchamp_state ) |
r17996 | r17997 | |
279 | 280 | MCFG_CPU_ADD("maincpu", V30, 8000000) |
280 | 281 | MCFG_CPU_PROGRAM_MAP(ttchamp_map) |
281 | 282 | MCFG_CPU_IO_MAP(ttchamp_io) |
282 | MCFG_CPU_VBLANK_INT("screen", ttchamp_irq) | |
283 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ttchamp_state, ttchamp_irq) | |
283 | 284 | |
284 | 285 | /* video hardware */ |
285 | 286 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
394 | 394 | /* basic machine hardware */ |
395 | 395 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz??? */ |
396 | 396 | MCFG_CPU_PROGRAM_MAP(buggychl_map) |
397 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
397 | MCFG_CPU_VBLANK_INT_DRIVER("screen", buggychl_state, irq0_line_hold) | |
398 | 398 | |
399 | 399 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz??? */ |
400 | 400 | MCFG_CPU_PROGRAM_MAP(sound_map) |
401 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,60*60) /* irq is timed, tied to the cpu clock and not to vblank */ | |
401 | MCFG_CPU_PERIODIC_INT_DRIVER(buggychl_state, irq0_line_hold, 60*60) /* irq is timed, tied to the cpu clock and not to vblank */ | |
402 | 402 | /* nmi is caused by the main cpu */ |
403 | 403 | |
404 | 404 | MCFG_CPU_ADD("mcu", M68705,8000000/2) /* 4 MHz */ |
r17996 | r17997 | |
---|---|---|
14 | 14 | |
15 | 15 | |
16 | 16 | |
17 | ||
17 | ||
18 | 18 | { |
19 | if ((device->machine().root_device().ioport("SYSTEM")->read() & 0x90) != 0x90) | |
20 | generic_pulse_irq_line(device, 0, 1); | |
19 | if ((machine().root_device().ioport("SYSTEM")->read() & 0x90) != 0x90) | |
20 | generic_pulse_irq_line(device.execute(), 0, 1); | |
21 | 21 | } |
22 | 22 | |
23 | 23 | |
r17996 | r17997 | |
299 | 299 | |
300 | 300 | MCFG_CPU_ADD("maincpu", M6502, STARSHP1_CPU_CLOCK) |
301 | 301 | MCFG_CPU_PROGRAM_MAP(starshp1_map) |
302 | MCFG_CPU_VBLANK_INT("screen", starshp1_interrupt) | |
302 | MCFG_CPU_VBLANK_INT_DRIVER("screen", starshp1_state, starshp1_interrupt) | |
303 | 303 | |
304 | 304 | /* video hardware */ |
305 | 305 |
r17996 | r17997 | |
---|---|---|
278 | 278 | /* basic machine hardware */ |
279 | 279 | MCFG_CPU_ADD("maincpu", M68000,14318180) /* 14.31818 MHz */ |
280 | 280 | MCFG_CPU_PROGRAM_MAP(gotcha_map) |
281 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
281 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gotcha_state, irq6_line_hold) | |
282 | 282 | |
283 | 283 | MCFG_CPU_ADD("audiocpu", Z80,6000000) /* 6 MHz */ |
284 | 284 | MCFG_CPU_PROGRAM_MAP(sound_map) |
285 | ||
285 | | |
286 | 286 | |
287 | 287 | |
288 | 288 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
578 | 578 | state->m_maincpu->set_input_line(6, HOLD_LINE); |
579 | 579 | } |
580 | 580 | |
581 | ||
581 | ||
582 | 582 | { |
583 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(500), FUNC(taitof2_interrupt6)); | |
584 | device->execute().set_input_line(5, HOLD_LINE); | |
583 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(500), FUNC(taitof2_interrupt6)); | |
584 | device.execute().set_input_line(5, HOLD_LINE); | |
585 | 585 | } |
586 | 586 | |
587 | 587 | |
r17996 | r17997 | |
3040 | 3040 | |
3041 | 3041 | /* basic machine hardware */ |
3042 | 3042 | MCFG_CPU_ADD("maincpu", M68000, 24000000/2) /* 12 MHz */ |
3043 | MCFG_CPU_VBLANK_INT("screen", taitof2_interrupt) | |
3043 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitof2_state, taitof2_interrupt) | |
3044 | 3044 | |
3045 | 3045 | MCFG_CPU_ADD("audiocpu", Z80, 24000000/6) /* 4 MHz */ |
3046 | 3046 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
3598 | 3598 | /* basic machine hardware */ |
3599 | 3599 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* verified on pcb */ |
3600 | 3600 | MCFG_CPU_PROGRAM_MAP(cameltry_map) |
3601 | MCFG_CPU_VBLANK_INT("screen", taitof2_interrupt) | |
3601 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitof2_state, taitof2_interrupt) | |
3602 | 3602 | |
3603 | 3603 | MCFG_CPU_ADD("audiocpu", Z80,24000000/4) /* verifed on pcb */ |
3604 | 3604 | MCFG_CPU_PROGRAM_MAP(cameltrya_sound_map) |
r17996 | r17997 | |
3647 | 3647 | /* basic machine hardware */ |
3648 | 3648 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz */ |
3649 | 3649 | MCFG_CPU_PROGRAM_MAP(driveout_map) |
3650 | MCFG_CPU_VBLANK_INT("screen", taitof2_interrupt) | |
3650 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitof2_state, taitof2_interrupt) | |
3651 | 3651 | |
3652 | 3652 | MCFG_CPU_ADD("audiocpu", Z80,24000000/6) /* 4 MHz */ |
3653 | 3653 | MCFG_CPU_PROGRAM_MAP(driveout_sound_map) |
r17996 | r17997 | |
---|---|---|
35 | 35 | #define SOUND_CLOCK XTAL_14_31818MHz |
36 | 36 | |
37 | 37 | |
38 | ||
38 | ||
39 | 39 | { |
40 | pandoras_state *state = device->machine().driver_data<pandoras_state>(); | |
41 | 40 | |
42 | if (state->m_irq_enable_a) | |
43 | device->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE); | |
41 | if (m_irq_enable_a) | |
42 | device.execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE); | |
44 | 43 | } |
45 | 44 | |
46 | ||
45 | ||
47 | 46 | { |
48 | pandoras_state *state = device->machine().driver_data<pandoras_state>(); | |
49 | 47 | |
50 | if (state->m_irq_enable_b) | |
51 | device->execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE); | |
48 | if (m_irq_enable_b) | |
49 | device.execute().set_input_line(M6809_IRQ_LINE, HOLD_LINE); | |
52 | 50 | } |
53 | 51 | |
54 | 52 | WRITE8_MEMBER(pandoras_state::pandoras_int_control_w) |
r17996 | r17997 | |
344 | 342 | /* basic machine hardware */ |
345 | 343 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6) /* CPU A */ |
346 | 344 | MCFG_CPU_PROGRAM_MAP(pandoras_master_map) |
347 | MCFG_CPU_VBLANK_INT("screen", pandoras_master_interrupt) | |
345 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pandoras_state, pandoras_master_interrupt) | |
348 | 346 | |
349 | 347 | MCFG_CPU_ADD("sub", M6809, MASTER_CLOCK/6) /* CPU B */ |
350 | 348 | MCFG_CPU_PROGRAM_MAP(pandoras_slave_map) |
351 | MCFG_CPU_VBLANK_INT("screen", pandoras_slave_interrupt) | |
349 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pandoras_state, pandoras_slave_interrupt) | |
352 | 350 | |
353 | 351 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/8) |
354 | 352 | MCFG_CPU_PROGRAM_MAP(pandoras_sound_map) |
r17996 | r17997 | |
---|---|---|
657 | 657 | } |
658 | 658 | |
659 | 659 | |
660 | ||
660 | ||
661 | 661 | { |
662 | gottlieb_state *state = device->machine().driver_data<gottlieb_state>(); | |
663 | 662 | /* assert the NMI and set a timer to clear it at the first visible line */ |
664 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
665 | device->machine().scheduler().timer_set(device->machine().primary_screen->time_until_pos(0), FUNC(nmi_clear)); | |
663 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
664 | machine().scheduler().timer_set(machine().primary_screen->time_until_pos(0), FUNC(nmi_clear)); | |
666 | 665 | |
667 | 666 | /* if we have a laserdisc, update it */ |
668 | if ( | |
667 | if ( | |
669 | 668 | { |
670 | 669 | /* set the "disc ready" bit, which basically indicates whether or not we have a proper video frame */ |
671 | if (!state->m_laserdisc->video_active()) | |
672 | state->m_laserdisc_status &= ~0x20; | |
670 | if (!m_laserdisc->video_active()) | |
671 | m_laserdisc_status &= ~0x20; | |
673 | 672 | else |
674 | | |
673 | | |
675 | 674 | } |
676 | 675 | } |
677 | 676 | |
r17996 | r17997 | |
1711 | 1710 | /* basic machine hardware */ |
1712 | 1711 | MCFG_CPU_ADD("maincpu", I8088, CPU_CLOCK/3) |
1713 | 1712 | MCFG_CPU_PROGRAM_MAP(gottlieb_map) |
1714 | MCFG_CPU_VBLANK_INT("screen", gottlieb_interrupt) | |
1713 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gottlieb_state, gottlieb_interrupt) | |
1715 | 1714 | |
1716 | 1715 | MCFG_NVRAM_ADD_1FILL("nvram") |
1717 | 1716 | MCFG_WATCHDOG_VBLANK_INIT(16) |
r17996 | r17997 | |
---|---|---|
92 | 92 | virtual void video_start(); |
93 | 93 | UINT32 screen_update_psattack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
94 | 94 | void screen_eof_psattack(screen_device &screen, bool state); |
95 | INTERRUPT_GEN_MEMBER(psattack_interrupt); | |
95 | 96 | }; |
96 | 97 | |
97 | 98 | |
r17996 | r17997 | |
136 | 137 | |
137 | 138 | } |
138 | 139 | |
139 | ||
140 | ||
140 | 141 | { |
141 | 142 | |
142 | 143 | } |
r17996 | r17997 | |
178 | 179 | static MACHINE_CONFIG_START( psattack, psattack_state ) |
179 | 180 | MCFG_CPU_ADD("maincpu", SE3208, 43000000) |
180 | 181 | MCFG_CPU_PROGRAM_MAP(psattack_mem) |
181 | MCFG_CPU_VBLANK_INT("screen", psattack_interrupt) | |
182 | MCFG_CPU_VBLANK_INT_DRIVER("screen", psattack_state, psattack_interrupt) | |
182 | 183 | |
183 | 184 | |
184 | 185 | //MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
53 | 53 | } |
54 | 54 | } |
55 | 55 | |
56 | ||
56 | ||
57 | 57 | { |
58 | asterix_state *state = device->machine().driver_data<asterix_state>(); | |
59 | 58 | |
60 | 59 | // global interrupt masking |
61 | if (!k056832_is_irq_enabled( | |
60 | if (!k056832_is_irq_enabled( | |
62 | 61 | return; |
63 | 62 | |
64 | device | |
63 | device. | |
65 | 64 | } |
66 | 65 | |
67 | 66 | READ8_MEMBER(asterix_state::asterix_sound_r) |
r17996 | r17997 | |
291 | 290 | /* basic machine hardware */ |
292 | 291 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
293 | 292 | MCFG_CPU_PROGRAM_MAP(main_map) |
294 | MCFG_CPU_VBLANK_INT("screen", asterix_interrupt) | |
293 | MCFG_CPU_VBLANK_INT_DRIVER("screen", asterix_state, asterix_interrupt) | |
295 | 294 | |
296 | 295 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) |
297 | 296 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
366 | 366 | MCFG_CPU_ADD("maincpu", Z80,5000000) /* 5 MHz */ |
367 | 367 | MCFG_CPU_PROGRAM_MAP(ppmast93_cpu1_map) |
368 | 368 | MCFG_CPU_IO_MAP(ppmast93_cpu1_io) |
369 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
369 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ppmast93_state, irq0_line_hold) | |
370 | 370 | |
371 | 371 | MCFG_CPU_ADD("sub", Z80,5000000) /* 5 MHz */ |
372 | 372 | MCFG_CPU_PROGRAM_MAP(ppmast93_cpu2_map) |
373 | 373 | MCFG_CPU_IO_MAP(ppmast93_cpu2_io) |
374 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8000) | |
374 | MCFG_CPU_PERIODIC_INT_DRIVER(ppmast93_state, irq0_line_hold, 8000) | |
375 | 375 | |
376 | 376 | /* video hardware */ |
377 | 377 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
3574 | 3574 | /* basic machine hardware */ |
3575 | 3575 | MCFG_CPU_ADD("maincpu", M6502, CPU_CLOCK) |
3576 | 3576 | MCFG_CPU_PROGRAM_MAP(goldnpkr_map) |
3577 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
3577 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldnpkr_state, nmi_line_pulse) | |
3578 | 3578 | |
3579 | 3579 | MCFG_NVRAM_ADD_0FILL("nvram") |
3580 | 3580 |
r17996 | r17997 | |
---|---|---|
63 | 63 | } |
64 | 64 | } |
65 | 65 | |
66 | ||
66 | ||
67 | 67 | { |
68 | xxmissio_state *state = device->machine().driver_data<xxmissio_state>(); | |
69 | state->m_status &= ~0x20; | |
70 | device->execute().set_input_line(0, HOLD_LINE); | |
68 | m_status &= ~0x20; | |
69 | device.execute().set_input_line(0, HOLD_LINE); | |
71 | 70 | } |
72 | 71 | |
73 | ||
72 | ||
74 | 73 | { |
75 | xxmissio_state *state = device->machine().driver_data<xxmissio_state>(); | |
76 | state->m_status &= ~0x10; | |
77 | device->execute().set_input_line(0, HOLD_LINE); | |
74 | m_status &= ~0x10; | |
75 | device.execute().set_input_line(0, HOLD_LINE); | |
78 | 76 | } |
79 | 77 | |
80 | 78 | void xxmissio_state::machine_start() |
r17996 | r17997 | |
286 | 284 | /* basic machine hardware */ |
287 | 285 | MCFG_CPU_ADD("maincpu", Z80,12000000/4) /* 3.0MHz */ |
288 | 286 | MCFG_CPU_PROGRAM_MAP(map1) |
289 | MCFG_CPU_VBLANK_INT("screen", xxmissio_interrupt_m) | |
287 | MCFG_CPU_VBLANK_INT_DRIVER("screen", xxmissio_state, xxmissio_interrupt_m) | |
290 | 288 | |
291 | 289 | MCFG_CPU_ADD("sub", Z80,12000000/4) /* 3.0MHz */ |
292 | 290 | MCFG_CPU_PROGRAM_MAP(map2) |
293 | MCFG_CPU_PERIODIC_INT(xxmissio_interrupt_s,2*60) | |
291 | MCFG_CPU_PERIODIC_INT_DRIVER(xxmissio_state, xxmissio_interrupt_s, 2*60) | |
294 | 292 | |
295 | 293 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
296 | 294 |
r17996 | r17997 | |
---|---|---|
125 | 125 | state->m_maincpu->set_input_line(4, HOLD_LINE); |
126 | 126 | } |
127 | 127 | |
128 | ||
128 | ||
129 | 129 | { |
130 | moo_state *state = device->machine().driver_data<moo_state>(); | |
131 | if (k053246_is_irq_enabled(state->m_k053246)) | |
130 | if (k053246_is_irq_enabled(m_k053246)) | |
132 | 131 | { |
133 | moo_objdma( | |
132 | moo_objdma( | |
134 | 133 | |
135 | 134 | // schedule DMA end interrupt (delay shortened to catch up with V-blank) |
136 | | |
135 | | |
137 | 136 | } |
138 | 137 | |
139 | 138 | // trigger V-blank interrupt |
140 | if (state->m_cur_control2 & 0x20) | |
141 | device->execute().set_input_line(5, HOLD_LINE); | |
139 | if (m_cur_control2 & 0x20) | |
140 | device.execute().set_input_line(5, HOLD_LINE); | |
142 | 141 | } |
143 | 142 | |
144 | ||
143 | ||
145 | 144 | { |
146 | moo_state *state = device->machine().driver_data<moo_state>(); | |
147 | moo_objdma(device->machine(), state->m_game_type); | |
145 | moo_objdma(machine(), m_game_type); | |
148 | 146 | |
149 | 147 | // schedule DMA end interrupt (delay shortened to catch up with V-blank) |
150 | | |
148 | | |
151 | 149 | |
152 | 150 | // trigger V-blank interrupt |
153 | device | |
151 | device. | |
154 | 152 | } |
155 | 153 | |
156 | 154 | WRITE16_MEMBER(moo_state::sound_cmd1_w) |
r17996 | r17997 | |
515 | 513 | /* basic machine hardware */ |
516 | 514 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
517 | 515 | MCFG_CPU_PROGRAM_MAP(moo_map) |
518 | MCFG_CPU_VBLANK_INT("screen", moo_interrupt) | |
516 | MCFG_CPU_VBLANK_INT_DRIVER("screen", moo_state, moo_interrupt) | |
519 | 517 | |
520 | 518 | MCFG_CPU_ADD("soundcpu", Z80, 8000000) |
521 | 519 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
563 | 561 | /* basic machine hardware */ |
564 | 562 | MCFG_CPU_ADD("maincpu", M68000, 16100000) |
565 | 563 | MCFG_CPU_PROGRAM_MAP(moobl_map) |
566 | MCFG_CPU_VBLANK_INT("screen", moobl_interrupt) | |
564 | MCFG_CPU_VBLANK_INT_DRIVER("screen", moo_state, moobl_interrupt) | |
567 | 565 | |
568 | 566 | MCFG_MACHINE_START_OVERRIDE(moo_state,moo) |
569 | 567 | MCFG_MACHINE_RESET_OVERRIDE(moo_state,moo) |
r17996 | r17997 | |
---|---|---|
1851 | 1851 | |
1852 | 1852 | MCFG_CPU_ADD("slave", Z80, XTAL_12MHz/3) /* verified on pcb */ |
1853 | 1853 | MCFG_CPU_PROGRAM_MAP(fhawk_2_map) |
1854 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,3*60) /* fixes slow down problems */ | |
1854 | MCFG_CPU_PERIODIC_INT_DRIVER(taitol_state, irq0_line_hold, 3*60) /* fixes slow down problems */ | |
1855 | 1855 | |
1856 | 1856 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
1857 | 1857 | |
r17996 | r17997 | |
1943 | 1943 | |
1944 | 1944 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/3) /* verified on pcb */ |
1945 | 1945 | MCFG_CPU_PROGRAM_MAP(kurikint_2_map) |
1946 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1946 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitol_state, irq0_line_hold) | |
1947 | 1947 | |
1948 | 1948 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
1949 | 1949 | |
r17996 | r17997 | |
2081 | 2081 | |
2082 | 2082 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/3) /* not verified */ |
2083 | 2083 | MCFG_CPU_PROGRAM_MAP(evilston_2_map) |
2084 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
2085 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,60) | |
2084 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitol_state, irq0_line_hold) | |
2085 | MCFG_CPU_PERIODIC_INT_DRIVER(taitol_state, nmi_line_pulse, 60) | |
2086 | 2086 | |
2087 | 2087 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
2088 | 2088 |
r17996 | r17997 | |
---|---|---|
354 | 354 | 0 /* col_base */ |
355 | 355 | }; |
356 | 356 | |
357 | ||
357 | ||
358 | 358 | { |
359 | groundfx_state *state = device->machine().driver_data<groundfx_state>(); | |
360 | state->m_frame_counter^=1; | |
361 | device->execute().set_input_line(4, HOLD_LINE); | |
359 | m_frame_counter^=1; | |
360 | device.execute().set_input_line(4, HOLD_LINE); | |
362 | 361 | } |
363 | 362 | |
364 | 363 | static MACHINE_CONFIG_START( groundfx, groundfx_state ) |
r17996 | r17997 | |
366 | 365 | /* basic machine hardware */ |
367 | 366 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */ |
368 | 367 | MCFG_CPU_PROGRAM_MAP(groundfx_map) |
369 | MCFG_CPU_VBLANK_INT("screen", groundfx_interrupt) | |
368 | MCFG_CPU_VBLANK_INT_DRIVER("screen", groundfx_state, groundfx_interrupt) | |
370 | 369 | |
371 | 370 | MCFG_EEPROM_ADD("eeprom", groundfx_eeprom_interface) |
372 | 371 |
r17996 | r17997 | |
---|---|---|
373 | 373 | MCFG_CPU_ADD("maincpu", Z80, SCHEMATIC_CLOCK/4) |
374 | 374 | MCFG_CPU_PROGRAM_MAP(mainmem) |
375 | 375 | MCFG_CPU_IO_MAP(mainport) |
376 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 1000.0/59.94) | |
376 | MCFG_CPU_PERIODIC_INT_DRIVER(segald_state, nmi_line_pulse, 1000.0/59.94) | |
377 | 377 | |
378 | 378 | |
379 | 379 | MCFG_LASERDISC_LDV1000_ADD("laserdisc") |
r17996 | r17997 | |
---|---|---|
559 | 559 | MCFG_CPU_ADD("maincpu",Z80,8000000) |
560 | 560 | MCFG_CPU_PROGRAM_MAP(st0016_mem) |
561 | 561 | MCFG_CPU_IO_MAP(st0016_io) |
562 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
562 | MCFG_CPU_VBLANK_INT_DRIVER("screen", srmp5_state, irq0_line_hold) | |
563 | 563 | |
564 | 564 | MCFG_CPU_ADD("sub", R3000LE, 25000000) |
565 | 565 | MCFG_CPU_CONFIG(r3000_config) |
566 | 566 | MCFG_CPU_PROGRAM_MAP(srmp5_mem) |
567 | MCFG_CPU_VBLANK_INT("screen", irq4_line_assert) | |
567 | MCFG_CPU_VBLANK_INT_DRIVER("screen", srmp5_state, irq4_line_assert) | |
568 | 568 | |
569 | 569 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
570 | 570 |
r17996 | r17997 | |
---|---|---|
171 | 171 | /* basic machine hardware */ |
172 | 172 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */ |
173 | 173 | MCFG_CPU_PROGRAM_MAP(main_map) |
174 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
174 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suprloco_state, irq0_line_hold) | |
175 | 175 | |
176 | 176 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
177 | 177 | MCFG_CPU_PROGRAM_MAP(sound_map) |
178 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* NMIs are caused by the main CPU */ | |
178 | MCFG_CPU_PERIODIC_INT_DRIVER(suprloco_state, irq0_line_hold, 4*60) /* NMIs are caused by the main CPU */ | |
179 | 179 | |
180 | 180 | /* video hardware */ |
181 | 181 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
193 | 193 | /* basic machine hardware */ |
194 | 194 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2) |
195 | 195 | MCFG_CPU_PROGRAM_MAP(yard_map) |
196 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
196 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m58_state, irq0_line_hold) | |
197 | 197 | |
198 | 198 | /* video hardware */ |
199 | 199 | MCFG_GFXDECODE(yard) |
r17996 | r17997 | |
---|---|---|
452 | 452 | /* basic machine hardware */ |
453 | 453 | MCFG_CPU_ADD("maincpu", M6800, XTAL_12_096MHz / 16) |
454 | 454 | MCFG_CPU_PROGRAM_MAP(destroyr_map) |
455 | MCFG_CPU_PERIODIC_INT(irq0_line_assert, 4*60) | |
455 | MCFG_CPU_PERIODIC_INT_DRIVER(destroyr_state, irq0_line_assert, 4*60) | |
456 | 456 | |
457 | 457 | |
458 | 458 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
79 | 79 | DECLARE_DRIVER_INIT(feversoc); |
80 | 80 | virtual void video_start(); |
81 | 81 | UINT32 screen_update_feversoc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
82 | INTERRUPT_GEN_MEMBER(feversoc_irq); | |
82 | 83 | }; |
83 | 84 | |
84 | 85 | |
r17996 | r17997 | |
246 | 247 | PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) |
247 | 248 | INPUT_PORTS_END |
248 | 249 | |
249 | ||
250 | ||
250 | 251 | { |
251 | | |
252 | | |
252 | 253 | } |
253 | 254 | |
254 | 255 | static MACHINE_CONFIG_START( feversoc, feversoc_state ) |
r17996 | r17997 | |
256 | 257 | /* basic machine hardware */ |
257 | 258 | MCFG_CPU_ADD("maincpu",SH2,MASTER_CLOCK) |
258 | 259 | MCFG_CPU_PROGRAM_MAP(feversoc_map) |
259 | MCFG_CPU_VBLANK_INT("screen",feversoc_irq) | |
260 | MCFG_CPU_VBLANK_INT_DRIVER("screen", feversoc_state, feversoc_irq) | |
260 | 261 | |
261 | 262 | /* video hardware */ |
262 | 263 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
91 | 91 | /* basic machine hardware */ |
92 | 92 | MCFG_CPU_ADD("maincpu",M68000,8000000) // unknown clock |
93 | 93 | MCFG_CPU_PROGRAM_MAP(segajw_map) |
94 | MCFG_CPU_VBLANK_INT("screen",irq4_line_hold) | |
94 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segajw_state, irq4_line_hold) | |
95 | 95 | |
96 | 96 | /* video hardware */ |
97 | 97 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
47 | 47 | #include "includes/vulgus.h" |
48 | 48 | |
49 | 49 | |
50 | ||
50 | ||
51 | 51 | { |
52 | device | |
52 | device. | |
53 | 53 | } |
54 | 54 | |
55 | 55 | static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, vulgus_state ) |
r17996 | r17997 | |
213 | 213 | /* basic machine hardware */ |
214 | 214 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/4) /* 3 MHz */ |
215 | 215 | MCFG_CPU_PROGRAM_MAP(main_map) |
216 | MCFG_CPU_VBLANK_INT("screen",vulgus_vblank_irq) | |
216 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vulgus_state, vulgus_vblank_irq) | |
217 | 217 | |
218 | 218 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/4) /* 3 MHz */ |
219 | 219 | MCFG_CPU_PROGRAM_MAP(sound_map) |
220 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8*60) | |
220 | MCFG_CPU_PERIODIC_INT_DRIVER(vulgus_state, irq0_line_hold, 8*60) | |
221 | 221 | |
222 | 222 | /* video hardware */ |
223 | 223 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
497 | 497 | |
498 | 498 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
499 | 499 | MCFG_CPU_PROGRAM_MAP(sderby_map) |
500 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
500 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sderby_state, irq2_line_hold) | |
501 | 501 | |
502 | 502 | MCFG_NVRAM_ADD_0FILL("nvram") |
503 | 503 | |
r17996 | r17997 | |
520 | 520 | |
521 | 521 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
522 | 522 | MCFG_CPU_PROGRAM_MAP(luckboom_map) |
523 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
523 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sderby_state, irq4_line_hold) | |
524 | 524 | |
525 | 525 | MCFG_NVRAM_ADD_0FILL("nvram") |
526 | 526 | |
r17996 | r17997 | |
543 | 543 | |
544 | 544 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
545 | 545 | MCFG_CPU_PROGRAM_MAP(spacewin_map) |
546 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
546 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sderby_state, irq2_line_hold) | |
547 | 547 | |
548 | 548 | MCFG_NVRAM_ADD_0FILL("nvram") |
549 | 549 | |
r17996 | r17997 | |
566 | 566 | |
567 | 567 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
568 | 568 | MCFG_CPU_PROGRAM_MAP(roulette_map) |
569 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
569 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sderby_state, irq2_line_hold) | |
570 | 570 | |
571 | 571 | MCFG_NVRAM_ADD_0FILL("nvram") |
572 | 572 |
r17996 | r17997 | |
---|---|---|
582 | 582 | static MACHINE_CONFIG_START( vcombat, vcombat_state ) |
583 | 583 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) |
584 | 584 | MCFG_CPU_PROGRAM_MAP(main_map) |
585 | MCFG_CPU_VBLANK_INT("screen", irq1_line_assert) | |
585 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vcombat_state, irq1_line_assert) | |
586 | 586 | |
587 | 587 | /* The middle board i860 */ |
588 | 588 | MCFG_CPU_ADD("vid_0", I860, XTAL_20MHz) |
r17996 | r17997 | |
595 | 595 | /* Sound CPU */ |
596 | 596 | MCFG_CPU_ADD("soundcpu", M68000, XTAL_12MHz) |
597 | 597 | MCFG_CPU_PROGRAM_MAP(sound_map) |
598 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 15000) /* Remove this if MC6845 is enabled */ | |
598 | MCFG_CPU_PERIODIC_INT_DRIVER(vcombat_state, irq1_line_hold, 15000) /* Remove this if MC6845 is enabled */ | |
599 | 599 | |
600 | 600 | MCFG_NVRAM_ADD_0FILL("nvram") |
601 | 601 | MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,vcombat) |
r17996 | r17997 | |
630 | 630 | static MACHINE_CONFIG_START( shadfgtr, vcombat_state ) |
631 | 631 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) |
632 | 632 | MCFG_CPU_PROGRAM_MAP(main_map) |
633 | MCFG_CPU_VBLANK_INT("screen", irq1_line_assert) | |
633 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vcombat_state, irq1_line_assert) | |
634 | 634 | |
635 | 635 | /* The middle board i860 */ |
636 | 636 | MCFG_CPU_ADD("vid_0", I860, XTAL_20MHz) |
r17996 | r17997 | |
---|---|---|
471 | 471 | /* basic machine hardware */ |
472 | 472 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
473 | 473 | MCFG_CPU_PROGRAM_MAP(shangha3_map) |
474 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
474 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangha3_state, irq4_line_hold) | |
475 | 475 | |
476 | 476 | /* video hardware */ |
477 | 477 | MCFG_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS) |
r17996 | r17997 | |
504 | 504 | /* basic machine hardware */ |
505 | 505 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
506 | 506 | MCFG_CPU_PROGRAM_MAP(heberpop_map) |
507 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
507 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangha3_state, irq4_line_hold) | |
508 | 508 | |
509 | 509 | MCFG_CPU_ADD("audiocpu", Z80, 6000000) /* 6 MHz ??? */ |
510 | 510 | MCFG_CPU_PROGRAM_MAP(heberpop_sound_map) |
r17996 | r17997 | |
542 | 542 | /* basic machine hardware */ |
543 | 543 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
544 | 544 | MCFG_CPU_PROGRAM_MAP(blocken_map) |
545 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
545 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shangha3_state, irq4_line_hold) | |
546 | 546 | |
547 | 547 | MCFG_CPU_ADD("audiocpu", Z80, 6000000) /* 6 MHz ??? */ |
548 | 548 | MCFG_CPU_PROGRAM_MAP(heberpop_sound_map) |
r17996 | r17997 | |
---|---|---|
303 | 303 | /* basic machine hardware */ |
304 | 304 | MCFG_CPU_ADD("maincpu", M68000, 8000000 ) |
305 | 305 | MCFG_CPU_PROGRAM_MAP(pkscramble_map) |
306 | //MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) /* only valid irq */ | |
306 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", pkscram_state, irq1_line_hold) /* only valid irq */ | |
307 | 307 | |
308 | 308 | MCFG_NVRAM_ADD_0FILL("nvram") |
309 | 309 |
r17996 | r17997 | |
---|---|---|
289 | 289 | DEVCB_NULL |
290 | 290 | }; |
291 | 291 | |
292 | ||
292 | ||
293 | 293 | { |
294 | vastar_state *state = device->machine().driver_data<vastar_state>(); | |
295 | 294 | |
296 | if(state->m_nmi_mask) | |
297 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
295 | if(m_nmi_mask) | |
296 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
298 | 297 | } |
299 | 298 | |
300 | 299 | static MACHINE_CONFIG_START( vastar, vastar_state ) |
r17996 | r17997 | |
303 | 302 | MCFG_CPU_ADD("maincpu", Z80, 3072000) /* 3.072 MHz ???? */ |
304 | 303 | MCFG_CPU_PROGRAM_MAP(main_map) |
305 | 304 | MCFG_CPU_IO_MAP(main_port_map) |
306 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
305 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vastar_state, vblank_irq) | |
307 | 306 | |
308 | 307 | MCFG_CPU_ADD("sub", Z80, 3072000) /* 3.072 MHz ???? */ |
309 | 308 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
310 | 309 | MCFG_CPU_IO_MAP(cpu2_port_map) |
311 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) /* ??? */ | |
310 | MCFG_CPU_PERIODIC_INT_DRIVER(vastar_state, irq0_line_hold, 4*60) /* ??? */ | |
312 | 311 | |
313 | 312 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - seems enough to ensure proper */ |
314 | 313 | /* synchronization of the CPUs */ |
r17996 | r17997 | |
---|---|---|
75 | 75 | DECLARE_DRIVER_INIT(39in1); |
76 | 76 | virtual void machine_start(); |
77 | 77 | UINT32 screen_update_39in1(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
78 | INTERRUPT_GEN_MEMBER(pxa255_vblank_start); | |
78 | 79 | }; |
79 | 80 | |
80 | 81 | |
r17996 | r17997 | |
1353 | 1354 | } |
1354 | 1355 | } |
1355 | 1356 | |
1356 | ||
1357 | ||
1357 | 1358 | { |
1358 | 1359 | } |
1359 | 1360 | |
r17996 | r17997 | |
1591 | 1592 | |
1592 | 1593 | MCFG_CPU_ADD("maincpu", PXA255, 200000000) |
1593 | 1594 | MCFG_CPU_PROGRAM_MAP(39in1_map) |
1594 | MCFG_CPU_VBLANK_INT("screen", pxa255_vblank_start) | |
1595 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _39in1_state, pxa255_vblank_start) | |
1595 | 1596 | |
1596 | 1597 | MCFG_PALETTE_LENGTH(32768) |
1597 | 1598 |
r17996 | r17997 | |
---|---|---|
690 | 690 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* 3 MHz, measured */ |
691 | 691 | MCFG_CPU_PROGRAM_MAP(fortecar_map) |
692 | 692 | MCFG_CPU_IO_MAP(fortecar_ports) |
693 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
693 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fortecar_state, nmi_line_pulse) | |
694 | 694 | MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(200)) /* guess */ |
695 | 695 | |
696 | 696 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
95 | 95 | virtual void video_start(); |
96 | 96 | virtual void palette_init(); |
97 | 97 | UINT32 screen_update_gunpey(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
98 | INTERRUPT_GEN_MEMBER(gunpey_interrupt); | |
98 | 99 | }; |
99 | 100 | |
100 | 101 | |
r17996 | r17997 | |
355 | 356 | |
356 | 357 | } |
357 | 358 | |
358 | ||
359 | ||
359 | 360 | { |
360 | device | |
361 | device. | |
361 | 362 | } |
362 | 363 | |
363 | 364 | /***************************************************************************************/ |
r17996 | r17997 | |
367 | 368 | MCFG_CPU_ADD("maincpu", V30, 57242400 / 4) |
368 | 369 | MCFG_CPU_PROGRAM_MAP(mem_map) |
369 | 370 | MCFG_CPU_IO_MAP(io_map) |
370 | MCFG_CPU_VBLANK_INT("screen", gunpey_interrupt) | |
371 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gunpey_state, gunpey_interrupt) | |
371 | 372 | |
372 | 373 | /* video hardware */ |
373 | 374 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
74 | 74 | virtual void video_start(); |
75 | 75 | virtual void palette_init(); |
76 | 76 | UINT32 screen_update_superwng(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
77 | INTERRUPT_GEN_MEMBER(superwng_nmi_interrupt); | |
78 | INTERRUPT_GEN_MEMBER(superwng_sound_nmi_assert); | |
77 | 79 | }; |
78 | 80 | |
79 | 81 | TILE_GET_INFO_MEMBER(superwng_state::get_bg_tile_info) |
r17996 | r17997 | |
204 | 206 | m_nmi_enable = data; |
205 | 207 | } |
206 | 208 | |
207 | ||
209 | ||
208 | 210 | { |
209 | superwng_state *state = device->machine().driver_data<superwng_state>(); | |
210 | 211 | |
211 | if (BIT( | |
212 | if (BIT( | |
212 | 213 | nmi_line_pulse(device); |
213 | 214 | } |
214 | 215 | |
r17996 | r17997 | |
229 | 230 | m_audiocpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); |
230 | 231 | } |
231 | 232 | |
232 | ||
233 | ||
233 | 234 | { |
234 | superwng_state *state = device->machine().driver_data<superwng_state>(); | |
235 | if (BIT(state->m_nmi_enable, 0)) | |
236 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
235 | if (BIT(m_nmi_enable, 0)) | |
236 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
237 | 237 | } |
238 | 238 | |
239 | 239 | WRITE8_MEMBER(superwng_state::superwng_bg_vram_w) |
r17996 | r17997 | |
466 | 466 | /* basic machine hardware */ |
467 | 467 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
468 | 468 | MCFG_CPU_PROGRAM_MAP(superwng_map) |
469 | MCFG_CPU_VBLANK_INT("screen", superwng_nmi_interrupt) | |
469 | MCFG_CPU_VBLANK_INT_DRIVER("screen", superwng_state, superwng_nmi_interrupt) | |
470 | 470 | |
471 | 471 | MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK/4) |
472 | 472 | MCFG_CPU_PROGRAM_MAP(superwng_sound_map) |
473 | MCFG_CPU_PERIODIC_INT(superwng_sound_nmi_assert, 4*60) | |
473 | MCFG_CPU_PERIODIC_INT_DRIVER(superwng_state, superwng_sound_nmi_assert, 4*60) | |
474 | 474 | |
475 | 475 | |
476 | 476 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
907 | 907 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18MHz/3) // Z8400BPS |
908 | 908 | MCFG_CPU_PROGRAM_MAP(cyclemb_map) |
909 | 909 | MCFG_CPU_IO_MAP(cyclemb_io) |
910 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
910 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cyclemb_state, irq0_line_hold) | |
911 | 911 | |
912 | 912 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_18MHz/6) |
913 | 913 | MCFG_CPU_PROGRAM_MAP(cyclemb_sound_map) |
r17996 | r17997 | |
---|---|---|
379 | 379 | /* basic machine hardware */ |
380 | 380 | MCFG_CPU_ADD("maincpu", M6809,49152000/32) |
381 | 381 | MCFG_CPU_PROGRAM_MAP(baraduke_map) |
382 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
382 | MCFG_CPU_VBLANK_INT_DRIVER("screen", baraduke_state, irq0_line_assert) | |
383 | 383 | |
384 | 384 | MCFG_CPU_ADD("mcu", HD63701,49152000/8) |
385 | 385 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
386 | 386 | MCFG_CPU_IO_MAP(mcu_port_map) |
387 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
387 | MCFG_CPU_VBLANK_INT_DRIVER("screen", baraduke_state, irq0_line_hold) | |
388 | 388 | |
389 | 389 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synch */ |
390 | 390 |
r17996 | r17997 | |
---|---|---|
455 | 455 | DECLARE_READ8_MEMBER(test8_r); |
456 | 456 | virtual void video_start(); |
457 | 457 | UINT32 screen_update_bingor(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
458 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
459 | INTERRUPT_GEN_MEMBER(unk_irq); | |
458 | 460 | }; |
459 | 461 | |
460 | 462 | |
r17996 | r17997 | |
587 | 589 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
588 | 590 | INPUT_PORTS_END |
589 | 591 | |
590 | ||
592 | ||
591 | 593 | { |
592 | // device->execute().set_input_line_and_vector(0,HOLD_LINE,0x08/4); // reads i/o 0x200 and puts the result in ram, pic irq? | |
593 | device->execute().set_input_line_and_vector(0,HOLD_LINE,0x4c/4); // ? | |
594 | // device.execute().set_input_line_and_vector(0,HOLD_LINE,0x08/4); // reads i/o 0x200 and puts the result in ram, pic irq? | |
595 | device.execute().set_input_line_and_vector(0,HOLD_LINE,0x4c/4); // ? | |
594 | 596 | } |
595 | 597 | |
596 | ||
598 | ||
597 | 599 | { |
598 | device | |
600 | device. | |
599 | 601 | } |
600 | 602 | |
601 | 603 | |
r17996 | r17997 | |
619 | 621 | MCFG_CPU_ADD("maincpu", I80186, 14000000 ) //?? Mhz |
620 | 622 | MCFG_CPU_PROGRAM_MAP(bingor_map) |
621 | 623 | MCFG_CPU_IO_MAP(bingor_io) |
622 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
623 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 30) | |
624 | MCFG_CPU_PERIODIC_INT(unk_irq, 30) | |
624 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bingor_state, vblank_irq) | |
625 | MCFG_CPU_PERIODIC_INT_DRIVER(bingor_state, nmi_line_pulse, 30) | |
626 | MCFG_CPU_PERIODIC_INT_DRIVER(bingor_state, unk_irq, 30) | |
625 | 627 | |
626 | 628 | MCFG_CPU_ADD("pic", PIC16C57, 12000000) //?? Mhz |
627 | 629 | MCFG_CPU_IO_MAP(pic_io_map) |
r17996 | r17997 | |
---|---|---|
309 | 309 | /* basic machine hardware */ |
310 | 310 | MCFG_CPU_ADD("maincpu", M6502, 1500000) /* 1.5 MHz ???? */ |
311 | 311 | MCFG_CPU_PROGRAM_MAP(matmania_map) |
312 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
312 | MCFG_CPU_VBLANK_INT_DRIVER("screen", matmania_state, irq0_line_hold) | |
313 | 313 | |
314 | 314 | MCFG_CPU_ADD("audiocpu", M6502, 1200000) /* 1.2 MHz ???? */ |
315 | 315 | MCFG_CPU_PROGRAM_MAP(matmania_sound_map) |
316 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,15*60) /* ???? */ | |
316 | MCFG_CPU_PERIODIC_INT_DRIVER(matmania_state, nmi_line_pulse, 15*60) /* ???? */ | |
317 | 317 | /* IRQs are caused by the main CPU */ |
318 | 318 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
319 | 319 | |
r17996 | r17997 | |
394 | 394 | /* basic machine hardware */ |
395 | 395 | MCFG_CPU_ADD("maincpu", M6502, 1500000) /* 1.5 MHz ???? */ |
396 | 396 | MCFG_CPU_PROGRAM_MAP(maniach_map) |
397 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
397 | MCFG_CPU_VBLANK_INT_DRIVER("screen", matmania_state, irq0_line_hold) | |
398 | 398 | |
399 | 399 | MCFG_CPU_ADD("audiocpu", M6809, 1500000) /* 1.5 MHz ???? */ |
400 | 400 | MCFG_CPU_PROGRAM_MAP(maniach_sound_map) |
r17996 | r17997 | |
---|---|---|
231 | 231 | /* basic machine hardware */ |
232 | 232 | MCFG_CPU_ADD("maincpu", Z80, 3000000) /* ? */ |
233 | 233 | MCFG_CPU_PROGRAM_MAP(clshroad_map) |
234 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ, no NMI */ | |
234 | MCFG_CPU_VBLANK_INT_DRIVER("screen", clshroad_state, irq0_line_hold) /* IRQ, no NMI */ | |
235 | 235 | |
236 | 236 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) /* ? */ |
237 | 237 | MCFG_CPU_PROGRAM_MAP(clshroad_sound_map) |
238 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ, no NMI */ | |
238 | MCFG_CPU_VBLANK_INT_DRIVER("screen", clshroad_state, irq0_line_hold) /* IRQ, no NMI */ | |
239 | 239 | |
240 | 240 | |
241 | 241 | /* video hardware */ |
r17996 | r17997 | |
264 | 264 | /* basic machine hardware */ |
265 | 265 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/4) /* ? real speed unknown. 3MHz is too low and causes problems */ |
266 | 266 | MCFG_CPU_PROGRAM_MAP(clshroad_map) |
267 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ, no NMI */ | |
267 | MCFG_CPU_VBLANK_INT_DRIVER("screen", clshroad_state, irq0_line_hold) /* IRQ, no NMI */ | |
268 | 268 | |
269 | 269 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_18_432MHz/6) /* ? */ |
270 | 270 | MCFG_CPU_PROGRAM_MAP(clshroad_sound_map) |
271 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* IRQ, no NMI */ | |
271 | MCFG_CPU_VBLANK_INT_DRIVER("screen", clshroad_state, irq0_line_hold) /* IRQ, no NMI */ | |
272 | 272 | |
273 | 273 | |
274 | 274 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
79 | 79 | } |
80 | 80 | |
81 | 81 | |
82 | ||
82 | ||
83 | 83 | { |
84 | 84 | logerror("---- VBLANK ----\n"); |
85 | dcheese_signal_irq( | |
85 | dcheese_signal_irq( | |
86 | 86 | } |
87 | 87 | |
88 | 88 | |
r17996 | r17997 | |
409 | 409 | /* basic machine hardware */ |
410 | 410 | MCFG_CPU_ADD("maincpu", M68000, MAIN_OSC) |
411 | 411 | MCFG_CPU_PROGRAM_MAP(main_cpu_map) |
412 | MCFG_CPU_VBLANK_INT("screen", dcheese_vblank) | |
412 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dcheese_state, dcheese_vblank) | |
413 | 413 | |
414 | 414 | MCFG_CPU_ADD("audiocpu", M6809, SOUND_OSC/16) |
415 | 415 | MCFG_CPU_PROGRAM_MAP(sound_cpu_map) |
416 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 480) /* accurate for fredmem */ | |
416 | MCFG_CPU_PERIODIC_INT_DRIVER(dcheese_state, irq1_line_hold, 480) /* accurate for fredmem */ | |
417 | 417 | |
418 | 418 | |
419 | 419 | MCFG_EEPROM_93C46_ADD("eeprom") |
r17996 | r17997 | |
---|---|---|
619 | 619 | /* basic machine hardware */ |
620 | 620 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK / 4) |
621 | 621 | MCFG_CPU_PROGRAM_MAP(lsasquad_map) |
622 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
622 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lsasquad_state, irq0_line_hold) | |
623 | 623 | |
624 | 624 | MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK / 8) |
625 | 625 | MCFG_CPU_PROGRAM_MAP(lsasquad_sound_map) |
r17996 | r17997 | |
674 | 674 | /* basic machine hardware */ |
675 | 675 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK / 4) |
676 | 676 | MCFG_CPU_PROGRAM_MAP(daikaiju_map) |
677 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
677 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lsasquad_state, irq0_line_hold) | |
678 | 678 | |
679 | 679 | MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK / 8) |
680 | 680 | MCFG_CPU_PROGRAM_MAP(daikaiju_sound_map) |
r17996 | r17997 | |
---|---|---|
71 | 71 | DECLARE_WRITE16_MEMBER(mahjong_panel_w); |
72 | 72 | DECLARE_WRITE16_MEMBER(sengokmj_out_w); |
73 | 73 | DECLARE_READ16_MEMBER(sengokmj_system_r); |
74 | INTERRUPT_GEN_MEMBER(sengokmj_interrupt); | |
74 | 75 | }; |
75 | 76 | |
76 | 77 | |
r17996 | r17997 | |
288 | 289 | GFXDECODE_ENTRY( "tx_gfx", 0, charlayout, 0x700, 0x10 ) /* Text */ |
289 | 290 | GFXDECODE_END |
290 | 291 | |
291 | ||
292 | ||
292 | 293 | { |
293 | device | |
294 | device. | |
294 | 295 | } |
295 | 296 | |
296 | 297 | static MACHINE_CONFIG_START( sengokmj, sengokmj_state ) |
r17996 | r17997 | |
299 | 300 | MCFG_CPU_ADD("maincpu", V30, 16000000/2) /* V30-8 */ |
300 | 301 | MCFG_CPU_PROGRAM_MAP(sengokmj_map) |
301 | 302 | MCFG_CPU_IO_MAP(sengokmj_io_map) |
302 | MCFG_CPU_VBLANK_INT("screen", sengokmj_interrupt) | |
303 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sengokmj_state, sengokmj_interrupt) | |
303 | 304 | |
304 | 305 | SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
305 | 306 |
r17996 | r17997 | |
---|---|---|
865 | 865 | /* basic machine hardware */ |
866 | 866 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */ |
867 | 867 | MCFG_CPU_PROGRAM_MAP(lastday_map) |
868 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
868 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dooyong_state, irq0_line_hold) | |
869 | 869 | |
870 | 870 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */ |
871 | 871 | MCFG_CPU_PROGRAM_MAP(lastday_sound_map) |
r17996 | r17997 | |
908 | 908 | /* basic machine hardware */ |
909 | 909 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */ |
910 | 910 | MCFG_CPU_PROGRAM_MAP(gulfstrm_map) |
911 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
911 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dooyong_state, irq0_line_hold) | |
912 | 912 | |
913 | 913 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */ |
914 | 914 | MCFG_CPU_PROGRAM_MAP(lastday_sound_map) |
r17996 | r17997 | |
941 | 941 | /* basic machine hardware */ |
942 | 942 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */ |
943 | 943 | MCFG_CPU_PROGRAM_MAP(pollux_map) |
944 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
944 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dooyong_state, irq0_line_hold) | |
945 | 945 | |
946 | 946 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ??? */ |
947 | 947 | MCFG_CPU_PROGRAM_MAP(pollux_sound_map) |
r17996 | r17997 | |
974 | 974 | /* basic machine hardware */ |
975 | 975 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */ |
976 | 976 | MCFG_CPU_PROGRAM_MAP(bluehawk_map) |
977 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
977 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dooyong_state, irq0_line_hold) | |
978 | 978 | |
979 | 979 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */ |
980 | 980 | MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map) |
r17996 | r17997 | |
1006 | 1006 | /* basic machine hardware */ |
1007 | 1007 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */ |
1008 | 1008 | MCFG_CPU_PROGRAM_MAP(flytiger_map) |
1009 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1009 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dooyong_state, irq0_line_hold) | |
1010 | 1010 | |
1011 | 1011 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */ |
1012 | 1012 | MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map) |
r17996 | r17997 | |
1038 | 1038 | /* basic machine hardware */ |
1039 | 1039 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* ??? */ |
1040 | 1040 | MCFG_CPU_PROGRAM_MAP(primella_map) |
1041 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1041 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dooyong_state, irq0_line_hold) | |
1042 | 1042 | |
1043 | 1043 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */ |
1044 | 1044 | MCFG_CPU_PROGRAM_MAP(bluehawk_sound_map) |
r17996 | r17997 | |
---|---|---|
318 | 318 | /* basic machine hardware */ |
319 | 319 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) |
320 | 320 | MCFG_CPU_PROGRAM_MAP(silvmil_map) |
321 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
321 | MCFG_CPU_VBLANK_INT_DRIVER("screen", silvmil_state, irq6_line_hold) | |
322 | 322 | |
323 | 323 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4_096MHz) // 4.096MHz or 3.579545MHz - Need to verify |
324 | 324 | MCFG_CPU_PROGRAM_MAP(silvmil_sound_map) |
r17996 | r17997 | |
---|---|---|
381 | 381 | m_flipscreen = 0; |
382 | 382 | } |
383 | 383 | |
384 | ||
384 | ||
385 | 385 | { |
386 | brkthru_state *state = device->machine().driver_data<brkthru_state>(); | |
387 | 386 | |
388 | if(state->m_nmi_mask) | |
389 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
387 | if(m_nmi_mask) | |
388 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
390 | 389 | } |
391 | 390 | |
392 | 391 | static MACHINE_CONFIG_START( brkthru, brkthru_state ) |
r17996 | r17997 | |
394 | 393 | /* basic machine hardware */ |
395 | 394 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */ |
396 | 395 | MCFG_CPU_PROGRAM_MAP(brkthru_map) |
397 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
396 | MCFG_CPU_VBLANK_INT_DRIVER("screen", brkthru_state, vblank_irq) | |
398 | 397 | |
399 | 398 | MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */ |
400 | 399 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
430 | 429 | /* basic machine hardware */ |
431 | 430 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */ |
432 | 431 | MCFG_CPU_PROGRAM_MAP(darwin_map) |
433 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
432 | MCFG_CPU_VBLANK_INT_DRIVER("screen", brkthru_state, vblank_irq) | |
434 | 433 | |
435 | 434 | MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK/8) /* 1.5 MHz ? */ |
436 | 435 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
79 | 79 | DECLARE_WRITE16_MEMBER(eeprom_w); |
80 | 80 | virtual void video_start(); |
81 | 81 | UINT32 screen_update_rbmk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
82 | INTERRUPT_GEN_MEMBER(mcu_irq); | |
82 | 83 | }; |
83 | 84 | |
84 | 85 | |
r17996 | r17997 | |
527 | 528 | return 0; |
528 | 529 | } |
529 | 530 | |
530 | ||
531 | ||
531 | 532 | { |
532 | | |
533 | | |
533 | 534 | } |
534 | 535 | |
535 | 536 | static MACHINE_CONFIG_START( rbmk, rbmk_state ) |
536 | 537 | MCFG_CPU_ADD("maincpu", M68000, 22000000 /2) |
537 | 538 | MCFG_CPU_PROGRAM_MAP(rbmk_mem) |
538 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
539 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rbmk_state, irq1_line_hold) | |
539 | 540 | |
540 | 541 | MCFG_CPU_ADD("mcu", AT89C4051, 22000000 / 4) // frequency isn't right |
541 | 542 | MCFG_CPU_PROGRAM_MAP(rbmk_mcu_mem) |
542 | 543 | MCFG_CPU_IO_MAP(rbmk_mcu_io) |
543 | MCFG_CPU_VBLANK_INT("screen", mcu_irq) | |
544 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rbmk_state, mcu_irq) | |
544 | 545 | |
545 | 546 | MCFG_GFXDECODE(rbmk) |
546 | 547 |
r17996 | r17997 | |
---|---|---|
635 | 635 | DEVCB_NULL |
636 | 636 | }; |
637 | 637 | |
638 | ||
638 | ||
639 | 639 | { |
640 | thepit_state *state = device->machine().driver_data<thepit_state>(); | |
641 | 640 | |
642 | if(state->m_nmi_mask) | |
643 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
641 | if(m_nmi_mask) | |
642 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
644 | 643 | } |
645 | 644 | |
646 | 645 | static MACHINE_CONFIG_START( thepit, thepit_state ) |
r17996 | r17997 | |
648 | 647 | /* basic machine hardware */ |
649 | 648 | MCFG_CPU_ADD("maincpu", Z80, PIXEL_CLOCK/2) /* 3.072 MHz */ |
650 | 649 | MCFG_CPU_PROGRAM_MAP(thepit_main_map) |
651 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
650 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thepit_state, vblank_irq) | |
652 | 651 | |
653 | 652 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4) /* 2.5 MHz */ |
654 | 653 | MCFG_CPU_PROGRAM_MAP(audio_map) |
655 | 654 | MCFG_CPU_IO_MAP(audio_io_map) |
656 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
655 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thepit_state, irq0_line_hold) | |
657 | 656 | |
658 | 657 | /* video hardware */ |
659 | 658 | MCFG_GFXDECODE(thepit) |
r17996 | r17997 | |
---|---|---|
347 | 347 | MCFG_CPU_ADD("maincpu", Z80,10000000/2) // ? |
348 | 348 | MCFG_CPU_PROGRAM_MAP(cpu_map) |
349 | 349 | MCFG_CPU_IO_MAP(io_map) |
350 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
350 | MCFG_CPU_VBLANK_INT_DRIVER("screen", trvmadns_state, nmi_line_pulse) | |
351 | 351 | |
352 | 352 | |
353 | 353 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
380 | 380 | MCFG_CPU_ADD("maincpu", Z80 , MASTER_CLOCK/2) /* xtal is 12 Mhz, unknown divider*/ |
381 | 381 | MCFG_CPU_PROGRAM_MAP(main_map) |
382 | 382 | MCFG_CPU_IO_MAP(port_map) |
383 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
383 | MCFG_CPU_VBLANK_INT_DRIVER("screen", albazg_state, irq0_line_hold) | |
384 | 384 | |
385 | 385 | |
386 | 386 | MCFG_EEPROM_93C46_ADD("eeprom") |
r17996 | r17997 | |
---|---|---|
146 | 146 | |
147 | 147 | MCFG_CPU_ADD("maincpu", M68000,8000000) /* ? MHz */ |
148 | 148 | MCFG_CPU_PROGRAM_MAP(main_map) |
149 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
149 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bingoc_state, irq2_line_hold) | |
150 | 150 | |
151 | 151 | MCFG_CPU_ADD("soundcpu", Z80,4000000) /* ? MHz */ |
152 | 152 | MCFG_CPU_PROGRAM_MAP(sound_map) |
153 | 153 | MCFG_CPU_IO_MAP(sound_io) |
154 | 154 | #if SOUND_TEST |
155 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
155 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bingoc_state, nmi_line_pulse) | |
156 | 156 | #endif |
157 | 157 | |
158 | 158 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
412 | 412 | timer.machine().device("maincpu")->execute().set_input_line_and_vector(0, HOLD_LINE,0xcf); |
413 | 413 | } |
414 | 414 | |
415 | ||
415 | ||
416 | 416 | { |
417 | changela_state *state = device->machine().driver_data<changela_state>(); | |
418 | 417 | |
419 | generic_pulse_irq_line( | |
418 | generic_pulse_irq_line( | |
420 | 419 | } |
421 | 420 | |
422 | 421 | void changela_state::machine_start() |
r17996 | r17997 | |
508 | 507 | |
509 | 508 | MCFG_CPU_ADD("mcu", M68705,2500000) |
510 | 509 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
511 | MCFG_CPU_VBLANK_INT("screen",chl_mcu_irq) | |
510 | MCFG_CPU_VBLANK_INT_DRIVER("screen", changela_state, chl_mcu_irq) | |
512 | 511 | |
513 | 512 | |
514 | 513 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
197 | 197 | MCFG_CPU_ADD("maincpu",I8080,1996800) /* clock is a guess, taken from mw8080bw */ |
198 | 198 | MCFG_CPU_PROGRAM_MAP(sstrangr_map) |
199 | 199 | MCFG_CPU_IO_MAP(sstrangr_io_map) |
200 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
200 | MCFG_CPU_PERIODIC_INT_DRIVER(sstrangr_state, irq0_line_hold, 2*60) | |
201 | 201 | |
202 | 202 | /* video hardware */ |
203 | 203 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
81 | 81 | virtual void video_start(); |
82 | 82 | UINT32 screen_update_backfire_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
83 | 83 | UINT32 screen_update_backfire_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
84 | INTERRUPT_GEN_MEMBER(deco32_vbl_interrupt); | |
84 | 85 | }; |
85 | 86 | |
86 | 87 | //UINT32 *backfire_180010, *backfire_188010; |
r17996 | r17997 | |
432 | 433 | sound_irq_gen |
433 | 434 | }; |
434 | 435 | |
435 | ||
436 | ||
436 | 437 | { |
437 | device | |
438 | device. | |
438 | 439 | } |
439 | 440 | |
440 | 441 | |
r17996 | r17997 | |
500 | 501 | /* basic machine hardware */ |
501 | 502 | MCFG_CPU_ADD("maincpu", ARM, 28000000/4) /* Unconfirmed */ |
502 | 503 | MCFG_CPU_PROGRAM_MAP(backfire_map) |
503 | MCFG_CPU_VBLANK_INT("lscreen", deco32_vbl_interrupt) /* or is it "rscreen?" */ | |
504 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", backfire_state, deco32_vbl_interrupt) /* or is it "rscreen?" */ | |
504 | 505 | |
505 | 506 | MCFG_EEPROM_93C46_ADD("eeprom") |
506 | 507 |
r17996 | r17997 | |
---|---|---|
390 | 390 | /* basic machine hardware */ |
391 | 391 | MCFG_CPU_ADD("maincpu", M6809, 2000000) /* 2 MHz */ |
392 | 392 | MCFG_CPU_PROGRAM_MAP(sidepckt_map) |
393 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
393 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sidepckt_state, nmi_line_pulse) | |
394 | 394 | |
395 | 395 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* 1.5 MHz */ |
396 | 396 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
318 | 318 | /* basic machine hardware */ |
319 | 319 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 8) |
320 | 320 | MCFG_CPU_PROGRAM_MAP(main_map) |
321 | MCFG_CPU_PERIODIC_INT(irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12) | |
321 | MCFG_CPU_PERIODIC_INT_DRIVER(starwars_state, irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12) | |
322 | 322 | MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(CLOCK_3KHZ / 128)) |
323 | 323 | |
324 | 324 | MCFG_CPU_ADD("audiocpu", M6809, MASTER_CLOCK / 8) |
r17996 | r17997 | |
---|---|---|
57 | 57 | virtual void video_start(); |
58 | 58 | virtual void palette_init(); |
59 | 59 | UINT32 screen_update_cubeqst(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
60 | INTERRUPT_GEN_MEMBER(vblank); | |
60 | 61 | }; |
61 | 62 | |
62 | 63 | |
r17996 | r17997 | |
192 | 193 | return machine().primary_screen->vpos(); |
193 | 194 | } |
194 | 195 | |
195 | ||
196 | ||
196 | 197 | { |
197 | cubeqst_state *state = device->machine().driver_data<cubeqst_state>(); | |
198 | int int_level = state->m_video_field == 0 ? 5 : 6; | |
198 | int int_level = m_video_field == 0 ? 5 : 6; | |
199 | 199 | |
200 | device | |
200 | device. | |
201 | 201 | |
202 | 202 | /* Update the laserdisc */ |
203 | | |
203 | | |
204 | 204 | } |
205 | 205 | |
206 | 206 | |
r17996 | r17997 | |
513 | 513 | static MACHINE_CONFIG_START( cubeqst, cubeqst_state ) |
514 | 514 | MCFG_CPU_ADD("main_cpu", M68000, XTAL_16MHz / 2) |
515 | 515 | MCFG_CPU_PROGRAM_MAP(m68k_program_map) |
516 | MCFG_CPU_VBLANK_INT("screen", vblank) | |
516 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cubeqst_state, vblank) | |
517 | 517 | |
518 | 518 | MCFG_CPU_ADD("rotate_cpu", CQUESTROT, XTAL_10MHz / 2) |
519 | 519 | MCFG_CPU_PROGRAM_MAP(rotate_map) |
r17996 | r17997 | |
---|---|---|
267 | 267 | MCFG_CPU_ADD("maincpu", Z180, 7000000) /* ??? */ |
268 | 268 | MCFG_CPU_PROGRAM_MAP(mosaic_map) |
269 | 269 | MCFG_CPU_IO_MAP(mosaic_io_map) |
270 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
270 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mosaic_state, irq0_line_hold) | |
271 | 271 | |
272 | 272 | |
273 | 273 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
362 | 362 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
363 | 363 | MCFG_CPU_PROGRAM_MAP(meijinsn_sound_map) |
364 | 364 | MCFG_CPU_IO_MAP(meijinsn_sound_io_map) |
365 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 160*60) | |
365 | MCFG_CPU_PERIODIC_INT_DRIVER(meijinsn_state, irq0_line_hold, 160*60) | |
366 | 366 | |
367 | 367 | |
368 | 368 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
647 | 647 | /* basic machine hardware */ |
648 | 648 | MCFG_CPU_ADD("maincpu", M6502,2000000) /* ? MHz */ |
649 | 649 | MCFG_CPU_PROGRAM_MAP(ltcasino_map) |
650 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
650 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ltcasino_state, irq0_line_hold) | |
651 | 651 | |
652 | 652 | /* video hardware */ |
653 | 653 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
475 | 475 | /* basic machine hardware */ |
476 | 476 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
477 | 477 | MCFG_CPU_PROGRAM_MAP(showhand_map) |
478 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
478 | MCFG_CPU_VBLANK_INT_DRIVER("screen", astrocorp_state, irq4_line_hold) | |
479 | 479 | |
480 | 480 | MCFG_NVRAM_ADD_0FILL("nvram") |
481 | 481 | MCFG_EEPROM_93C46_ADD("eeprom") |
r17996 | r17997 | |
---|---|---|
320 | 320 | virtual void machine_reset(); |
321 | 321 | virtual void video_start(); |
322 | 322 | UINT32 screen_update_coolridr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
323 | INTERRUPT_GEN_MEMBER(system_h1); | |
323 | 324 | }; |
324 | 325 | |
325 | 326 | |
r17996 | r17997 | |
1137 | 1138 | |
1138 | 1139 | |
1139 | 1140 | // IRQs 4, 6 (& 8?) are valid on SH-2 |
1140 | ||
1141 | ||
1141 | 1142 | { |
1142 | device | |
1143 | device. | |
1143 | 1144 | } |
1144 | 1145 | |
1145 | 1146 | //IRQs 10,12 and 14 are valid on SH-1 instead |
r17996 | r17997 | |
1165 | 1166 | static MACHINE_CONFIG_START( coolridr, coolridr_state ) |
1166 | 1167 | MCFG_CPU_ADD("maincpu", SH2, 28000000) // 28 mhz |
1167 | 1168 | MCFG_CPU_PROGRAM_MAP(system_h1_map) |
1168 | MCFG_CPU_VBLANK_INT("screen",system_h1) | |
1169 | MCFG_CPU_VBLANK_INT_DRIVER("screen", coolridr_state, system_h1) | |
1169 | 1170 | |
1170 | 1171 | MCFG_CPU_ADD("soundcpu", M68000, 11289600) //256 x 44100 Hz = 11.2896 MHz |
1171 | 1172 | MCFG_CPU_PROGRAM_MAP(system_h1_sound_map) |
r17996 | r17997 | |
---|---|---|
794 | 794 | /* basic machine hardware */ |
795 | 795 | MCFG_CPU_ADD("maincpu", M6502, CPU_CLOCK) |
796 | 796 | MCFG_CPU_PROGRAM_MAP(megadpkr_map) |
797 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
797 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz_state, nmi_line_pulse) | |
798 | 798 | |
799 | 799 | // MCFG_CPU_ADD("mcu", M68705, CPU_CLOCK) /* unknown */ |
800 | 800 | // MCFG_CPU_PROGRAM_MAP(mcu_map) |
r17996 | r17997 | |
---|---|---|
721 | 721 | virtual void machine_reset(); |
722 | 722 | virtual void video_start(); |
723 | 723 | UINT32 screen_update_cobra(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
724 | INTERRUPT_GEN_MEMBER(cobra_vblank); | |
724 | 725 | }; |
725 | 726 | |
726 | 727 | void cobra_renderer::render_color_scan(INT32 scanline, const extent_t &extent, const cobra_polydata &extradata, int threadid) |
r17996 | r17997 | |
3187 | 3188 | } |
3188 | 3189 | |
3189 | 3190 | |
3190 | ||
3191 | ||
3191 | 3192 | { |
3192 | cobra_state *cobra = device->machine().driver_data<cobra_state>(); | |
3193 | 3193 | |
3194 | if ( | |
3194 | if ( | |
3195 | 3195 | { |
3196 | device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE); | |
3197 | cobra->m_gfx_unk_flag = 0x80; | |
3196 | device.execute().set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE); | |
3197 | m_gfx_unk_flag = 0x80; | |
3198 | 3198 | } |
3199 | 3199 | } |
3200 | 3200 | |
r17996 | r17997 | |
3236 | 3236 | MCFG_CPU_ADD("maincpu", PPC603, 100000000) /* 603EV, 100? MHz */ |
3237 | 3237 | MCFG_CPU_CONFIG(main_ppc_cfg) |
3238 | 3238 | MCFG_CPU_PROGRAM_MAP(cobra_main_map) |
3239 | MCFG_CPU_VBLANK_INT("screen", cobra_vblank) | |
3239 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cobra_state, cobra_vblank) | |
3240 | 3240 | |
3241 | 3241 | MCFG_CPU_ADD("subcpu", PPC403GA, 32000000) /* 403GA, 33? MHz */ |
3242 | 3242 | MCFG_CPU_PROGRAM_MAP(cobra_sub_map) |
r17996 | r17997 | |
---|---|---|
70 | 70 | static MACHINE_CONFIG_START( gaminator, gaminator_state ) |
71 | 71 | MCFG_CPU_ADD("maincpu", MCF5206E, 40000000) /* definitely Coldfire, model / clock uncertain */ |
72 | 72 | MCFG_CPU_PROGRAM_MAP(gaminator_map) |
73 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) // irq6 seems to be needed to get past the ROM checking | |
73 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaminator_state, irq6_line_hold) // irq6 seems to be needed to get past the ROM checking | |
74 | 74 | |
75 | 75 | MCFG_FRAGMENT_ADD( pcvideo_vga ) |
76 | 76 |
r17996 | r17997 | |
---|---|---|
61 | 61 | * |
62 | 62 | *************************************/ |
63 | 63 | |
64 | ||
64 | ||
65 | 65 | { |
66 | tutankhm_state *state = device->machine().driver_data<tutankhm_state>(); | |
67 | 66 | |
68 | 67 | /* flip flops cause the interrupt to be signalled every other frame */ |
69 | state->m_irq_toggle ^= 1; | |
70 | if (state->m_irq_toggle && state->m_irq_enable) | |
71 | device->execute().set_input_line(0, ASSERT_LINE); | |
68 | m_irq_toggle ^= 1; | |
69 | if (m_irq_toggle && m_irq_enable) | |
70 | device.execute().set_input_line(0, ASSERT_LINE); | |
72 | 71 | } |
73 | 72 | |
74 | 73 | |
r17996 | r17997 | |
221 | 220 | /* basic machine hardware */ |
222 | 221 | MCFG_CPU_ADD("maincpu", M6809, XTAL_18_432MHz/12) /* 1.5 MHz ??? */ |
223 | 222 | MCFG_CPU_PROGRAM_MAP(main_map) |
224 | MCFG_CPU_VBLANK_INT("screen", tutankhm_interrupt) | |
223 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tutankhm_state, tutankhm_interrupt) | |
225 | 224 | |
226 | 225 | MCFG_MACHINE_START_OVERRIDE(tutankhm_state,tutankhm) |
227 | 226 | MCFG_MACHINE_RESET_OVERRIDE(tutankhm_state,tutankhm) |
r17996 | r17997 | |
---|---|---|
139 | 139 | /* basic machine hardware */ |
140 | 140 | MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz/12) // 1 MHz |
141 | 141 | MCFG_CPU_PROGRAM_MAP(nitedrvr_map) |
142 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
142 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nitedrvr_state, irq0_line_hold) | |
143 | 143 | MCFG_WATCHDOG_VBLANK_INIT(3) |
144 | 144 | |
145 | 145 |
r17996 | r17997 | |
---|---|---|
163 | 163 | MCFG_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */ |
164 | 164 | MCFG_CPU_PROGRAM_MAP(intrscti_map) |
165 | 165 | MCFG_CPU_IO_MAP(readport) |
166 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
166 | MCFG_CPU_VBLANK_INT_DRIVER("screen", intrscti_state, irq0_line_hold) | |
167 | 167 | |
168 | 168 | /* video hardware */ |
169 | 169 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
676 | 676 | /* basic machine hardware */ |
677 | 677 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */ |
678 | 678 | MCFG_CPU_PROGRAM_MAP(rbisland_map) |
679 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
679 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rbisland_state, irq4_line_hold) | |
680 | 680 | |
681 | 681 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) /* verified on pcb */ |
682 | 682 | MCFG_CPU_PROGRAM_MAP(rbisland_sound_map) |
r17996 | r17997 | |
716 | 716 | /* basic machine hardware */ |
717 | 717 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/3) /* not verified but matches original */ |
718 | 718 | MCFG_CPU_PROGRAM_MAP(jumping_map) |
719 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
719 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rbisland_state, irq4_line_hold) | |
720 | 720 | |
721 | 721 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_18_432MHz/6) /* not verified but music tempo matches original */ |
722 | 722 | MCFG_CPU_PROGRAM_MAP(jumping_sound_map) |
r17996 | r17997 | |
---|---|---|
229 | 229 | /* basic machine hardware */ |
230 | 230 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* 12 MHz ??? - Use value from Temco's Super Pinball Action - NEEDS VERIFICATION!! */ |
231 | 231 | MCFG_CPU_PROGRAM_MAP(main_map) |
232 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold)/* also has vector for 6, but it does nothing */ | |
232 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galspnbl_state, irq3_line_hold)/* also has vector for 6, but it does nothing */ | |
233 | 233 | |
234 | 234 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) /* 4 MHz ??? - Use value from Temco's Super Pinball Action - NEEDS VERIFICATION!! */ |
235 | 235 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
---|---|---|
297 | 297 | /* basic machine hardware */ |
298 | 298 | MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz/6) /* ??? */ |
299 | 299 | MCFG_CPU_PROGRAM_MAP(main_map) |
300 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) /* 48V, 112V, 176V, 240V */ | |
300 | MCFG_CPU_PERIODIC_INT_DRIVER(tunhunt_state, irq0_line_hold, 4*60) /* 48V, 112V, 176V, 240V */ | |
301 | 301 | |
302 | 302 | /* video hardware */ |
303 | 303 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
192 | 192 | |
193 | 193 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) /* ? */ |
194 | 194 | MCFG_CPU_PROGRAM_MAP(sound_cpu) |
195 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,1000) /* controls BGM tempo, 1000 is an hand-tuned value to match a side-by-side video */ | |
195 | MCFG_CPU_PERIODIC_INT_DRIVER(tryout_state, nmi_line_pulse, 1000) /* controls BGM tempo, 1000 is an hand-tuned value to match a side-by-side video */ | |
196 | 196 | |
197 | 197 | /* video hardware */ |
198 | 198 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
171 | 171 | return 0; |
172 | 172 | } |
173 | 173 | |
174 | ||
174 | ||
175 | 175 | { |
176 | rungun_state *state = device->machine().driver_data<rungun_state>(); | |
177 | 176 | |
178 | if (state->m_sysreg[0x0c / 2] & 0x09) | |
179 | device->execute().set_input_line(M68K_IRQ_5, ASSERT_LINE); | |
177 | if (m_sysreg[0x0c / 2] & 0x09) | |
178 | device.execute().set_input_line(M68K_IRQ_5, ASSERT_LINE); | |
180 | 179 | } |
181 | 180 | |
182 | 181 | static ADDRESS_MAP_START( rungun_map, AS_PROGRAM, 16, rungun_state ) |
r17996 | r17997 | |
226 | 225 | m_audiocpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); |
227 | 226 | } |
228 | 227 | |
229 | ||
228 | ||
230 | 229 | { |
231 | rungun_state *state = device->machine().driver_data<rungun_state>(); | |
232 | 230 | |
233 | if ( | |
231 | if ( | |
234 | 232 | return; |
235 | 233 | |
236 | device | |
234 | device. | |
237 | 235 | } |
238 | 236 | |
239 | 237 | /* sound (this should be split into audio/xexex.c or pregx.c or so someday) */ |
r17996 | r17997 | |
399 | 397 | /* basic machine hardware */ |
400 | 398 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
401 | 399 | MCFG_CPU_PROGRAM_MAP(rungun_map) |
402 | MCFG_CPU_VBLANK_INT("screen", rng_interrupt) | |
400 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rungun_state, rng_interrupt) | |
403 | 401 | |
404 | 402 | MCFG_CPU_ADD("soundcpu", Z80, 10000000) // 8Mhz (10Mhz is much safer in self-test due to heavy sync) |
405 | 403 | MCFG_CPU_PROGRAM_MAP(rungun_sound_map) |
406 | MCFG_CPU_PERIODIC_INT(audio_interrupt, 480) | |
404 | MCFG_CPU_PERIODIC_INT_DRIVER(rungun_state, audio_interrupt, 480) | |
407 | 405 | |
408 | 406 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // higher if sound stutters |
409 | 407 |
r17996 | r17997 | |
---|---|---|
1359 | 1359 | MCFG_CPU_ADD("maincpu", Z80, 6000000) // custom packaged z80 CPU ?? Mhz |
1360 | 1360 | MCFG_CPU_PROGRAM_MAP(sfbonus_map) |
1361 | 1361 | MCFG_CPU_IO_MAP(sfbonus_io) |
1362 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
1363 | //MCFG_CPU_PERIODIC_INT(nmi_line_pulse,100) | |
1362 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sfbonus_state, irq0_line_hold) | |
1363 | //MCFG_CPU_PERIODIC_INT_DRIVER(sfbonus_state, nmi_line_pulse, 100) | |
1364 | 1364 | |
1365 | 1365 | |
1366 | 1366 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
192 | 192 | virtual void machine_reset(); |
193 | 193 | UINT32 screen_update_crystal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
194 | 194 | void screen_eof_crystal(screen_device &screen, bool state); |
195 | INTERRUPT_GEN_MEMBER(crystal_interrupt); | |
195 | 196 | }; |
196 | 197 | |
197 | 198 | static void IntReq( running_machine &machine, int num ) |
r17996 | r17997 | |
742 | 743 | } |
743 | 744 | } |
744 | 745 | |
745 | ||
746 | ||
746 | 747 | { |
747 | IntReq( | |
748 | IntReq( | |
748 | 749 | } |
749 | 750 | |
750 | 751 | static INPUT_PORTS_START(crystal) |
r17996 | r17997 | |
841 | 842 | |
842 | 843 | MCFG_CPU_ADD("maincpu", SE3208, 43000000) |
843 | 844 | MCFG_CPU_PROGRAM_MAP(crystal_mem) |
844 | MCFG_CPU_VBLANK_INT("screen", crystal_interrupt) | |
845 | MCFG_CPU_VBLANK_INT_DRIVER("screen", crystal_state, crystal_interrupt) | |
845 | 846 | |
846 | 847 | |
847 | 848 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
588 | 588 | /* basic machine hardware */ |
589 | 589 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8) |
590 | 590 | MCFG_CPU_PROGRAM_MAP(main_map) |
591 | MCFG_CPU_PERIODIC_INT(irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12) | |
591 | MCFG_CPU_PERIODIC_INT_DRIVER(tempest_state, irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12) | |
592 | 592 | MCFG_WATCHDOG_TIME_INIT(attotime::from_hz(CLOCK_3KHZ / 256)) |
593 | 593 | |
594 | 594 | MCFG_ATARIVGEAROM_ADD("earom") |
r17996 | r17997 | |
---|---|---|
250 | 250 | /* basic machine hardware */ |
251 | 251 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* Custom chip 59, 24 MHz crystal */ |
252 | 252 | MCFG_CPU_PROGRAM_MAP(madmotor_map) |
253 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)/* VBL */ | |
253 | MCFG_CPU_VBLANK_INT_DRIVER("screen", madmotor_state, irq6_line_hold)/* VBL */ | |
254 | 254 | |
255 | 255 | MCFG_CPU_ADD("audiocpu", H6280, 8053000/2) /* Custom chip 45, Crystal near CPU is 8.053 MHz */ |
256 | 256 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
605 | 605 | MCFG_CPU_ADD("maincpu", Z80,10000000/2) /* ? MHz */ |
606 | 606 | MCFG_CPU_PROGRAM_MAP(chinsan_map) |
607 | 607 | MCFG_CPU_IO_MAP(chinsan_io) |
608 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
608 | MCFG_CPU_VBLANK_INT_DRIVER("screen", chinsan_state, irq0_line_hold) | |
609 | 609 | |
610 | 610 | |
611 | 611 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
186 | 186 | * |
187 | 187 | *************************************/ |
188 | 188 | |
189 | ||
189 | ||
190 | 190 | { |
191 | rocnrope_state *state = device->machine().driver_data<rocnrope_state>(); | |
192 | 191 | |
193 | if(state->m_irq_mask) | |
194 | device->execute().set_input_line(0, HOLD_LINE); | |
192 | if(m_irq_mask) | |
193 | device.execute().set_input_line(0, HOLD_LINE); | |
195 | 194 | } |
196 | 195 | |
197 | 196 | |
r17996 | r17997 | |
200 | 199 | /* basic machine hardware */ |
201 | 200 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK / 3 / 4) /* Verified in schematics */ |
202 | 201 | MCFG_CPU_PROGRAM_MAP(rocnrope_map) |
203 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
202 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rocnrope_state, vblank_irq) | |
204 | 203 | |
205 | 204 | /* video hardware */ |
206 | 205 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
1327 | 1327 | /* basic machine hardware */ |
1328 | 1328 | MCFG_CPU_ADD("maincpu",M68000,XTAL_20MHz/2) /* verified on pcb */ |
1329 | 1329 | MCFG_CPU_PROGRAM_MAP(pspikes_map) |
1330 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1330 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1331 | 1331 | |
1332 | 1332 | MCFG_CPU_ADD("audiocpu",Z80,XTAL_20MHz/4) /* verified on pcb */ |
1333 | 1333 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1366 | 1366 | /* basic machine hardware */ |
1367 | 1367 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1368 | 1368 | MCFG_CPU_PROGRAM_MAP(spikes91_map) |
1369 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1369 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1370 | 1370 | |
1371 | 1371 | /* + Z80 for sound */ |
1372 | 1372 | |
r17996 | r17997 | |
1400 | 1400 | /* basic machine hardware */ |
1401 | 1401 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1402 | 1402 | MCFG_CPU_PROGRAM_MAP(pspikesb_map) |
1403 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1403 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1404 | 1404 | |
1405 | 1405 | MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common) |
1406 | 1406 | MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common) |
r17996 | r17997 | |
1430 | 1430 | /* basic machine hardware */ |
1431 | 1431 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1432 | 1432 | MCFG_CPU_PROGRAM_MAP(pspikesc_map) |
1433 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1433 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1434 | 1434 | |
1435 | 1435 | MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common) |
1436 | 1436 | MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common) |
r17996 | r17997 | |
1460 | 1460 | /* basic machine hardware */ |
1461 | 1461 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1462 | 1462 | MCFG_CPU_PROGRAM_MAP(karatblz_map) |
1463 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1463 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold) | |
1464 | 1464 | |
1465 | 1465 | MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */ |
1466 | 1466 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1499 | 1499 | /* basic machine hardware */ |
1500 | 1500 | MCFG_CPU_ADD("maincpu",M68000,XTAL_20MHz/2) /* verified on pcb */ |
1501 | 1501 | MCFG_CPU_PROGRAM_MAP(spinlbrk_map) |
1502 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* there are vectors for 3 and 4 too */ | |
1502 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* there are vectors for 3 and 4 too */ | |
1503 | 1503 | |
1504 | 1504 | MCFG_CPU_ADD("audiocpu",Z80,XTAL_20MHz/4) /* 5mhz verified on pcb */ |
1505 | 1505 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1538 | 1538 | /* basic machine hardware */ |
1539 | 1539 | MCFG_CPU_ADD("maincpu",M68000,XTAL_20MHz/2) /* verified on pcb */ |
1540 | 1540 | MCFG_CPU_PROGRAM_MAP(turbofrc_map) |
1541 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1541 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1542 | 1542 | |
1543 | 1543 | MCFG_CPU_ADD("audiocpu",Z80,XTAL_5MHz) /* verified on pcb */ |
1544 | 1544 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1577 | 1577 | /* basic machine hardware */ |
1578 | 1578 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1579 | 1579 | MCFG_CPU_PROGRAM_MAP(aerofgtb_map) |
1580 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1580 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1581 | 1581 | |
1582 | 1582 | MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */ |
1583 | 1583 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1617 | 1617 | /* basic machine hardware */ |
1618 | 1618 | MCFG_CPU_ADD("maincpu",M68000,XTAL_20MHz/2) /* verified on pcb */ |
1619 | 1619 | MCFG_CPU_PROGRAM_MAP(aerofgt_map) |
1620 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1620 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1621 | 1621 | |
1622 | 1622 | MCFG_CPU_ADD("audiocpu",Z80,XTAL_20MHz/4) /* 5 MHz verified on pcb */ |
1623 | 1623 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1657 | 1657 | /* basic machine hardware */ |
1658 | 1658 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1659 | 1659 | MCFG_CPU_PROGRAM_MAP(aerfboot_map) |
1660 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1660 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold) | |
1661 | 1661 | |
1662 | 1662 | MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */ |
1663 | 1663 | MCFG_CPU_PROGRAM_MAP(aerfboot_sound_map) |
r17996 | r17997 | |
1691 | 1691 | /* basic machine hardware */ |
1692 | 1692 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1693 | 1693 | MCFG_CPU_PROGRAM_MAP(aerfboo2_map) |
1694 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1694 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq2_line_hold) | |
1695 | 1695 | |
1696 | 1696 | MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common) |
1697 | 1697 | MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common) |
r17996 | r17997 | |
1722 | 1722 | /* basic machine hardware */ |
1723 | 1723 | MCFG_CPU_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */ |
1724 | 1724 | MCFG_CPU_PROGRAM_MAP(wbbc97_map) |
1725 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* all irq vectors are the same */ | |
1725 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */ | |
1726 | 1726 | |
1727 | 1727 | MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */ |
1728 | 1728 | MCFG_CPU_PROGRAM_MAP(wbbc97_sound_map) |
r17996 | r17997 | |
---|---|---|
36 | 36 | DECLARE_CUSTOM_INPUT_MEMBER(analog_ctrl_r); |
37 | 37 | virtual void machine_start(); |
38 | 38 | UINT32 screen_update_ultrsprt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
39 | INTERRUPT_GEN_MEMBER(ultrsprt_vblank); | |
39 | 40 | }; |
40 | 41 | |
41 | 42 | |
r17996 | r17997 | |
203 | 204 | INPUT_PORTS_END |
204 | 205 | |
205 | 206 | |
206 | ||
207 | ||
207 | 208 | { |
208 | device | |
209 | device. | |
209 | 210 | } |
210 | 211 | |
211 | 212 | static void sound_irq_callback(running_machine &machine, int irq) |
r17996 | r17997 | |
227 | 228 | /* basic machine hardware */ |
228 | 229 | MCFG_CPU_ADD("maincpu", PPC403GA, 25000000) /* PowerPC 403GA 25MHz */ |
229 | 230 | MCFG_CPU_PROGRAM_MAP(ultrsprt_map) |
230 | MCFG_CPU_VBLANK_INT("screen", ultrsprt_vblank) | |
231 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ultrsprt_state, ultrsprt_vblank) | |
231 | 232 | |
232 | 233 | MCFG_CPU_ADD("audiocpu", M68000, 8000000) /* Not sure about the frequency */ |
233 | 234 | MCFG_CPU_PROGRAM_MAP(sound_map) |
234 | MCFG_CPU_PERIODIC_INT(irq5_line_hold, 1) // ??? | |
235 | MCFG_CPU_PERIODIC_INT_DRIVER(ultrsprt_state, irq5_line_hold, 1) // ??? | |
235 | 236 | |
236 | 237 | MCFG_QUANTUM_TIME(attotime::from_hz(12000)) |
237 | 238 |
r17996 | r17997 | |
---|---|---|
88 | 88 | m_int_delay_kludge = 10; |
89 | 89 | } |
90 | 90 | |
91 | ||
91 | ||
92 | 92 | { |
93 | senjyo_state *state = device->machine().driver_data<senjyo_state>(); | |
94 | 93 | |
95 | if (state->m_int_delay_kludge == 0) device->execute().set_input_line(0, HOLD_LINE); | |
96 | else state->m_int_delay_kludge--; | |
94 | if (m_int_delay_kludge == 0) device.execute().set_input_line(0, HOLD_LINE); | |
95 | else m_int_delay_kludge--; | |
97 | 96 | } |
98 | 97 | |
99 | 98 | WRITE8_MEMBER(senjyo_state::flip_screen_w) |
r17996 | r17997 | |
572 | 571 | /* basic machine hardware */ |
573 | 572 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ |
574 | 573 | MCFG_CPU_PROGRAM_MAP(senjyo_map) |
575 | MCFG_CPU_VBLANK_INT("screen", senjyo_interrupt) | |
574 | MCFG_CPU_VBLANK_INT_DRIVER("screen", senjyo_state, senjyo_interrupt) | |
576 | 575 | |
577 | 576 | MCFG_CPU_ADD("sub", Z80, 2000000) /* 2 MHz? */ |
578 | 577 | MCFG_CPU_CONFIG(senjyo_daisy_chain) |
r17996 | r17997 | |
---|---|---|
244 | 244 | * |
245 | 245 | *************************************/ |
246 | 246 | |
247 | ||
247 | ||
248 | 248 | { |
249 | if (device->machine().root_device().ioport("IN0")->read() & 0x10) | |
250 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
249 | if (machine().root_device().ioport("IN0")->read() & 0x10) | |
250 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
251 | 251 | } |
252 | 252 | |
253 | 253 | |
r17996 | r17997 | |
553 | 553 | /* basic machine hardware */ |
554 | 554 | MCFG_CPU_ADD("maincpu", M6502, BZONE_MASTER_CLOCK / 8) |
555 | 555 | MCFG_CPU_PROGRAM_MAP(bzone_map) |
556 | MCFG_CPU_PERIODIC_INT(bzone_interrupt, (double)BZONE_MASTER_CLOCK / 4096 / 12) | |
556 | MCFG_CPU_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt, (double)BZONE_MASTER_CLOCK / 4096 / 12) | |
557 | 557 | |
558 | 558 | |
559 | 559 | /* video hardware */ |
r17996 | r17997 | |
584 | 584 | /* basic machine hardware */ |
585 | 585 | MCFG_CPU_MODIFY("maincpu") |
586 | 586 | MCFG_CPU_PROGRAM_MAP(redbaron_map) |
587 | MCFG_CPU_PERIODIC_INT(bzone_interrupt, (double)BZONE_MASTER_CLOCK / 4096 / 12) | |
587 | MCFG_CPU_PERIODIC_INT_DRIVER(bzone_state, bzone_interrupt, (double)BZONE_MASTER_CLOCK / 4096 / 12) | |
588 | 588 | |
589 | 589 | MCFG_MACHINE_START_OVERRIDE(bzone_state,redbaron) |
590 | 590 |
r17996 | r17997 | |
---|---|---|
352 | 352 | |
353 | 353 | MCFG_CPU_ADD("maincpu", Z80, 24000000/8) |
354 | 354 | MCFG_CPU_PROGRAM_MAP(spool99_map) |
355 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
355 | MCFG_CPU_VBLANK_INT_DRIVER("screen", spool99_state, irq0_line_hold) | |
356 | 356 | |
357 | 357 | MCFG_GFXDECODE(spool99) |
358 | 358 |
r17996 | r17997 | |
---|---|---|
383 | 383 | |
384 | 384 | GFXDECODE_END |
385 | 385 | |
386 | ||
386 | ||
387 | 387 | { |
388 | device | |
388 | device. | |
389 | 389 | } |
390 | 390 | |
391 | 391 | |
r17996 | r17997 | |
425 | 425 | /* basic machine hardware */ |
426 | 426 | MCFG_CPU_ADD("maincpu", ARM, 28000000 /* /4 */) /*DE156*/ /* 7.000 MHz */ /* measured at 7.. seems to need 28? */ |
427 | 427 | MCFG_CPU_PROGRAM_MAP(chainrec_map) |
428 | MCFG_CPU_VBLANK_INT("screen", simpl156_vbl_interrupt) | |
428 | MCFG_CPU_VBLANK_INT_DRIVER("screen", simpl156_state, simpl156_vbl_interrupt) | |
429 | 429 | |
430 | 430 | MCFG_EEPROM_93C46_ADD("eeprom") // 93C45 |
431 | 431 |
r17996 | r17997 | |
---|---|---|
87 | 87 | DECLARE_DRIVER_INIT(lgp); |
88 | 88 | virtual void machine_start(); |
89 | 89 | UINT32 screen_update_lgp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
90 | INTERRUPT_GEN_MEMBER(vblank_callback_lgp); | |
90 | 91 | }; |
91 | 92 | |
92 | 93 | |
r17996 | r17997 | |
336 | 337 | machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE); |
337 | 338 | } |
338 | 339 | |
339 | ||
340 | ||
340 | 341 | { |
341 | lgp_state *state = device->machine().driver_data<lgp_state>(); | |
342 | 342 | // NMI |
343 | //device | |
343 | //device. | |
344 | 344 | |
345 | 345 | // IRQ |
346 | device->execute().set_input_line(0, ASSERT_LINE); | |
347 | state->m_irq_timer->adjust(attotime::from_usec(50)); | |
346 | device.execute().set_input_line(0, ASSERT_LINE); | |
347 | m_irq_timer->adjust(attotime::from_usec(50)); | |
348 | 348 | } |
349 | 349 | |
350 | 350 | |
r17996 | r17997 | |
360 | 360 | MCFG_CPU_ADD("maincpu", Z80, CPU_PCB_CLOCK) |
361 | 361 | MCFG_CPU_PROGRAM_MAP(main_program_map) |
362 | 362 | MCFG_CPU_IO_MAP(main_io_map) |
363 | MCFG_CPU_VBLANK_INT("screen", vblank_callback_lgp) | |
363 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lgp_state, vblank_callback_lgp) | |
364 | 364 | |
365 | 365 | /* sound cpu */ |
366 | 366 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_PCB_CLOCK) |
r17996 | r17997 | |
---|---|---|
564 | 564 | /* basic machine hardware */ |
565 | 565 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz/4) /* 7MHz - Main board Crystal is 28MHz */ |
566 | 566 | MCFG_CPU_PROGRAM_MAP(main_program_map) |
567 | MCFG_CPU_VBLANK_INT("screen", twincobr_interrupt) | |
567 | MCFG_CPU_VBLANK_INT_DRIVER("screen", twincobr_state, twincobr_interrupt) | |
568 | 568 | |
569 | 569 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_28MHz/8) /* 3.5MHz */ |
570 | 570 | MCFG_CPU_PROGRAM_MAP(sound_program_map) |
r17996 | r17997 | |
---|---|---|
25 | 25 | * |
26 | 26 | *************************************/ |
27 | 27 | |
28 | ||
28 | ||
29 | 29 | { |
30 | battlnts_state *state = device->machine().driver_data<battlnts_state>(); | |
31 | if (k007342_is_int_enabled(state->m_k007342)) | |
32 | device->execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
30 | if (k007342_is_int_enabled(m_k007342)) | |
31 | device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
33 | 32 | } |
34 | 33 | |
35 | 34 | WRITE8_MEMBER(battlnts_state::battlnts_sh_irqtrigger_w) |
r17996 | r17997 | |
248 | 247 | /* basic machine hardware */ |
249 | 248 | MCFG_CPU_ADD("maincpu", HD6309, XTAL_24MHz / 2 /* 3000000*4? */) |
250 | 249 | MCFG_CPU_PROGRAM_MAP(battlnts_map) |
251 | MCFG_CPU_VBLANK_INT("screen", battlnts_interrupt) | |
250 | MCFG_CPU_VBLANK_INT_DRIVER("screen", battlnts_state, battlnts_interrupt) | |
252 | 251 | |
253 | 252 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz / 6 /* 3579545? */) |
254 | 253 | MCFG_CPU_PROGRAM_MAP(battlnts_sound_map) |
r17996 | r17997 | |
---|---|---|
1099 | 1099 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) |
1100 | 1100 | MCFG_CPU_PROGRAM_MAP(multfish_map) |
1101 | 1101 | MCFG_CPU_IO_MAP(multfish_portmap) |
1102 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
1102 | MCFG_CPU_VBLANK_INT_DRIVER("screen", multfish_state, irq0_line_hold) | |
1103 | 1103 | |
1104 | 1104 | |
1105 | 1105 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
66 | 66 | } |
67 | 67 | |
68 | 68 | |
69 | ||
69 | ||
70 | 70 | { |
71 | sprint2_state *state = device->machine().driver_data<sprint2_state>(); | |
72 | device_t *discrete = device->machine().device("discrete"); | |
71 | sprint2_state *state = machine().driver_data<sprint2_state>(); | |
72 | device_t *discrete = machine().device("discrete"); | |
73 | 73 | |
74 | 74 | /* handle steering wheels */ |
75 | 75 | |
r17996 | r17997 | |
79 | 79 | |
80 | 80 | for (i = 0; i < 2; i++) |
81 | 81 | { |
82 | signed char delta = | |
82 | signed char delta = | |
83 | 83 | |
84 | 84 | if (delta < 0) |
85 | 85 | { |
86 | | |
86 | | |
87 | 87 | } |
88 | 88 | if (delta > 0) |
89 | 89 | { |
90 | | |
90 | | |
91 | 91 | } |
92 | 92 | |
93 | | |
93 | | |
94 | 94 | |
95 | switch ( | |
95 | switch ( | |
96 | 96 | { |
97 | case 1: state->m_gear[i] = 1; break; | |
98 | case 2: state->m_gear[i] = 2; break; | |
99 | case 4: state->m_gear[i] = 3; break; | |
100 | case 8: state->m_gear[i] = 4; break; | |
97 | case 1: m_gear[i] = 1; break; | |
98 | case 2: m_gear[i] = 2; break; | |
99 | case 4: m_gear[i] = 3; break; | |
100 | case 8: m_gear[i] = 4; break; | |
101 | 101 | } |
102 | 102 | } |
103 | 103 | } |
104 | 104 | |
105 | address_space &space = *device->machine().firstcpu->space(AS_PROGRAM); | |
106 | discrete_sound_w(discrete, space, SPRINT2_MOTORSND1_DATA, state->m_video_ram[0x394] & 15); // also DOMINOS_FREQ_DATA | |
107 | discrete_sound_w(discrete, space, SPRINT2_MOTORSND2_DATA, state->m_video_ram[0x395] & 15); | |
108 | discrete_sound_w(discrete, space, SPRINT2_CRASHSND_DATA, state->m_video_ram[0x396] & 15); // also DOMINOS_AMP_DATA | |
105 | address_space &space = *machine().firstcpu->space(AS_PROGRAM); | |
106 | discrete_sound_w(discrete, space, SPRINT2_MOTORSND1_DATA, m_video_ram[0x394] & 15); // also DOMINOS_FREQ_DATA | |
107 | discrete_sound_w(discrete, space, SPRINT2_MOTORSND2_DATA, m_video_ram[0x395] & 15); | |
108 | discrete_sound_w(discrete, space, SPRINT2_CRASHSND_DATA, m_video_ram[0x396] & 15); // also DOMINOS_AMP_DATA | |
109 | 109 | |
110 | 110 | /* interrupts and watchdog are disabled during service mode */ |
111 | 111 | |
112 | | |
112 | | |
113 | 113 | |
114 | if (!service_mode(device->machine())) | |
115 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
114 | if (!service_mode(machine())) | |
115 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
116 | 116 | } |
117 | 117 | |
118 | 118 | |
r17996 | r17997 | |
499 | 499 | /* basic machine hardware */ |
500 | 500 | MCFG_CPU_ADD("maincpu", M6502, XTAL_12_096MHz / 16) |
501 | 501 | MCFG_CPU_PROGRAM_MAP(sprint2_map) |
502 | MCFG_CPU_VBLANK_INT("screen", sprint2) | |
502 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sprint2_state, sprint2) | |
503 | 503 | MCFG_WATCHDOG_VBLANK_INIT(8) |
504 | 504 | |
505 | 505 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
332 | 332 | /* basic machine hardware */ |
333 | 333 | MCFG_CPU_ADD("maincpu", M6800, XTAL_12_096MHz / 12) |
334 | 334 | MCFG_CPU_PROGRAM_MAP(dragrace_map) |
335 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) | |
335 | MCFG_CPU_PERIODIC_INT_DRIVER(dragrace_state, irq0_line_hold, 4*60) | |
336 | 336 | MCFG_WATCHDOG_VBLANK_INIT(8) |
337 | 337 | |
338 | 338 |
r17996 | r17997 | |
---|---|---|
1789 | 1789 | 1 /* reset_delay */ |
1790 | 1790 | }; |
1791 | 1791 | |
1792 | ||
1792 | ||
1793 | 1793 | { |
1794 | device | |
1794 | device. | |
1795 | 1795 | } |
1796 | 1796 | |
1797 | 1797 | static IRQ_CALLBACK(spi_irq_callback) |
r17996 | r17997 | |
1847 | 1847 | /* basic machine hardware */ |
1848 | 1848 | MCFG_CPU_ADD("maincpu", I386, 50000000/2) /* Intel 386DX, 25MHz */ |
1849 | 1849 | MCFG_CPU_PROGRAM_MAP(spi_map) |
1850 | MCFG_CPU_VBLANK_INT("screen", spi_interrupt) | |
1850 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seibuspi_state, spi_interrupt) | |
1851 | 1851 | |
1852 | 1852 | MCFG_CPU_ADD("soundcpu", Z80, 28636360/4) |
1853 | 1853 | MCFG_CPU_PROGRAM_MAP(spisound_map) |
r17996 | r17997 | |
2193 | 2193 | /* basic machine hardware */ |
2194 | 2194 | MCFG_CPU_ADD("maincpu", I386, 40000000) /* AMD 386DX, 40MHz */ |
2195 | 2195 | MCFG_CPU_PROGRAM_MAP(seibu386_map) |
2196 | MCFG_CPU_VBLANK_INT("screen", spi_interrupt) | |
2196 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seibuspi_state, spi_interrupt) | |
2197 | 2197 | |
2198 | 2198 | MCFG_MACHINE_RESET_OVERRIDE(seibuspi_state,seibu386) |
2199 | 2199 | |
r17996 | r17997 | |
2246 | 2246 | /* basic machine hardware */ |
2247 | 2247 | MCFG_CPU_ADD("maincpu", I386, 25000000) /* 25mhz */ |
2248 | 2248 | MCFG_CPU_PROGRAM_MAP(sys386f2_map) |
2249 | MCFG_CPU_VBLANK_INT("screen", spi_interrupt) | |
2249 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seibuspi_state, spi_interrupt) | |
2250 | 2250 | |
2251 | 2251 | /* no z80? */ |
2252 | 2252 |
r17996 | r17997 | |
---|---|---|
367 | 367 | GFXDECODE_ENTRY( "gfx2", 0, trckydoc_spritelayout, 0, 64 ) |
368 | 368 | GFXDECODE_END |
369 | 369 | |
370 | ||
370 | ||
371 | 371 | { |
372 | device | |
372 | device. | |
373 | 373 | } |
374 | 374 | |
375 | 375 | static MACHINE_CONFIG_START( tecfri, sauro_state ) |
376 | 376 | |
377 | 377 | /* basic machine hardware */ |
378 | 378 | MCFG_CPU_ADD("maincpu", Z80, XTAL_20MHz/4) /* verified on pcb */ |
379 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
379 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sauro_state, irq0_line_hold) | |
380 | 380 | |
381 | 381 | MCFG_NVRAM_ADD_1FILL("nvram") |
382 | 382 | |
r17996 | r17997 | |
419 | 419 | |
420 | 420 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) // 4 MHz? |
421 | 421 | MCFG_CPU_PROGRAM_MAP(sauro_sound_map) |
422 | MCFG_CPU_PERIODIC_INT(sauro_interrupt, 8*60) // ? | |
422 | MCFG_CPU_PERIODIC_INT_DRIVER(sauro_state, sauro_interrupt, 8*60) // ? | |
423 | 423 | |
424 | 424 | MCFG_GFXDECODE(sauro) |
425 | 425 |
r17996 | r17997 | |
---|---|---|
43 | 43 | DECLARE_READ8_MEMBER(ld_r); |
44 | 44 | virtual void video_start(); |
45 | 45 | UINT32 screen_update_timetrv(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
47 | INTERRUPT_GEN_MEMBER(ld_irq); | |
46 | 48 | }; |
47 | 49 | |
48 | 50 | |
r17996 | r17997 | |
134 | 136 | // 0x80 eeprom read bit |
135 | 137 | INPUT_PORTS_END |
136 | 138 | |
137 | ||
139 | ||
138 | 140 | { |
139 | device | |
141 | device. | |
140 | 142 | } |
141 | 143 | |
142 | ||
144 | ||
143 | 145 | { |
144 | device | |
146 | device. | |
145 | 147 | } |
146 | 148 | |
147 | 149 | static MACHINE_CONFIG_START( timetrv, timetrv_state ) |
r17996 | r17997 | |
150 | 152 | MCFG_CPU_ADD("maincpu",I80188,20000000) //??? |
151 | 153 | MCFG_CPU_PROGRAM_MAP(timetrv_map) |
152 | 154 | MCFG_CPU_IO_MAP(timetrv_io) |
153 | MCFG_CPU_VBLANK_INT("screen",vblank_irq) | |
154 | MCFG_CPU_PERIODIC_INT(ld_irq,60) //remove from here | |
155 | MCFG_CPU_VBLANK_INT_DRIVER("screen", timetrv_state, vblank_irq) | |
156 | MCFG_CPU_PERIODIC_INT_DRIVER(timetrv_state, ld_irq, 60) //remove from here | |
155 | 157 | |
156 | 158 | /* video hardware */ |
157 | 159 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
23 | 23 | * |
24 | 24 | *************************************/ |
25 | 25 | |
26 | ||
26 | ||
27 | 27 | { |
28 | drmicro_state *state = device->machine().driver_data<drmicro_state>(); | |
29 | 28 | |
30 | if (state->m_nmi_enable) | |
31 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
29 | if (m_nmi_enable) | |
30 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
32 | 31 | } |
33 | 32 | |
34 | 33 | WRITE8_MEMBER(drmicro_state::nmi_enable_w) |
r17996 | r17997 | |
263 | 262 | MCFG_CPU_ADD("maincpu", Z80,MCLK/6) /* 3.072MHz? */ |
264 | 263 | MCFG_CPU_PROGRAM_MAP(drmicro_map) |
265 | 264 | MCFG_CPU_IO_MAP(io_map) |
266 | MCFG_CPU_VBLANK_INT("screen", drmicro_interrupt) | |
265 | MCFG_CPU_VBLANK_INT_DRIVER("screen", drmicro_state, drmicro_interrupt) | |
267 | 266 | |
268 | 267 | MCFG_QUANTUM_TIME(attotime::from_hz(60)) |
269 | 268 |
r17996 | r17997 | |
---|---|---|
591 | 591 | } |
592 | 592 | |
593 | 593 | |
594 | ||
594 | ||
595 | 595 | { |
596 | 596 | /* toggle the INT0 line on the MCU */ |
597 | device->execute().set_input_line(MCS51_INT0_LINE, ASSERT_LINE); | |
598 | device->execute().set_input_line(MCS51_INT0_LINE, CLEAR_LINE); | |
597 | device.execute().set_input_line(MCS51_INT0_LINE, ASSERT_LINE); | |
598 | device.execute().set_input_line(MCS51_INT0_LINE, CLEAR_LINE); | |
599 | 599 | |
600 | 600 | /* boost interleave to ensure that the MCU can break the Z80 out of a HALT */ |
601 | | |
601 | | |
602 | 602 | } |
603 | 603 | |
604 | 604 | |
r17996 | r17997 | |
2147 | 2147 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK) /* not really, see notes above */ |
2148 | 2148 | MCFG_CPU_PROGRAM_MAP(system1_map) |
2149 | 2149 | MCFG_CPU_IO_MAP(system1_ppi_io_map) |
2150 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
2150 | MCFG_CPU_VBLANK_INT_DRIVER("screen", system1_state, irq0_line_hold) | |
2151 | 2151 | |
2152 | 2152 | MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK/2) |
2153 | 2153 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2220 | 2220 | |
2221 | 2221 | MCFG_CPU_ADD("mcu", I8751, SOUND_CLOCK) |
2222 | 2222 | MCFG_CPU_IO_MAP(mcu_io_map) |
2223 | MCFG_CPU_VBLANK_INT("screen", mcu_irq_assert) | |
2223 | MCFG_CPU_VBLANK_INT_DRIVER("screen", system1_state, mcu_irq_assert) | |
2224 | 2224 | |
2225 | 2225 | MCFG_TIMER_ADD_PERIODIC("mcu_t0", mcu_t0_callback, attotime::from_usec(2500)) /* ??? actual clock unknown */ |
2226 | 2226 | MACHINE_CONFIG_END |
r17996 | r17997 | |
---|---|---|
208 | 208 | MCFG_CPU_PROGRAM_MAP(memmap) |
209 | 209 | MCFG_CPU_IO_MAP(portmap) |
210 | 210 | |
211 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
211 | MCFG_CPU_VBLANK_INT_DRIVER("screen", quizo_state, irq0_line_hold) | |
212 | 212 | |
213 | 213 | /* video hardware */ |
214 | 214 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
926 | 926 | INPUT_PORTS_END |
927 | 927 | |
928 | 928 | |
929 | ||
929 | ||
930 | 930 | { |
931 | device | |
931 | device. | |
932 | 932 | } |
933 | 933 | |
934 | 934 | static const z80_daisy_config daisy_chain_sound[] = |
r17996 | r17997 | |
943 | 943 | /* basic machine hardware */ |
944 | 944 | MCFG_CPU_ADD("maincpu", M68000, 12288000/2) /* TMP68301, 6.144 MHz */ |
945 | 945 | MCFG_CPU_PROGRAM_MAP(niyanpai_map) |
946 | MCFG_CPU_VBLANK_INT("screen", niyanpai_interrupt) | |
946 | MCFG_CPU_VBLANK_INT_DRIVER("screen", niyanpai_state, niyanpai_interrupt) | |
947 | 947 | |
948 | 948 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* TMPZ84C011, 8.00 MHz */ |
949 | 949 | MCFG_CPU_CONFIG(daisy_chain_sound) |
r17996 | r17997 | |
---|---|---|
302 | 302 | DECLARE_MACHINE_RESET(awp_init); |
303 | 303 | DECLARE_MACHINE_START(sc2dmd); |
304 | 304 | DECLARE_MACHINE_RESET(dm01_init); |
305 | INTERRUPT_GEN_MEMBER(timer_irq); | |
305 | 306 | }; |
306 | 307 | |
307 | 308 | |
r17996 | r17997 | |
503 | 504 | |
504 | 505 | /////////////////////////////////////////////////////////////////////////// |
505 | 506 | |
506 | ||
507 | ||
507 | 508 | { |
508 | bfm_sc2_state *state = device->machine().driver_data<bfm_sc2_state>(); | |
509 | state->m_timercnt++; | |
509 | m_timercnt++; | |
510 | 510 | |
511 | if ( | |
511 | if ( | |
512 | 512 | { |
513 | state->m_irq_timer_stat = 0x01; | |
514 | state->m_irq_status = 0x02; | |
513 | m_irq_timer_stat = 0x01; | |
514 | m_irq_status = 0x02; | |
515 | 515 | |
516 | generic_pulse_irq_line(device, M6809_IRQ_LINE, 1); | |
516 | generic_pulse_irq_line(device.execute(), M6809_IRQ_LINE, 1); | |
517 | 517 | } |
518 | 518 | } |
519 | 519 | |
r17996 | r17997 | |
2157 | 2157 | MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !! |
2158 | 2158 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) // 6809 CPU at 2 Mhz |
2159 | 2159 | MCFG_CPU_PROGRAM_MAP(memmap_vid) // setup scorpion2 board memorymap |
2160 | MCFG_CPU_PERIODIC_INT(timer_irq, 1000) // generate 1000 IRQ's per second | |
2160 | MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000) // generate 1000 IRQ's per second | |
2161 | 2161 | MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9)) |
2162 | 2162 | |
2163 | 2163 | MCFG_BFMBD1_ADD("vfd0",0) |
r17996 | r17997 | |
3705 | 3705 | MCFG_MACHINE_RESET_OVERRIDE(bfm_sc2_state,awp_init) |
3706 | 3706 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) |
3707 | 3707 | MCFG_CPU_PROGRAM_MAP(sc2_basemap) |
3708 | MCFG_CPU_PERIODIC_INT(timer_irq, 1000 | |
3708 | MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000 | |
3709 | 3709 | MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9)) |
3710 | 3710 | |
3711 | 3711 | MCFG_BFMBD1_ADD("vfd0",0) |
r17996 | r17997 | |
3739 | 3739 | MCFG_QUANTUM_TIME(attotime::from_hz(960)) // needed for serial communication !! |
3740 | 3740 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4 ) |
3741 | 3741 | MCFG_CPU_PROGRAM_MAP(sc2_basemap) |
3742 | MCFG_CPU_PERIODIC_INT(timer_irq, 1000 | |
3742 | MCFG_CPU_PERIODIC_INT_DRIVER(bfm_sc2_state, timer_irq, 1000 | |
3743 | 3743 | MCFG_WATCHDOG_TIME_INIT(PERIOD_OF_555_MONOSTABLE(120000,100e-9)) |
3744 | 3744 | |
3745 | 3745 | MCFG_SPEAKER_STANDARD_MONO("mono") |
r17996 | r17997 | |
---|---|---|
239 | 239 | TILE_GET_INFO_MEMBER(get_gfx1_tile_info); |
240 | 240 | virtual void video_start(); |
241 | 241 | UINT32 screen_update_witch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
242 | INTERRUPT_GEN_MEMBER(witch_main_interrupt); | |
243 | INTERRUPT_GEN_MEMBER(witch_sub_interrupt); | |
242 | 244 | }; |
243 | 245 | |
244 | 246 | |
r17996 | r17997 | |
779 | 781 | return 0; |
780 | 782 | } |
781 | 783 | |
782 | ||
784 | ||
783 | 785 | { |
784 | device | |
786 | device. | |
785 | 787 | } |
786 | 788 | |
787 | ||
789 | ||
788 | 790 | { |
789 | device | |
791 | device. | |
790 | 792 | } |
791 | 793 | |
792 | 794 | static MACHINE_CONFIG_START( witch, witch_state ) |
793 | 795 | /* basic machine hardware */ |
794 | 796 | MCFG_CPU_ADD("maincpu", Z80,8000000) /* ? MHz */ |
795 | 797 | MCFG_CPU_PROGRAM_MAP(map_main) |
796 | MCFG_CPU_VBLANK_INT("screen", witch_main_interrupt) | |
798 | MCFG_CPU_VBLANK_INT_DRIVER("screen", witch_state, witch_main_interrupt) | |
797 | 799 | |
798 | 800 | /* 2nd z80 */ |
799 | 801 | MCFG_CPU_ADD("sub", Z80,8000000) /* ? MHz */ |
800 | 802 | MCFG_CPU_PROGRAM_MAP(map_sub) |
801 | MCFG_CPU_VBLANK_INT("screen", witch_sub_interrupt) | |
803 | MCFG_CPU_VBLANK_INT_DRIVER("screen", witch_state, witch_sub_interrupt) | |
802 | 804 | |
803 | 805 | MCFG_NVRAM_ADD_0FILL("nvram") |
804 | 806 |
r17996 | r17997 | |
---|---|---|
151 | 151 | TILE_GET_INFO_MEMBER(get_luckgrln_reel4_tile_info); |
152 | 152 | virtual void video_start(); |
153 | 153 | UINT32 screen_update_luckgrln(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
154 | INTERRUPT_GEN_MEMBER(luckgrln_irq); | |
154 | 155 | }; |
155 | 156 | |
156 | 157 | |
r17996 | r17997 | |
986 | 987 | NULL /* update address callback */ |
987 | 988 | }; |
988 | 989 | |
989 | ||
990 | ||
990 | 991 | { |
991 | luckgrln_state *state = device->machine().driver_data<luckgrln_state>(); | |
992 | if(state->m_nmi_enable) | |
993 | device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
992 | if(m_nmi_enable) | |
993 | machine().device("maincpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
994 | 994 | } |
995 | 995 | |
996 | 996 | static MACHINE_CONFIG_START( luckgrln, luckgrln_state ) |
997 | 997 | MCFG_CPU_ADD("maincpu", Z180,8000000) |
998 | 998 | MCFG_CPU_PROGRAM_MAP(mainmap) |
999 | 999 | MCFG_CPU_IO_MAP(portmap) |
1000 | MCFG_CPU_VBLANK_INT("screen", luckgrln_irq) | |
1000 | MCFG_CPU_VBLANK_INT_DRIVER("screen", luckgrln_state, luckgrln_irq) | |
1001 | 1001 | |
1002 | 1002 | MCFG_MC6845_ADD("crtc", H46505, 6000000/4, mc6845_intf) /* unknown clock, hand tuned to get ~60 fps */ |
1003 | 1003 |
r17996 | r17997 | |
---|---|---|
177 | 177 | DECLARE_MACHINE_RESET(sammymdl); |
178 | 178 | UINT32 screen_update_sigmab98(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
179 | 179 | void screen_eof_sammymdl(screen_device &screen, bool state); |
180 | INTERRUPT_GEN_MEMBER(gegege_vblank_interrupt); | |
180 | 181 | }; |
181 | 182 | |
182 | 183 | |
r17996 | r17997 | |
1690 | 1691 | 7 // reset_delay (otherwise gegege will hang when saving settings) |
1691 | 1692 | }; |
1692 | 1693 | |
1693 | ||
1694 | ||
1694 | 1695 | { |
1695 | device | |
1696 | device. | |
1696 | 1697 | } |
1697 | 1698 | |
1698 | 1699 | static MACHINE_CONFIG_START( gegege, sigmab98_state ) |
1699 | 1700 | MCFG_CPU_ADD("maincpu", Z80, 10000000) // !! TAXAN KY-80, clock @X1? !! |
1700 | 1701 | MCFG_CPU_PROGRAM_MAP(gegege_mem_map) |
1701 | 1702 | MCFG_CPU_IO_MAP(gegege_io_map) |
1702 | MCFG_CPU_VBLANK_INT("screen", gegege_vblank_interrupt) | |
1703 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sigmab98_state, gegege_vblank_interrupt) | |
1703 | 1704 | |
1704 | 1705 | MCFG_NVRAM_ADD_0FILL("nvram") |
1705 | 1706 | MCFG_EEPROM_ADD("eeprom", eeprom_intf) |
r17996 | r17997 | |
---|---|---|
117 | 117 | sprtmtch_update_irq(machine()); |
118 | 118 | } |
119 | 119 | |
120 | ||
120 | ||
121 | 121 | { |
122 | dynax_state *state = device->machine().driver_data<dynax_state>(); | |
123 | state->m_vblank_irq = 1; | |
124 | sprtmtch_update_irq(device->machine()); | |
122 | m_vblank_irq = 1; | |
123 | sprtmtch_update_irq(machine()); | |
125 | 124 | } |
126 | 125 | |
127 | 126 | static void sprtmtch_sound_callback( device_t *device, int state ) |
r17996 | r17997 | |
162 | 161 | jantouki_update_irq(machine()); |
163 | 162 | } |
164 | 163 | |
165 | ||
164 | ||
166 | 165 | { |
167 | dynax_state *state = device->machine().driver_data<dynax_state>(); | |
168 | state->m_vblank_irq = 1; | |
169 | jantouki_update_irq(device->machine()); | |
166 | m_vblank_irq = 1; | |
167 | jantouki_update_irq(machine()); | |
170 | 168 | } |
171 | 169 | |
172 | 170 | |
r17996 | r17997 | |
181 | 179 | state->m_soundcpu->set_input_line_and_vector(0, irq ? ASSERT_LINE : CLEAR_LINE, 0xc7 | irq); /* rst $xx */ |
182 | 180 | } |
183 | 181 | |
184 | ||
182 | ||
185 | 183 | { |
186 | dynax_state *state = device->machine().driver_data<dynax_state>(); | |
187 | state->m_sound_vblank_irq = 1; | |
188 | jantouki_sound_update_irq(device->machine()); | |
184 | m_sound_vblank_irq = 1; | |
185 | jantouki_sound_update_irq(machine()); | |
189 | 186 | } |
190 | 187 | |
191 | 188 | WRITE8_MEMBER(dynax_state::jantouki_sound_vblank_ack_w) |
r17996 | r17997 | |
4288 | 4285 | MCFG_CPU_ADD("maincpu",Z80,22000000 / 4) /* 5.5MHz */ |
4289 | 4286 | MCFG_CPU_PROGRAM_MAP(sprtmtch_mem_map) |
4290 | 4287 | MCFG_CPU_IO_MAP(hanamai_io_map) |
4291 | MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4288 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4292 | 4289 | |
4293 | 4290 | MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai) |
4294 | 4291 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax) |
r17996 | r17997 | |
4345 | 4342 | MCFG_CPU_ADD("maincpu",Z80,22000000 / 4) /* 5.5MHz */ |
4346 | 4343 | MCFG_CPU_PROGRAM_MAP(hnoridur_mem_map) |
4347 | 4344 | MCFG_CPU_IO_MAP(hnoridur_io_map) |
4348 | MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4345 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4349 | 4346 | |
4350 | 4347 | MCFG_MACHINE_START_OVERRIDE(dynax_state,hnoridur) |
4351 | 4348 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax) |
r17996 | r17997 | |
4390 | 4387 | MCFG_CPU_ADD("maincpu",Z80, XTAL_22MHz / 4) |
4391 | 4388 | MCFG_CPU_PROGRAM_MAP(hjingi_mem_map) |
4392 | 4389 | MCFG_CPU_IO_MAP(hjingi_io_map) |
4393 | MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4390 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4394 | 4391 | |
4395 | 4392 | MCFG_MACHINE_START_OVERRIDE(dynax_state,hnoridur) |
4396 | 4393 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax) |
r17996 | r17997 | |
4448 | 4445 | MCFG_CPU_ADD("maincpu", Z80,22000000 / 4) /* 5.5MHz */ |
4449 | 4446 | MCFG_CPU_PROGRAM_MAP(sprtmtch_mem_map) |
4450 | 4447 | MCFG_CPU_IO_MAP(sprtmtch_io_map) |
4451 | MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4448 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4452 | 4449 | |
4453 | 4450 | MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai) |
4454 | 4451 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax) |
r17996 | r17997 | |
4490 | 4487 | MCFG_CPU_ADD("maincpu",Z80,24000000/4) /* 6 MHz? */ |
4491 | 4488 | MCFG_CPU_PROGRAM_MAP(sprtmtch_mem_map) |
4492 | 4489 | MCFG_CPU_IO_MAP(mjfriday_io_map) |
4493 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
4490 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, irq0_line_hold) | |
4494 | 4491 | |
4495 | 4492 | MCFG_MACHINE_START_OVERRIDE(dynax_state,hanamai) |
4496 | 4493 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax) |
r17996 | r17997 | |
4538 | 4535 | what was it trying to do? |
4539 | 4536 | set an irq and clear it before its even taken? */ |
4540 | 4537 | |
4541 | ||
4538 | ||
4542 | 4539 | { |
4543 | dynax_state *state = device->machine().driver_data<dynax_state>(); | |
4544 | state->m_yarunara_clk_toggle ^= 1; | |
4540 | m_yarunara_clk_toggle ^= 1; | |
4545 | 4541 | |
4546 | if (state->m_yarunara_clk_toggle == 1) | |
4547 | state->m_sound_irq = 0; | |
4542 | if (m_yarunara_clk_toggle == 1) | |
4543 | m_sound_irq = 0; | |
4548 | 4544 | else |
4549 | | |
4545 | | |
4550 | 4546 | |
4551 | sprtmtch_update_irq( | |
4547 | sprtmtch_update_irq( | |
4552 | 4548 | } |
4553 | 4549 | |
4554 | 4550 | static MSM6242_INTERFACE( yarunara_rtc_intf ) |
r17996 | r17997 | |
4562 | 4558 | MCFG_CPU_MODIFY("maincpu") |
4563 | 4559 | MCFG_CPU_PROGRAM_MAP(yarunara_mem_map) |
4564 | 4560 | MCFG_CPU_IO_MAP(yarunara_io_map) |
4565 | MCFG_CPU_PERIODIC_INT(yarunara_clock_interrupt, 60) // RTC | |
4561 | MCFG_CPU_PERIODIC_INT_DRIVER(dynax_state, yarunara_clock_interrupt, 60) // RTC | |
4566 | 4562 | |
4567 | 4563 | MCFG_NVRAM_REPLACE_0FILL("nvram") |
4568 | 4564 | |
r17996 | r17997 | |
4646 | 4642 | MCFG_CPU_ADD("maincpu",Z80,22000000 / 4) /* 5.5MHz */ |
4647 | 4643 | MCFG_CPU_PROGRAM_MAP(jantouki_mem_map) |
4648 | 4644 | MCFG_CPU_IO_MAP(jantouki_io_map) |
4649 | MCFG_CPU_VBLANK_INT("top", jantouki_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4645 | MCFG_CPU_VBLANK_INT_DRIVER("top", dynax_state, jantouki_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4650 | 4646 | |
4651 | 4647 | MCFG_CPU_ADD("soundcpu",Z80,22000000 / 4) /* 5.5MHz */ |
4652 | 4648 | MCFG_CPU_PROGRAM_MAP(jantouki_sound_mem_map) |
4653 | 4649 | MCFG_CPU_IO_MAP(jantouki_sound_io_map) |
4654 | MCFG_CPU_VBLANK_INT("top", jantouki_sound_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4650 | MCFG_CPU_VBLANK_INT_DRIVER("top", dynax_state, jantouki_sound_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4655 | 4651 | |
4656 | 4652 | MCFG_MACHINE_START_OVERRIDE(dynax_state,jantouki) |
4657 | 4653 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax) |
r17996 | r17997 | |
4715 | 4711 | state->m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xfa); |
4716 | 4712 | } |
4717 | 4713 | |
4718 | ||
4714 | ||
4719 | 4715 | { |
4720 | dynax_state *state = device->machine().driver_data<dynax_state>(); | |
4721 | 4716 | |
4722 | 4717 | // This is a kludge to avoid losing blitter interrupts |
4723 | 4718 | // there should be a vblank ack mechanism |
4724 | if (!state->m_blitter_irq) | |
4725 | device->execute().set_input_line_and_vector(0, HOLD_LINE, 0xf8); | |
4719 | if (!m_blitter_irq) | |
4720 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0xf8); | |
4726 | 4721 | } |
4727 | 4722 | |
4728 | 4723 | static MACHINE_CONFIG_DERIVED( mjelctrn, hnoridur ) |
4729 | 4724 | MCFG_CPU_MODIFY("maincpu") |
4730 | 4725 | MCFG_CPU_PROGRAM_MAP(nanajign_mem_map) |
4731 | 4726 | MCFG_CPU_IO_MAP(mjelctrn_io_map) |
4732 | MCFG_CPU_VBLANK_INT("screen", mjelctrn_vblank_interrupt) /* IM 2 needs a vector on the data bus */ | |
4727 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, mjelctrn_vblank_interrupt) /* IM 2 needs a vector on the data bus */ | |
4733 | 4728 | |
4734 | 4729 | MCFG_VIDEO_START_OVERRIDE(dynax_state,mjelctrn) |
4735 | 4730 | MACHINE_CONFIG_END |
r17996 | r17997 | |
4826 | 4821 | MCFG_CPU_ADD("maincpu",Z80,20000000 / 4) |
4827 | 4822 | MCFG_CPU_PROGRAM_MAP(yarunara_mem_map) |
4828 | 4823 | MCFG_CPU_IO_MAP(htengoku_io_map) |
4829 | MCFG_CPU_VBLANK_INT("screen", sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4830 | MCFG_CPU_PERIODIC_INT(yarunara_clock_interrupt, 60) // RTC | |
4824 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, sprtmtch_vblank_interrupt) /* IM 0 needs an opcode on the data bus */ | |
4825 | MCFG_CPU_PERIODIC_INT_DRIVER(dynax_state, yarunara_clock_interrupt, 60) // RTC | |
4831 | 4826 | |
4832 | 4827 | MCFG_MACHINE_START_OVERRIDE(dynax_state,htengoku) |
4833 | 4828 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,dynax) |
r17996 | r17997 | |
4979 | 4974 | MCFG_CPU_ADD("maincpu",TMP90841, XTAL_10MHz ) // ? |
4980 | 4975 | MCFG_CPU_PROGRAM_MAP(gekisha_map) |
4981 | 4976 | MCFG_CPU_IO_MAP(gekisha_io_map) |
4982 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
4977 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dynax_state, irq0_line_hold) | |
4983 | 4978 | |
4984 | 4979 | MCFG_MACHINE_START_OVERRIDE(dynax_state,gekisha) |
4985 | 4980 | MCFG_MACHINE_RESET_OVERRIDE(dynax_state,gekisha) |
r17996 | r17997 | |
---|---|---|
261 | 261 | /* basic machine hardware */ |
262 | 262 | MCFG_CPU_ADD("maincpu", M68000, CPU_CLOCK) /* 8MHz */ |
263 | 263 | MCFG_CPU_PROGRAM_MAP(main_map) |
264 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
264 | MCFG_CPU_VBLANK_INT_DRIVER("screen", volfied_state, irq4_line_hold) | |
265 | 265 | |
266 | 266 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CPU_CLOCK) /* 4MHz sound CPU, required to run the game */ |
267 | 267 | MCFG_CPU_PROGRAM_MAP(z80_map) |
r17996 | r17997 | |
---|---|---|
38 | 38 | * |
39 | 39 | *************************************/ |
40 | 40 | |
41 | ||
41 | ||
42 | 42 | { |
43 | dribling_state *state = device->machine().driver_data<dribling_state>(); | |
44 | if (state->m_di) | |
45 | device->execute().set_input_line(0, ASSERT_LINE); | |
43 | if (m_di) | |
44 | device.execute().set_input_line(0, ASSERT_LINE); | |
46 | 45 | } |
47 | 46 | |
48 | 47 | |
r17996 | r17997 | |
305 | 304 | MCFG_CPU_ADD("maincpu", Z80, 5000000) |
306 | 305 | MCFG_CPU_PROGRAM_MAP(dribling_map) |
307 | 306 | MCFG_CPU_IO_MAP(io_map) |
308 | MCFG_CPU_VBLANK_INT("screen", dribling_irq_gen) | |
307 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dribling_state, dribling_irq_gen) | |
309 | 308 | |
310 | 309 | MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf ) |
311 | 310 | MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf ) |
r17996 | r17997 | |
---|---|---|
414 | 414 | } |
415 | 415 | |
416 | 416 | |
417 | ||
417 | ||
418 | 418 | { |
419 | 419 | /* signal the NMI */ |
420 | itech32_update_interrupts(device->machine(), 1, -1, -1); | |
421 | if (FULL_LOGGING) logerror("------------ VBLANK (%d) --------------\n", device->machine().primary_screen->vpos()); | |
420 | itech32_update_interrupts(machine(), 1, -1, -1); | |
421 | if (FULL_LOGGING) logerror("------------ VBLANK (%d) --------------\n", machine().primary_screen->vpos()); | |
422 | 422 | } |
423 | 423 | |
424 | 424 | |
r17996 | r17997 | |
1671 | 1671 | /* basic machine hardware */ |
1672 | 1672 | MCFG_CPU_ADD("maincpu", M68000, CPU_CLOCK) |
1673 | 1673 | MCFG_CPU_PROGRAM_MAP(timekill_map) |
1674 | MCFG_CPU_VBLANK_INT("screen", generate_int1) | |
1674 | MCFG_CPU_VBLANK_INT_DRIVER("screen", itech32_state, generate_int1) | |
1675 | 1675 | |
1676 | 1676 | MCFG_CPU_ADD("soundcpu", M6809, SOUND_CLOCK/8) |
1677 | 1677 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
1739 | 1739 | |
1740 | 1740 | MCFG_CPU_REPLACE("maincpu", M68EC020, CPU020_CLOCK) |
1741 | 1741 | MCFG_CPU_PROGRAM_MAP(itech020_map) |
1742 | MCFG_CPU_VBLANK_INT("screen", generate_int1) | |
1742 | MCFG_CPU_VBLANK_INT_DRIVER("screen", itech32_state, generate_int1) | |
1743 | 1743 | |
1744 | 1744 | MCFG_CPU_MODIFY("soundcpu") |
1745 | 1745 | MCFG_CPU_PROGRAM_MAP(sound_020_map) |
1746 | MCFG_CPU_PERIODIC_INT(irq1_line_assert,4*60) | |
1746 | MCFG_CPU_PERIODIC_INT_DRIVER(itech32_state, irq1_line_assert, 4*60) | |
1747 | 1747 | |
1748 | 1748 | /* via */ |
1749 | 1749 | MCFG_DEVICE_REMOVE("via6522_0") |
r17996 | r17997 | |
---|---|---|
477 | 477 | |
478 | 478 | MCFG_CPU_ADD("audiocpu", Z80, 24000000/4) /* 6 MHz, Uses clock divided 24MHz OSC */ |
479 | 479 | MCFG_CPU_PROGRAM_MAP(mexico86_sound_map) |
480 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
480 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mexico86_state, irq0_line_hold) | |
481 | 481 | |
482 | 482 | MCFG_CPU_ADD("mcu", M68705, 4000000) /* xtal is 4MHz, divided by 4 internally */ |
483 | 483 | MCFG_CPU_PROGRAM_MAP(mexico86_m68705_map) |
484 | MCFG_CPU_VBLANK_INT("screen",mexico86_m68705_interrupt) | |
484 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mexico86_state, mexico86_m68705_interrupt) | |
485 | 485 | |
486 | 486 | MCFG_CPU_ADD("sub", Z80, 8000000/2) /* 4 MHz, Uses 8Mhz OSC */ |
487 | 487 | MCFG_CPU_PROGRAM_MAP(mexico86_sub_cpu_map) |
488 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
488 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mexico86_state, irq0_line_hold) | |
489 | 489 | |
490 | 490 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper synchronization of the CPUs */ |
491 | 491 | |
r17996 | r17997 | |
532 | 532 | /* basic machine hardware */ |
533 | 533 | |
534 | 534 | MCFG_CPU_MODIFY("maincpu") |
535 | MCFG_CPU_VBLANK_INT("screen", kikikai_interrupt) // IRQs should be triggered by the MCU, but we don't have it | |
535 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mexico86_state, kikikai_interrupt) // IRQs should be triggered by the MCU, but we don't have it | |
536 | 536 | |
537 | 537 | MCFG_DEVICE_REMOVE("mcu") // we don't have code for the MC6801U4 |
538 | 538 |
r17996 | r17997 | |
---|---|---|
375 | 375 | /* basic machine hardware */ |
376 | 376 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18MHz / 6) /* Verified on PCB */ |
377 | 377 | MCFG_CPU_PROGRAM_MAP(chaknpop_map) |
378 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
378 | MCFG_CPU_VBLANK_INT_DRIVER("screen", chaknpop_state, irq0_line_hold) | |
379 | 379 | |
380 | 380 | |
381 | 381 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
190 | 190 | MCFG_CPU_ADD("maincpu", Z80, XTAL_19_968MHz/8) |
191 | 191 | MCFG_CPU_PROGRAM_MAP(sspeedr_map) |
192 | 192 | MCFG_CPU_IO_MAP(sspeedr_io_map) |
193 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
193 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sspeedr_state, irq0_line_assert) | |
194 | 194 | |
195 | 195 | /* video hardware */ |
196 | 196 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
351 | 351 | /* basic machine hardware */ |
352 | 352 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
353 | 353 | MCFG_CPU_PROGRAM_MAP(ashnojoe_map) |
354 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
354 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ashnojoe_state, irq1_line_hold) | |
355 | 355 | |
356 | 356 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
357 | 357 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
458 | 458 | MCFG_CPU_ADD("maincpu", M68000, XTAL_42MHz/4) // XTAL CORRECT, DIVISOR GUESSED |
459 | 459 | MCFG_CPU_PROGRAM_MAP(popobear_mem) |
460 | 460 | // levels 2,3,5 look interesting |
461 | //MCFG_CPU_VBLANK_INT("screen",irq5_line_assert) | |
462 | //MCFG_CPU_PERIODIC_INT(irq2_line_assert,120) | |
461 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", popobear_state, irq5_line_assert) | |
462 | //MCFG_CPU_PERIODIC_INT_DRIVER(popobear_state, irq2_line_assert, 120) | |
463 | 463 | MCFG_TIMER_ADD_SCANLINE("scantimer", popobear_irq, "screen", 0, 1) |
464 | 464 | |
465 | 465 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
83 | 83 | /* basic machine hardware */ |
84 | 84 | MCFG_CPU_ADD("maincpu", Z80,24000000 / 6) /* 4 MHz ? */ |
85 | 85 | MCFG_CPU_PROGRAM_MAP(minivadr_map) |
86 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
86 | MCFG_CPU_VBLANK_INT_DRIVER("screen", minivadr_state, irq0_line_hold) | |
87 | 87 | |
88 | 88 | /* video hardware */ |
89 | 89 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
25 | 25 | m_nmi_enable = data; |
26 | 26 | } |
27 | 27 | |
28 | ||
28 | ||
29 | 29 | { |
30 | mouser_state *state = device->machine().driver_data<mouser_state>(); | |
31 | 30 | |
32 | if (BIT( | |
31 | if (BIT( | |
33 | 32 | nmi_line_pulse(device); |
34 | 33 | } |
35 | 34 | |
r17996 | r17997 | |
54 | 53 | m_audiocpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); |
55 | 54 | } |
56 | 55 | |
57 | ||
56 | ||
58 | 57 | { |
59 | mouser_state *state = device->machine().driver_data<mouser_state>(); | |
60 | if (BIT(state->m_nmi_enable, 0)) | |
61 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
58 | if (BIT(m_nmi_enable, 0)) | |
59 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
62 | 60 | } |
63 | 61 | |
64 | 62 | static ADDRESS_MAP_START( mouser_map, AS_PROGRAM, 8, mouser_state ) |
r17996 | r17997 | |
205 | 203 | /* basic machine hardware */ |
206 | 204 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */ |
207 | 205 | MCFG_CPU_PROGRAM_MAP(mouser_map) |
208 | MCFG_CPU_VBLANK_INT("screen", mouser_nmi_interrupt) /* NMI is masked externally */ | |
206 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mouser_state, mouser_nmi_interrupt) /* NMI is masked externally */ | |
209 | 207 | |
210 | 208 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ??? */ |
211 | 209 | MCFG_CPU_PROGRAM_MAP(mouser_sound_map) |
212 | 210 | MCFG_CPU_IO_MAP(mouser_sound_io_map) |
213 | MCFG_CPU_PERIODIC_INT(mouser_sound_nmi_assert, 4*60) /* ??? This controls the sound tempo */ | |
211 | MCFG_CPU_PERIODIC_INT_DRIVER(mouser_state, mouser_sound_nmi_assert, 4*60) /* ??? This controls the sound tempo */ | |
214 | 212 | |
215 | 213 | |
216 | 214 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
697 | 697 | MACHINE DRIVERS |
698 | 698 | ***********************************************************/ |
699 | 699 | |
700 | ||
700 | ||
701 | 701 | { |
702 | undrfire_state *state = device->machine().driver_data<undrfire_state>(); | |
703 | state->m_frame_counter ^= 1; | |
704 | device->execute().set_input_line(4, HOLD_LINE); | |
702 | m_frame_counter ^= 1; | |
703 | device.execute().set_input_line(4, HOLD_LINE); | |
705 | 704 | } |
706 | 705 | |
707 | 706 | static const tc0100scn_interface undrfire_tc0100scn_intf = |
r17996 | r17997 | |
729 | 728 | /* basic machine hardware */ |
730 | 729 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */ |
731 | 730 | MCFG_CPU_PROGRAM_MAP(undrfire_map) |
732 | MCFG_CPU_VBLANK_INT("screen", undrfire_interrupt) | |
731 | MCFG_CPU_VBLANK_INT_DRIVER("screen", undrfire_state, undrfire_interrupt) | |
733 | 732 | |
734 | 733 | MCFG_EEPROM_ADD("eeprom", undrfire_eeprom_interface) |
735 | 734 | |
r17996 | r17997 | |
758 | 757 | /* basic machine hardware */ |
759 | 758 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */ |
760 | 759 | MCFG_CPU_PROGRAM_MAP(cbombers_cpua_map) |
761 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
760 | MCFG_CPU_VBLANK_INT_DRIVER("screen", undrfire_state, irq4_line_hold) | |
762 | 761 | |
763 | 762 | MCFG_CPU_ADD("sub", M68000, 16000000) /* 16 MHz */ |
764 | 763 | MCFG_CPU_PROGRAM_MAP(cbombers_cpub_map) |
765 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
764 | MCFG_CPU_VBLANK_INT_DRIVER("screen", undrfire_state, irq4_line_hold) | |
766 | 765 | |
767 | 766 | MCFG_QUANTUM_TIME(attotime::from_hz(480)) /* CPU slices - Need to interleave Cpu's 1 & 3 */ |
768 | 767 |
r17996 | r17997 | |
---|---|---|
90 | 90 | * |
91 | 91 | *************************************/ |
92 | 92 | |
93 | ||
93 | ||
94 | 94 | { |
95 | grchamp_state *state = device->machine().driver_data<grchamp_state>(); | |
96 | 95 | |
97 | if (state->m_cpu0_out[0] & 0x01) | |
98 | device->execute().set_input_line(0, ASSERT_LINE); | |
96 | if (m_cpu0_out[0] & 0x01) | |
97 | device.execute().set_input_line(0, ASSERT_LINE); | |
99 | 98 | } |
100 | 99 | |
101 | 100 | |
102 | ||
101 | ||
103 | 102 | { |
104 | grchamp_state *state = device->machine().driver_data<grchamp_state>(); | |
105 | 103 | |
106 | if (state->m_cpu1_out[4] & 0x01) | |
107 | device->execute().set_input_line(0, ASSERT_LINE); | |
104 | if (m_cpu1_out[4] & 0x01) | |
105 | device.execute().set_input_line(0, ASSERT_LINE); | |
108 | 106 | } |
109 | 107 | |
110 | 108 | |
r17996 | r17997 | |
671 | 669 | MCFG_CPU_ADD("maincpu", Z80, PIXEL_CLOCK/2) |
672 | 670 | MCFG_CPU_PROGRAM_MAP(main_map) |
673 | 671 | MCFG_CPU_IO_MAP(main_portmap) |
674 | MCFG_CPU_VBLANK_INT("screen", grchamp_cpu0_interrupt) | |
672 | MCFG_CPU_VBLANK_INT_DRIVER("screen", grchamp_state, grchamp_cpu0_interrupt) | |
675 | 673 | |
676 | 674 | /* GAME BOARD */ |
677 | 675 | MCFG_CPU_ADD("sub", Z80, PIXEL_CLOCK/2) |
678 | 676 | MCFG_CPU_PROGRAM_MAP(sub_map) |
679 | 677 | MCFG_CPU_IO_MAP(sub_portmap) |
680 | MCFG_CPU_VBLANK_INT("screen", grchamp_cpu1_interrupt) | |
678 | MCFG_CPU_VBLANK_INT_DRIVER("screen", grchamp_state, grchamp_cpu1_interrupt) | |
681 | 679 | |
682 | 680 | /* SOUND BOARD */ |
683 | 681 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/2) |
684 | 682 | MCFG_CPU_PROGRAM_MAP(sound_map) |
685 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)SOUND_CLOCK/4/16/16/10/16) | |
683 | MCFG_CPU_PERIODIC_INT_DRIVER(grchamp_state, irq0_line_hold, (double)SOUND_CLOCK/4/16/16/10/16) | |
686 | 684 | |
687 | 685 | MCFG_WATCHDOG_VBLANK_INIT(8) |
688 | 686 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
r17996 | r17997 | |
---|---|---|
556 | 556 | MCFG_CPU_ADD("maincpu", Z80, MAIN_CPU_CLOCK) |
557 | 557 | MCFG_CPU_PROGRAM_MAP(lkage_map) |
558 | 558 | MCFG_CPU_IO_MAP(lkage_io_map) |
559 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
559 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lkage_state, irq0_line_hold) | |
560 | 560 | |
561 | 561 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CPU_CLOCK) |
562 | 562 | MCFG_CPU_PROGRAM_MAP(lkage_sound_map) |
r17996 | r17997 | |
602 | 602 | MCFG_CPU_ADD("maincpu", Z80,MAIN_CPU_CLOCK) |
603 | 603 | MCFG_CPU_PROGRAM_MAP(lkage_map) |
604 | 604 | MCFG_CPU_IO_MAP(lkage_io_map) |
605 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
605 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lkage_state, irq0_line_hold) | |
606 | 606 | |
607 | 607 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CPU_CLOCK) |
608 | 608 | MCFG_CPU_PROGRAM_MAP(lkage_sound_map) |
r17996 | r17997 | |
---|---|---|
67 | 67 | DECLARE_WRITE16_MEMBER(goodejan_gfxbank_w); |
68 | 68 | DECLARE_READ16_MEMBER(mahjong_panel_r); |
69 | 69 | DECLARE_WRITE16_MEMBER(mahjong_panel_w); |
70 | INTERRUPT_GEN_MEMBER(goodejan_irq); | |
70 | 71 | }; |
71 | 72 | |
72 | 73 | |
r17996 | r17997 | |
329 | 330 | GFXDECODE_ENTRY( "tx_gfx", 0, charlayout, 0x100, 0x10 ) /* Text */ |
330 | 331 | GFXDECODE_END |
331 | 332 | |
332 | ||
333 | ||
333 | 334 | { |
334 | device | |
335 | device. | |
335 | 336 | /* vector 0x00c is just a reti */ |
336 | 337 | } |
337 | 338 | |
r17996 | r17997 | |
341 | 342 | MCFG_CPU_ADD("maincpu", V30, GOODEJAN_MHZ2/2) |
342 | 343 | MCFG_CPU_PROGRAM_MAP(goodejan_map) |
343 | 344 | MCFG_CPU_IO_MAP(goodejan_io_map) |
344 | MCFG_CPU_VBLANK_INT("screen",goodejan_irq) | |
345 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goodejan_state, goodejan_irq) | |
345 | 346 | |
346 | 347 | SEIBU_SOUND_SYSTEM_CPU(GOODEJAN_MHZ1/2) |
347 | 348 |
r17996 | r17997 | |
---|---|---|
764 | 764 | /* basic machine hardware */ |
765 | 765 | MCFG_CPU_ADD("maincpu", M68000, 18432000/2) /* 9.216 MHz */ |
766 | 766 | MCFG_CPU_PROGRAM_MAP(gaiden_map) |
767 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
767 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaiden_state, irq5_line_hold) | |
768 | 768 | |
769 | 769 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
770 | 770 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
820 | 820 | /* basic machine hardware */ |
821 | 821 | MCFG_CPU_ADD("maincpu", M68000, 20000000/2) /* 10 MHz */ |
822 | 822 | MCFG_CPU_PROGRAM_MAP(drgnbowl_map) |
823 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
823 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaiden_state, irq5_line_hold) | |
824 | 824 | |
825 | 825 | MCFG_CPU_ADD("audiocpu", Z80, 12000000/2) /* 6 MHz */ |
826 | 826 | MCFG_CPU_PROGRAM_MAP(drgnbowl_sound_map) |
r17996 | r17997 | |
936 | 936 | /* basic machine hardware */ |
937 | 937 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz? */ |
938 | 938 | MCFG_CPU_PROGRAM_MAP(mastninj_map) |
939 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
939 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaiden_state, irq5_line_hold) | |
940 | 940 | |
941 | 941 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ?? MHz */ |
942 | 942 | MCFG_CPU_PROGRAM_MAP(mastninj_sound_map) |
r17996 | r17997 | |
---|---|---|
883 | 883 | m_old_gfx_bank = 0; |
884 | 884 | } |
885 | 885 | |
886 | ||
886 | ||
887 | 887 | { |
888 | trackfld_state *state = device->machine().driver_data<trackfld_state>(); | |
889 | 888 | |
890 | if(state->m_irq_mask) | |
891 | device->execute().set_input_line(0, HOLD_LINE); | |
889 | if(m_irq_mask) | |
890 | device.execute().set_input_line(0, HOLD_LINE); | |
892 | 891 | } |
893 | 892 | |
894 | ||
893 | ||
895 | 894 | { |
896 | trackfld_state *state = device->machine().driver_data<trackfld_state>(); | |
897 | 895 | |
898 | if(state->m_irq_mask) | |
899 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
896 | if(m_irq_mask) | |
897 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
900 | 898 | } |
901 | 899 | |
902 | 900 | //------------------------------------------------- |
r17996 | r17997 | |
913 | 911 | /* basic machine hardware */ |
914 | 912 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6/2) /* a guess for now */ |
915 | 913 | MCFG_CPU_PROGRAM_MAP(main_map) |
916 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
914 | MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_irq) | |
917 | 915 | |
918 | 916 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4) |
919 | 917 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
953 | 951 | MACHINE_CONFIG_END |
954 | 952 | |
955 | 953 | |
956 | ||
954 | ||
957 | 955 | { |
958 | trackfld_state *state = device->machine().driver_data<trackfld_state>(); | |
959 | 956 | |
960 | if (state->m_yieartf_nmi_mask) | |
961 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
957 | if (m_yieartf_nmi_mask) | |
958 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
962 | 959 | } |
963 | 960 | |
964 | 961 | static MACHINE_CONFIG_START( yieartf, trackfld_state ) |
r17996 | r17997 | |
966 | 963 | /* basic machine hardware */ |
967 | 964 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/6/2) /* a guess for now */ |
968 | 965 | MCFG_CPU_PROGRAM_MAP(yieartf_map) |
969 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
970 | MCFG_CPU_PERIODIC_INT(yieartf_timer_irq,480) | |
966 | MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_irq) | |
967 | MCFG_CPU_PERIODIC_INT_DRIVER(trackfld_state, yieartf_timer_irq, 480) | |
971 | 968 | |
972 | 969 | // z80 isn't used |
973 | 970 | // MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4) |
r17996 | r17997 | |
1041 | 1038 | // right cpu? |
1042 | 1039 | MCFG_CPU_REPLACE("maincpu",M6800,2048000) /* 1.400 MHz ??? */ |
1043 | 1040 | MCFG_CPU_PROGRAM_MAP(wizzquiz_map) |
1044 | MCFG_CPU_VBLANK_INT("screen", vblank_nmi) | |
1041 | MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_nmi) | |
1045 | 1042 | MACHINE_CONFIG_END |
1046 | 1043 | |
1047 | 1044 | static MACHINE_CONFIG_DERIVED( reaktor, trackfld ) |
r17996 | r17997 | |
1050 | 1047 | MCFG_CPU_REPLACE("maincpu",Z80,MASTER_CLOCK/6) |
1051 | 1048 | MCFG_CPU_PROGRAM_MAP(reaktor_map) |
1052 | 1049 | MCFG_CPU_IO_MAP(reaktor_io_map) |
1053 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
1050 | MCFG_CPU_VBLANK_INT_DRIVER("screen", trackfld_state, vblank_irq) | |
1054 | 1051 | MACHINE_CONFIG_END |
1055 | 1052 | |
1056 | 1053 |
r17996 | r17997 | |
---|---|---|
537 | 537 | MCFG_CPU_ADD("maincpu", Z80, 2500000) |
538 | 538 | MCFG_CPU_PROGRAM_MAP(peyper_map) |
539 | 539 | MCFG_CPU_IO_MAP(peyper_io) |
540 | ||
540 | | |
541 | 541 | |
542 | 542 | |
543 | 543 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
633 | 633 | /* basic machine hardware */ |
634 | 634 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* verified on pcb */ |
635 | 635 | MCFG_CPU_PROGRAM_MAP(rygar_map) |
636 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
636 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tecmo_state, irq0_line_hold) | |
637 | 637 | |
638 | 638 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_4MHz) /* verified on pcb */ |
639 | 639 | MCFG_CPU_PROGRAM_MAP(rygar_sound_map) |
r17996 | r17997 | |
692 | 692 | /* basic machine hardware */ |
693 | 693 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) |
694 | 694 | MCFG_CPU_PROGRAM_MAP(rygar_map) |
695 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
695 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tecmo_state, irq0_line_hold) | |
696 | 696 | |
697 | 697 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_8MHz/2) |
698 | 698 | MCFG_CPU_PROGRAM_MAP(rygar_sound_map) |
r17996 | r17997 | |
---|---|---|
273 | 273 | MCFG_CPU_ADD("maincpu",Z80,6000000) /* 6 MHz */ |
274 | 274 | MCFG_CPU_PROGRAM_MAP(speedspn_map) |
275 | 275 | MCFG_CPU_IO_MAP(speedspn_io_map) |
276 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
276 | MCFG_CPU_VBLANK_INT_DRIVER("screen", speedspn_state, irq0_line_hold) | |
277 | 277 | |
278 | 278 | MCFG_CPU_ADD("audiocpu", Z80,6000000) /* 6 MHz */ |
279 | 279 | MCFG_CPU_PROGRAM_MAP(speedspn_sound_map) |
r17996 | r17997 | |
---|---|---|
611 | 611 | |
612 | 612 | MCFG_CPU_ADD("audiocpu", Z80, 2500000) |
613 | 613 | MCFG_CPU_PROGRAM_MAP(engima2_audio_cpu_map) |
614 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8*52) | |
614 | MCFG_CPU_PERIODIC_INT_DRIVER(enigma2_state, irq0_line_hold, 8*52) | |
615 | 615 | |
616 | 616 | |
617 | 617 | /* video hardware */ |
r17996 | r17997 | |
637 | 637 | |
638 | 638 | MCFG_CPU_ADD("audiocpu", Z80, 2500000) |
639 | 639 | MCFG_CPU_PROGRAM_MAP(engima2_audio_cpu_map) |
640 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8*52) | |
640 | MCFG_CPU_PERIODIC_INT_DRIVER(enigma2_state, irq0_line_hold, 8*52) | |
641 | 641 | |
642 | 642 | |
643 | 643 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
1237 | 1237 | MCFG_CPU_PROGRAM_MAP(i8039_map) |
1238 | 1238 | MCFG_CPU_IO_MAP(i8039_io_port) |
1239 | 1239 | |
1240 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
1240 | MCFG_CPU_VBLANK_INT_DRIVER("screen", videopkr_state, irq0_line_assert) | |
1241 | 1241 | |
1242 | 1242 | MCFG_CPU_ADD("soundcpu", I8039, SOUND_CLOCK) |
1243 | 1243 | MCFG_CPU_PROGRAM_MAP(i8039_sound_mem) |
r17996 | r17997 | |
---|---|---|
372 | 372 | MCFG_CPU_ADD("maincpu", M68000, 12000000 ) // ? |
373 | 373 | MCFG_CPU_PROGRAM_MAP(mil4000_map) |
374 | 374 | // irq 2/4/5 point to the same place, others invalid |
375 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
375 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mil4000_state, irq5_line_hold) | |
376 | 376 | |
377 | 377 | MCFG_NVRAM_ADD_0FILL("nvram") |
378 | 378 |
r17996 | r17997 | |
---|---|---|
365 | 365 | MCFG_CPU_ADD("maincpu", Z80,KOIKOI_CRYSTAL/4) /* ?? */ |
366 | 366 | MCFG_CPU_PROGRAM_MAP(koikoi_map) |
367 | 367 | MCFG_CPU_IO_MAP(koikoi_io_map) |
368 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
368 | MCFG_CPU_VBLANK_INT_DRIVER("screen", koikoi_state, nmi_line_pulse) | |
369 | 369 | |
370 | 370 | |
371 | 371 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
263 | 263 | DECLARE_MACHINE_START(gticlub); |
264 | 264 | DECLARE_MACHINE_RESET(gticlub); |
265 | 265 | DECLARE_MACHINE_RESET(hangplt); |
266 | INTERRUPT_GEN_MEMBER(gticlub_vblank); | |
266 | 267 | }; |
267 | 268 | |
268 | 269 | |
r17996 | r17997 | |
694 | 695 | DMA0 |
695 | 696 | |
696 | 697 | */ |
697 | ||
698 | ||
698 | 699 | { |
699 | device | |
700 | device. | |
700 | 701 | } |
701 | 702 | |
702 | 703 | |
r17996 | r17997 | |
806 | 807 | /* basic machine hardware */ |
807 | 808 | MCFG_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */ |
808 | 809 | MCFG_CPU_PROGRAM_MAP(gticlub_map) |
809 | MCFG_CPU_VBLANK_INT("screen", gticlub_vblank) | |
810 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gticlub_state, gticlub_vblank) | |
810 | 811 | |
811 | 812 | MCFG_CPU_ADD("audiocpu", M68000, 64000000/4) /* 16MHz */ |
812 | 813 | MCFG_CPU_PROGRAM_MAP(sound_memmap) |
r17996 | r17997 | |
---|---|---|
145 | 145 | virtual void palette_init(); |
146 | 146 | UINT32 screen_update_mazerbla(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
147 | 147 | UINT32 screen_update_test_vcu(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
148 | INTERRUPT_GEN_MEMBER(sound_interrupt); | |
148 | 149 | }; |
149 | 150 | |
150 | 151 | |
r17996 | r17997 | |
1421 | 1422 | } |
1422 | 1423 | |
1423 | 1424 | /* frequency is 14.318 MHz/16/16/16/16 */ |
1424 | ||
1425 | ||
1425 | 1426 | { |
1426 | device | |
1427 | device. | |
1427 | 1428 | } |
1428 | 1429 | |
1429 | 1430 | |
r17996 | r17997 | |
1516 | 1517 | MCFG_CPU_ADD("sub", Z80, MASTER_CLOCK) /* 4 MHz, NMI, IM1 INT */ |
1517 | 1518 | MCFG_CPU_PROGRAM_MAP(mazerbla_cpu2_map) |
1518 | 1519 | MCFG_CPU_IO_MAP(mazerbla_cpu2_io_map) |
1519 | ||
1520 | | |
1520 | 1521 | |
1521 | 1522 | MCFG_CPU_ADD("sub2", Z80, MASTER_CLOCK) /* 4 MHz, no NMI, IM1 INT */ |
1522 | 1523 | MCFG_CPU_PROGRAM_MAP(mazerbla_cpu3_map) |
r17996 | r17997 | |
1525 | 1526 | and cleared on ANY port access. |
1526 | 1527 | but handled differently for now |
1527 | 1528 | */ |
1528 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1529 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mazerbla_state, irq0_line_hold) | |
1529 | 1530 | |
1530 | 1531 | /* synchronization forced on the fly */ |
1531 | 1532 | |
r17996 | r17997 | |
1553 | 1554 | |
1554 | 1555 | MCFG_CPU_ADD("sub", Z80, SOUND_CLOCK / 4) /* 3.579500 MHz, NMI - caused by sound command write, periodic INT */ |
1555 | 1556 | MCFG_CPU_PROGRAM_MAP(greatgun_sound_map) |
1556 | MCFG_CPU_PERIODIC_INT(sound_interrupt, (double)14318180/16/16/16/16 ) | |
1557 | MCFG_CPU_PERIODIC_INT_DRIVER(mazerbla_state, sound_interrupt, (double)14318180/16/16/16/16 ) | |
1557 | 1558 | |
1558 | 1559 | MCFG_CPU_ADD("sub2", Z80, MASTER_CLOCK) /* 4 MHz, no NMI, IM1 INT */ |
1559 | 1560 | MCFG_CPU_PROGRAM_MAP(mazerbla_cpu3_map) |
r17996 | r17997 | |
1562 | 1563 | and cleared on ANY port access. |
1563 | 1564 | but handled differently for now |
1564 | 1565 | */ |
1565 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1566 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mazerbla_state, irq0_line_hold) | |
1566 | 1567 | |
1567 | 1568 | |
1568 | 1569 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
1179 | 1179 | /* basic machine hardware */ |
1180 | 1180 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? |
1181 | 1181 | MCFG_CPU_PROGRAM_MAP(terraf_map) |
1182 | MCFG_CPU_VBLANK_INT("screen", irq1_line_assert) | |
1182 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq1_line_assert) | |
1183 | 1183 | |
1184 | 1184 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1185 | 1185 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1186 | 1186 | MCFG_CPU_IO_MAP(sound_portmap) |
1187 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1187 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1188 | 1188 | |
1189 | 1189 | MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf) |
1190 | 1190 | MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf) |
r17996 | r17997 | |
1224 | 1224 | /* basic machine hardware */ |
1225 | 1225 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? |
1226 | 1226 | MCFG_CPU_PROGRAM_MAP(terraf_map) |
1227 | MCFG_CPU_VBLANK_INT("screen", irq1_line_assert) | |
1227 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq1_line_assert) | |
1228 | 1228 | |
1229 | 1229 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1230 | 1230 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1231 | 1231 | MCFG_CPU_IO_MAP(sound_portmap) |
1232 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1232 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1233 | 1233 | |
1234 | 1234 | MCFG_CPU_ADD("extra", Z80, XTAL_8MHz/2) // 4mhz? |
1235 | 1235 | MCFG_CPU_PROGRAM_MAP(terrafb_extraz80_map) |
r17996 | r17997 | |
1272 | 1272 | /* basic machine hardware */ |
1273 | 1273 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? |
1274 | 1274 | MCFG_CPU_PROGRAM_MAP(kozure_map) |
1275 | MCFG_CPU_VBLANK_INT("screen", irq1_line_assert) | |
1275 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq1_line_assert) | |
1276 | 1276 | |
1277 | 1277 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1278 | 1278 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1279 | 1279 | MCFG_CPU_IO_MAP(sound_portmap) |
1280 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1280 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1281 | 1281 | |
1282 | 1282 | MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf) |
1283 | 1283 | MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf) |
r17996 | r17997 | |
1316 | 1316 | /* basic machine hardware */ |
1317 | 1317 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? |
1318 | 1318 | MCFG_CPU_PROGRAM_MAP(armedf_map) |
1319 | MCFG_CPU_VBLANK_INT("screen", irq1_line_assert) | |
1319 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq1_line_assert) | |
1320 | 1320 | |
1321 | 1321 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1322 | 1322 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1323 | 1323 | MCFG_CPU_IO_MAP(sound_portmap) |
1324 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1324 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1325 | 1325 | |
1326 | 1326 | MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf) |
1327 | 1327 | MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf) |
r17996 | r17997 | |
1360 | 1360 | /* basic machine hardware */ |
1361 | 1361 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? |
1362 | 1362 | MCFG_CPU_PROGRAM_MAP(cclimbr2_map) |
1363 | MCFG_CPU_VBLANK_INT("screen", irq2_line_assert) | |
1363 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq2_line_assert) | |
1364 | 1364 | |
1365 | 1365 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1366 | 1366 | MCFG_CPU_PROGRAM_MAP(cclimbr2_soundmap) |
1367 | 1367 | MCFG_CPU_IO_MAP(sound_portmap) |
1368 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1368 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1369 | 1369 | |
1370 | 1370 | MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf) |
1371 | 1371 | MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf) |
r17996 | r17997 | |
1404 | 1404 | /* basic machine hardware */ |
1405 | 1405 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? |
1406 | 1406 | MCFG_CPU_PROGRAM_MAP(legion_map) |
1407 | MCFG_CPU_VBLANK_INT("screen", irq2_line_assert) | |
1407 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq2_line_assert) | |
1408 | 1408 | |
1409 | 1409 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1410 | 1410 | MCFG_CPU_PROGRAM_MAP(cclimbr2_soundmap) |
1411 | 1411 | MCFG_CPU_IO_MAP(sound_portmap) |
1412 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1412 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1413 | 1413 | |
1414 | 1414 | MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf) |
1415 | 1415 | MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf) |
r17996 | r17997 | |
1448 | 1448 | /* basic machine hardware */ |
1449 | 1449 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? |
1450 | 1450 | MCFG_CPU_PROGRAM_MAP(legiono_map) |
1451 | MCFG_CPU_VBLANK_INT("screen", irq2_line_assert) | |
1451 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq2_line_assert) | |
1452 | 1452 | |
1453 | 1453 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1454 | 1454 | MCFG_CPU_PROGRAM_MAP(cclimbr2_soundmap) |
1455 | 1455 | MCFG_CPU_IO_MAP(sound_portmap) |
1456 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1456 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1457 | 1457 | |
1458 | 1458 | MCFG_MACHINE_START_OVERRIDE(armedf_state,armedf) |
1459 | 1459 | MCFG_MACHINE_RESET_OVERRIDE(armedf_state,armedf) |
r17996 | r17997 | |
1505 | 1505 | |
1506 | 1506 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // verified |
1507 | 1507 | MCFG_CPU_PROGRAM_MAP(bigfghtr_map) |
1508 | MCFG_CPU_VBLANK_INT("screen", irq1_line_assert) | |
1508 | MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq1_line_assert) | |
1509 | 1509 | |
1510 | 1510 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? |
1511 | 1511 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1512 | 1512 | MCFG_CPU_IO_MAP(sound_portmap) |
1513 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1513 | MCFG_CPU_PERIODIC_INT_DRIVER(armedf_state, irq0_line_hold, XTAL_8MHz/2/512) // ? | |
1514 | 1514 | |
1515 | 1515 | MCFG_MACHINE_START_OVERRIDE(bigfghtr_state,bigfghtr) |
1516 | 1516 | MCFG_MACHINE_RESET_OVERRIDE(bigfghtr_state,bigfghtr) |
r17996 | r17997 | |
---|---|---|
389 | 389 | * |
390 | 390 | *************************************/ |
391 | 391 | |
392 | ||
392 | ||
393 | 393 | { |
394 | device | |
394 | device. | |
395 | 395 | } |
396 | 396 | |
397 | 397 | /************************************* |
r17996 | r17997 | |
1638 | 1638 | * |
1639 | 1639 | *************************************/ |
1640 | 1640 | |
1641 | ||
1641 | ||
1642 | 1642 | { |
1643 | dkong_state *state = device->machine().driver_data<dkong_state>(); | |
1644 | 1643 | |
1645 | if(state->m_nmi_mask) | |
1646 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
1644 | if(m_nmi_mask) | |
1645 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
1647 | 1646 | } |
1648 | 1647 | |
1649 | 1648 | static MACHINE_CONFIG_START( dkong_base, dkong_state ) |
r17996 | r17997 | |
1651 | 1650 | /* basic machine hardware */ |
1652 | 1651 | MCFG_CPU_ADD("maincpu", Z80, CLOCK_1H) |
1653 | 1652 | MCFG_CPU_PROGRAM_MAP(dkong_map) |
1654 | ||
1653 | | |
1655 | 1654 | |
1656 | 1655 | MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong2b) |
1657 | 1656 | MCFG_MACHINE_RESET_OVERRIDE(dkong_state,dkong) |
r17996 | r17997 | |
1715 | 1714 | MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2) /* verified in schematics */ |
1716 | 1715 | MCFG_CPU_PROGRAM_MAP(dkong3_map) |
1717 | 1716 | MCFG_CPU_IO_MAP(dkong3_io_map) |
1718 | ||
1717 | | |
1719 | 1718 | |
1720 | 1719 | MCFG_MACHINE_START_OVERRIDE(dkong_state,dkong3) |
1721 | 1720 | |
r17996 | r17997 | |
1774 | 1773 | MCFG_CPU_REPLACE("maincpu", S2650, CLOCK_1H / 2) /* ??? */ |
1775 | 1774 | MCFG_CPU_PROGRAM_MAP(s2650_map) |
1776 | 1775 | MCFG_CPU_IO_MAP(s2650_io_map) |
1777 | ||
1776 | | |
1778 | 1777 | |
1779 | 1778 | MCFG_DEVICE_MODIFY("dma8257") |
1780 | 1779 | MCFG_DEVICE_CONFIG(hb_dma) |
r17996 | r17997 | |
---|---|---|
40 | 40 | virtual void video_start(); |
41 | 41 | virtual void palette_init(); |
42 | 42 | UINT32 screen_update_acefruit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(acefruit_vblank); | |
43 | 44 | }; |
44 | 45 | |
45 | 46 | |
r17996 | r17997 | |
83 | 84 | m_refresh_timer = machine().scheduler().timer_alloc(FUNC(acefruit_refresh)); |
84 | 85 | } |
85 | 86 | |
86 | ||
87 | ||
87 | 88 | { |
88 | acefruit_state *state = device->machine().driver_data<acefruit_state>(); | |
89 | device->execute().set_input_line(0, HOLD_LINE ); | |
90 | state->m_refresh_timer->adjust( attotime::zero ); | |
89 | device.execute().set_input_line(0, HOLD_LINE ); | |
90 | m_refresh_timer->adjust( attotime::zero ); | |
91 | 91 | } |
92 | 92 | |
93 | 93 | UINT32 acefruit_state::screen_update_acefruit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) |
r17996 | r17997 | |
584 | 584 | MCFG_CPU_PROGRAM_MAP(acefruit_map) |
585 | 585 | MCFG_CPU_IO_MAP(acefruit_io) |
586 | 586 | MCFG_GFXDECODE(acefruit) |
587 | MCFG_CPU_VBLANK_INT("screen", acefruit_vblank) | |
587 | MCFG_CPU_VBLANK_INT_DRIVER("screen", acefruit_state, acefruit_vblank) | |
588 | 588 | |
589 | 589 | /* video hardware */ |
590 | 590 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
429 | 429 | m_priority = 0; |
430 | 430 | } |
431 | 431 | |
432 | ||
432 | ||
433 | 433 | { |
434 | appoooh_state *state = device->machine().driver_data<appoooh_state>(); | |
435 | 434 | |
436 | if(state->m_nmi_mask) | |
437 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
435 | if(m_nmi_mask) | |
436 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
438 | 437 | } |
439 | 438 | |
440 | 439 | static MACHINE_CONFIG_START( appoooh_common, appoooh_state ) |
r17996 | r17997 | |
443 | 442 | MCFG_CPU_ADD("maincpu", Z80,18432000/6) /* ??? the main xtal is 18.432 MHz */ |
444 | 443 | MCFG_CPU_PROGRAM_MAP(main_map) |
445 | 444 | MCFG_CPU_IO_MAP(main_portmap) |
446 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
445 | MCFG_CPU_VBLANK_INT_DRIVER("screen", appoooh_state, vblank_irq) | |
447 | 446 | |
448 | 447 | |
449 | 448 | /* sound hardware */ |
r17996 | r17997 | |
---|---|---|
301 | 301 | /* basic machine hardware */ |
302 | 302 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */ |
303 | 303 | MCFG_CPU_PROGRAM_MAP(main_map) |
304 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
304 | MCFG_CPU_VBLANK_INT_DRIVER("screen", travrusa_state, irq0_line_hold) | |
305 | 305 | |
306 | 306 | |
307 | 307 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
5857 | 5857 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
5858 | 5858 | MCFG_CPU_PROGRAM_MAP(goldstar_map) |
5859 | 5859 | MCFG_CPU_IO_MAP(goldstar_readport) |
5860 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
5860 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
5861 | 5861 | |
5862 | 5862 | /* video hardware */ |
5863 | 5863 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
5891 | 5891 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
5892 | 5892 | MCFG_CPU_PROGRAM_MAP(goldstar_map) |
5893 | 5893 | MCFG_CPU_IO_MAP(goldstar_readport) |
5894 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
5894 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
5895 | 5895 | |
5896 | 5896 | /* video hardware */ |
5897 | 5897 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
5924 | 5924 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
5925 | 5925 | MCFG_CPU_PROGRAM_MAP(goldstar_map) |
5926 | 5926 | MCFG_CPU_IO_MAP(goldstar_readport) |
5927 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
5927 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
5928 | 5928 | |
5929 | 5929 | /* video hardware */ |
5930 | 5930 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
6018 | 6018 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6019 | 6019 | MCFG_CPU_PROGRAM_MAP(ncb3_map) |
6020 | 6020 | MCFG_CPU_IO_MAP(ncb3_readwriteport) |
6021 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6021 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6022 | 6022 | |
6023 | 6023 | /* 3x 8255 */ |
6024 | 6024 | MCFG_I8255A_ADD( "ppi8255_0", ncb3_ppi8255_0_intf ) |
r17996 | r17997 | |
6060 | 6060 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6061 | 6061 | MCFG_CPU_PROGRAM_MAP(ncb3_map) |
6062 | 6062 | MCFG_CPU_IO_MAP(ncb3_readwriteport) |
6063 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6063 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6064 | 6064 | |
6065 | 6065 | /* 3x 8255 */ |
6066 | 6066 | MCFG_I8255A_ADD( "ppi8255_0", ncb3_ppi8255_0_intf ) |
r17996 | r17997 | |
6101 | 6101 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6102 | 6102 | MCFG_CPU_PROGRAM_MAP(ncb3_map) |
6103 | 6103 | MCFG_CPU_IO_MAP(ncb3_readwriteport) |
6104 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6104 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6105 | 6105 | |
6106 | 6106 | /* 3x 8255 */ |
6107 | 6107 | MCFG_I8255A_ADD( "ppi8255_0", ncb3_ppi8255_0_intf ) |
r17996 | r17997 | |
6143 | 6143 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6144 | 6144 | MCFG_CPU_PROGRAM_MAP(cm_map) |
6145 | 6145 | MCFG_CPU_IO_MAP(cm_portmap) |
6146 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6146 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6147 | 6147 | |
6148 | 6148 | /* 2x 8255 */ |
6149 | 6149 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
6183 | 6183 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6184 | 6184 | MCFG_CPU_PROGRAM_MAP(cm_map) |
6185 | 6185 | MCFG_CPU_IO_MAP(cm_portmap) |
6186 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6186 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6187 | 6187 | |
6188 | 6188 | /* 2x 8255 */ |
6189 | 6189 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
6218 | 6218 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6219 | 6219 | MCFG_CPU_PROGRAM_MAP(cm_map) |
6220 | 6220 | MCFG_CPU_IO_MAP(cmast91_portmap) |
6221 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6221 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6222 | 6222 | |
6223 | 6223 | /* 2x 8255 */ |
6224 | 6224 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
6246 | 6246 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
6247 | 6247 | MACHINE_CONFIG_END |
6248 | 6248 | |
6249 | ||
6249 | ||
6250 | 6250 | { |
6251 | goldstar_state *state = device->machine().driver_data<goldstar_state>(); | |
6252 | 6251 | |
6253 | if(state->m_lucky8_nmi_enable) | |
6254 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
6252 | if(m_lucky8_nmi_enable) | |
6253 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
6255 | 6254 | } |
6256 | 6255 | |
6257 | 6256 | static MACHINE_CONFIG_START( lucky8, goldstar_state ) |
r17996 | r17997 | |
6260 | 6259 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6261 | 6260 | MCFG_CPU_PROGRAM_MAP(lucky8_map) |
6262 | 6261 | //MCFG_CPU_IO_MAP(goldstar_readport) |
6263 | MCFG_CPU_VBLANK_INT("screen", lucky8_irq) | |
6262 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, lucky8_irq) | |
6264 | 6263 | |
6265 | 6264 | /* 3x 8255 */ |
6266 | 6265 | MCFG_I8255A_ADD( "ppi8255_0", lucky8_ppi8255_0_intf ) |
r17996 | r17997 | |
6300 | 6299 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6301 | 6300 | MCFG_CPU_PROGRAM_MAP(lucky8_map) |
6302 | 6301 | //MCFG_CPU_IO_MAP(goldstar_readport) |
6303 | MCFG_CPU_VBLANK_INT("screen", lucky8_irq) | |
6302 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, lucky8_irq) | |
6304 | 6303 | |
6305 | 6304 | /* 3x 8255 */ |
6306 | 6305 | MCFG_I8255A_ADD( "ppi8255_0", lucky8_ppi8255_0_intf ) |
r17996 | r17997 | |
6340 | 6339 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6341 | 6340 | MCFG_CPU_PROGRAM_MAP(lucky8_map) |
6342 | 6341 | //MCFG_CPU_IO_MAP(goldstar_readport) |
6343 | MCFG_CPU_VBLANK_INT("screen", lucky8_irq) | |
6342 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, lucky8_irq) | |
6344 | 6343 | |
6345 | 6344 | /* 3x 8255 */ |
6346 | 6345 | MCFG_I8255A_ADD( "ppi8255_0", lucky8_ppi8255_0_intf ) |
r17996 | r17997 | |
6397 | 6396 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6398 | 6397 | MCFG_CPU_PROGRAM_MAP(magodds_map) |
6399 | 6398 | //MCFG_CPU_IO_MAP(goldstar_readport) |
6400 | MCFG_CPU_VBLANK_INT("screen", lucky8_irq) | |
6399 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, lucky8_irq) | |
6401 | 6400 | |
6402 | 6401 | /* 3x 8255 */ |
6403 | 6402 | MCFG_I8255A_ADD( "ppi8255_0", lucky8_ppi8255_0_intf ) |
r17996 | r17997 | |
6438 | 6437 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6439 | 6438 | MCFG_CPU_PROGRAM_MAP(kkotnoli_map) |
6440 | 6439 | //MCFG_CPU_IO_MAP(goldstar_readport) |
6441 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
6440 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, nmi_line_pulse) | |
6442 | 6441 | |
6443 | 6442 | |
6444 | 6443 | /* 3x 8255 */ |
r17996 | r17997 | |
6476 | 6475 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6477 | 6476 | MCFG_CPU_PROGRAM_MAP(ladylinr_map) |
6478 | 6477 | //MCFG_CPU_IO_MAP(goldstar_readport) |
6479 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
6478 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, nmi_line_pulse) | |
6480 | 6479 | |
6481 | 6480 | /* 2x 8255 */ |
6482 | 6481 | MCFG_I8255A_ADD( "ppi8255_0", ladylinr_ppi8255_0_intf ) |
r17996 | r17997 | |
6516 | 6515 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6517 | 6516 | MCFG_CPU_PROGRAM_MAP(wcat3_map) |
6518 | 6517 | //MCFG_CPU_IO_MAP(goldstar_readport) |
6519 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
6518 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, nmi_line_pulse) | |
6520 | 6519 | |
6521 | 6520 | /* 3x 8255 */ |
6522 | 6521 | MCFG_I8255A_ADD( "ppi8255_0", lucky8_ppi8255_0_intf ) |
r17996 | r17997 | |
6559 | 6558 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6560 | 6559 | MCFG_CPU_PROGRAM_MAP(cm_map) |
6561 | 6560 | MCFG_CPU_IO_MAP(amcoe1_portmap) |
6562 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6561 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6563 | 6562 | |
6564 | 6563 | /* 2x 8255 */ |
6565 | 6564 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
6598 | 6597 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6599 | 6598 | MCFG_CPU_PROGRAM_MAP(cm_map) |
6600 | 6599 | MCFG_CPU_IO_MAP(amcoe1_portmap) |
6601 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6600 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6602 | 6601 | |
6603 | 6602 | /* 2x 8255 */ |
6604 | 6603 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
6637 | 6636 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6638 | 6637 | MCFG_CPU_PROGRAM_MAP(cm_map) |
6639 | 6638 | MCFG_CPU_IO_MAP(amcoe2_portmap) |
6640 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6639 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6641 | 6640 | |
6642 | 6641 | /* 2x 8255 */ |
6643 | 6642 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
6671 | 6670 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6672 | 6671 | MCFG_CPU_PROGRAM_MAP(nfm_map) |
6673 | 6672 | MCFG_CPU_IO_MAP(amcoe2_portmap) |
6674 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6673 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6675 | 6674 | |
6676 | 6675 | /* 2x 8255 */ |
6677 | 6676 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
6705 | 6704 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6706 | 6705 | MCFG_CPU_PROGRAM_MAP(unkch_map) |
6707 | 6706 | MCFG_CPU_IO_MAP(unkch_portmap) |
6708 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
6709 | //MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6707 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, nmi_line_pulse) | |
6708 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6710 | 6709 | |
6711 | 6710 | /* video hardware */ |
6712 | 6711 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
6750 | 6749 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
6751 | 6750 | MCFG_CPU_PROGRAM_MAP(cm_map) |
6752 | 6751 | MCFG_CPU_IO_MAP(cm_portmap) |
6753 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
6752 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) | |
6754 | 6753 | |
6755 | 6754 | /* 2x 8255 */ |
6756 | 6755 | MCFG_I8255A_ADD( "ppi8255_0", cm_ppi8255_0_intf ) |
r17996 | r17997 | |
---|---|---|
109 | 109 | TILE_GET_INFO_MEMBER(get_reel_4_tile_info); |
110 | 110 | virtual void video_start(); |
111 | 111 | UINT32 screen_update_skylncr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
112 | INTERRUPT_GEN_MEMBER(skylncr_vblank_interrupt); | |
112 | 113 | }; |
113 | 114 | |
114 | 115 | |
r17996 | r17997 | |
695 | 696 | |
696 | 697 | |
697 | 698 | // It runs in IM 0, thus needs an opcode on the data bus |
698 | ||
699 | ||
699 | 700 | { |
700 | skylncr_state *state = device->machine().driver_data<skylncr_state>(); | |
701 | if (state->m_nmi_enable) device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
701 | if (m_nmi_enable) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
702 | 702 | } |
703 | 703 | |
704 | 704 | |
r17996 | r17997 | |
712 | 712 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
713 | 713 | MCFG_CPU_PROGRAM_MAP(mem_map_skylncr) |
714 | 714 | MCFG_CPU_IO_MAP(io_map_skylncr) |
715 | MCFG_CPU_VBLANK_INT("screen", skylncr_vblank_interrupt) | |
715 | MCFG_CPU_VBLANK_INT_DRIVER("screen", skylncr_state, skylncr_vblank_interrupt) | |
716 | 716 | |
717 | 717 | MCFG_NVRAM_ADD_0FILL("nvram") |
718 | 718 |
r17996 | r17997 | |
---|---|---|
360 | 360 | m_game_selected = 0; |
361 | 361 | } |
362 | 362 | |
363 | ||
363 | ||
364 | 364 | { |
365 | _20pacgal_state *state = device->machine().driver_data<_20pacgal_state>(); | |
366 | 365 | |
367 | if(state->m_irq_mask) | |
368 | device->execute().set_input_line(0, HOLD_LINE); // TODO: assert breaks the inputs in 25pacman test mode | |
366 | if(m_irq_mask) | |
367 | device.execute().set_input_line(0, HOLD_LINE); // TODO: assert breaks the inputs in 25pacman test mode | |
369 | 368 | } |
370 | 369 | |
371 | 370 | static MACHINE_CONFIG_START( 20pacgal, _20pacgal_state ) |
r17996 | r17997 | |
374 | 373 | MCFG_CPU_ADD("maincpu", Z180, MAIN_CPU_CLOCK) |
375 | 374 | MCFG_CPU_PROGRAM_MAP(20pacgal_map) |
376 | 375 | MCFG_CPU_IO_MAP(20pacgal_io_map) |
377 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
376 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _20pacgal_state, vblank_irq) | |
378 | 377 | |
379 | 378 | |
380 | 379 | MCFG_EEPROM_ADD("eeprom", _20pacgal_eeprom_intf) |
r17996 | r17997 | |
---|---|---|
388 | 388 | DEVCB_DRIVER_MEMBER(seicross_state,friskyt_portB_w) |
389 | 389 | }; |
390 | 390 | |
391 | ||
391 | ||
392 | 392 | { |
393 | seicross_state *state = device->machine().driver_data<seicross_state>(); | |
394 | 393 | |
395 | if(state->m_irq_mask) | |
396 | device->execute().set_input_line(0, HOLD_LINE); | |
394 | if(m_irq_mask) | |
395 | device.execute().set_input_line(0, HOLD_LINE); | |
397 | 396 | |
398 | 397 | } |
399 | 398 | |
r17996 | r17997 | |
404 | 403 | MCFG_CPU_ADD("maincpu", Z80, 3072000) /* 3.072 MHz? */ |
405 | 404 | MCFG_CPU_PROGRAM_MAP(main_map) |
406 | 405 | MCFG_CPU_IO_MAP(main_portmap) |
407 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
406 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seicross_state, vblank_irq) | |
408 | 407 | |
409 | 408 | MCFG_CPU_ADD("mcu", NSC8105, 3072000) /* ??? */ |
410 | 409 | MCFG_CPU_PROGRAM_MAP(mcu_nvram_map) |
r17996 | r17997 | |
---|---|---|
349 | 349 | /* basic machine hardware */ |
350 | 350 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) |
351 | 351 | MCFG_CPU_PROGRAM_MAP(spbactn_map) |
352 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) | |
352 | MCFG_CPU_VBLANK_INT_DRIVER("screen", spbactn_state, irq3_line_hold) | |
353 | 353 | |
354 | 354 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) |
355 | 355 | MCFG_CPU_PROGRAM_MAP(spbactn_sound_map) |
r17996 | r17997 | |
---|---|---|
100 | 100 | #define SHADOW_COLORS_MULTIPLIER 2 |
101 | 101 | |
102 | 102 | |
103 | ||
103 | ||
104 | 104 | { |
105 | device | |
105 | device. | |
106 | 106 | } |
107 | 107 | |
108 | 108 | |
r17996 | r17997 | |
2015 | 2015 | |
2016 | 2016 | /* basic machine hardware */ |
2017 | 2017 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
2018 | MCFG_CPU_VBLANK_INT("screen", sys16_interrupt) | |
2018 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, sys16_interrupt) | |
2019 | 2019 | |
2020 | 2020 | MCFG_CPU_ADD("soundcpu", Z80, 4000000) |
2021 | 2021 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
2165 | 2165 | /* basic machine hardware */ |
2166 | 2166 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
2167 | 2167 | MCFG_CPU_PROGRAM_MAP(goldnaxeb1_map) |
2168 | MCFG_CPU_VBLANK_INT("screen", sys16_interrupt) | |
2168 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, sys16_interrupt) | |
2169 | 2169 | |
2170 | 2170 | |
2171 | 2171 | /* video hardware */ |
r17996 | r17997 | |
2295 | 2295 | |
2296 | 2296 | /* basic machine hardware */ |
2297 | 2297 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
2298 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
2298 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state, irq4_line_hold) | |
2299 | 2299 | |
2300 | 2300 | MCFG_CPU_ADD("soundcpu", Z80, 8000000) |
2301 | 2301 | MCFG_CPU_PROGRAM_MAP(sound_18_map) |
r17996 | r17997 | |
---|---|---|
129 | 129 | DECLARE_WRITE8_MEMBER(nyny_ay8910_37_port_a_w); |
130 | 130 | virtual void machine_start(); |
131 | 131 | virtual void machine_reset(); |
132 | INTERRUPT_GEN_MEMBER(update_pia_1); | |
132 | 133 | }; |
133 | 134 | |
134 | 135 | |
r17996 | r17997 | |
169 | 170 | * |
170 | 171 | *************************************/ |
171 | 172 | |
172 | ||
173 | ||
173 | 174 | { |
174 | nyny_state *state = device->machine().driver_data<nyny_state>(); | |
175 | 175 | |
176 | 176 | /* update the different PIA pins from the input ports */ |
177 | 177 | |
178 | 178 | /* CA1 - copy of PA0 (COIN1) */ |
179 | | |
179 | | |
180 | 180 | |
181 | 181 | /* CA2 - copy of PA1 (SERVICE1) */ |
182 | | |
182 | | |
183 | 183 | |
184 | 184 | /* CB1 - (crosshatch) */ |
185 | | |
185 | | |
186 | 186 | |
187 | 187 | /* CB2 - NOT CONNECTED */ |
188 | 188 | } |
r17996 | r17997 | |
713 | 713 | /* basic machine hardware */ |
714 | 714 | MCFG_CPU_ADD("maincpu", M6809, 1400000) /* 1.40 MHz? The clock signal is generated by analog chips */ |
715 | 715 | MCFG_CPU_PROGRAM_MAP(nyny_main_map) |
716 | MCFG_CPU_PERIODIC_INT(update_pia_1, 25) | |
716 | MCFG_CPU_PERIODIC_INT_DRIVER(nyny_state, update_pia_1, 25) | |
717 | 717 | |
718 | 718 | MCFG_CPU_ADD("audiocpu", M6802, AUDIO_CPU_1_CLOCK) |
719 | 719 | MCFG_CPU_PROGRAM_MAP(nyny_audio_1_map) |
r17996 | r17997 | |
---|---|---|
752 | 752 | MCFG_CPU_ADD("maincpu", E132XN, 20000000*4) /* 4x internal multiplier */ |
753 | 753 | MCFG_CPU_PROGRAM_MAP(limenko_map) |
754 | 754 | MCFG_CPU_IO_MAP(limenko_io_map) |
755 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
755 | MCFG_CPU_VBLANK_INT_DRIVER("screen", limenko_state, irq0_line_hold) | |
756 | 756 | |
757 | 757 | MCFG_EEPROM_93C46_ADD("eeprom") |
758 | 758 | |
r17996 | r17997 | |
780 | 780 | MCFG_CPU_ADD("maincpu", GMS30C2232, 20000000) /* 20 MHz, no internal multiplier */ |
781 | 781 | MCFG_CPU_PROGRAM_MAP(spotty_map) |
782 | 782 | MCFG_CPU_IO_MAP(spotty_io_map) |
783 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
783 | MCFG_CPU_VBLANK_INT_DRIVER("screen", limenko_state, irq0_line_hold) | |
784 | 784 | |
785 | 785 | MCFG_CPU_ADD("audiocpu", AT89C4051, 4000000) /* 4 MHz */ |
786 | 786 | MCFG_CPU_IO_MAP(spotty_sound_io_map) |
r17996 | r17997 | |
---|---|---|
77 | 77 | DECLARE_WRITE8_MEMBER(irq_mask_w); |
78 | 78 | DECLARE_DRIVER_INIT(penta); |
79 | 79 | DECLARE_DRIVER_INIT(pengo); |
80 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
80 | 81 | }; |
81 | 82 | |
82 | 83 | |
r17996 | r17997 | |
369 | 370 | * |
370 | 371 | *************************************/ |
371 | 372 | |
372 | ||
373 | ||
373 | 374 | { |
374 | pengo_state *state = device->machine().driver_data<pengo_state>(); | |
375 | 375 | |
376 | if(state->m_irq_mask) | |
377 | device->execute().set_input_line(0, HOLD_LINE); | |
376 | if(m_irq_mask) | |
377 | device.execute().set_input_line(0, HOLD_LINE); | |
378 | 378 | } |
379 | 379 | |
380 | 380 | |
r17996 | r17997 | |
383 | 383 | /* basic machine hardware */ |
384 | 384 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) |
385 | 385 | MCFG_CPU_PROGRAM_MAP(pengo_map) |
386 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
386 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pengo_state, vblank_irq) | |
387 | 387 | |
388 | 388 | /* video hardware */ |
389 | 389 | MCFG_GFXDECODE(pengo) |
r17996 | r17997 | |
---|---|---|
49 | 49 | DECLARE_DRIVER_INIT(whitestar); |
50 | 50 | virtual void machine_reset(); |
51 | 51 | virtual void palette_init(); |
52 | INTERRUPT_GEN_MEMBER(whitestar_firq_interrupt); | |
52 | 53 | }; |
53 | 54 | |
54 | 55 | static INPUT_PORTS_START( whitestar ) |
r17996 | r17997 | |
182 | 183 | } |
183 | 184 | |
184 | 185 | // the appropriate device is passed in, so we can share this routine |
185 | ||
186 | ||
186 | 187 | { |
187 | device | |
188 | device. | |
188 | 189 | } |
189 | 190 | |
190 | 191 | #define DMD_CHUNK_SIZE 10 |
r17996 | r17997 | |
271 | 272 | /* basic machine hardware */ |
272 | 273 | MCFG_CPU_ADD("maincpu", M6809, 2000000) |
273 | 274 | MCFG_CPU_PROGRAM_MAP(whitestar_map) |
274 | MCFG_CPU_PERIODIC_INT(whitestar_firq_interrupt, 976) // value taken from PinMAME | |
275 | MCFG_CPU_PERIODIC_INT_DRIVER(whitestar_state, whitestar_firq_interrupt, 976) // value taken from PinMAME | |
275 | 276 | |
276 | 277 | MCFG_CPU_ADD("dmdcpu", M6809, (8000000/4)) |
277 | 278 | MCFG_CPU_PROGRAM_MAP(whitestar_dmd_map) |
278 | MCFG_CPU_PERIODIC_INT(whitestar_firq_interrupt, 80) // value taken from PinMAME | |
279 | MCFG_CPU_PERIODIC_INT_DRIVER(whitestar_state, whitestar_firq_interrupt, 80) // value taken from PinMAME | |
279 | 280 | |
280 | 281 | |
281 | 282 | /* sound hardware */ |
r17996 | r17997 | |
---|---|---|
210 | 210 | /* basic machine hardware */ |
211 | 211 | MCFG_CPU_ADD("maincpu", M68000, XTAL_18MHz/2) /* verified on pcb */ |
212 | 212 | MCFG_CPU_PROGRAM_MAP(prehisle_map) |
213 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
213 | MCFG_CPU_VBLANK_INT_DRIVER("screen", prehisle_state, irq4_line_hold) | |
214 | 214 | |
215 | 215 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) /* verified on pcb */ |
216 | 216 | MCFG_CPU_PROGRAM_MAP(prehisle_sound_map) |
r17996 | r17997 | |
---|---|---|
260 | 260 | } |
261 | 261 | |
262 | 262 | |
263 | ||
263 | ||
264 | 264 | { |
265 | simpsons_state *state = device->machine().driver_data<simpsons_state>(); | |
266 | 265 | |
267 | if (k053246_is_irq_enabled( | |
266 | if (k053246_is_irq_enabled( | |
268 | 267 | { |
269 | simpsons_objdma( | |
268 | simpsons_objdma( | |
270 | 269 | // 32+256us delay at 8MHz dotclock; artificially shortened since actual V-blank length is unknown |
271 | | |
270 | | |
272 | 271 | } |
273 | 272 | |
274 | if (k052109_is_irq_enabled(state->m_k052109)) | |
275 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
273 | if (k052109_is_irq_enabled(m_k052109)) | |
274 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
276 | 275 | } |
277 | 276 | |
278 | 277 | static const k052109_interface simpsons_k052109_intf = |
r17996 | r17997 | |
309 | 308 | /* basic machine hardware */ |
310 | 309 | MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */ |
311 | 310 | MCFG_CPU_PROGRAM_MAP(main_map) |
312 | MCFG_CPU_VBLANK_INT("screen", simpsons_irq) /* IRQ triggered by the 052109, FIRQ by the sprite hardware */ | |
311 | MCFG_CPU_VBLANK_INT_DRIVER("screen", simpsons_state, simpsons_irq) /* IRQ triggered by the 052109, FIRQ by the sprite hardware */ | |
313 | 312 | |
314 | 313 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
315 | 314 | MCFG_CPU_PROGRAM_MAP(z80_map) |
r17996 | r17997 | |
---|---|---|
323 | 323 | /* basic machine hardware */ |
324 | 324 | MCFG_CPU_ADD("maincpu",H6280,21477200/3) /* Should be accurate */ |
325 | 325 | MCFG_CPU_PROGRAM_MAP(actfan_map) |
326 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* VBL */ | |
326 | MCFG_CPU_VBLANK_INT_DRIVER("screen", actfancr_state, irq0_line_hold) /* VBL */ | |
327 | 327 | |
328 | 328 | MCFG_CPU_ADD("audiocpu",M6502, 1500000) /* Should be accurate */ |
329 | 329 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
373 | 373 | /* basic machine hardware */ |
374 | 374 | MCFG_CPU_ADD("maincpu",H6280,XTAL_21_4772MHz/3) /* XIN=21.4772Mhz, verified on pcb */ |
375 | 375 | MCFG_CPU_PROGRAM_MAP(triothep_map) |
376 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* VBL */ | |
376 | MCFG_CPU_VBLANK_INT_DRIVER("screen", actfancr_state, irq0_line_hold) /* VBL */ | |
377 | 377 | |
378 | 378 | MCFG_CPU_ADD("audiocpu",M6502, XTAL_12MHz/8) /* verified on pcb */ |
379 | 379 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
---|---|---|
339 | 339 | MCFG_CPU_ADD("maincpu", Z80,18000000/6) /* ? MHz */ |
340 | 340 | MCFG_CPU_PROGRAM_MAP(unclepoo_main_map) |
341 | 341 | MCFG_CPU_IO_MAP(unclepoo_main_portmap) |
342 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
343 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,256) // ??? controls game speed | |
342 | MCFG_CPU_VBLANK_INT_DRIVER("screen", poo_state, nmi_line_pulse) | |
343 | MCFG_CPU_PERIODIC_INT_DRIVER(poo_state, irq0_line_hold, 256) // ??? controls game speed | |
344 | 344 | |
345 | 345 | MCFG_CPU_ADD("subcpu", Z80,18000000/12) /* ? MHz */ |
346 | 346 | MCFG_CPU_PROGRAM_MAP(unclepoo_sub_map) |
347 | 347 | MCFG_CPU_IO_MAP(unclepoo_sub_portmap) |
348 | ||
348 | | |
349 | 349 | |
350 | 350 | /* video hardware */ |
351 | 351 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
48 | 48 | virtual void machine_reset(); |
49 | 49 | virtual void palette_init(); |
50 | 50 | UINT32 screen_update_galaxygame(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
51 | INTERRUPT_GEN_MEMBER(galaxygame_irq); | |
51 | 52 | }; |
52 | 53 | |
53 | 54 | /************************************* |
r17996 | r17997 | |
301 | 302 | return 0x40; |
302 | 303 | } |
303 | 304 | |
304 | ||
305 | ||
305 | 306 | { |
306 | galaxygame_state *state = device->machine().driver_data<galaxygame_state>(); | |
307 | if ( state->m_clk & 0x40 ) | |
307 | if ( m_clk & 0x40 ) | |
308 | 308 | { |
309 | device->execute().set_input_line(0, ASSERT_LINE); | |
310 | state->m_interrupt = 1; | |
309 | device.execute().set_input_line(0, ASSERT_LINE); | |
310 | m_interrupt = 1; | |
311 | 311 | } |
312 | 312 | } |
313 | 313 | |
r17996 | r17997 | |
331 | 331 | MCFG_CPU_ADD("maincpu", T11, 3000000 ) |
332 | 332 | MCFG_CPU_PROGRAM_MAP(galaxygame_map) |
333 | 333 | MCFG_CPU_CONFIG(t11_data) |
334 | MCFG_CPU_PERIODIC_INT(galaxygame_irq,60) | |
334 | MCFG_CPU_PERIODIC_INT_DRIVER(galaxygame_state, galaxygame_irq, 60) | |
335 | 335 | |
336 | 336 | /* video hardware */ |
337 | 337 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
300 | 300 | machine.device("maincpu")->execute().set_input_line(3, HOLD_LINE); |
301 | 301 | } |
302 | 302 | |
303 | ||
303 | ||
304 | 304 | { |
305 | qdrmfgp_state *state = device->machine().driver_data<qdrmfgp_state>(); | |
306 | 305 | /* trigger V-blank interrupt */ |
307 | if (state->m_control & 0x0008) | |
308 | device->execute().set_input_line(4, HOLD_LINE); | |
306 | if (m_control & 0x0008) | |
307 | device.execute().set_input_line(4, HOLD_LINE); | |
309 | 308 | } |
310 | 309 | |
311 | 310 | static void gp2_ide_interrupt(device_t *device, int state) |
r17996 | r17997 | |
718 | 717 | /* basic machine hardware */ |
719 | 718 | MCFG_CPU_ADD("maincpu", M68000, 32000000/2) /* 16.000 MHz */ |
720 | 719 | MCFG_CPU_PROGRAM_MAP(qdrmfgp2_map) |
721 | MCFG_CPU_VBLANK_INT("screen", qdrmfgp2_interrupt) | |
720 | MCFG_CPU_VBLANK_INT_DRIVER("screen", qdrmfgp_state, qdrmfgp2_interrupt) | |
722 | 721 | |
723 | 722 | MCFG_MACHINE_START_OVERRIDE(qdrmfgp_state,qdrmfgp2) |
724 | 723 | MCFG_NVRAM_ADD_1FILL("nvram") |
r17996 | r17997 | |
---|---|---|
140 | 140 | MCFG_CPU_ADD("maincpu", I8080,9750000/9) /* 8224 chip is a divide by 9 */ |
141 | 141 | MCFG_CPU_PROGRAM_MAP(starcrus_map) |
142 | 142 | MCFG_CPU_IO_MAP(starcrus_io_map) |
143 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
143 | MCFG_CPU_VBLANK_INT_DRIVER("screen", starcrus_state, irq0_line_hold) | |
144 | 144 | |
145 | 145 | /* video hardware */ |
146 | 146 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
326 | 326 | } |
327 | 327 | } |
328 | 328 | |
329 | INTERRUPT_GEN( | |
329 | INTERRUPT_GEN_MEMBER( | |
330 | 330 | { |
331 | 331 | /* Strider also has a IRQ4 handler. It is input port related, but the game */ |
332 | 332 | /* works without it. It is the *only* CPS1 game to have that. */ |
333 | device | |
333 | device. | |
334 | 334 | } |
335 | 335 | |
336 | 336 | /******************************************************************** |
r17996 | r17997 | |
341 | 341 | ********************************************************************/ |
342 | 342 | |
343 | 343 | |
344 | ||
344 | ||
345 | 345 | { |
346 | device | |
346 | device. | |
347 | 347 | } |
348 | 348 | |
349 | 349 | |
r17996 | r17997 | |
3054 | 3054 | /* basic machine hardware */ |
3055 | 3055 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz ) /* verified on pcb */ |
3056 | 3056 | MCFG_CPU_PROGRAM_MAP(main_map) |
3057 | MCFG_CPU_VBLANK_INT("screen", cps1_interrupt) | |
3057 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) | |
3058 | 3058 | |
3059 | 3059 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
3060 | 3060 | MCFG_CPU_PROGRAM_MAP(sub_map) |
r17996 | r17997 | |
3109 | 3109 | |
3110 | 3110 | MCFG_CPU_REPLACE("maincpu", M68000, XTAL_12MHz ) /* verified on pcb */ |
3111 | 3111 | MCFG_CPU_PROGRAM_MAP(qsound_main_map) |
3112 | MCFG_CPU_VBLANK_INT("screen", cps1_qsound_interrupt) /* ??? interrupts per frame */ | |
3112 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_qsound_interrupt) /* ??? interrupts per frame */ | |
3113 | 3113 | |
3114 | 3114 | MCFG_CPU_REPLACE("audiocpu", Z80, XTAL_8MHz) /* verified on pcb */ |
3115 | 3115 | MCFG_CPU_PROGRAM_MAP(qsound_sub_map) |
3116 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 250) /* ?? */ | |
3116 | MCFG_CPU_PERIODIC_INT_DRIVER(cps_state, irq0_line_hold, 250) /* ?? */ | |
3117 | 3117 | |
3118 | 3118 | MCFG_MACHINE_START_OVERRIDE(cps_state,qsound) |
3119 | 3119 | |
r17996 | r17997 | |
3138 | 3138 | /* basic machine hardware */ |
3139 | 3139 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
3140 | 3140 | MCFG_CPU_PROGRAM_MAP(main_map) |
3141 | MCFG_CPU_VBLANK_INT("screen", cps1_qsound_interrupt) | |
3141 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_qsound_interrupt) | |
3142 | 3142 | |
3143 | 3143 | MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000) |
3144 | 3144 | MCFG_DEVICE_DISABLE() /* no valid dumps .. */ |
r17996 | r17997 | |
3212 | 3212 | /* basic machine hardware */ |
3213 | 3213 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
3214 | 3214 | MCFG_CPU_PROGRAM_MAP(main_map) |
3215 | MCFG_CPU_VBLANK_INT("screen", cps1_interrupt) | |
3215 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) | |
3216 | 3216 | |
3217 | 3217 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
3218 | 3218 | MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map) |
r17996 | r17997 | |
3296 | 3296 | /* basic machine hardware */ |
3297 | 3297 | MCFG_CPU_ADD("maincpu", M68000, 24000000 / 2) |
3298 | 3298 | MCFG_CPU_PROGRAM_MAP(main_map) |
3299 | MCFG_CPU_VBLANK_INT("screen", cps1_interrupt) | |
3299 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) | |
3300 | 3300 | |
3301 | 3301 | MCFG_CPU_ADD("audiocpu", Z80, 29821000 / 8) |
3302 | 3302 | MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map) |
r17996 | r17997 | |
---|---|---|
590 | 590 | /* basic machine hardware */ |
591 | 591 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
592 | 592 | MCFG_CPU_PROGRAM_MAP(main_map) |
593 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
593 | MCFG_CPU_VBLANK_INT_DRIVER("screen", yunsun16_state, irq2_line_hold) | |
594 | 594 | |
595 | 595 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) /* ? */ |
596 | 596 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
632 | 632 | /* basic machine hardware */ |
633 | 633 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
634 | 634 | MCFG_CPU_PROGRAM_MAP(main_map) |
635 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
635 | MCFG_CPU_VBLANK_INT_DRIVER("screen", yunsun16_state, irq2_line_hold) | |
636 | 636 | |
637 | 637 | |
638 | 638 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
700 | 700 | m_dsc0 = m_dsc1 = 1; |
701 | 701 | } |
702 | 702 | |
703 | ||
703 | ||
704 | 704 | { |
705 | wiz_state *state = device->machine().driver_data<wiz_state>(); | |
706 | 705 | |
707 | if(state->m_main_nmi_mask & 1) | |
708 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
706 | if(m_main_nmi_mask & 1) | |
707 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
709 | 708 | } |
710 | 709 | |
711 | ||
710 | ||
712 | 711 | { |
713 | wiz_state *state = device->machine().driver_data<wiz_state>(); | |
714 | 712 | |
715 | if(state->m_sound_nmi_mask & 1) | |
716 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
713 | if(m_sound_nmi_mask & 1) | |
714 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
717 | 715 | } |
718 | 716 | |
719 | 717 | |
r17996 | r17997 | |
722 | 720 | /* basic machine hardware */ |
723 | 721 | MCFG_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz ??? */ |
724 | 722 | MCFG_CPU_PROGRAM_MAP(main_map) |
725 | MCFG_CPU_VBLANK_INT("screen", wiz_vblank_interrupt) | |
723 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wiz_state, wiz_vblank_interrupt) | |
726 | 724 | |
727 | 725 | MCFG_CPU_ADD("audiocpu", Z80, 14318000/8) /* ? */ |
728 | 726 | MCFG_CPU_PROGRAM_MAP(sound_map) |
729 | MCFG_CPU_PERIODIC_INT(wiz_sound_interrupt,4*60) /* ??? */ | |
727 | MCFG_CPU_PERIODIC_INT_DRIVER(wiz_state, wiz_sound_interrupt, 4*60) /* ??? */ | |
730 | 728 | |
731 | 729 | |
732 | 730 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
151 | 151 | * |
152 | 152 | *************************************/ |
153 | 153 | |
154 | ||
154 | ||
155 | 155 | { |
156 | stactics_state *state = device->machine().driver_data<stactics_state>(); | |
157 | 156 | |
158 | move_motor( | |
157 | move_motor( | |
159 | 158 | |
160 | device | |
159 | device. | |
161 | 160 | } |
162 | 161 | |
163 | 162 | |
r17996 | r17997 | |
303 | 302 | /* basic machine hardware */ |
304 | 303 | MCFG_CPU_ADD("maincpu", I8080, 1933560) |
305 | 304 | MCFG_CPU_PROGRAM_MAP(main_map) |
306 | MCFG_CPU_VBLANK_INT("screen", stactics_interrupt) | |
305 | MCFG_CPU_VBLANK_INT_DRIVER("screen", stactics_state, stactics_interrupt) | |
307 | 306 | |
308 | 307 | |
309 | 308 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
300 | 300 | /* basic machine hardware */ |
301 | 301 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* ? MHz */ |
302 | 302 | MCFG_CPU_PROGRAM_MAP(drtomy_map) |
303 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
303 | MCFG_CPU_VBLANK_INT_DRIVER("screen", drtomy_state, irq6_line_hold) | |
304 | 304 | |
305 | 305 | |
306 | 306 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
442 | 442 | /* basic machine hardware */ |
443 | 443 | MCFG_CPU_ADD("maincpu", Z80,4000000) /* 4 MHz */ |
444 | 444 | MCFG_CPU_PROGRAM_MAP(calorie_map) |
445 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
445 | MCFG_CPU_VBLANK_INT_DRIVER("screen", calorie_state, irq0_line_hold) | |
446 | 446 | |
447 | 447 | MCFG_CPU_ADD("audiocpu", Z80,3000000) /* 3 MHz */ |
448 | 448 | MCFG_CPU_PROGRAM_MAP(calorie_sound_map) |
449 | 449 | MCFG_CPU_IO_MAP(calorie_sound_io_map) |
450 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 64) | |
450 | MCFG_CPU_PERIODIC_INT_DRIVER(calorie_state, irq0_line_hold, 64) | |
451 | 451 | |
452 | 452 | |
453 | 453 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
438 | 438 | * |
439 | 439 | *************************************/ |
440 | 440 | |
441 | ||
441 | ||
442 | 442 | { |
443 | galaxian_state *state = device->machine().driver_data<galaxian_state>(); | |
444 | 443 | /* interrupt line is clocked at VBLANK */ |
445 | 444 | /* a flip-flop at 6F is held in the preset state based on the NMI ON signal */ |
446 | if (state->m_irq_enabled) | |
447 | device->execute().set_input_line(state->m_irq_line, ASSERT_LINE); | |
445 | if (m_irq_enabled) | |
446 | device.execute().set_input_line(m_irq_line, ASSERT_LINE); | |
448 | 447 | } |
449 | 448 | |
450 | ||
449 | ||
451 | 450 | { |
452 | galaxian_state *state = device->machine().driver_data<galaxian_state>(); | |
453 | 451 | interrupt_gen(device); |
454 | 452 | |
455 | if ( | |
453 | if ( | |
456 | 454 | { |
457 | state->m_tenspot_current_game++; | |
458 | state->m_tenspot_current_game%=10; | |
459 | state->tenspot_set_game_bank(device->machine(), state->m_tenspot_current_game, 1); | |
460 | device->machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); | |
455 | m_tenspot_current_game++; | |
456 | m_tenspot_current_game%=10; | |
457 | tenspot_set_game_bank(machine(), m_tenspot_current_game, 1); | |
458 | machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); | |
461 | 459 | } |
462 | 460 | } |
463 | 461 | |
r17996 | r17997 | |
2084 | 2082 | /* basic machine hardware */ |
2085 | 2083 | MCFG_CPU_ADD("maincpu", Z80, GALAXIAN_PIXEL_CLOCK/3/2) |
2086 | 2084 | MCFG_CPU_PROGRAM_MAP(galaxian_map) |
2087 | MCFG_CPU_VBLANK_INT("screen", interrupt_gen) | |
2085 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxian_state, interrupt_gen) | |
2088 | 2086 | |
2089 | 2087 | MCFG_WATCHDOG_VBLANK_INIT(8) |
2090 | 2088 | |
r17996 | r17997 | |
2180 | 2178 | static MACHINE_CONFIG_DERIVED( tenspot, galaxian ) |
2181 | 2179 | |
2182 | 2180 | MCFG_CPU_MODIFY("maincpu") |
2183 | MCFG_CPU_VBLANK_INT("screen", fakechange_interrupt_gen) | |
2181 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxian_state, fakechange_interrupt_gen) | |
2184 | 2182 | |
2185 | 2183 | /* basic machine hardware */ |
2186 | 2184 | MCFG_CPU_ADD("selectcpu", Z80, GALAXIAN_PIXEL_CLOCK/3/2) // ?? mhz |
r17996 | r17997 | |
2260 | 2258 | MCFG_CPU_ADD("audiocpu", Z80, 1620000) /* 1.62 MHz */ |
2261 | 2259 | MCFG_CPU_PROGRAM_MAP(checkman_sound_map) |
2262 | 2260 | MCFG_CPU_IO_MAP(checkman_sound_portmap) |
2263 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* NMIs are triggered by the main CPU */ | |
2261 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxian_state, irq0_line_hold) /* NMIs are triggered by the main CPU */ | |
2264 | 2262 | |
2265 | 2263 | /* sound hardware */ |
2266 | 2264 | MCFG_SOUND_ADD("aysnd", AY8910, 1789750) |
r17996 | r17997 | |
---|---|---|
610 | 610 | } |
611 | 611 | |
612 | 612 | |
613 | ||
613 | ||
614 | 614 | { |
615 | 615 | /* signal the NMI */ |
616 | itech8_update_interrupts(device->machine(), 1, -1, -1); | |
617 | device->machine().scheduler().timer_set(attotime::from_usec(1), FUNC(irq_off)); | |
616 | itech8_update_interrupts(machine(), 1, -1, -1); | |
617 | machine().scheduler().timer_set(attotime::from_usec(1), FUNC(irq_off)); | |
618 | 618 | |
619 | if (FULL_LOGGING) logerror("------------ VBLANK (%d) --------------\n", | |
619 | if (FULL_LOGGING) logerror("------------ VBLANK (%d) --------------\n", | |
620 | 620 | } |
621 | 621 | |
622 | 622 | |
r17996 | r17997 | |
1685 | 1685 | /* basic machine hardware */ |
1686 | 1686 | MCFG_CPU_ADD("maincpu", M6809, CLOCK_8MHz/4) |
1687 | 1687 | MCFG_CPU_PROGRAM_MAP(tmslo_map) |
1688 | MCFG_CPU_VBLANK_INT("screen", generate_nmi) | |
1688 | MCFG_CPU_VBLANK_INT_DRIVER("screen", itech8_state, generate_nmi) | |
1689 | 1689 | |
1690 | 1690 | MCFG_NVRAM_ADD_RANDOM_FILL("nvram") |
1691 | 1691 | |
r17996 | r17997 | |
1920 | 1920 | |
1921 | 1921 | MCFG_CPU_REPLACE("maincpu", HD6309, CLOCK_12MHz) |
1922 | 1922 | MCFG_CPU_PROGRAM_MAP(tmshi_map) |
1923 | MCFG_CPU_VBLANK_INT("screen", generate_nmi) | |
1923 | MCFG_CPU_VBLANK_INT_DRIVER("screen", itech8_state, generate_nmi) | |
1924 | 1924 | |
1925 | 1925 | /* video hardware */ |
1926 | 1926 | MCFG_SCREEN_MODIFY("screen") |
r17996 | r17997 | |
1936 | 1936 | |
1937 | 1937 | MCFG_CPU_REPLACE("maincpu", M68000, CLOCK_12MHz) |
1938 | 1938 | MCFG_CPU_PROGRAM_MAP(ninclown_map) |
1939 | MCFG_CPU_VBLANK_INT("screen", generate_nmi) | |
1939 | MCFG_CPU_VBLANK_INT_DRIVER("screen", itech8_state, generate_nmi) | |
1940 | 1940 | |
1941 | 1941 | /* video hardware */ |
1942 | 1942 | MCFG_SCREEN_MODIFY("screen") |
r17996 | r17997 | |
---|---|---|
293 | 293 | } |
294 | 294 | |
295 | 295 | |
296 | ||
296 | ||
297 | 297 | { |
298 | kickgoal_state *state = device->machine().driver_data<kickgoal_state>(); | |
299 | 298 | |
300 | if (( | |
299 | if (( | |
301 | 300 | { |
302 | switch( | |
301 | switch( | |
303 | 302 | { |
304 | case 0x060: state->m_melody_loop = 0x061; break; | |
305 | case 0x061: state->m_melody_loop = 0x062; break; | |
306 | case 0x062: state->m_melody_loop = 0x060; break; | |
303 | case 0x060: m_melody_loop = 0x061; break; | |
304 | case 0x061: m_melody_loop = 0x062; break; | |
305 | case 0x062: m_melody_loop = 0x060; break; | |
307 | 306 | |
308 | case 0x065: state->m_melody_loop = 0x165; break; | |
309 | case 0x165: state->m_melody_loop = 0x265; break; | |
310 | case 0x265: state->m_melody_loop = 0x365; break; | |
311 | case 0x365: state->m_melody_loop = 0x066; break; | |
312 | case 0x066: state->m_melody_loop = 0x067; break; | |
313 | case 0x067: state->m_melody_loop = 0x068; break; | |
314 | case 0x068: state->m_melody_loop = 0x065; break; | |
307 | case 0x065: m_melody_loop = 0x165; break; | |
308 | case 0x165: m_melody_loop = 0x265; break; | |
309 | case 0x265: m_melody_loop = 0x365; break; | |
310 | case 0x365: m_melody_loop = 0x066; break; | |
311 | case 0x066: m_melody_loop = 0x067; break; | |
312 | case 0x067: m_melody_loop = 0x068; break; | |
313 | case 0x068: m_melody_loop = 0x065; break; | |
315 | 314 | |
316 | case 0x063: state->m_melody_loop = 0x063; break; | |
317 | case 0x064: state->m_melody_loop = 0x064; break; | |
318 | case 0x069: state->m_melody_loop = 0x069; break; | |
319 | case 0x06a: state->m_melody_loop = 0x06a; break; | |
320 | case 0x06b: state->m_melody_loop = 0x06b; break; | |
321 | case 0x06c: state->m_melody_loop = 0x06c; break; | |
315 | case 0x063: m_melody_loop = 0x063; break; | |
316 | case 0x064: m_melody_loop = 0x064; break; | |
317 | case 0x069: m_melody_loop = 0x069; break; | |
318 | case 0x06a: m_melody_loop = 0x06a; break; | |
319 | case 0x06b: m_melody_loop = 0x06b; break; | |
320 | case 0x06c: m_melody_loop = 0x06c; break; | |
322 | 321 | |
323 | default: | |
322 | default: | |
324 | 323 | } |
325 | 324 | |
326 | if ( | |
325 | if ( | |
327 | 326 | { |
328 | // logerror("Changing to sample %02x\n", state->m_melody_loop); | |
329 | state->m_adpcm->write_command((0x80 | state->m_melody_loop) & 0xff); | |
330 | state->m_adpcm->write_command(0x81); | |
327 | // logerror("Changing to sample %02x\n", m_melody_loop); | |
328 | m_adpcm->write_command((0x80 | m_melody_loop) & 0xff); | |
329 | m_adpcm->write_command(0x81); | |
331 | 330 | } |
332 | 331 | } |
333 | if ( | |
332 | if ( | |
334 | 333 | { |
335 | if ( | |
334 | if ( | |
336 | 335 | { |
337 | state->m_m6295_bank += 0x01; | |
338 | state->m_m6295_bank &= 0x03; | |
339 | if (state->m_m6295_bank == 0x03) | |
340 | state->m_m6295_bank = 0x00; | |
341 | popmessage("Changing Bank to %02x", state->m_m6295_bank); | |
342 | state->m_adpcm->set_bank_base(((state->m_m6295_bank) * 0x40000)); | |
336 | m_m6295_bank += 0x01; | |
337 | m_m6295_bank &= 0x03; | |
338 | if (m_m6295_bank == 0x03) | |
339 | m_m6295_bank = 0x00; | |
340 | popmessage("Changing Bank to %02x", m_m6295_bank); | |
341 | m_adpcm->set_bank_base(((m_m6295_bank) * 0x40000)); | |
343 | 342 | |
344 | if (state->m_m6295_key_delay == 0xffff) | |
345 | state->m_m6295_key_delay = 0x00; | |
343 | if (m_m6295_key_delay == 0xffff) | |
344 | m_m6295_key_delay = 0x00; | |
346 | 345 | else |
347 | | |
346 | | |
348 | 347 | } |
349 | 348 | else |
350 | | |
349 | | |
351 | 350 | } |
352 | else if ( | |
351 | else if ( | |
353 | 352 | { |
354 | if ( | |
353 | if ( | |
355 | 354 | { |
356 | state->m_m6295_bank -= 0x01; | |
357 | state->m_m6295_bank &= 0x03; | |
358 | if (state->m_m6295_bank == 0x03) | |
359 | state->m_m6295_bank = 0x02; | |
360 | popmessage("Changing Bank to %02x", state->m_m6295_bank); | |
361 | state->m_adpcm->set_bank_base(((state->m_m6295_bank) * 0x40000)); | |
355 | m_m6295_bank -= 0x01; | |
356 | m_m6295_bank &= 0x03; | |
357 | if (m_m6295_bank == 0x03) | |
358 | m_m6295_bank = 0x02; | |
359 | popmessage("Changing Bank to %02x", m_m6295_bank); | |
360 | m_adpcm->set_bank_base(((m_m6295_bank) * 0x40000)); | |
362 | 361 | |
363 | if (state->m_m6295_key_delay == 0xffff) | |
364 | state->m_m6295_key_delay = 0x00; | |
362 | if (m_m6295_key_delay == 0xffff) | |
363 | m_m6295_key_delay = 0x00; | |
365 | 364 | else |
366 | | |
365 | | |
367 | 366 | } |
368 | 367 | else |
369 | | |
368 | | |
370 | 369 | } |
371 | else if ( | |
370 | else if ( | |
372 | 371 | { |
373 | if ( | |
372 | if ( | |
374 | 373 | { |
375 | state->m_m6295_comm += 1; | |
376 | state->m_m6295_comm &= 0x7f; | |
377 | if (state->m_m6295_comm == 0x00) { state->m_adpcm->set_bank_base((0 * 0x40000)); state->m_m6295_bank = 0; } | |
378 | if (state->m_m6295_comm == 0x60) { state->m_adpcm->set_bank_base((0 * 0x40000)); state->m_m6295_bank = 0; } | |
379 | if (state->m_m6295_comm == 0x65) { state->m_adpcm->set_bank_base((1 * 0x40000)); state->m_m6295_bank = 1; } | |
380 | if (state->m_m6295_comm == 0x69) { state->m_adpcm->set_bank_base((2 * 0x40000)); state->m_m6295_bank = 2; } | |
381 | if (state->m_m6295_comm == 0x70) { state->m_adpcm->set_bank_base((1 * 0x40000)); state->m_m6295_bank = 1; } | |
382 | popmessage("Sound test command %02x on Bank %02x", state->m_m6295_comm, state->m_m6295_bank); | |
374 | m_m6295_comm += 1; | |
375 | m_m6295_comm &= 0x7f; | |
376 | if (m_m6295_comm == 0x00) { m_adpcm->set_bank_base((0 * 0x40000)); m_m6295_bank = 0; } | |
377 | if (m_m6295_comm == 0x60) { m_adpcm->set_bank_base((0 * 0x40000)); m_m6295_bank = 0; } | |
378 | if (m_m6295_comm == 0x65) { m_adpcm->set_bank_base((1 * 0x40000)); m_m6295_bank = 1; } | |
379 | if (m_m6295_comm == 0x69) { m_adpcm->set_bank_base((2 * 0x40000)); m_m6295_bank = 2; } | |
380 | if (m_m6295_comm == 0x70) { m_adpcm->set_bank_base((1 * 0x40000)); m_m6295_bank = 1; } | |
381 | popmessage("Sound test command %02x on Bank %02x", m_m6295_comm, m_m6295_bank); | |
383 | 382 | |
384 | if (state->m_m6295_key_delay == 0xffff) | |
385 | state->m_m6295_key_delay = 0x00; | |
383 | if (m_m6295_key_delay == 0xffff) | |
384 | m_m6295_key_delay = 0x00; | |
386 | 385 | else |
387 | | |
386 | | |
388 | 387 | } |
389 | 388 | else |
390 | | |
389 | | |
391 | 390 | } |
392 | else if ( | |
391 | else if ( | |
393 | 392 | { |
394 | if ( | |
393 | if ( | |
395 | 394 | { |
396 | state->m_m6295_comm -= 1; | |
397 | state->m_m6295_comm &= 0x7f; | |
398 | if (state->m_m6295_comm == 0x2b) { state->m_adpcm->set_bank_base((0 * 0x40000)); state->m_m6295_bank = 0; } | |
399 | if (state->m_m6295_comm == 0x64) { state->m_adpcm->set_bank_base((0 * 0x40000)); state->m_m6295_bank = 0; } | |
400 | if (state->m_m6295_comm == 0x68) { state->m_adpcm->set_bank_base((1 * 0x40000)); state->m_m6295_bank = 1; } | |
401 | if (state->m_m6295_comm == 0x6c) { state->m_adpcm->set_bank_base((2 * 0x40000)); state->m_m6295_bank = 2; } | |
402 | if (state->m_m6295_comm == 0x76) { state->m_adpcm->set_bank_base((1 * 0x40000)); state->m_m6295_bank = 1; } | |
403 | popmessage("Sound test command %02x on Bank %02x", state->m_m6295_comm, state->m_m6295_bank); | |
395 | m_m6295_comm -= 1; | |
396 | m_m6295_comm &= 0x7f; | |
397 | if (m_m6295_comm == 0x2b) { m_adpcm->set_bank_base((0 * 0x40000)); m_m6295_bank = 0; } | |
398 | if (m_m6295_comm == 0x64) { m_adpcm->set_bank_base((0 * 0x40000)); m_m6295_bank = 0; } | |
399 | if (m_m6295_comm == 0x68) { m_adpcm->set_bank_base((1 * 0x40000)); m_m6295_bank = 1; } | |
400 | if (m_m6295_comm == 0x6c) { m_adpcm->set_bank_base((2 * 0x40000)); m_m6295_bank = 2; } | |
401 | if (m_m6295_comm == 0x76) { m_adpcm->set_bank_base((1 * 0x40000)); m_m6295_bank = 1; } | |
402 | popmessage("Sound test command %02x on Bank %02x", m_m6295_comm, m_m6295_bank); | |
404 | 403 | |
405 | if (state->m_m6295_key_delay == 0xffff) | |
406 | state->m_m6295_key_delay = 0x00; | |
404 | if (m_m6295_key_delay == 0xffff) | |
405 | m_m6295_key_delay = 0x00; | |
407 | 406 | else |
408 | | |
407 | | |
409 | 408 | } |
410 | 409 | else |
411 | | |
410 | | |
412 | 411 | } |
413 | else if ( | |
412 | else if ( | |
414 | 413 | { |
415 | if ( | |
414 | if ( | |
416 | 415 | { |
417 | state->m_adpcm->write_command(0x78); | |
418 | state->m_adpcm->write_command(0x80 | state->m_m6295_comm); | |
419 | state->m_adpcm->write_command(0x11); | |
416 | m_adpcm->write_command(0x78); | |
417 | m_adpcm->write_command(0x80 | m_m6295_comm); | |
418 | m_adpcm->write_command(0x11); | |
420 | 419 | |
421 | popmessage("Playing sound %02x on Bank %02x", | |
420 | popmessage("Playing sound %02x on Bank %02x", | |
422 | 421 | |
423 | if (state->m_m6295_key_delay == 0xffff) | |
424 | state->m_m6295_key_delay = 0x00; | |
422 | if (m_m6295_key_delay == 0xffff) | |
423 | m_m6295_key_delay = 0x00; | |
425 | 424 | else |
426 | | |
425 | | |
427 | 426 | } |
428 | 427 | else |
429 | state->m_m6295_key_delay += (0x01 * oki_time_base); | |
430 | // logerror("Sending %02x to the sound CPU\n", state->m_m6295_comm); | |
428 | m_m6295_key_delay += (0x01 * oki_time_base); | |
429 | // logerror("Sending %02x to the sound CPU\n", m_m6295_comm); | |
431 | 430 | } |
432 | 431 | else |
433 | | |
432 | | |
434 | 433 | } |
435 | 434 | |
436 | 435 | |
r17996 | r17997 | |
648 | 647 | /* basic machine hardware */ |
649 | 648 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
650 | 649 | MCFG_CPU_PROGRAM_MAP(kickgoal_program_map) |
651 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
652 | MCFG_CPU_PERIODIC_INT(kickgoal_interrupt, 240) | |
650 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kickgoal_state, irq6_line_hold) | |
651 | MCFG_CPU_PERIODIC_INT_DRIVER(kickgoal_state, kickgoal_interrupt, 240) | |
653 | 652 | |
654 | 653 | MCFG_CPU_ADD("audiocpu", PIC16C57, 12000000/4) /* 3MHz ? */ |
655 | 654 | MCFG_DEVICE_DISABLE() /* Disables since the internal rom isn't dumped */ |
r17996 | r17997 | |
684 | 683 | /* basic machine hardware */ |
685 | 684 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) /* verified on pcb */ |
686 | 685 | MCFG_CPU_PROGRAM_MAP(kickgoal_program_map) |
687 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
686 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kickgoal_state, irq6_line_hold) | |
688 | 687 | |
689 | 688 | MCFG_CPU_ADD("audiocpu", PIC16C57, XTAL_12MHz/3) /* verified on pcb */ |
690 | 689 | MCFG_DEVICE_DISABLE() /* Disables since the internal rom isn't dumped */ |
r17996 | r17997 | |
---|---|---|
242 | 242 | /* basic machine hardware */ |
243 | 243 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
244 | 244 | MCFG_CPU_PROGRAM_MAP(othldrby_map) |
245 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
245 | MCFG_CPU_VBLANK_INT_DRIVER("screen", othldrby_state, irq4_line_hold) | |
246 | 246 | |
247 | 247 | |
248 | 248 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
670 | 670 | /* basic machine hardware */ |
671 | 671 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
672 | 672 | MCFG_CPU_PROGRAM_MAP(bbusters_map) |
673 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
673 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bbusters_state, irq6_line_hold) | |
674 | 674 | |
675 | 675 | MCFG_CPU_ADD("audiocpu", Z80,4000000) /* Accurate */ |
676 | 676 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
710 | 710 | /* basic machine hardware */ |
711 | 711 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
712 | 712 | MCFG_CPU_PROGRAM_MAP(mechatt_map) |
713 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
713 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bbusters_state, irq4_line_hold) | |
714 | 714 | |
715 | 715 | MCFG_CPU_ADD("audiocpu", Z80,4000000) /* Accurate */ |
716 | 716 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
1082 | 1082 | /* basic machine hardware */ |
1083 | 1083 | MCFG_CPU_ADD("maincpu", Z80,XTAL_10_733MHz/2) /* verified on pcb */ |
1084 | 1084 | MCFG_CPU_PROGRAM_MAP(flstory_map) |
1085 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1085 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flstory_state, irq0_line_hold) | |
1086 | 1086 | |
1087 | 1087 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_8MHz/2) /* verified on pcb */ |
1088 | 1088 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1089 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* IRQ generated by ??? */ | |
1089 | MCFG_CPU_PERIODIC_INT_DRIVER(flstory_state, irq0_line_hold, 2*60) /* IRQ generated by ??? */ | |
1090 | 1090 | /* NMI generated by the main CPU */ |
1091 | 1091 | |
1092 | 1092 | MCFG_CPU_ADD("mcu", M68705,XTAL_18_432MHz/6) /* verified on pcb */ |
r17996 | r17997 | |
1139 | 1139 | /* basic machine hardware */ |
1140 | 1140 | MCFG_CPU_ADD("maincpu", Z80,10733000/2) /* ??? */ |
1141 | 1141 | MCFG_CPU_PROGRAM_MAP(onna34ro_map) |
1142 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1142 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flstory_state, irq0_line_hold) | |
1143 | 1143 | |
1144 | 1144 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz */ |
1145 | 1145 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1146 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* IRQ generated by ??? */ | |
1146 | MCFG_CPU_PERIODIC_INT_DRIVER(flstory_state, irq0_line_hold, 2*60) /* IRQ generated by ??? */ | |
1147 | 1147 | /* NMI generated by the main CPU */ |
1148 | 1148 | |
1149 | 1149 | // MCFG_CPU_ADD("mcu", M68705,4000000) /* ??? */ |
r17996 | r17997 | |
1196 | 1196 | /* basic machine hardware */ |
1197 | 1197 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) /* 4 MHz */ |
1198 | 1198 | MCFG_CPU_PROGRAM_MAP(victnine_map) |
1199 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1199 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flstory_state, irq0_line_hold) | |
1200 | 1200 | |
1201 | 1201 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz */ |
1202 | 1202 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1203 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* IRQ generated by ??? */ | |
1203 | MCFG_CPU_PERIODIC_INT_DRIVER(flstory_state, irq0_line_hold, 2*60) /* IRQ generated by ??? */ | |
1204 | 1204 | /* NMI generated by the main CPU */ |
1205 | 1205 | |
1206 | 1206 | // MCFG_CPU_ADD("mcu", M68705,4000000) /* ??? */ |
r17996 | r17997 | |
1259 | 1259 | /* basic machine hardware */ |
1260 | 1260 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) /* 4 MHz */ |
1261 | 1261 | MCFG_CPU_PROGRAM_MAP(rumba_map) |
1262 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1262 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flstory_state, irq0_line_hold) | |
1263 | 1263 | |
1264 | 1264 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz */ |
1265 | 1265 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1266 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* IRQ generated by ??? */ | |
1266 | MCFG_CPU_PERIODIC_INT_DRIVER(flstory_state, irq0_line_hold, 2*60) /* IRQ generated by ??? */ | |
1267 | 1267 | /* NMI generated by the main CPU */ |
1268 | 1268 | |
1269 | 1269 | // MCFG_CPU_ADD("mcu", M68705,18432000/6) /* ??? */ |
r17996 | r17997 | |
---|---|---|
316 | 316 | |
317 | 317 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
318 | 318 | MCFG_CPU_PROGRAM_MAP(suprslam_map) |
319 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
319 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suprslam_state, irq1_line_hold) | |
320 | 320 | |
321 | 321 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */ |
322 | 322 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
2736 | 2736 | /* basic machine hardware */ |
2737 | 2737 | MCFG_CPU_ADD("maincpu", M6502, CPU_CLOCK) /* confirmed */ |
2738 | 2738 | MCFG_CPU_PROGRAM_MAP(sys903_map) |
2739 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
2739 | MCFG_CPU_VBLANK_INT_DRIVER("screen", calomega_state, irq0_line_hold) | |
2740 | 2740 | |
2741 | 2741 | MCFG_NVRAM_ADD_0FILL("nvram") |
2742 | 2742 |
r17996 | r17997 | |
---|---|---|
385 | 385 | /* basic machine hardware */ |
386 | 386 | MCFG_CPU_ADD("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz, guess */ |
387 | 387 | MCFG_CPU_PROGRAM_MAP(4roses_map) |
388 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
388 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _4roses_state, nmi_line_pulse) | |
389 | 389 | |
390 | 390 | // MCFG_NVRAM_ADD_0FILL("nvram") |
391 | 391 |
r17996 | r17997 | |
---|---|---|
503 | 503 | static MACHINE_CONFIG_START( bmcbowl, bmcbowl_state ) |
504 | 504 | MCFG_CPU_ADD("maincpu", M68000, 21477270/2 ) |
505 | 505 | MCFG_CPU_PROGRAM_MAP(bmcbowl_mem) |
506 | MCFG_CPU_VBLANK_INT("screen",irq2_line_hold) | |
506 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bmcbowl_state, irq2_line_hold) | |
507 | 507 | |
508 | 508 | MCFG_SCREEN_ADD("screen", RASTER) |
509 | 509 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
107 | 107 | DECLARE_READ8_MEMBER(controls_r); |
108 | 108 | virtual void machine_start(); |
109 | 109 | virtual void machine_reset(); |
110 | INTERRUPT_GEN_MEMBER(pachifev_vblank_irq); | |
110 | 111 | }; |
111 | 112 | |
112 | 113 | WRITE8_MEMBER(pachifev_state::controls_w) |
r17996 | r17997 | |
317 | 318 | } |
318 | 319 | |
319 | 320 | |
320 | ||
321 | ||
321 | 322 | { |
322 | 323 | { |
323 | 324 | static const char *const inname[2] = { "PLUNGER_P1", "PLUNGER_P2" }; |
324 | pachifev_state *state = device->machine().driver_data<pachifev_state>(); | |
325 | 325 | |
326 | 326 | /* I wish I had found a better way to handle cocktail inputs, but I can't find a way to access internal RAM */ |
327 | 327 | /* (bit 5 of 0xf0aa : 0 = player 1 and 1 = player 2 - bit 6 of 0xf0aa : 0 = upright and 1 = cocktail). */ |
328 | 328 | /* All I found is that in main RAM, 0xe00f.b determines the player : 0x00 = player 1 and 0x01 = player 2. */ |
329 | address_space *ramspace = device | |
329 | address_space *ramspace = device. | |
330 | 330 | UINT8 player = 0; |
331 | 331 | |
332 | if ((ramspace->read_byte(0xe00f) == 0x01) && (( | |
332 | if ((ramspace->read_byte(0xe00f) == 0x01) && (( | |
333 | 333 | player = 1; |
334 | 334 | |
335 | int current_power=state->ioport(inname[player])->read() & 0x3f; | |
336 | if(current_power != state->m_previous_power) | |
335 | int current_power=ioport(inname[player])->read() & 0x3f; | |
336 | if(current_power != m_previous_power) | |
337 | 337 | { |
338 | 338 | popmessage ("%d%%", (current_power * 100) / 0x3f); |
339 | 339 | } |
340 | 340 | |
341 | if( (!current_power) && ( | |
341 | if( (!current_power) && ( | |
342 | 342 | { |
343 | state->m_input_power=state->m_previous_power; | |
344 | state->m_cnt=NUM_PLUNGER_REPEATS; | |
343 | m_input_power=m_previous_power; | |
344 | m_cnt=NUM_PLUNGER_REPEATS; | |
345 | 345 | } |
346 | 346 | |
347 | | |
347 | | |
348 | 348 | } |
349 | 349 | |
350 | 350 | } |
r17996 | r17997 | |
378 | 378 | MCFG_CPU_CONFIG(pachifev_processor_config) |
379 | 379 | MCFG_CPU_PROGRAM_MAP(pachifev_map) |
380 | 380 | MCFG_CPU_IO_MAP(pachifev_cru) |
381 | ||
381 | | |
382 | 382 | |
383 | 383 | |
384 | 384 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
523 | 523 | m_flipscreen = 0; |
524 | 524 | } |
525 | 525 | |
526 | ||
526 | ||
527 | 527 | { |
528 | kyugo_state *state = device->machine().driver_data<kyugo_state>(); | |
529 | 528 | |
530 | if(state->m_nmi_mask) | |
531 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
529 | if(m_nmi_mask) | |
530 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
532 | 531 | } |
533 | 532 | |
534 | 533 | |
r17996 | r17997 | |
538 | 537 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */ |
539 | 538 | MCFG_CPU_PROGRAM_MAP(kyugo_main_map) |
540 | 539 | MCFG_CPU_IO_MAP(kyugo_main_portmap) |
541 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
540 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kyugo_state, vblank_irq) | |
542 | 541 | |
543 | 542 | MCFG_CPU_ADD("sub", Z80, XTAL_18_432MHz/6) /* verified on pcb */ |
544 | 543 | MCFG_CPU_PROGRAM_MAP(gyrodine_sub_map) |
545 | 544 | MCFG_CPU_IO_MAP(gyrodine_sub_portmap) |
546 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
545 | MCFG_CPU_PERIODIC_INT_DRIVER(kyugo_state, irq0_line_hold, 4*60) | |
547 | 546 | |
548 | 547 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
549 | 548 |
r17996 | r17997 | |
---|---|---|
737 | 737 | MCFG_CPU_ADD("master", Z80, MASTER_CLOCK/2) |
738 | 738 | MCFG_CPU_PROGRAM_MAP(master_map_program) |
739 | 739 | MCFG_CPU_IO_MAP(master_map_io) |
740 | MCFG_CPU_VBLANK_INT("screen", leland_master_interrupt) | |
740 | MCFG_CPU_VBLANK_INT_DRIVER("screen", leland_state, leland_master_interrupt) | |
741 | 741 | |
742 | 742 | MCFG_CPU_ADD("slave", Z80, MASTER_CLOCK/2) |
743 | 743 | MCFG_CPU_PROGRAM_MAP(slave_small_map_program) |
r17996 | r17997 | |
---|---|---|
58 | 58 | /* Need to check for a coin on the interrupt, */ |
59 | 59 | /* This will reset the cpu */ |
60 | 60 | |
61 | ||
61 | ||
62 | 62 | { |
63 | blockade_state *state = device->machine().driver_data<blockade_state>(); | |
64 | device->execute().resume(SUSPEND_ANY_REASON); | |
63 | device.execute().resume(SUSPEND_ANY_REASON); | |
65 | 64 | |
66 | if (( | |
65 | if (( | |
67 | 66 | { |
68 | state->m_just_been_reset = 1; | |
69 | device->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); | |
67 | m_just_been_reset = 1; | |
68 | device.execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE); | |
70 | 69 | } |
71 | 70 | } |
72 | 71 | |
r17996 | r17997 | |
472 | 471 | MCFG_CPU_ADD("maincpu", I8080, MASTER_CLOCK/10) |
473 | 472 | MCFG_CPU_PROGRAM_MAP(main_map) |
474 | 473 | MCFG_CPU_IO_MAP(main_io_map) |
475 | MCFG_CPU_VBLANK_INT("screen", blockade_interrupt) | |
474 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blockade_state, blockade_interrupt) | |
476 | 475 | |
477 | 476 | |
478 | 477 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
657 | 657 | static MACHINE_CONFIG_START( lordgun, lordgun_state ) |
658 | 658 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
659 | 659 | MCFG_CPU_PROGRAM_MAP(lordgun_map) |
660 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
660 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lordgun_state, irq4_line_hold) | |
661 | 661 | |
662 | 662 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_20MHz / 4) |
663 | 663 | MCFG_CPU_PROGRAM_MAP(lordgun_soundmem_map) |
r17996 | r17997 | |
699 | 699 | static MACHINE_CONFIG_START( aliencha, lordgun_state ) |
700 | 700 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
701 | 701 | MCFG_CPU_PROGRAM_MAP(aliencha_map) |
702 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
702 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lordgun_state, irq4_line_hold) | |
703 | 703 | |
704 | 704 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_20MHz / 4) |
705 | 705 | MCFG_CPU_PROGRAM_MAP(lordgun_soundmem_map) |
r17996 | r17997 | |
---|---|---|
263 | 263 | /* basic machine hardware */ |
264 | 264 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
265 | 265 | MCFG_CPU_PROGRAM_MAP(lemmings_map) |
266 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
266 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lemmings_state, irq6_line_hold) | |
267 | 267 | |
268 | 268 | MCFG_CPU_ADD("audiocpu", M6809,32220000/8) |
269 | 269 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
169 | 169 | /* basic machine hardware */ |
170 | 170 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */ |
171 | 171 | MCFG_CPU_PROGRAM_MAP(main_map) |
172 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
172 | MCFG_CPU_VBLANK_INT_DRIVER("screen", zerozone_state, irq1_line_hold) | |
173 | 173 | |
174 | 174 | MCFG_CPU_ADD("audiocpu", Z80, 1000000) /* 1 MHz ??? */ |
175 | 175 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
88 | 88 | } |
89 | 89 | |
90 | 90 | |
91 | INTERRUPT_GEN( | |
91 | INTERRUPT_GEN_MEMBER( | |
92 | 92 | { |
93 | espial_state *state = device->machine().driver_data<espial_state>(); | |
94 | 93 | |
95 | if ( | |
94 | if ( | |
96 | 95 | nmi_line_pulse(device); |
97 | 96 | } |
98 | 97 | |
r17996 | r17997 | |
328 | 327 | MCFG_CPU_ADD("audiocpu", Z80, 3072000) /* 2 MHz?????? */ |
329 | 328 | MCFG_CPU_PROGRAM_MAP(espial_sound_map) |
330 | 329 | MCFG_CPU_IO_MAP(espial_sound_io_map) |
331 | MCFG_CPU_PERIODIC_INT(espial_sound_nmi_gen,4*60) | |
330 | MCFG_CPU_PERIODIC_INT_DRIVER(espial_state, espial_sound_nmi_gen, 4*60) | |
332 | 331 | |
333 | 332 | |
334 | 333 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
224 | 224 | MCFG_CPU_PROGRAM_MAP(tiamc1_map) |
225 | 225 | MCFG_CPU_IO_MAP(tiamc1_io_map) |
226 | 226 | |
227 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
227 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tiamc1_state, irq1_line_hold) | |
228 | 228 | |
229 | 229 | |
230 | 230 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
1532 | 1532 | /* basic machine hardware */ |
1533 | 1533 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
1534 | 1534 | MCFG_CPU_PROGRAM_MAP(rallybik_main_map) |
1535 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1535 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1536 | 1536 | |
1537 | 1537 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_28MHz/8) |
1538 | 1538 | MCFG_CPU_PROGRAM_MAP(toaplan1_sound_map) |
r17996 | r17997 | |
1569 | 1569 | /* basic machine hardware */ |
1570 | 1570 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
1571 | 1571 | MCFG_CPU_PROGRAM_MAP(truxton_main_map) |
1572 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1572 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1573 | 1573 | |
1574 | 1574 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_28MHz/8) |
1575 | 1575 | MCFG_CPU_PROGRAM_MAP(toaplan1_sound_map) |
r17996 | r17997 | |
1606 | 1606 | /* basic machine hardware */ |
1607 | 1607 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
1608 | 1608 | MCFG_CPU_PROGRAM_MAP(hellfire_main_map) |
1609 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1609 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1610 | 1610 | |
1611 | 1611 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_28MHz/8) |
1612 | 1612 | MCFG_CPU_PROGRAM_MAP(toaplan1_sound_map) |
r17996 | r17997 | |
1643 | 1643 | /* basic machine hardware */ |
1644 | 1644 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
1645 | 1645 | MCFG_CPU_PROGRAM_MAP(zerowing_main_map) |
1646 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1646 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1647 | 1647 | |
1648 | 1648 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_28MHz/8) |
1649 | 1649 | MCFG_CPU_PROGRAM_MAP(toaplan1_sound_map) |
r17996 | r17997 | |
1680 | 1680 | /* basic machine hardware */ |
1681 | 1681 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
1682 | 1682 | MCFG_CPU_PROGRAM_MAP(demonwld_main_map) |
1683 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1683 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1684 | 1684 | |
1685 | 1685 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_28MHz/8) |
1686 | 1686 | MCFG_CPU_PROGRAM_MAP(toaplan1_sound_map) |
r17996 | r17997 | |
1721 | 1721 | /* basic machine hardware */ |
1722 | 1722 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
1723 | 1723 | MCFG_CPU_PROGRAM_MAP(samesame_main_map) |
1724 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1724 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1725 | 1725 | |
1726 | 1726 | MCFG_CPU_ADD("audiocpu", Z180, XTAL_28MHz/8) /* HD647180XOFS6 CPU */ |
1727 | 1727 | MCFG_CPU_PROGRAM_MAP(hd647180_mem_map) |
r17996 | r17997 | |
1756 | 1756 | /* basic machine hardware */ |
1757 | 1757 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) |
1758 | 1758 | MCFG_CPU_PROGRAM_MAP(outzone_main_map) |
1759 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1759 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1760 | 1760 | |
1761 | 1761 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_28MHz/8) |
1762 | 1762 | MCFG_CPU_PROGRAM_MAP(toaplan1_sound_map) |
r17996 | r17997 | |
1793 | 1793 | /* basic machine hardware */ |
1794 | 1794 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* verified on pcb */ |
1795 | 1795 | MCFG_CPU_PROGRAM_MAP(vimana_main_map) |
1796 | MCFG_CPU_VBLANK_INT("screen", toaplan1_interrupt) | |
1796 | MCFG_CPU_VBLANK_INT_DRIVER("screen", toaplan1_state, toaplan1_interrupt) | |
1797 | 1797 | |
1798 | 1798 | MCFG_CPU_ADD("audiocpu", Z180, XTAL_28MHz/8) /* HD647180XOFS6 CPU */ |
1799 | 1799 | MCFG_CPU_PROGRAM_MAP(hd647180_mem_map) |
r17996 | r17997 | |
---|---|---|
843 | 843 | MCFG_CPU_ADD("maincpu", Z80, VIDEO_CLOCK/4) |
844 | 844 | MCFG_CPU_PROGRAM_MAP(main_map) |
845 | 845 | MCFG_CPU_IO_MAP(main_portmap) |
846 | MCFG_CPU_VBLANK_INT("screen", segag80r_vblank_start) | |
846 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segag80r_state, segag80r_vblank_start) | |
847 | 847 | |
848 | 848 | |
849 | 849 | /* video hardware */ |
r17996 | r17997 | |
931 | 931 | /* basic machine hardware */ |
932 | 932 | MCFG_CPU_MODIFY("maincpu") |
933 | 933 | MCFG_CPU_IO_MAP(sindbadm_portmap) |
934 | MCFG_CPU_VBLANK_INT("screen", sindbadm_vblank_start) | |
934 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segag80r_state, sindbadm_vblank_start) | |
935 | 935 | |
936 | 936 | MCFG_I8255A_ADD( "ppi8255", sindbadm_ppi_intf ) |
937 | 937 | |
r17996 | r17997 | |
943 | 943 | |
944 | 944 | MCFG_CPU_ADD("audiocpu", Z80, SINDBADM_SOUND_CLOCK/2) |
945 | 945 | MCFG_CPU_PROGRAM_MAP(sindbadm_sound_map) |
946 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
946 | MCFG_CPU_PERIODIC_INT_DRIVER(segag80r_state, irq0_line_hold, 4*60) | |
947 | 947 | |
948 | 948 | /* sound hardware */ |
949 | 949 | MCFG_SOUND_ADD("sn1", SN76496_NEW, SINDBADM_SOUND_CLOCK/4) |
r17996 | r17997 | |
---|---|---|
730 | 730 | /* basic machine hardware */ |
731 | 731 | MCFG_CPU_ADD("maincpu", M68000, 10000000) // ? |
732 | 732 | MCFG_CPU_PROGRAM_MAP(magic10_map) |
733 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
733 | MCFG_CPU_VBLANK_INT_DRIVER("screen", magic10_state, irq1_line_hold) | |
734 | 734 | |
735 | 735 | MCFG_NVRAM_ADD_0FILL("nvram") |
736 | 736 | |
r17996 | r17997 | |
787 | 787 | /* basic machine hardware */ |
788 | 788 | MCFG_CPU_MODIFY("maincpu") |
789 | 789 | MCFG_CPU_PROGRAM_MAP(sgsafari_map) |
790 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) /* L1 interrupts */ | |
790 | MCFG_CPU_VBLANK_INT_DRIVER("screen", magic10_state, irq2_line_hold) /* L1 interrupts */ | |
791 | 791 | |
792 | 792 | MCFG_SCREEN_MODIFY("screen") |
793 | 793 | MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1) |
r17996 | r17997 | |
---|---|---|
164 | 164 | k053244_w(m_k053245, space, offset + 1, data & 0xff); |
165 | 165 | } |
166 | 166 | |
167 | ||
167 | ||
168 | 168 | { |
169 | tmnt_state *state = device->machine().driver_data<tmnt_state>(); | |
170 | 169 | |
171 | if (state->m_irq5_mask) | |
172 | device->execute().set_input_line(M68K_IRQ_5, HOLD_LINE); | |
170 | if (m_irq5_mask) | |
171 | device.execute().set_input_line(M68K_IRQ_5, HOLD_LINE); | |
173 | 172 | } |
174 | 173 | |
175 | ||
174 | ||
176 | 175 | { |
177 | tmnt_state *state = device->machine().driver_data<tmnt_state>(); | |
178 | 176 | |
179 | if (k052109_is_irq_enabled( | |
177 | if (k052109_is_irq_enabled( | |
180 | 178 | irq4_line_hold(device); |
181 | 179 | } |
182 | 180 | |
183 | ||
181 | ||
184 | 182 | { |
185 | tmnt_state *state = device->machine().driver_data<tmnt_state>(); | |
186 | 183 | |
187 | if (k052109_is_irq_enabled( | |
184 | if (k052109_is_irq_enabled( | |
188 | 185 | irq5_line_hold(device); |
189 | 186 | } |
190 | 187 | |
r17996 | r17997 | |
2242 | 2239 | } |
2243 | 2240 | |
2244 | 2241 | /* cuebrick, mia and tmnt */ |
2245 | ||
2242 | ||
2246 | 2243 | { |
2247 | tmnt_state *state = device->machine().driver_data<tmnt_state>(); | |
2248 | 2244 | |
2249 | if(state->m_irq5_mask) | |
2250 | device->execute().set_input_line(5, HOLD_LINE); | |
2245 | if(m_irq5_mask) | |
2246 | device.execute().set_input_line(5, HOLD_LINE); | |
2251 | 2247 | } |
2252 | 2248 | |
2253 | 2249 | |
r17996 | r17997 | |
2256 | 2252 | /* basic machine hardware */ |
2257 | 2253 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz */ |
2258 | 2254 | MCFG_CPU_PROGRAM_MAP(cuebrick_main_map) |
2259 | MCFG_CPU_VBLANK_INT("screen",cuebrick_interrupt) | |
2255 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, cuebrick_interrupt) | |
2260 | 2256 | |
2261 | 2257 | MCFG_MACHINE_START_OVERRIDE(tmnt_state,common) |
2262 | 2258 | MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common) |
r17996 | r17997 | |
2294 | 2290 | /* basic machine hardware */ |
2295 | 2291 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/3) |
2296 | 2292 | MCFG_CPU_PROGRAM_MAP(mia_main_map) |
2297 | MCFG_CPU_VBLANK_INT("screen", tmnt_vblank_irq) | |
2293 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, tmnt_vblank_irq) | |
2298 | 2294 | |
2299 | 2295 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
2300 | 2296 | MCFG_CPU_PROGRAM_MAP(mia_audio_map) |
r17996 | r17997 | |
2346 | 2342 | /* basic machine hardware */ |
2347 | 2343 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/3) |
2348 | 2344 | MCFG_CPU_PROGRAM_MAP(tmnt_main_map) |
2349 | MCFG_CPU_VBLANK_INT("screen", tmnt_vblank_irq) | |
2345 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, tmnt_vblank_irq) | |
2350 | 2346 | |
2351 | 2347 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
2352 | 2348 | MCFG_CPU_PROGRAM_MAP(tmnt_audio_map) |
r17996 | r17997 | |
2398 | 2394 | /* basic machine hardware */ |
2399 | 2395 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
2400 | 2396 | MCFG_CPU_PROGRAM_MAP(punkshot_main_map) |
2401 | MCFG_CPU_VBLANK_INT("screen", punkshot_interrupt) | |
2397 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, punkshot_interrupt) | |
2402 | 2398 | |
2403 | 2399 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
2404 | 2400 | MCFG_CPU_PROGRAM_MAP(punkshot_audio_map) |
r17996 | r17997 | |
2440 | 2436 | /* basic machine hardware */ |
2441 | 2437 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/2) |
2442 | 2438 | MCFG_CPU_PROGRAM_MAP(lgtnfght_main_map) |
2443 | MCFG_CPU_VBLANK_INT("screen", lgtnfght_interrupt) | |
2439 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, lgtnfght_interrupt) | |
2444 | 2440 | |
2445 | 2441 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
2446 | 2442 | MCFG_CPU_PROGRAM_MAP(lgtnfght_audio_map) |
r17996 | r17997 | |
2484 | 2480 | /* basic machine hardware */ |
2485 | 2481 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
2486 | 2482 | MCFG_CPU_PROGRAM_MAP(blswhstl_main_map) |
2487 | MCFG_CPU_VBLANK_INT("screen", punkshot_interrupt) | |
2483 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, punkshot_interrupt) | |
2488 | 2484 | |
2489 | 2485 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
2490 | 2486 | MCFG_CPU_PROGRAM_MAP(ssriders_audio_map) |
r17996 | r17997 | |
2550 | 2546 | /* basic machine hardware */ |
2551 | 2547 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* Confirmed */ |
2552 | 2548 | MCFG_CPU_PROGRAM_MAP(glfgreat_main_map) |
2553 | MCFG_CPU_VBLANK_INT("screen", lgtnfght_interrupt) | |
2549 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, lgtnfght_interrupt) | |
2554 | 2550 | |
2555 | 2551 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
2556 | 2552 | MCFG_CPU_PROGRAM_MAP(glfgreat_audio_map) |
r17996 | r17997 | |
2613 | 2609 | /* basic machine hardware */ |
2614 | 2610 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* Confirmed */ |
2615 | 2611 | MCFG_CPU_PROGRAM_MAP(prmrsocr_main_map) |
2616 | MCFG_CPU_VBLANK_INT("screen", lgtnfght_interrupt) | |
2612 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, lgtnfght_interrupt) | |
2617 | 2613 | |
2618 | 2614 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* ? */ |
2619 | 2615 | MCFG_CPU_PROGRAM_MAP(prmrsocr_audio_map) |
r17996 | r17997 | |
2658 | 2654 | /* basic machine hardware */ |
2659 | 2655 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) |
2660 | 2656 | MCFG_CPU_PROGRAM_MAP(tmnt2_main_map) |
2661 | MCFG_CPU_VBLANK_INT("screen", punkshot_interrupt) | |
2657 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, punkshot_interrupt) | |
2662 | 2658 | |
2663 | 2659 | MCFG_CPU_ADD("audiocpu", Z80, 8000000) /* 8 MHz; clock is correct, but there's 1 cycle wait for ROM/RAM */ |
2664 | 2660 | /* access. Access speed of ROM/RAM used on the machine is 150ns, */ |
r17996 | r17997 | |
2709 | 2705 | /* basic machine hardware */ |
2710 | 2706 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) |
2711 | 2707 | MCFG_CPU_PROGRAM_MAP(ssriders_main_map) |
2712 | MCFG_CPU_VBLANK_INT("screen", punkshot_interrupt) | |
2708 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, punkshot_interrupt) | |
2713 | 2709 | |
2714 | 2710 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ????? makes the ROM test sync */ |
2715 | 2711 | MCFG_CPU_PROGRAM_MAP(ssriders_audio_map) |
r17996 | r17997 | |
2756 | 2752 | /* basic machine hardware */ |
2757 | 2753 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
2758 | 2754 | MCFG_CPU_PROGRAM_MAP(sunsetbl_main_map) |
2759 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
2755 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, irq4_line_hold) | |
2760 | 2756 | |
2761 | 2757 | MCFG_MACHINE_START_OVERRIDE(tmnt_state,common) |
2762 | 2758 | MCFG_MACHINE_RESET_OVERRIDE(tmnt_state,common) |
r17996 | r17997 | |
2792 | 2788 | /* basic machine hardware */ |
2793 | 2789 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz */ |
2794 | 2790 | MCFG_CPU_PROGRAM_MAP(thndrx2_main_map) |
2795 | MCFG_CPU_VBLANK_INT("screen", punkshot_interrupt) | |
2791 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmnt_state, punkshot_interrupt) | |
2796 | 2792 | |
2797 | 2793 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
2798 | 2794 | MCFG_CPU_PROGRAM_MAP(thndrx2_audio_map) |
r17996 | r17997 | |
---|---|---|
598 | 598 | |
599 | 599 | MCFG_CPU_ADD("sndcpu", M68000, 16000000) |
600 | 600 | MCFG_CPU_PROGRAM_MAP(kongamaud_map) |
601 | MCFG_CPU_PERIODIC_INT(irq2_line_hold, 480) | |
601 | MCFG_CPU_PERIODIC_INT_DRIVER(kongambl_state, irq2_line_hold, 480) | |
602 | 602 | |
603 | 603 | MCFG_EEPROM_93C46_ADD("eeprom") |
604 | 604 |
r17996 | r17997 | |
---|---|---|
1006 | 1006 | * |
1007 | 1007 | *************************************/ |
1008 | 1008 | |
1009 | ||
1009 | ||
1010 | 1010 | { |
1011 | device | |
1011 | device. | |
1012 | 1012 | } |
1013 | 1013 | |
1014 | 1014 | |
r17996 | r17997 | |
1825 | 1825 | /* basic machine hardware */ |
1826 | 1826 | MCFG_CPU_ADD("maincpu", V30,XTAL_32MHz/2) /* verified on pcb */ |
1827 | 1827 | MCFG_CPU_PROGRAM_MAP(raiden2_mem) |
1828 | MCFG_CPU_VBLANK_INT("screen", raiden2_interrupt) | |
1828 | MCFG_CPU_VBLANK_INT_DRIVER("screen", raiden2_state, raiden2_interrupt) | |
1829 | 1829 | |
1830 | 1830 | MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,raiden2) |
1831 | 1831 | |
r17996 | r17997 | |
1881 | 1881 | /* basic machine hardware */ |
1882 | 1882 | MCFG_CPU_ADD("maincpu", V30,XTAL_32MHz/2) /* verified on pcb */ |
1883 | 1883 | MCFG_CPU_PROGRAM_MAP(zeroteam_mem) |
1884 | MCFG_CPU_VBLANK_INT("screen", raiden2_interrupt) | |
1884 | MCFG_CPU_VBLANK_INT_DRIVER("screen", raiden2_state, raiden2_interrupt) | |
1885 | 1885 | |
1886 | 1886 | MCFG_MACHINE_RESET_OVERRIDE(raiden2_state,zeroteam) |
1887 | 1887 |
r17996 | r17997 | |
---|---|---|
115 | 115 | timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE); |
116 | 116 | } |
117 | 117 | |
118 | ||
118 | ||
119 | 119 | { |
120 | zodiack_state *state = device->machine().driver_data<zodiack_state>(); | |
121 | 120 | |
122 | if ( | |
121 | if ( | |
123 | 122 | nmi_line_pulse(device); |
124 | 123 | } |
125 | 124 | |
r17996 | r17997 | |
565 | 564 | MCFG_CPU_ADD("audiocpu", Z80, 14318000/8) /* 1.78975 MHz??? */ |
566 | 565 | MCFG_CPU_PROGRAM_MAP(sound_map) |
567 | 566 | MCFG_CPU_IO_MAP(io_map) |
568 | MCFG_CPU_PERIODIC_INT(zodiack_sound_nmi_gen,8*60) /* IRQs are triggered by the main CPU */ | |
567 | MCFG_CPU_PERIODIC_INT_DRIVER(zodiack_state, zodiack_sound_nmi_gen, 8*60) /* IRQs are triggered by the main CPU */ | |
569 | 568 | |
570 | 569 | /* video hardware */ |
571 | 570 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
204 | 204 | MCFG_CPU_ADD("maincpu", Z80,3000000) /* 3 MHz */ |
205 | 205 | MCFG_CPU_PROGRAM_MAP(mogura_map) |
206 | 206 | MCFG_CPU_IO_MAP(mogura_io_map) |
207 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
207 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mogura_state, irq0_line_hold) | |
208 | 208 | |
209 | 209 | |
210 | 210 | MCFG_GFXDECODE(mogura) |
r17996 | r17997 | |
---|---|---|
1217 | 1217 | m_dsp->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); |
1218 | 1218 | } |
1219 | 1219 | |
1220 | ||
1220 | ||
1221 | 1221 | { |
1222 | device | |
1222 | device. | |
1223 | 1223 | } |
1224 | 1224 | |
1225 | 1225 | static const tc0640fio_interface taitojc_io_intf = |
r17996 | r17997 | |
1239 | 1239 | /* basic machine hardware */ |
1240 | 1240 | MCFG_CPU_ADD("maincpu", M68040, 25000000) |
1241 | 1241 | MCFG_CPU_PROGRAM_MAP(taitojc_map) |
1242 | MCFG_CPU_VBLANK_INT("screen", taitojc_vblank) | |
1242 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitojc_state, taitojc_vblank) | |
1243 | 1243 | |
1244 | 1244 | MCFG_CPU_ADD("sub", MC68HC11, 4000000) // MC68HC11M0 |
1245 | 1245 | MCFG_CPU_PROGRAM_MAP(hc11_pgm_map) |
r17996 | r17997 | |
---|---|---|
157 | 157 | virtual void machine_reset(); |
158 | 158 | virtual void video_start(); |
159 | 159 | UINT32 screen_update_ddealer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
160 | INTERRUPT_GEN_MEMBER(ddealer_interrupt); | |
160 | 161 | }; |
161 | 162 | |
162 | 163 | |
r17996 | r17997 | |
618 | 619 | m_coin_input = 0; |
619 | 620 | } |
620 | 621 | |
621 | ||
622 | ||
622 | 623 | { |
623 | device | |
624 | device. | |
624 | 625 | } |
625 | 626 | |
626 | 627 | static MACHINE_CONFIG_START( ddealer, ddealer_state ) |
627 | 628 | |
628 | 629 | MCFG_CPU_ADD("maincpu" , M68000, 10000000) |
629 | 630 | MCFG_CPU_PROGRAM_MAP(ddealer) |
630 | MCFG_CPU_VBLANK_INT("screen", ddealer_interrupt) | |
631 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 90)//guess,controls music tempo,112 is way too fast | |
631 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ddealer_state, ddealer_interrupt) | |
632 | MCFG_CPU_PERIODIC_INT_DRIVER(ddealer_state, irq1_line_hold, 90)//guess,controls music tempo,112 is way too fast | |
632 | 633 | |
633 | 634 | // M50747 or NMK-110 8131 MCU |
634 | 635 |
r17996 | r17997 | |
---|---|---|
656 | 656 | /* basic machine hardware */ |
657 | 657 | MCFG_CPU_ADD("maincpu",M6809,XTAL_4MHz) |
658 | 658 | MCFG_CPU_PROGRAM_MAP(main_map) |
659 | ||
659 | | |
660 | 660 | |
661 | 661 | /* video hardware */ |
662 | 662 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
99 | 99 | } |
100 | 100 | |
101 | 101 | |
102 | ||
102 | ||
103 | 103 | { |
104 | suprridr_state *state = device->machine().driver_data<suprridr_state>(); | |
105 | if (state->m_nmi_enable) | |
106 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
104 | if (m_nmi_enable) | |
105 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
107 | 106 | } |
108 | 107 | |
109 | 108 | |
r17996 | r17997 | |
360 | 359 | MCFG_CPU_ADD("maincpu", Z80, XTAL_49_152MHz/16) /* 3 MHz */ |
361 | 360 | MCFG_CPU_PROGRAM_MAP(main_map) |
362 | 361 | MCFG_CPU_IO_MAP(main_portmap) |
363 | MCFG_CPU_VBLANK_INT("screen", main_nmi_gen) | |
362 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suprridr_state, main_nmi_gen) | |
364 | 363 | |
365 | 364 | MCFG_CPU_ADD("audiocpu", Z80, 10000000/4) /* 2.5 MHz */ |
366 | 365 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
26 | 26 | #include "includes/konamipt.h" |
27 | 27 | #include "includes/spy.h" |
28 | 28 | |
29 | ||
29 | ||
30 | 30 | { |
31 | spy_state *state = device->machine().driver_data<spy_state>(); | |
32 | 31 | |
33 | if (k052109_is_irq_enabled(state->m_k052109)) | |
34 | device->execute().set_input_line(0, HOLD_LINE); | |
32 | if (k052109_is_irq_enabled(m_k052109)) | |
33 | device.execute().set_input_line(0, HOLD_LINE); | |
35 | 34 | } |
36 | 35 | |
37 | 36 | READ8_MEMBER(spy_state::spy_bankedram1_r) |
r17996 | r17997 | |
532 | 531 | /* basic machine hardware */ |
533 | 532 | MCFG_CPU_ADD("maincpu", M6809, 3000000) /* ? */ |
534 | 533 | MCFG_CPU_PROGRAM_MAP(spy_map) |
535 | MCFG_CPU_VBLANK_INT("screen", spy_interrupt) | |
534 | MCFG_CPU_VBLANK_INT_DRIVER("screen", spy_state, spy_interrupt) | |
536 | 535 | |
537 | 536 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
538 | 537 | MCFG_CPU_PROGRAM_MAP(spy_sound_map) |
r17996 | r17997 | |
---|---|---|
90 | 90 | virtual void video_start(); |
91 | 91 | DECLARE_VIDEO_START(gp98); |
92 | 92 | UINT32 screen_update_jingbell(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
93 | INTERRUPT_GEN_MEMBER(jingbell_interrupt); | |
93 | 94 | }; |
94 | 95 | |
95 | 96 | |
r17996 | r17997 | |
733 | 734 | m_video_enable = 1; |
734 | 735 | } |
735 | 736 | |
736 | ||
737 | ||
737 | 738 | { |
738 | igs009_state *state = device->machine().driver_data<igs009_state>(); | |
739 | if (state->m_nmi_enable & 0x80) | |
740 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
739 | if (m_nmi_enable & 0x80) | |
740 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
741 | 741 | } |
742 | 742 | |
743 | 743 | static MACHINE_CONFIG_START( jingbell, igs009_state ) |
r17996 | r17997 | |
745 | 745 | MCFG_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2) /* HD64180RP8, 8 MHz? */ |
746 | 746 | MCFG_CPU_PROGRAM_MAP(jingbell_map) |
747 | 747 | MCFG_CPU_IO_MAP(jingbell_portmap) |
748 | MCFG_CPU_VBLANK_INT("screen",jingbell_interrupt) | |
748 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs009_state, jingbell_interrupt) | |
749 | 749 | |
750 | 750 | |
751 | 751 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
1715 | 1715 | static MACHINE_CONFIG_START( ilpag, blitz68k_state ) |
1716 | 1716 | MCFG_CPU_ADD("maincpu", M68000, 11059200 ) // ? |
1717 | 1717 | MCFG_CPU_PROGRAM_MAP(ilpag_map) |
1718 | MCFG_CPU_VBLANK_INT("screen",irq4_line_hold) //3 & 6 used, mcu comms? | |
1718 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq4_line_hold) //3 & 6 used, mcu comms? | |
1719 | 1719 | |
1720 | 1720 | MCFG_SCREEN_ADD("screen", RASTER) |
1721 | 1721 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
1779 | 1779 | static MACHINE_CONFIG_DERIVED( steaser, ilpag ) |
1780 | 1780 | MCFG_CPU_MODIFY("maincpu") |
1781 | 1781 | MCFG_CPU_PROGRAM_MAP(steaser_map) |
1782 | MCFG_CPU_VBLANK_INT("screen",irq5_line_hold) //3, 4 & 6 used, mcu comms? | |
1782 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq5_line_hold) //3, 4 & 6 used, mcu comms? | |
1783 | 1783 | |
1784 | 1784 | MCFG_TIMER_ADD_PERIODIC("coinsim", steaser_mcu_sim, attotime::from_hz(10000)) // not real, but for simulating the MCU |
1785 | 1785 | MACHINE_CONFIG_END |
r17996 | r17997 | |
1815 | 1815 | static MACHINE_CONFIG_START( bankrob, blitz68k_state ) |
1816 | 1816 | MCFG_CPU_ADD("maincpu", M68000, XTAL_11_0592MHz) |
1817 | 1817 | MCFG_CPU_PROGRAM_MAP(bankrob_map) |
1818 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) // protection prevents correct irq frequency by crtc | |
1818 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq3_line_hold) // protection prevents correct irq frequency by crtc | |
1819 | 1819 | // irq 2 reads from MCUs |
1820 | 1820 | |
1821 | 1821 | // MC68HC705C8P (MCU1) |
r17996 | r17997 | |
1847 | 1847 | static MACHINE_CONFIG_START( bankroba, blitz68k_state ) |
1848 | 1848 | MCFG_CPU_ADD("maincpu", M68000, XTAL_11_0592MHz ) |
1849 | 1849 | MCFG_CPU_PROGRAM_MAP(bankroba_map) |
1850 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) // protection prevents correct irq frequency by crtc | |
1850 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq5_line_hold) // protection prevents correct irq frequency by crtc | |
1851 | 1851 | // irq 3,4 read from MCUs |
1852 | 1852 | |
1853 | 1853 | // MC68HC705C8P (MCU) |
r17996 | r17997 | |
1906 | 1906 | static MACHINE_CONFIG_START( dualgame, blitz68k_state ) |
1907 | 1907 | MCFG_CPU_ADD("maincpu", M68000, XTAL_11_0592MHz ) |
1908 | 1908 | MCFG_CPU_PROGRAM_MAP(dualgame_map) |
1909 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) // lev 2 = MCUs, lev 3 = vblank | |
1909 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq2_line_hold) // lev 2 = MCUs, lev 3 = vblank | |
1910 | 1910 | |
1911 | 1911 | // MC68HC705C8P (MCU1) |
1912 | 1912 | |
r17996 | r17997 | |
1937 | 1937 | static MACHINE_CONFIG_START( hermit, blitz68k_state ) |
1938 | 1938 | MCFG_CPU_ADD("maincpu", M68000, XTAL_22_1184MHz/2 ) |
1939 | 1939 | MCFG_CPU_PROGRAM_MAP(hermit_map) |
1940 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) // protection prevents correct irq frequency by crtc | |
1940 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq1_line_hold) // protection prevents correct irq frequency by crtc | |
1941 | 1941 | |
1942 | 1942 | // MC68HC705C8P (MCU) |
1943 | 1943 | |
r17996 | r17997 | |
1966 | 1966 | static MACHINE_CONFIG_START( maxidbl, blitz68k_state ) |
1967 | 1967 | MCFG_CPU_ADD("maincpu", M68000, XTAL_11_0592MHz) |
1968 | 1968 | MCFG_CPU_PROGRAM_MAP(maxidbl_map) |
1969 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) // protection prevents correct irq frequency by crtc | |
1969 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blitz68k_state, irq3_line_hold) // protection prevents correct irq frequency by crtc | |
1970 | 1970 | // irq 2 reads from MCUs |
1971 | 1971 | |
1972 | 1972 | // MC68HC705C8P (MCU1) |
r17996 | r17997 | |
---|---|---|
1049 | 1049 | /* basic machine hardware */ |
1050 | 1050 | MCFG_CPU_ADD("maincpu", M68EC020, XTAL_32MHz/2) /* verified on pcb */ |
1051 | 1051 | MCFG_CPU_PROGRAM_MAP(psikyo_map) |
1052 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1052 | MCFG_CPU_VBLANK_INT_DRIVER("screen", psikyo_state, irq1_line_hold) | |
1053 | 1053 | |
1054 | 1054 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/8) /* verified on pcb */ |
1055 | 1055 | MCFG_CPU_PROGRAM_MAP(sngkace_sound_map) |
r17996 | r17997 | |
1098 | 1098 | /* basic machine hardware */ |
1099 | 1099 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) |
1100 | 1100 | MCFG_CPU_PROGRAM_MAP(psikyo_map) |
1101 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1101 | MCFG_CPU_VBLANK_INT_DRIVER("screen", psikyo_state, irq1_line_hold) | |
1102 | 1102 | |
1103 | 1103 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ! LZ8420M (Z80 core) ! */ |
1104 | 1104 | MCFG_CPU_PROGRAM_MAP(gunbird_sound_map) |
r17996 | r17997 | |
1135 | 1135 | /* basic machine hardware */ |
1136 | 1136 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) |
1137 | 1137 | MCFG_CPU_PROGRAM_MAP(psikyo_bootleg_map) |
1138 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1138 | MCFG_CPU_VBLANK_INT_DRIVER("screen", psikyo_state, irq1_line_hold) | |
1139 | 1139 | |
1140 | 1140 | |
1141 | 1141 | /* video hardware */ |
r17996 | r17997 | |
1183 | 1183 | /* basic machine hardware */ |
1184 | 1184 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) |
1185 | 1185 | MCFG_CPU_PROGRAM_MAP(psikyo_map) |
1186 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
1186 | MCFG_CPU_VBLANK_INT_DRIVER("screen", psikyo_state, irq1_line_hold) | |
1187 | 1187 | |
1188 | 1188 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* ! LZ8420M (Z80 core) ! */ |
1189 | 1189 | MCFG_CPU_PROGRAM_MAP(gunbird_sound_map) |
r17996 | r17997 | |
---|---|---|
90 | 90 | virtual void video_start(); |
91 | 91 | virtual void palette_init(); |
92 | 92 | UINT32 screen_update_dacholer(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
93 | INTERRUPT_GEN_MEMBER(sound_irq); | |
93 | 94 | }; |
94 | 95 | |
95 | 96 | TILE_GET_INFO_MEMBER(dacholer_state::get_bg_tile_info) |
r17996 | r17997 | |
549 | 550 | GFXDECODE_END |
550 | 551 | |
551 | 552 | |
552 | ||
553 | ||
553 | 554 | { |
554 | dacholer_state *state = device->machine().driver_data<dacholer_state>(); | |
555 | if (state->m_music_interrupt_enable == 1) | |
555 | if (m_music_interrupt_enable == 1) | |
556 | 556 | { |
557 | device | |
557 | device. | |
558 | 558 | } |
559 | 559 | } |
560 | 560 | |
r17996 | r17997 | |
652 | 652 | MCFG_CPU_ADD("maincpu", Z80, XTAL_16MHz/4) /* ? */ |
653 | 653 | MCFG_CPU_PROGRAM_MAP(main_map) |
654 | 654 | MCFG_CPU_IO_MAP(main_io_map) |
655 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
655 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dacholer_state, irq0_line_assert) | |
656 | 656 | |
657 | 657 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_19_968MHz/8) /* ? */ |
658 | 658 | MCFG_CPU_PROGRAM_MAP(snd_map) |
659 | 659 | MCFG_CPU_IO_MAP(snd_io_map) |
660 | MCFG_CPU_VBLANK_INT("screen",sound_irq) | |
660 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dacholer_state, sound_irq) | |
661 | 661 | |
662 | 662 | |
663 | 663 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
385 | 385 | MCFG_CPU_ADD("soundcpu", Z80, 24000000/6 ) |
386 | 386 | MCFG_CPU_PROGRAM_MAP(sound_map) |
387 | 387 | MCFG_CPU_IO_MAP(sound_io_map) |
388 | MCFG_CPU_PERIODIC_INT(irq0_line_assert, 183) | |
388 | MCFG_CPU_PERIODIC_INT_DRIVER(tapatune_state, irq0_line_assert, 183) | |
389 | 389 | |
390 | 390 | /* video hardware */ |
391 | 391 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
616 | 616 | /* basic machine hardware */ |
617 | 617 | MCFG_CPU_ADD("maincpu",M68000, XTAL_16MHz) /* 16MHz */ |
618 | 618 | MCFG_CPU_PROGRAM_MAP(multchmp_map) |
619 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
619 | MCFG_CPU_VBLANK_INT_DRIVER("screen", esd16_state, irq6_line_hold) | |
620 | 620 | |
621 | 621 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) /* 4MHz */ |
622 | 622 | MCFG_CPU_PROGRAM_MAP(multchmp_sound_map) |
623 | 623 | MCFG_CPU_IO_MAP(multchmp_sound_io_map) |
624 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,32*60) /* IRQ By Main CPU */ | |
624 | MCFG_CPU_PERIODIC_INT_DRIVER(esd16_state, nmi_line_pulse, 32*60) /* IRQ By Main CPU */ | |
625 | 625 | |
626 | 626 | |
627 | 627 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
72 | 72 | virtual void video_start(); |
73 | 73 | virtual void palette_init(); |
74 | 74 | UINT32 screen_update_cb2001(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
75 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
75 | 76 | }; |
76 | 77 | |
77 | 78 | |
r17996 | r17997 | |
737 | 738 | |
738 | 739 | INPUT_PORTS_END |
739 | 740 | |
740 | ||
741 | ||
741 | 742 | { |
742 | generic_pulse_irq_line(device, NEC_INPUT_LINE_INTP0, 1); | |
743 | generic_pulse_irq_line(device.execute(), NEC_INPUT_LINE_INTP0, 1); | |
743 | 744 | } |
744 | 745 | |
745 | 746 | static const gfx_layout cb2001_layout = |
r17996 | r17997 | |
836 | 837 | MCFG_CPU_CONFIG(cb2001_config) |
837 | 838 | MCFG_CPU_PROGRAM_MAP(cb2001_map) |
838 | 839 | MCFG_CPU_IO_MAP(cb2001_io) |
839 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
840 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cb2001_state, vblank_irq) | |
840 | 841 | |
841 | 842 | MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf ) |
842 | 843 | MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf ) |
r17996 | r17997 | |
---|---|---|
312 | 312 | /* basic machine hardware */ |
313 | 313 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz/2) /* 28 MHz crystal */ |
314 | 314 | MCFG_CPU_PROGRAM_MAP(funkyjet_map) |
315 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
315 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funkyjet_state, irq6_line_hold) | |
316 | 316 | |
317 | 317 | MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/4) /* Custom chip 45, Audio section crystal is 32.220 MHz */ |
318 | 318 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
302 | 302 | /* basic machine hardware */ |
303 | 303 | MCFG_CPU_ADD("maincpu", Z80, 12288000 / 4) /* 3.072 MHz ? */ |
304 | 304 | MCFG_CPU_PROGRAM_MAP(wallc_map) |
305 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
305 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wallc_state, irq0_line_hold) | |
306 | 306 | |
307 | 307 | /* video hardware */ |
308 | 308 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
673 | 673 | MCFG_CPU_ADD("maincpu", Z80,10000000/4) |
674 | 674 | MCFG_CPU_PROGRAM_MAP(marinedt_map) |
675 | 675 | MCFG_CPU_IO_MAP(marinedt_io_map) |
676 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
676 | MCFG_CPU_VBLANK_INT_DRIVER("screen", marinedt_state, irq0_line_hold) | |
677 | 677 | |
678 | 678 | |
679 | 679 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
473 | 473 | static MACHINE_CONFIG_START( sliver, sliver_state ) |
474 | 474 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
475 | 475 | MCFG_CPU_PROGRAM_MAP(sliver_map) |
476 | MCFG_CPU_VBLANK_INT("screen",irq4_line_hold) | |
476 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sliver_state, irq4_line_hold) | |
477 | 477 | MCFG_TIMER_ADD_PERIODIC("obj_actel", obj_irq_cb, attotime::from_hz(60)) /* unknown clock, causes "obj actel ready error" without this */ |
478 | 478 | // irq 2 valid but not used? |
479 | 479 |
r17996 | r17997 | |
---|---|---|
398 | 398 | MCFG_CPU_ADD("maincpu", Z80, 11000000/4) /* 2.75 MHz (see notes) */ |
399 | 399 | MCFG_CPU_PROGRAM_MAP(epos_map) |
400 | 400 | MCFG_CPU_IO_MAP(io_map) |
401 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
401 | MCFG_CPU_VBLANK_INT_DRIVER("screen", epos_state, irq0_line_hold) | |
402 | 402 | |
403 | 403 | |
404 | 404 | /* video hardware */ |
r17996 | r17997 | |
422 | 422 | MCFG_CPU_ADD("maincpu", Z80, 11000000/4) /* 2.75 MHz (see notes) */ |
423 | 423 | MCFG_CPU_PROGRAM_MAP(dealer_map) |
424 | 424 | MCFG_CPU_IO_MAP(dealer_io_map) |
425 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
425 | MCFG_CPU_VBLANK_INT_DRIVER("screen", epos_state, irq0_line_hold) | |
426 | 426 | |
427 | 427 | MCFG_I8255A_ADD( "ppi8255", ppi8255_intf ) |
428 | 428 |
r17996 | r17997 | |
---|---|---|
357 | 357 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ |
358 | 358 | MCFG_CPU_PROGRAM_MAP(mrflea_master_map) |
359 | 359 | MCFG_CPU_IO_MAP(mrflea_master_io_map) |
360 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* NMI resets the game */ | |
360 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mrflea_state, irq0_line_hold) /* NMI resets the game */ | |
361 | 361 | |
362 | 362 | MCFG_CPU_ADD("sub", Z80, 6000000) |
363 | 363 | MCFG_CPU_PROGRAM_MAP(mrflea_slave_map) |
r17996 | r17997 | |
---|---|---|
2243 | 2243 | PORT_BIT( 0x00200000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_PLAYER(2) |
2244 | 2244 | INPUT_PORTS_END |
2245 | 2245 | |
2246 | ||
2246 | ||
2247 | 2247 | { |
2248 | device | |
2248 | device. | |
2249 | 2249 | } |
2250 | 2250 | |
2251 | ||
2251 | ||
2252 | 2252 | { |
2253 | 2253 | // this seems to need to be periodic (see the life bar portraits in sfiii2 |
2254 | 2254 | // but also triggered on certain dma events (or warzard locks up in attract) |
2255 | 2255 | // what is the REAL source of IRQ10?? |
2256 | device | |
2256 | device. | |
2257 | 2257 | } |
2258 | 2258 | |
2259 | 2259 | |
r17996 | r17997 | |
2494 | 2494 | /* basic machine hardware */ |
2495 | 2495 | MCFG_CPU_ADD("maincpu", SH2, 6250000*4) // external clock is 6.25 Mhz, it sets the intenral multiplier to 4x (this should probably be handled in the core..) |
2496 | 2496 | MCFG_CPU_PROGRAM_MAP(cps3_map) |
2497 | MCFG_CPU_VBLANK_INT("screen", cps3_vbl_interrupt) | |
2498 | MCFG_CPU_PERIODIC_INT(cps3_other_interrupt,80) /* ?source? */ | |
2497 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps3_state, cps3_vbl_interrupt) | |
2498 | MCFG_CPU_PERIODIC_INT_DRIVER(cps3_state, cps3_other_interrupt, 80) /* ?source? */ | |
2499 | 2499 | MCFG_CPU_CONFIG(sh2_conf_cps3) |
2500 | 2500 | |
2501 | 2501 | MCFG_SCSIBUS_ADD("scsi") |
r17996 | r17997 | |
---|---|---|
18 | 18 | m_cause_interrupt = 1; |
19 | 19 | } |
20 | 20 | |
21 | ||
21 | ||
22 | 22 | { |
23 | glass_state *state = device->machine().driver_data<glass_state>(); | |
24 | 23 | |
25 | if ( | |
24 | if ( | |
26 | 25 | { |
27 | device->execute().set_input_line(6, HOLD_LINE); | |
28 | state->m_cause_interrupt = 0; | |
26 | device.execute().set_input_line(6, HOLD_LINE); | |
27 | m_cause_interrupt = 0; | |
29 | 28 | } |
30 | 29 | } |
31 | 30 | |
r17996 | r17997 | |
196 | 195 | /* basic machine hardware */ |
197 | 196 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz (M680000 P12) */ |
198 | 197 | MCFG_CPU_PROGRAM_MAP(glass_map) |
199 | MCFG_CPU_VBLANK_INT("screen", glass_interrupt) | |
198 | MCFG_CPU_VBLANK_INT_DRIVER("screen", glass_state, glass_interrupt) | |
200 | 199 | |
201 | 200 | |
202 | 201 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
269 | 269 | DEVCB_DRIVER_LINE_MEMBER(spiders_state,main_cpu_irq) /* IRQB */ |
270 | 270 | }; |
271 | 271 | |
272 | ||
272 | ||
273 | 273 | { |
274 | pia6821_device *pia1 = | |
274 | pia6821_device *pia1 = | |
275 | 275 | /* update the different PIA pins from the input ports */ |
276 | 276 | |
277 | 277 | /* CA1 - copy of PA1 (COIN1) */ |
278 | pia1->ca1_w( | |
278 | pia1->ca1_w( | |
279 | 279 | |
280 | 280 | /* CA2 - copy of PA0 (SERVICE1) */ |
281 | pia1->ca2_w( | |
281 | pia1->ca2_w( | |
282 | 282 | |
283 | 283 | /* CB1 - (crosshatch) */ |
284 | pia1->cb1_w( | |
284 | pia1->cb1_w( | |
285 | 285 | |
286 | 286 | /* CB2 - NOT CONNECTED */ |
287 | 287 | } |
r17996 | r17997 | |
693 | 693 | /* basic machine hardware */ |
694 | 694 | MCFG_CPU_ADD("maincpu", M6809, 2800000) |
695 | 695 | MCFG_CPU_PROGRAM_MAP(spiders_main_map) |
696 | MCFG_CPU_PERIODIC_INT(update_pia_1, 25) | |
696 | MCFG_CPU_PERIODIC_INT_DRIVER(spiders_state, update_pia_1, 25) | |
697 | 697 | |
698 | 698 | MCFG_CPU_ADD("audiocpu", M6802, 3000000) |
699 | 699 | MCFG_CPU_PROGRAM_MAP(spiders_audio_map) |
r17996 | r17997 | |
---|---|---|
25 | 25 | virtual void video_start(); |
26 | 26 | UINT32 screen_update_ddz(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
27 | 27 | void screen_eof_ddz(screen_device &screen, bool state); |
28 | INTERRUPT_GEN_MEMBER(ddz_interrupt); | |
28 | 29 | }; |
29 | 30 | |
30 | 31 | |
r17996 | r17997 | |
47 | 48 | |
48 | 49 | } |
49 | 50 | |
50 | ||
51 | ||
51 | 52 | { |
52 | 53 | // IntReq(24); //VRender0 VBlank |
53 | 54 | } |
r17996 | r17997 | |
66 | 67 | static MACHINE_CONFIG_START( ddz, ddz_state ) |
67 | 68 | MCFG_CPU_ADD("maincpu", SE3208, 43000000) |
68 | 69 | MCFG_CPU_PROGRAM_MAP(ddz_mem) |
69 | MCFG_CPU_VBLANK_INT("screen", ddz_interrupt) | |
70 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ddz_state, ddz_interrupt) | |
70 | 71 | |
71 | 72 | //MCFG_MACHINE_RESET_OVERRIDE(ddz_state,ddz) |
72 | 73 |
r17996 | r17997 | |
---|---|---|
768 | 768 | /* basic machine hardware */ |
769 | 769 | MCFG_CPU_ADD("maincpu", M68000, 12000000 ) /* 12 MHz ??? (guess) */ |
770 | 770 | MCFG_CPU_PROGRAM_MAP(mlanding_mem) |
771 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
771 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mlanding_state, irq6_line_hold) | |
772 | 772 | |
773 | 773 | MCFG_CPU_ADD("sub", M68000, 12000000 ) /* 12 MHz ??? (guess) */ |
774 | 774 | MCFG_CPU_PROGRAM_MAP(mlanding_sub_mem) |
775 | MCFG_CPU_PERIODIC_INT(irq6_line_hold,7*60) /* ??? */ | |
775 | MCFG_CPU_PERIODIC_INT_DRIVER(mlanding_state, irq6_line_hold, 7*60) /* ??? */ | |
776 | 776 | |
777 | 777 | MCFG_CPU_ADD("audiocpu", Z80, 4000000 ) /* 4 MHz ??? (guess) */ |
778 | 778 | MCFG_CPU_PROGRAM_MAP(mlanding_z80_mem) |
779 | 779 | |
780 | 780 | MCFG_CPU_ADD("z80sub", Z80, 4000000 ) /* 4 MHz ??? (guess) */ |
781 | 781 | MCFG_CPU_PROGRAM_MAP(mlanding_z80_sub_mem) |
782 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
782 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mlanding_state, irq0_line_hold) | |
783 | 783 | |
784 | 784 | MCFG_CPU_ADD("dsp", TMS32025,12000000) /* 12 MHz ??? */ |
785 | 785 | MCFG_CPU_PROGRAM_MAP(DSP_map_program) |
r17996 | r17997 | |
---|---|---|
317 | 317 | m_variable_data = 0x11; |
318 | 318 | } |
319 | 319 | |
320 | ||
320 | ||
321 | 321 | { |
322 | tankbust_state *state = device->machine().driver_data<tankbust_state>(); | |
323 | 322 | |
324 | if(state->m_irq_mask) | |
325 | device->execute().set_input_line(0, HOLD_LINE); | |
323 | if(m_irq_mask) | |
324 | device.execute().set_input_line(0, HOLD_LINE); | |
326 | 325 | } |
327 | 326 | |
328 | 327 | static MACHINE_CONFIG_START( tankbust, tankbust_state ) |
r17996 | r17997 | |
330 | 329 | /* basic machine hardware */ |
331 | 330 | MCFG_CPU_ADD("maincpu", Z80, XTAL_14_31818MHz/2) /* Verified on PCB */ |
332 | 331 | MCFG_CPU_PROGRAM_MAP(main_map) |
333 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
332 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tankbust_state, vblank_irq) | |
334 | 333 | |
335 | 334 | MCFG_CPU_ADD("sub", Z80, XTAL_14_31818MHz/4) /* Verified on PCB */ |
336 | 335 | // MCFG_CPU_ADD("sub", Z80, XTAL_14_31818MHz/3) /* Accurate to audio recording, but apparently incorrect clock */ |
r17996 | r17997 | |
---|---|---|
289 | 289 | m_priority = 0; |
290 | 290 | } |
291 | 291 | |
292 | ||
292 | ||
293 | 293 | { |
294 | bankp_state *state = device->machine().driver_data<bankp_state>(); | |
295 | 294 | |
296 | if(state->m_nmi_mask) | |
297 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
295 | if(m_nmi_mask) | |
296 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
298 | 297 | } |
299 | 298 | |
300 | 299 | static MACHINE_CONFIG_START( bankp, bankp_state ) |
r17996 | r17997 | |
303 | 302 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) |
304 | 303 | MCFG_CPU_PROGRAM_MAP(bankp_map) |
305 | 304 | MCFG_CPU_IO_MAP(bankp_io_map) |
306 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
305 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bankp_state, vblank_irq) | |
307 | 306 | |
308 | 307 | |
309 | 308 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
464 | 464 | static MACHINE_CONFIG_START( neoprint, neoprint_state ) |
465 | 465 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
466 | 466 | MCFG_CPU_PROGRAM_MAP(neoprint_map) |
467 | // MCFG_CPU_PERIODIC_INT(irq3_line_hold,45) /* camera / printer irq, unknown timing */ | |
468 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) // lv1,2,3 valid? | |
467 | MCFG_CPU_PERIODIC_INT_DRIVER(neoprint_state, irq3_line_hold, 45) /* camera / printer irq, unknown timing */ | |
468 | MCFG_CPU_VBLANK_INT_DRIVER("screen", neoprint_state, irq2_line_hold) // lv1,2,3 valid? | |
469 | 469 | |
470 | 470 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
471 | 471 | MCFG_CPU_PROGRAM_MAP(neoprint_audio_map) |
r17996 | r17997 | |
504 | 504 | static MACHINE_CONFIG_START( nprsp, neoprint_state ) |
505 | 505 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
506 | 506 | MCFG_CPU_PROGRAM_MAP(nprsp_map) |
507 | // MCFG_CPU_PERIODIC_INT(irq3_line_hold,45) /* camera / printer irq, unknown timing */ | |
508 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) // lv1,2,3 valid? | |
507 | MCFG_CPU_PERIODIC_INT_DRIVER(neoprint_state, irq3_line_hold, 45) /* camera / printer irq, unknown timing */ | |
508 | MCFG_CPU_VBLANK_INT_DRIVER("screen", neoprint_state, irq2_line_hold) // lv1,2,3 valid? | |
509 | 509 | |
510 | 510 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
511 | 511 | MCFG_CPU_PROGRAM_MAP(neoprint_audio_map) |
r17996 | r17997 | |
---|---|---|
410 | 410 | MCFG_CPU_ADD("maincpu", Z80, 19968000/4) /* unknown divider, galds definitely relies on this for correct voice pitch */ |
411 | 411 | MCFG_CPU_PROGRAM_MAP(pastelg_map) |
412 | 412 | MCFG_CPU_IO_MAP(pastelg_io_map) |
413 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) // nmiclock not written, chip is 1411M1 instead of 1413M3 | |
413 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert) // nmiclock not written, chip is 1411M1 instead of 1413M3 | |
414 | 414 | |
415 | 415 | MCFG_MACHINE_RESET(nb1413m3) |
416 | 416 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
466 | 466 | MCFG_CPU_ADD("maincpu", Z80, 19968000/4) /* unknown divider, galds definitely relies on this for correct voice pitch */ |
467 | 467 | MCFG_CPU_PROGRAM_MAP(pastelg_map) |
468 | 468 | MCFG_CPU_IO_MAP(threeds_io_map) |
469 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
469 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert) | |
470 | 470 | |
471 | 471 | MCFG_MACHINE_RESET(nb1413m3) |
472 | 472 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
48 | 48 | |
49 | 49 | /*********************************************************************/ |
50 | 50 | |
51 | ||
51 | ||
52 | 52 | { |
53 | galastrm_state *state = device->machine().driver_data<galastrm_state>(); | |
54 | state->m_frame_counter ^= 1; | |
55 | device->execute().set_input_line(5, HOLD_LINE); | |
53 | m_frame_counter ^= 1; | |
54 | device.execute().set_input_line(5, HOLD_LINE); | |
56 | 55 | } |
57 | 56 | |
58 | 57 | static TIMER_CALLBACK( galastrm_interrupt6 ) |
r17996 | r17997 | |
310 | 309 | /* basic machine hardware */ |
311 | 310 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz */ |
312 | 311 | MCFG_CPU_PROGRAM_MAP(galastrm_map) |
313 | MCFG_CPU_VBLANK_INT("screen", galastrm_interrupt) /* VBL */ | |
312 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galastrm_state, galastrm_interrupt) /* VBL */ | |
314 | 313 | |
315 | 314 | MCFG_EEPROM_ADD("eeprom", galastrm_eeprom_interface) |
316 | 315 |
r17996 | r17997 | |
---|---|---|
1329 | 1329 | /* basic machine hardware */ |
1330 | 1330 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
1331 | 1331 | MCFG_CPU_PROGRAM_MAP(tetrisp2_map) |
1332 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1332 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tetrisp2_state, irq2_line_hold) | |
1333 | 1333 | |
1334 | 1334 | MCFG_NVRAM_ADD_0FILL("nvram") |
1335 | 1335 | MCFG_WATCHDOG_VBLANK_INIT(8) /* guess */ |
r17996 | r17997 | |
1361 | 1361 | /* basic machine hardware */ |
1362 | 1362 | MCFG_CPU_ADD("maincpu", M68000, XTAL_12MHz) |
1363 | 1363 | MCFG_CPU_PROGRAM_MAP(nndmseal_map) |
1364 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1364 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tetrisp2_state, irq2_line_hold) | |
1365 | 1365 | |
1366 | 1366 | MCFG_NVRAM_ADD_0FILL("nvram") |
1367 | 1367 | |
r17996 | r17997 | |
1391 | 1391 | /* basic machine hardware */ |
1392 | 1392 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
1393 | 1393 | MCFG_CPU_PROGRAM_MAP(rockn1_map) |
1394 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1394 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tetrisp2_state, irq2_line_hold) | |
1395 | 1395 | |
1396 | 1396 | MCFG_NVRAM_ADD_0FILL("nvram") |
1397 | 1397 | |
r17996 | r17997 | |
1422 | 1422 | /* basic machine hardware */ |
1423 | 1423 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
1424 | 1424 | MCFG_CPU_PROGRAM_MAP(rockn2_map) |
1425 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1425 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tetrisp2_state, irq2_line_hold) | |
1426 | 1426 | |
1427 | 1427 | MCFG_NVRAM_ADD_0FILL("nvram") |
1428 | 1428 | |
r17996 | r17997 | |
1453 | 1453 | /* basic machine hardware */ |
1454 | 1454 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
1455 | 1455 | MCFG_CPU_PROGRAM_MAP(rocknms_main_map) |
1456 | MCFG_CPU_VBLANK_INT("lscreen", irq2_line_hold) | |
1456 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", tetrisp2_state, irq2_line_hold) | |
1457 | 1457 | |
1458 | 1458 | MCFG_CPU_ADD("sub", M68000, 12000000) |
1459 | 1459 | MCFG_CPU_PROGRAM_MAP(rocknms_sub_map) |
1460 | MCFG_CPU_VBLANK_INT("lscreen", irq2_line_hold) | |
1460 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", tetrisp2_state, irq2_line_hold) | |
1461 | 1461 | |
1462 | 1462 | MCFG_NVRAM_ADD_0FILL("nvram") |
1463 | 1463 | |
r17996 | r17997 | |
1495 | 1495 | static MACHINE_CONFIG_START( stepstag, stepstag_state ) |
1496 | 1496 | MCFG_CPU_ADD("maincpu", M68000, 16000000 ) //?? |
1497 | 1497 | MCFG_CPU_PROGRAM_MAP(stepstag_map) |
1498 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) // lev 4 triggered by system timer | |
1498 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tetrisp2_state, irq2_line_hold) // lev 4 triggered by system timer | |
1499 | 1499 | |
1500 | 1500 | MCFG_CPU_ADD("sub", M68000, 16000000 ) //?? |
1501 | 1501 | MCFG_CPU_PROGRAM_MAP(stepstag_sub_map) |
1502 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) // lev 6 triggered by main CPU | |
1502 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tetrisp2_state, irq4_line_hold) // lev 6 triggered by main CPU | |
1503 | 1503 | |
1504 | 1504 | MCFG_NVRAM_ADD_0FILL("nvram") |
1505 | 1505 |
r17996 | r17997 | |
---|---|---|
1955 | 1955 | /* basic machine hardware */ |
1956 | 1956 | MCFG_CPU_ADD("maincpu", M68000, 6000000) /* 24MHz/4? */ |
1957 | 1957 | MCFG_CPU_PROGRAM_MAP(kyros_map) |
1958 | MCFG_CPU_VBLANK_INT("screen",irq1_line_hold) | |
1959 | MCFG_CPU_PERIODIC_INT(irq2_line_hold,60) // MCU irq | |
1958 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold) | |
1959 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq2_line_hold, 60) // MCU irq | |
1960 | 1960 | |
1961 | 1961 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
1962 | 1962 | MCFG_CPU_PROGRAM_MAP(sstingry_sound_map) |
1963 | 1963 | MCFG_CPU_IO_MAP(kyros_sound_portmap) |
1964 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 2*60) | |
1965 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 4000) | |
1964 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq0_line_hold, 2*60) | |
1965 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, nmi_line_pulse, 4000) | |
1966 | 1966 | |
1967 | 1967 | MCFG_CPU_ADD("mcu", I8748, 9263750) /* 9.263750 MHz oscillator, divided by 3*5 internally */ |
1968 | 1968 | // MCFG_CPU_PROGRAM_MAP(i8748_map) |
r17996 | r17997 | |
2005 | 2005 | /* basic machine hardware */ |
2006 | 2006 | MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz/4) /* Verified on bootleg PCB */ |
2007 | 2007 | MCFG_CPU_PROGRAM_MAP(kyros_map) |
2008 | MCFG_CPU_VBLANK_INT("screen",irq1_line_hold) | |
2009 | MCFG_CPU_PERIODIC_INT(irq2_line_hold,60) // MCU irq | |
2008 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold) | |
2009 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq2_line_hold, 60) // MCU irq | |
2010 | 2010 | |
2011 | 2011 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/6) /* Verified on bootleg PCB */ |
2012 | 2012 | MCFG_CPU_PROGRAM_MAP(kyros_sound_map) |
2013 | 2013 | MCFG_CPU_IO_MAP(kyros_sound_portmap) |
2014 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 2*60) | |
2015 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 4000) | |
2014 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq0_line_hold, 2*60) | |
2015 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, nmi_line_pulse, 4000) | |
2016 | 2016 | |
2017 | 2017 | MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common) |
2018 | 2018 | MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common) |
r17996 | r17997 | |
2051 | 2051 | /* basic machine hardware */ |
2052 | 2052 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
2053 | 2053 | MCFG_CPU_PROGRAM_MAP(kyros_map) |
2054 | MCFG_CPU_VBLANK_INT("screen",irq1_line_hold) | |
2055 | MCFG_CPU_PERIODIC_INT(irq2_line_hold,60*16) // MCU irq | |
2054 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold) | |
2055 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq2_line_hold, 60*16) // MCU irq | |
2056 | 2056 | |
2057 | 2057 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
2058 | 2058 | MCFG_CPU_PROGRAM_MAP(jongbou_sound_map) |
2059 | 2059 | MCFG_CPU_IO_MAP(jongbou_sound_portmap) |
2060 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 160*60) | |
2060 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq0_line_hold, 160*60) | |
2061 | 2061 | |
2062 | 2062 | MCFG_MACHINE_START_OVERRIDE(alpha68k_state,common) |
2063 | 2063 | MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,common) |
r17996 | r17997 | |
2088 | 2088 | /* basic machine hardware */ |
2089 | 2089 | MCFG_CPU_ADD("maincpu", M68000, 6000000) /* 24MHz/4? */ |
2090 | 2090 | MCFG_CPU_PROGRAM_MAP(alpha68k_I_map) |
2091 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* VBL */ | |
2091 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold)/* VBL */ | |
2092 | 2092 | |
2093 | 2093 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) // 4Mhz seems to yield the correct tone |
2094 | 2094 | MCFG_CPU_PROGRAM_MAP(alpha68k_I_s_map) |
r17996 | r17997 | |
2117 | 2117 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
2118 | 2118 | MACHINE_CONFIG_END |
2119 | 2119 | |
2120 | ||
2120 | ||
2121 | 2121 | { |
2122 | alpha68k_state *state = device->machine().driver_data<alpha68k_state>(); | |
2123 | 2122 | |
2124 | if(state->m_sound_nmi_mask) | |
2125 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
2123 | if(m_sound_nmi_mask) | |
2124 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
2126 | 2125 | } |
2127 | 2126 | |
2128 | 2127 | static MACHINE_CONFIG_START( alpha68k_II, alpha68k_state ) |
r17996 | r17997 | |
2130 | 2129 | /* basic machine hardware */ |
2131 | 2130 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* Correct */ |
2132 | 2131 | MCFG_CPU_PROGRAM_MAP(alpha68k_II_map) |
2133 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold)/* VBL */ | |
2132 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq3_line_hold)/* VBL */ | |
2134 | 2133 | |
2135 | 2134 | MCFG_CPU_ADD("audiocpu", Z80, 3579545*2) /* Unlikely but needed to stop nested NMI's */ |
2136 | 2135 | MCFG_CPU_PROGRAM_MAP(sound_map) |
2137 | 2136 | MCFG_CPU_IO_MAP(sound_portmap) |
2138 | MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 7500) | |
2137 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, alpha68k_sound_nmi, 7500) | |
2139 | 2138 | |
2140 | 2139 | MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_II) |
2141 | 2140 | MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_II) |
r17996 | r17997 | |
2169 | 2168 | |
2170 | 2169 | static MACHINE_CONFIG_DERIVED( btlfieldb, alpha68k_II ) |
2171 | 2170 | MCFG_CPU_MODIFY("maincpu") |
2172 | MCFG_CPU_VBLANK_INT("screen",irq1_line_hold) | |
2173 | MCFG_CPU_PERIODIC_INT(irq2_line_hold,60*4) // MCU irq | |
2171 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold) | |
2172 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq2_line_hold, 60*4) // MCU irq | |
2174 | 2173 | MACHINE_CONFIG_END |
2175 | 2174 | |
2176 | 2175 | static MACHINE_CONFIG_START( alpha68k_II_gm, alpha68k_state ) |
r17996 | r17997 | |
2178 | 2177 | /* basic machine hardware */ |
2179 | 2178 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
2180 | 2179 | MCFG_CPU_PROGRAM_MAP(alpha68k_II_map) |
2181 | MCFG_CPU_VBLANK_INT("screen",irq1_line_hold) | |
2182 | MCFG_CPU_PERIODIC_INT(irq2_line_hold,60*3) // MCU irq | |
2180 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold) | |
2181 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, irq2_line_hold, 60*3) // MCU irq | |
2183 | 2182 | |
2184 | 2183 | MCFG_CPU_ADD("audiocpu", Z80, 4000000*2) // TODO: fix this |
2185 | 2184 | MCFG_CPU_PROGRAM_MAP(sound_map) |
2186 | 2185 | MCFG_CPU_IO_MAP(sound_portmap) |
2187 | MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 7500) | |
2186 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, alpha68k_sound_nmi, 7500) | |
2188 | 2187 | |
2189 | 2188 | MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_II) |
2190 | 2189 | MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_II) |
r17996 | r17997 | |
2222 | 2221 | /* basic machine hardware */ |
2223 | 2222 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* ? */ |
2224 | 2223 | MCFG_CPU_PROGRAM_MAP(alpha68k_V_map) |
2225 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold)/* VBL */ | |
2224 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq3_line_hold)/* VBL */ | |
2226 | 2225 | |
2227 | 2226 | MCFG_CPU_ADD("audiocpu", Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */ |
2228 | 2227 | MCFG_CPU_PROGRAM_MAP(sound_map) |
2229 | 2228 | MCFG_CPU_IO_MAP(sound_portmap) |
2230 | MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 8500) | |
2229 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, alpha68k_sound_nmi, 8500) | |
2231 | 2230 | |
2232 | 2231 | MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_V) |
2233 | 2232 | MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_V) |
r17996 | r17997 | |
2264 | 2263 | /* basic machine hardware */ |
2265 | 2264 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* ? */ |
2266 | 2265 | MCFG_CPU_PROGRAM_MAP(alpha68k_V_map) |
2267 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold)/* VBL */ | |
2266 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq3_line_hold)/* VBL */ | |
2268 | 2267 | |
2269 | 2268 | MCFG_CPU_ADD("audiocpu", Z80, /*3579545*/3579545*2) /* Unlikely but needed to stop nested NMI's */ |
2270 | 2269 | MCFG_CPU_PROGRAM_MAP(sound_map) |
2271 | 2270 | MCFG_CPU_IO_MAP(sound_portmap) |
2272 | MCFG_CPU_PERIODIC_INT(alpha68k_sound_nmi, 8500) | |
2271 | MCFG_CPU_PERIODIC_INT_DRIVER(alpha68k_state, alpha68k_sound_nmi, 8500) | |
2273 | 2272 | |
2274 | 2273 | MCFG_MACHINE_START_OVERRIDE(alpha68k_state,alpha68k_V) |
2275 | 2274 | MCFG_MACHINE_RESET_OVERRIDE(alpha68k_state,alpha68k_V) |
r17996 | r17997 | |
2306 | 2305 | /* basic machine hardware */ |
2307 | 2306 | MCFG_CPU_ADD("maincpu", M68000, 9000000) /* Confirmed 18 MHz/2 */ |
2308 | 2307 | MCFG_CPU_PROGRAM_MAP(tnextspc_map) |
2309 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold)/* VBL */ | |
2308 | MCFG_CPU_VBLANK_INT_DRIVER("screen", alpha68k_state, irq1_line_hold)/* VBL */ | |
2310 | 2309 | |
2311 | 2310 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
2312 | 2311 | MCFG_CPU_PROGRAM_MAP(tnextspc_sound_map) |
r17996 | r17997 | |
---|---|---|
2181 | 2181 | 00008bf0: sys[0x00] := 0x04 // vblank |
2182 | 2182 | 00008bf8: sys[0x08] := 0xff // ? |
2183 | 2183 | */ |
2184 | ||
2184 | ||
2185 | 2185 | { |
2186 | namcos22_state *state = device->machine().driver_data<namcos22_state>(); | |
2187 | 2186 | |
2188 | if (nthbyte( | |
2187 | if (nthbyte( | |
2189 | 2188 | { |
2190 | 2189 | // vblank irq |
2191 | state->m_irq_state |= 1; | |
2192 | device->execute().set_input_line(nthbyte(state->m_system_controller, 0x00) & 7, ASSERT_LINE); | |
2190 | m_irq_state |= 1; | |
2191 | device.execute().set_input_line(nthbyte(m_system_controller, 0x00) & 7, ASSERT_LINE); | |
2193 | 2192 | } |
2194 | 2193 | } |
2195 | 2194 | |
r17996 | r17997 | |
2343 | 2342 | |
2344 | 2343 | move.b #$34, $40000004.l |
2345 | 2344 | */ |
2346 | ||
2345 | ||
2347 | 2346 | { |
2348 | namcos22_state *state = device->machine().driver_data<namcos22_state>(); | |
2349 | 2347 | |
2350 | switch( | |
2348 | switch( | |
2351 | 2349 | { |
2352 | 2350 | case NAMCOS22_RIDGE_RACER: |
2353 | 2351 | case NAMCOS22_RIDGE_RACER2: |
2354 | 2352 | case NAMCOS22_RAVE_RACER: |
2355 | 2353 | case NAMCOS22_ACE_DRIVER: |
2356 | 2354 | case NAMCOS22_VICTORY_LAP: |
2357 | HandleDrivingIO( | |
2355 | HandleDrivingIO( | |
2358 | 2356 | break; |
2359 | 2357 | |
2360 | 2358 | case NAMCOS22_CYBER_COMMANDO: |
2361 | HandleCyberCommandoIO( | |
2359 | HandleCyberCommandoIO( | |
2362 | 2360 | break; |
2363 | 2361 | |
2364 | 2362 | default: |
2365 | 2363 | break; |
2366 | 2364 | } |
2367 | 2365 | |
2368 | if (nthbyte( | |
2366 | if (nthbyte( | |
2369 | 2367 | { |
2370 | 2368 | // vblank irq |
2371 | state->m_irq_state |= 1; | |
2372 | device->execute().set_input_line(nthbyte(state->m_system_controller, 0x04) & 7, ASSERT_LINE); | |
2369 | m_irq_state |= 1; | |
2370 | device.execute().set_input_line(nthbyte(m_system_controller, 0x04) & 7, ASSERT_LINE); | |
2373 | 2371 | } |
2374 | 2372 | } |
2375 | 2373 | |
r17996 | r17997 | |
2945 | 2943 | static MACHINE_CONFIG_START( namcos22s, namcos22_state ) |
2946 | 2944 | MCFG_CPU_ADD("maincpu", M68EC020,SS22_MASTER_CLOCK/2) |
2947 | 2945 | MCFG_CPU_PROGRAM_MAP(namcos22s_am) |
2948 | MCFG_CPU_VBLANK_INT("screen", namcos22s_interrupt) | |
2946 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos22_state, namcos22s_interrupt) | |
2949 | 2947 | |
2950 | 2948 | MCFG_CPU_ADD("master", TMS32025,SS22_MASTER_CLOCK) |
2951 | 2949 | MCFG_CPU_PROGRAM_MAP(master_dsp_program) |
r17996 | r17997 | |
3196 | 3194 | static MACHINE_CONFIG_START( namcos22, namcos22_state ) |
3197 | 3195 | MCFG_CPU_ADD("maincpu", M68020,SS22_MASTER_CLOCK/2) /* 25 MHz? */ |
3198 | 3196 | MCFG_CPU_PROGRAM_MAP(namcos22_am) |
3199 | MCFG_CPU_VBLANK_INT("screen", namcos22_interrupt) | |
3197 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos22_state, namcos22_interrupt) | |
3200 | 3198 | |
3201 | 3199 | MCFG_CPU_ADD("master", TMS32025,SS22_MASTER_CLOCK) /* ? */ |
3202 | 3200 | MCFG_CPU_PROGRAM_MAP(master_dsp_program) |
r17996 | r17997 | |
---|---|---|
415 | 415 | /* basic machine hardware */ |
416 | 416 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16) |
417 | 417 | MCFG_CPU_PROGRAM_MAP(flyball_map) |
418 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
418 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flyball_state, nmi_line_pulse) | |
419 | 419 | |
420 | 420 | |
421 | 421 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
2314 | 2314 | MCFG_CPU_MODIFY("maincpu") |
2315 | 2315 | MCFG_CPU_PROGRAM_MAP(ozon1_map) |
2316 | 2316 | MCFG_CPU_IO_MAP(ozon1_io_map) |
2317 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2317 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxold_state, nmi_line_pulse) | |
2318 | 2318 | |
2319 | 2319 | MCFG_MACHINE_RESET(0) |
2320 | 2320 | |
r17996 | r17997 | |
2332 | 2332 | MCFG_CPU_ADD("maincpu", S2650, MASTER_CLOCK/6) |
2333 | 2333 | MCFG_CPU_PROGRAM_MAP(drivfrcg) |
2334 | 2334 | MCFG_CPU_IO_MAP(drivfrcg_io) |
2335 | MCFG_CPU_VBLANK_INT("screen", hunchbks_vh_interrupt) | |
2335 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxold_state, hunchbks_vh_interrupt) | |
2336 | 2336 | |
2337 | 2337 | |
2338 | 2338 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
2384 | 2384 | MCFG_FRAGMENT_ADD(galaxian_audio) |
2385 | 2385 | MACHINE_CONFIG_END |
2386 | 2386 | |
2387 | ||
2387 | ||
2388 | 2388 | { |
2389 | galaxold_state *state = device->machine().driver_data<galaxold_state>(); | |
2390 | 2389 | |
2391 | if(state->m_nmi_mask) | |
2392 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
2390 | if(m_nmi_mask) | |
2391 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
2393 | 2392 | } |
2394 | 2393 | |
2395 | 2394 | static MACHINE_CONFIG_DERIVED( harem, galaxold_base ) |
r17996 | r17997 | |
2397 | 2396 | /* basic machine hardware */ |
2398 | 2397 | MCFG_CPU_MODIFY("maincpu") |
2399 | 2398 | MCFG_CPU_PROGRAM_MAP(harem_cpu1) |
2400 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
2399 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxold_state, vblank_irq) | |
2401 | 2400 | |
2402 | 2401 | MCFG_CPU_ADD("audiocpu", Z80, 1620000) //? |
2403 | 2402 | MCFG_CPU_PROGRAM_MAP(harem_cpu2) |
r17996 | r17997 | |
2433 | 2432 | MCFG_CPU_ADD("maincpu", S2650, PIXEL_CLOCK/2) |
2434 | 2433 | MCFG_CPU_PROGRAM_MAP(racknrol) |
2435 | 2434 | MCFG_CPU_IO_MAP(racknrol_io) |
2436 | MCFG_CPU_VBLANK_INT("screen", hunchbks_vh_interrupt) | |
2435 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxold_state, hunchbks_vh_interrupt) | |
2437 | 2436 | |
2438 | 2437 | MCFG_GFXDECODE(galaxian) |
2439 | 2438 | MCFG_PALETTE_LENGTH(32) |
r17996 | r17997 | |
2491 | 2490 | MCFG_CPU_ADD("maincpu", S2650, PIXEL_CLOCK/2) |
2492 | 2491 | MCFG_CPU_PROGRAM_MAP(racknrol) |
2493 | 2492 | MCFG_CPU_IO_MAP(hexpoola_io) |
2494 | MCFG_CPU_VBLANK_INT("screen", hunchbks_vh_interrupt) | |
2493 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaxold_state, hunchbks_vh_interrupt) | |
2495 | 2494 | |
2496 | 2495 | MCFG_GFXDECODE(galaxian) |
2497 | 2496 | MCFG_PALETTE_LENGTH(32) |
r17996 | r17997 | |
---|---|---|
40 | 40 | DECLARE_WRITE_LINE_MEMBER(horse_timer_out); |
41 | 41 | virtual void palette_init(); |
42 | 42 | UINT32 screen_update_horse(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
43 | INTERRUPT_GEN_MEMBER(horse_interrupt); | |
43 | 44 | }; |
44 | 45 | |
45 | 46 | |
r17996 | r17997 | |
191 | 192 | |
192 | 193 | ***************************************************************************/ |
193 | 194 | |
194 | ||
195 | ||
195 | 196 | { |
196 | device->execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
197 | device->execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
197 | device.execute().set_input_line(I8085_RST75_LINE, ASSERT_LINE); | |
198 | device.execute().set_input_line(I8085_RST75_LINE, CLEAR_LINE); | |
198 | 199 | } |
199 | 200 | |
200 | 201 | static MACHINE_CONFIG_START( horse, horse_state ) |
r17996 | r17997 | |
202 | 203 | MCFG_CPU_ADD("maincpu", I8085A, XTAL_12MHz / 2) |
203 | 204 | MCFG_CPU_PROGRAM_MAP(horse_map) |
204 | 205 | MCFG_CPU_IO_MAP(horse_io_map) |
205 | MCFG_CPU_VBLANK_INT("screen", horse_interrupt) | |
206 | MCFG_CPU_VBLANK_INT_DRIVER("screen", horse_state, horse_interrupt) | |
206 | 207 | |
207 | 208 | MCFG_I8155_ADD("i8155", XTAL_12MHz / 2, i8155_intf) |
208 | 209 |
r17996 | r17997 | |
---|---|---|
118 | 118 | virtual void machine_reset(); |
119 | 119 | virtual void video_start(); |
120 | 120 | UINT32 screen_update_pturn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
121 | INTERRUPT_GEN_MEMBER(pturn_sub_intgen); | |
122 | INTERRUPT_GEN_MEMBER(pturn_main_intgen); | |
121 | 123 | }; |
122 | 124 | |
123 | 125 | |
r17996 | r17997 | |
459 | 461 | PORT_DIPSETTING( 0x80, DEF_STR( Japanese ) ) |
460 | 462 | INPUT_PORTS_END |
461 | 463 | |
462 | ||
464 | ||
463 | 465 | { |
464 | pturn_state *state = device->machine().driver_data<pturn_state>(); | |
465 | if(state->m_nmi_sub) | |
466 | if(m_nmi_sub) | |
466 | 467 | { |
467 | device | |
468 | device. | |
468 | 469 | } |
469 | 470 | } |
470 | 471 | |
471 | ||
472 | ||
472 | 473 | { |
473 | pturn_state *state = device->machine().driver_data<pturn_state>(); | |
474 | if (state->m_nmi_main) | |
474 | if (m_nmi_main) | |
475 | 475 | { |
476 | device | |
476 | device. | |
477 | 477 | } |
478 | 478 | } |
479 | 479 | |
r17996 | r17997 | |
486 | 486 | static MACHINE_CONFIG_START( pturn, pturn_state ) |
487 | 487 | MCFG_CPU_ADD("maincpu", Z80, 12000000/3) |
488 | 488 | MCFG_CPU_PROGRAM_MAP(main_map) |
489 | MCFG_CPU_VBLANK_INT("screen", pturn_main_intgen) | |
489 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pturn_state, pturn_main_intgen) | |
490 | 490 | |
491 | 491 | MCFG_CPU_ADD("audiocpu", Z80, 12000000/3) |
492 | 492 | MCFG_CPU_PROGRAM_MAP(sub_map) |
493 | MCFG_CPU_PERIODIC_INT(pturn_sub_intgen,3*60) | |
493 | MCFG_CPU_PERIODIC_INT_DRIVER(pturn_state, pturn_sub_intgen, 3*60) | |
494 | 494 | |
495 | 495 | |
496 | 496 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
231 | 231 | |
232 | 232 | MCFG_CPU_ADD("maincpu", M68000, 14318180 /2) // or 10mhz? ? |
233 | 233 | MCFG_CPU_PROGRAM_MAP(gumbo_map) |
234 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) // all the same | |
234 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gumbo_state, irq1_line_hold) // all the same | |
235 | 235 | |
236 | 236 | MCFG_GFXDECODE(gumbo) |
237 | 237 |
r17996 | r17997 | |
---|---|---|
1403 | 1403 | /* basic machine hardware */ |
1404 | 1404 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
1405 | 1405 | MCFG_CPU_PROGRAM_MAP(automat_map) |
1406 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)/* VBL */ | |
1406 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_hold)/* VBL */ | |
1407 | 1407 | |
1408 | 1408 | MCFG_CPU_ADD("audiocpu", Z80, 3000000)// ? |
1409 | 1409 | MCFG_CPU_PROGRAM_MAP(automat_s_map) |
r17996 | r17997 | |
1456 | 1456 | /* basic machine hardware */ |
1457 | 1457 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */ |
1458 | 1458 | MCFG_CPU_PROGRAM_MAP(secretab_map) |
1459 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)/* VBL */ | |
1459 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_hold)/* VBL */ | |
1460 | 1460 | |
1461 | 1461 | MCFG_CPU_ADD("audiocpu", Z80, 3000000)// ? |
1462 | 1462 | MCFG_CPU_PROGRAM_MAP(automat_s_map) |
r17996 | r17997 | |
1510 | 1510 | /* basic machine hardware */ |
1511 | 1511 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
1512 | 1512 | MCFG_CPU_PROGRAM_MAP(dec0_map) |
1513 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert)/* VBL, level 5 interrupts from i8751 */ | |
1513 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_assert)/* VBL, level 5 interrupts from i8751 */ | |
1514 | 1514 | |
1515 | 1515 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz / 8) |
1516 | 1516 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
1533 | 1533 | /* basic machine hardware */ |
1534 | 1534 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
1535 | 1535 | MCFG_CPU_PROGRAM_MAP(dec0_map) |
1536 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert)/* VBL, level 5 interrupts from i8751 */ | |
1536 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_assert)/* VBL, level 5 interrupts from i8751 */ | |
1537 | 1537 | |
1538 | 1538 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz / 8) |
1539 | 1539 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
1553 | 1553 | /* basic machine hardware */ |
1554 | 1554 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
1555 | 1555 | MCFG_CPU_PROGRAM_MAP(dec0_map) |
1556 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert)/* VBL, level 5 interrupts from i8751 */ | |
1556 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_assert)/* VBL, level 5 interrupts from i8751 */ | |
1557 | 1557 | |
1558 | 1558 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz / 8) |
1559 | 1559 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
1573 | 1573 | /* basic machine hardware */ |
1574 | 1574 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
1575 | 1575 | MCFG_CPU_PROGRAM_MAP(dec0_map) |
1576 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert)/* VBL */ | |
1576 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_assert)/* VBL */ | |
1577 | 1577 | |
1578 | 1578 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz / 8) |
1579 | 1579 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
1598 | 1598 | /* basic machine hardware */ |
1599 | 1599 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
1600 | 1600 | MCFG_CPU_PROGRAM_MAP(dec0_map) |
1601 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert)/* VBL */ | |
1601 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_assert)/* VBL */ | |
1602 | 1602 | |
1603 | 1603 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) |
1604 | 1604 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
1618 | 1618 | /* basic machine hardware */ |
1619 | 1619 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
1620 | 1620 | MCFG_CPU_PROGRAM_MAP(dec0_map) |
1621 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert)/* VBL */ | |
1621 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_assert)/* VBL */ | |
1622 | 1622 | |
1623 | 1623 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz / 8) |
1624 | 1624 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
r17996 | r17997 | |
1649 | 1649 | /* basic machine hardware */ |
1650 | 1650 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */ |
1651 | 1651 | MCFG_CPU_PROGRAM_MAP(slyspy_map) |
1652 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) /* VBL, apparently it auto-acks */ | |
1652 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_hold) /* VBL, apparently it auto-acks */ | |
1653 | 1653 | |
1654 | 1654 | MCFG_CPU_ADD("audiocpu", H6280, XTAL_12MHz/2/3) /* verified on pcb (6Mhz is XIN on pin 10 of H6280, verified on pcb */ |
1655 | 1655 | MCFG_CPU_PROGRAM_MAP(slyspy_s_map) |
r17996 | r17997 | |
1676 | 1676 | /* basic machine hardware */ |
1677 | 1677 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb (20MHZ OSC) 68000P12 running at 10Mhz */ |
1678 | 1678 | MCFG_CPU_PROGRAM_MAP(midres_map) |
1679 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold)/* VBL */ | |
1679 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_hold)/* VBL */ | |
1680 | 1680 | |
1681 | 1681 | MCFG_CPU_ADD("audiocpu", H6280, XTAL_24MHz/4/3) /* verified on pcb (6Mhz is XIN on pin 10 of H6280, verified on pcb */ |
1682 | 1682 | MCFG_CPU_PROGRAM_MAP(midres_s_map) |
r17996 | r17997 | |
---|---|---|
105 | 105 | virtual void video_start(); |
106 | 106 | virtual void palette_init(); |
107 | 107 | UINT32 screen_update_jubileep(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
108 | INTERRUPT_GEN_MEMBER(jubileep_interrupt); | |
108 | 109 | }; |
109 | 110 | |
110 | 111 | |
r17996 | r17997 | |
152 | 153 | * Read / Write Handlers * |
153 | 154 | **************************/ |
154 | 155 | |
155 | ||
156 | ||
156 | 157 | { |
157 | 158 | /* doesn't seems to work properly. need to set level1 interrupts */ |
158 | device | |
159 | device. | |
159 | 160 | } |
160 | 161 | |
161 | 162 | |
r17996 | r17997 | |
417 | 418 | MCFG_CPU_ADD("maincpu", TMS9980L, MASTER_CLOCK/2) /* guess */ |
418 | 419 | MCFG_CPU_PROGRAM_MAP(jubileep_map) |
419 | 420 | MCFG_CPU_IO_MAP(jubileep_cru_map) |
420 | MCFG_CPU_VBLANK_INT("screen", jubileep_interrupt) | |
421 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jubilee_state, jubileep_interrupt) | |
421 | 422 | |
422 | 423 | /* video hardware */ |
423 | 424 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
454 | 454 | MCFG_CPU_ADD("maincpu", Z80, MAINCPU_CLOCK/2) /* unknown clock / divider */ |
455 | 455 | MCFG_CPU_PROGRAM_MAP(cop01_map) |
456 | 456 | MCFG_CPU_IO_MAP(io_map) |
457 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
457 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cop01_state, irq0_line_assert) | |
458 | 458 | |
459 | 459 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3MHz) /* unknown clock / divider, hand-tuned to match audio reference */ |
460 | 460 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
492 | 492 | MCFG_CPU_ADD("maincpu", Z80, MAINCPU_CLOCK/2) /* unknown divider */ |
493 | 493 | MCFG_CPU_PROGRAM_MAP(cop01_map) |
494 | 494 | MCFG_CPU_IO_MAP(mightguy_io_map) |
495 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
495 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cop01_state, irq0_line_assert) | |
496 | 496 | |
497 | 497 | MCFG_CPU_ADD("audiocpu", Z80, AUDIOCPU_CLOCK/2) /* unknown divider */ |
498 | 498 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
200 | 200 | MCFG_CPU_ADD("maincpu", Z80,18432000/6) /* 3.072 MHz ??? */ |
201 | 201 | MCFG_CPU_PROGRAM_MAP(hanaawas_map) |
202 | 202 | MCFG_CPU_IO_MAP(io_map) |
203 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
203 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hanaawas_state, irq0_line_hold) | |
204 | 204 | |
205 | 205 | |
206 | 206 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
560 | 560 | /* basic machine hardware */ |
561 | 561 | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK) |
562 | 562 | MCFG_CPU_PROGRAM_MAP(swisspkr_map) |
563 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
563 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldngam_state, irq2_line_hold) | |
564 | 564 | |
565 | 565 | /* video hardware */ |
566 | 566 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
345 | 345 | |
346 | 346 | DISCRETE_SOUND_END |
347 | 347 | |
348 | ||
348 | ||
349 | 349 | { |
350 | circusc_state *state = device->machine().driver_data<circusc_state>(); | |
351 | 350 | |
352 | if(state->m_irq_mask) | |
353 | device->execute().set_input_line(0, HOLD_LINE); | |
351 | if(m_irq_mask) | |
352 | device.execute().set_input_line(0, HOLD_LINE); | |
354 | 353 | } |
355 | 354 | |
356 | 355 | static MACHINE_CONFIG_START( circusc, circusc_state ) |
r17996 | r17997 | |
358 | 357 | /* basic machine hardware */ |
359 | 358 | MCFG_CPU_ADD("maincpu", M6809, 2048000) /* 2 MHz? */ |
360 | 359 | MCFG_CPU_PROGRAM_MAP(circusc_map) |
361 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
360 | MCFG_CPU_VBLANK_INT_DRIVER("screen", circusc_state, vblank_irq) | |
362 | 361 | MCFG_WATCHDOG_VBLANK_INIT(8) |
363 | 362 | |
364 | 363 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4) |
r17996 | r17997 | |
---|---|---|
308 | 308 | MCFG_CPU_ADD("maincpu", Z80, 4000000) |
309 | 309 | MCFG_CPU_PROGRAM_MAP(laserbas_memory) |
310 | 310 | MCFG_CPU_IO_MAP(laserbas_io) |
311 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
311 | MCFG_CPU_VBLANK_INT_DRIVER("screen", laserbas_state, irq0_line_hold) | |
312 | 312 | |
313 | 313 | MCFG_PIT8253_ADD("pit0", laserbas_pit8253_intf_0) |
314 | 314 | MCFG_PIT8253_ADD("pit1", laserbas_pit8253_intf_1) |
r17996 | r17997 | |
---|---|---|
264 | 264 | m_last_irq = 0; |
265 | 265 | } |
266 | 266 | |
267 | ||
267 | ||
268 | 268 | { |
269 | mikie_state *state = device->machine().driver_data<mikie_state>(); | |
270 | 269 | |
271 | if(state->m_irq_mask) | |
272 | device->execute().set_input_line(0, HOLD_LINE); | |
270 | if(m_irq_mask) | |
271 | device.execute().set_input_line(0, HOLD_LINE); | |
273 | 272 | } |
274 | 273 | |
275 | 274 | static MACHINE_CONFIG_START( mikie, mikie_state ) |
r17996 | r17997 | |
277 | 276 | /* basic machine hardware */ |
278 | 277 | MCFG_CPU_ADD("maincpu", M6809, OSC/12) |
279 | 278 | MCFG_CPU_PROGRAM_MAP(mikie_map) |
280 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
279 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mikie_state, vblank_irq) | |
281 | 280 | |
282 | 281 | MCFG_CPU_ADD("audiocpu", Z80, CLK) |
283 | 282 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
178 | 178 | |
179 | 179 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) |
180 | 180 | MCFG_CPU_PROGRAM_MAP(kingpin_sound_map) |
181 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 1000) // unknown freq | |
181 | MCFG_CPU_PERIODIC_INT_DRIVER(kingpin_state, irq0_line_hold, 1000) // unknown freq | |
182 | 182 | |
183 | 183 | /* video hardware */ |
184 | 184 | MCFG_TMS9928A_ADD( "tms9928a", TMS9928A, kingpin_tms9928a_interface ) |
r17996 | r17997 | |
---|---|---|
234 | 234 | /* basic machine hardware */ |
235 | 235 | MCFG_CPU_ADD("maincpu", M6809, 2000000) /* ?? */ |
236 | 236 | MCFG_CPU_PROGRAM_MAP(usgames_map) |
237 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,5*60) /* ?? */ | |
237 | MCFG_CPU_PERIODIC_INT_DRIVER(usgames_state, irq0_line_hold, 5*60) /* ?? */ | |
238 | 238 | |
239 | 239 | MCFG_NVRAM_ADD_0FILL("nvram") |
240 | 240 |
r17996 | r17997 | |
---|---|---|
735 | 735 | /* basic machine hardware */ |
736 | 736 | MCFG_CPU_ADD("maincpu", M68000, CPU_CLOCK ) /* 8 MHz */ |
737 | 737 | MCFG_CPU_PROGRAM_MAP(opwolf_map) |
738 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
738 | MCFG_CPU_VBLANK_INT_DRIVER("screen", opwolf_state, irq5_line_hold) | |
739 | 739 | |
740 | 740 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CPU_CLOCK ) /* 4 MHz */ |
741 | 741 | MCFG_CPU_PROGRAM_MAP(opwolf_sound_z80_map) |
r17996 | r17997 | |
785 | 785 | /* basic machine hardware */ |
786 | 786 | MCFG_CPU_ADD("maincpu", M68000, CPU_CLOCK ) /* 8 MHz ??? */ |
787 | 787 | MCFG_CPU_PROGRAM_MAP(opwolfb_map) |
788 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
788 | MCFG_CPU_VBLANK_INT_DRIVER("screen", opwolf_state, irq5_line_hold) | |
789 | 789 | |
790 | 790 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CPU_CLOCK ) /* 4 MHz ??? */ |
791 | 791 | MCFG_CPU_PROGRAM_MAP(opwolf_sound_z80_map) |
792 | 792 | |
793 | 793 | MCFG_CPU_ADD("sub", Z80, SOUND_CPU_CLOCK ) /* 4 MHz ??? */ |
794 | 794 | MCFG_CPU_PROGRAM_MAP(opwolfb_sub_z80_map) |
795 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
795 | MCFG_CPU_VBLANK_INT_DRIVER("screen", opwolf_state, irq0_line_hold) | |
796 | 796 | |
797 | 797 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */ |
798 | 798 |
r17996 | r17997 | |
---|---|---|
828 | 828 | /* basic machine hardware */ |
829 | 829 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
830 | 830 | MCFG_CPU_PROGRAM_MAP(uballoon_map) |
831 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
831 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suna16_state, irq1_line_hold) | |
832 | 832 | |
833 | 833 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? */ |
834 | 834 | MCFG_CPU_PROGRAM_MAP(uballoon_sound_map) |
r17996 | r17997 | |
878 | 878 | /* basic machine hardware */ |
879 | 879 | MCFG_CPU_ADD("maincpu", M68000, 24000000/4) |
880 | 880 | MCFG_CPU_PROGRAM_MAP(sunaq_map) |
881 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
881 | MCFG_CPU_VBLANK_INT_DRIVER("screen", suna16_state, irq1_line_hold) | |
882 | 882 | |
883 | 883 | MCFG_CPU_ADD("audiocpu", Z80, 14318000/4) |
884 | 884 | MCFG_CPU_PROGRAM_MAP(sunaq_sound_map) |
r17996 | r17997 | |
---|---|---|
185 | 185 | DECLARE_VIDEO_START(firebeat); |
186 | 186 | UINT32 screen_update_firebeat_0(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
187 | 187 | UINT32 screen_update_firebeat_1(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
188 | INTERRUPT_GEN_MEMBER(firebeat_interrupt); | |
188 | 189 | }; |
189 | 190 | |
190 | 191 | |
r17996 | r17997 | |
1936 | 1937 | |
1937 | 1938 | INPUT_PORTS_END |
1938 | 1939 | |
1939 | ||
1940 | ||
1940 | 1941 | { |
1941 | 1942 | // IRQs |
1942 | 1943 | // IRQ 0: VBlank |
r17996 | r17997 | |
1944 | 1945 | // IRQ 2: Main board UART |
1945 | 1946 | // IRQ 4: ATAPI |
1946 | 1947 | |
1947 | device | |
1948 | device. | |
1948 | 1949 | } |
1949 | 1950 | |
1950 | 1951 | MACHINE_RESET_MEMBER(firebeat_state,firebeat) |
r17996 | r17997 | |
1973 | 1974 | /* basic machine hardware */ |
1974 | 1975 | MCFG_CPU_ADD("maincpu", PPC403GCX, 66000000) |
1975 | 1976 | MCFG_CPU_PROGRAM_MAP(firebeat_map) |
1976 | MCFG_CPU_VBLANK_INT("screen", firebeat_interrupt) | |
1977 | MCFG_CPU_VBLANK_INT_DRIVER("screen", firebeat_state, firebeat_interrupt) | |
1977 | 1978 | |
1978 | 1979 | MCFG_MACHINE_START_OVERRIDE(firebeat_state,firebeat) |
1979 | 1980 | MCFG_MACHINE_RESET_OVERRIDE(firebeat_state,firebeat) |
r17996 | r17997 | |
2019 | 2020 | /* basic machine hardware */ |
2020 | 2021 | MCFG_CPU_ADD("maincpu", PPC403GCX, 66000000) |
2021 | 2022 | MCFG_CPU_PROGRAM_MAP(firebeat_map) |
2022 | MCFG_CPU_VBLANK_INT("lscreen", firebeat_interrupt) | |
2023 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", firebeat_state, firebeat_interrupt) | |
2023 | 2024 | |
2024 | 2025 | MCFG_MACHINE_START_OVERRIDE(firebeat_state,firebeat) |
2025 | 2026 | MCFG_MACHINE_RESET_OVERRIDE(firebeat_state,firebeat) |
r17996 | r17997 | |
---|---|---|
331 | 331 | MCFG_CPU_ADD("maincpu", Z80,5068000/4) /* 5.068/4 Mhz (divider is a guess) */ |
332 | 332 | MCFG_CPU_PROGRAM_MAP(main_map) |
333 | 333 | MCFG_CPU_IO_MAP(main_io_map) |
334 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
334 | MCFG_CPU_VBLANK_INT_DRIVER("screen", clayshoo_state, irq0_line_hold) | |
335 | 335 | |
336 | 336 | |
337 | 337 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
462 | 462 | DEVCB_NULL /* rom clock - Only used to drive the data lines */ |
463 | 463 | }; |
464 | 464 | |
465 | ||
465 | ||
466 | 466 | { |
467 | bagman_state *state = device->machine().driver_data<bagman_state>(); | |
468 | 467 | |
469 | if(state->m_irq_mask) | |
470 | device->execute().set_input_line(0, HOLD_LINE); | |
468 | if(m_irq_mask) | |
469 | device.execute().set_input_line(0, HOLD_LINE); | |
471 | 470 | } |
472 | 471 | |
473 | 472 | |
r17996 | r17997 | |
477 | 476 | MCFG_CPU_ADD("maincpu", Z80, BAGMAN_H0) |
478 | 477 | MCFG_CPU_PROGRAM_MAP(main_map) |
479 | 478 | MCFG_CPU_IO_MAP(main_portmap) |
480 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
479 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bagman_state, vblank_irq) | |
481 | 480 | |
482 | 481 | MCFG_MACHINE_RESET_OVERRIDE(bagman_state,bagman) |
483 | 482 | |
r17996 | r17997 | |
513 | 512 | MCFG_CPU_ADD("maincpu", Z80, BAGMAN_H0) |
514 | 513 | MCFG_CPU_PROGRAM_MAP(pickin_map) |
515 | 514 | MCFG_CPU_IO_MAP(main_portmap) |
516 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
515 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bagman_state, vblank_irq) | |
517 | 516 | |
518 | 517 | MCFG_MACHINE_RESET_OVERRIDE(bagman_state,bagman) |
519 | 518 | |
r17996 | r17997 | |
565 | 564 | MCFG_CPU_ADD("maincpu", Z80, BAGMAN_H0) |
566 | 565 | MCFG_CPU_PROGRAM_MAP(pickin_map) |
567 | 566 | MCFG_CPU_IO_MAP(main_portmap) |
568 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
567 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bagman_state, vblank_irq) | |
569 | 568 | |
570 | 569 | MCFG_MACHINE_RESET_OVERRIDE(bagman_state,bagman) |
571 | 570 |
r17996 | r17997 | |
---|---|---|
494 | 494 | MCFG_CPU_ADD("maincpu", Z80,10000000/2) /* 5 MHz ? */ |
495 | 495 | MCFG_CPU_PROGRAM_MAP(main_map) |
496 | 496 | MCFG_CPU_IO_MAP(bigevglf_portmap) |
497 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* vblank */ | |
497 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bigevglf_state, irq0_line_hold) /* vblank */ | |
498 | 498 | |
499 | 499 | MCFG_CPU_ADD("sub", Z80,10000000/2) /* 5 MHz ? */ |
500 | 500 | MCFG_CPU_PROGRAM_MAP(sub_map) |
501 | 501 | MCFG_CPU_IO_MAP(bigevglf_sub_portmap) |
502 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* vblank */ | |
502 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bigevglf_state, irq0_line_hold) /* vblank */ | |
503 | 503 | |
504 | 504 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ? */ |
505 | 505 | MCFG_CPU_PROGRAM_MAP(sound_map) |
506 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* IRQ generated by ???; | |
506 | MCFG_CPU_PERIODIC_INT_DRIVER(bigevglf_state, irq0_line_hold, 2*60) /* IRQ generated by ???; | |
507 | 507 | 2 irqs/frame give good music tempo but also SOUND ERROR in test mode, |
508 | 508 | 4 irqs/frame give SOUND OK in test mode but music seems to be running too fast */ |
509 | 509 |
r17996 | r17997 | |
---|---|---|
348 | 348 | /* basic machine hardware */ |
349 | 349 | MCFG_CPU_ADD("maincpu", M68000, 32000000/2) /* 16.00 MHz */ |
350 | 350 | MCFG_CPU_PROGRAM_MAP(inufuku_map) |
351 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
351 | MCFG_CPU_VBLANK_INT_DRIVER("screen", inufuku_state, irq1_line_hold) | |
352 | 352 | |
353 | 353 | MCFG_CPU_ADD("audiocpu", Z80, 32000000/4) /* 8.00 MHz */ |
354 | 354 | MCFG_CPU_PROGRAM_MAP(inufuku_sound_map) |
r17996 | r17997 | |
---|---|---|
201 | 201 | /* basic machine hardware */ |
202 | 202 | MCFG_CPU_ADD("maincpu", Z80, 8000000 / 2) /* 4 MHz ? */ |
203 | 203 | MCFG_CPU_PROGRAM_MAP(mem) |
204 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
204 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tattack_state, irq0_line_hold) | |
205 | 205 | |
206 | 206 | /* video hardware */ |
207 | 207 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
326 | 326 | /* basic machine hardware */ |
327 | 327 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* Custom chip 59 */ |
328 | 328 | MCFG_CPU_PROGRAM_MAP(twocrude_map) |
329 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold)/* VBL */ | |
329 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cbuster_state, irq4_line_hold)/* VBL */ | |
330 | 330 | |
331 | 331 | MCFG_CPU_ADD("audiocpu", H6280,32220000/4) /* Custom chip 45, Audio section crystal is 32.220 MHz */ |
332 | 332 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
819 | 819 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) |
820 | 820 | MCFG_CPU_PROGRAM_MAP(dunhuang_map) |
821 | 821 | MCFG_CPU_IO_MAP(dunhuang_io_map) |
822 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
822 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dunhuang_state, irq0_line_hold) | |
823 | 823 | |
824 | 824 | |
825 | 825 | MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(5)) |
r17996 | r17997 | |
---|---|---|
857 | 857 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 MHz ? */ |
858 | 858 | MCFG_CPU_PROGRAM_MAP(ojankohs_map) |
859 | 859 | MCFG_CPU_IO_MAP(ojankohs_io_map) |
860 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
860 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold) | |
861 | 861 | |
862 | 862 | MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankohs) |
863 | 863 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
893 | 893 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 MHz ? */ |
894 | 894 | MCFG_CPU_PROGRAM_MAP(ojankoy_map) |
895 | 895 | MCFG_CPU_IO_MAP(ojankoy_io_map) |
896 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
896 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold) | |
897 | 897 | |
898 | 898 | MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankoy) |
899 | 899 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
930 | 930 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6.00 MHz ? */ |
931 | 931 | MCFG_CPU_PROGRAM_MAP(ojankoy_map) |
932 | 932 | MCFG_CPU_IO_MAP(ccasino_io_map) |
933 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
933 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold) | |
934 | 934 | |
935 | 935 | MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankohs) |
936 | 936 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
966 | 966 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) /* 4.00 MHz */ |
967 | 967 | MCFG_CPU_PROGRAM_MAP(ojankoc_map) |
968 | 968 | MCFG_CPU_IO_MAP(ojankoc_io_map) |
969 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
969 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ojankohs_state, irq0_line_hold) | |
970 | 970 | |
971 | 971 | MCFG_MACHINE_START_OVERRIDE(ojankohs_state,ojankoc) |
972 | 972 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
257 | 257 | DEVCB_DRIVER_MEMBER(kncljoe_state,unused_w) |
258 | 258 | }; |
259 | 259 | |
260 | ||
260 | ||
261 | 261 | { |
262 | device | |
262 | device. | |
263 | 263 | } |
264 | 264 | |
265 | 265 | void kncljoe_state::machine_start() |
r17996 | r17997 | |
289 | 289 | /* basic machine hardware */ |
290 | 290 | MCFG_CPU_ADD("maincpu", Z80, XTAL_6MHz) /* verified on pcb */ |
291 | 291 | MCFG_CPU_PROGRAM_MAP(main_map) |
292 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
292 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kncljoe_state, irq0_line_hold) | |
293 | 293 | |
294 | 294 | MCFG_CPU_ADD("soundcpu", M6803, XTAL_3_579545MHz) /* verified on pcb */ |
295 | 295 | MCFG_CPU_PROGRAM_MAP(sound_map) |
296 | 296 | MCFG_CPU_IO_MAP(sound_portmap) |
297 | MCFG_CPU_PERIODIC_INT(sound_nmi, (double)3970) //measured 3.970 kHz | |
297 | MCFG_CPU_PERIODIC_INT_DRIVER(kncljoe_state, sound_nmi, (double)3970) //measured 3.970 kHz | |
298 | 298 | |
299 | 299 | |
300 | 300 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
147 | 147 | DECLARE_INPUT_CHANGED_MEMBER(coin_inserted); |
148 | 148 | virtual void machine_start(); |
149 | 149 | UINT32 screen_update_rblaster(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
150 | INTERRUPT_GEN_MEMBER(sound_interrupt); | |
150 | 151 | }; |
151 | 152 | |
152 | 153 | static void draw_sprites(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, UINT8 *spriteram, UINT16 tile_bank ) |
r17996 | r17997 | |
295 | 296 | } |
296 | 297 | #endif |
297 | 298 | |
298 | ||
299 | ||
299 | 300 | { |
300 | deco_ld_state *state = device->machine().driver_data<deco_ld_state>(); | |
301 | if (!state->m_nmimask) device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
301 | if (!m_nmimask) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
302 | 302 | } |
303 | 303 | |
304 | 304 | |
r17996 | r17997 | |
459 | 459 | /* basic machine hardware */ |
460 | 460 | MCFG_CPU_ADD("maincpu",M6502,8000000/2) |
461 | 461 | MCFG_CPU_PROGRAM_MAP(rblaster_map) |
462 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
462 | MCFG_CPU_VBLANK_INT_DRIVER("screen", deco_ld_state, irq0_line_hold) | |
463 | 463 | |
464 | 464 | MCFG_CPU_ADD("audiocpu",M6502,8000000/2) |
465 | 465 | MCFG_CPU_PROGRAM_MAP(rblaster_sound_map) |
466 | MCFG_CPU_PERIODIC_INT(sound_interrupt, 640) | |
466 | MCFG_CPU_PERIODIC_INT_DRIVER(deco_ld_state, sound_interrupt, 640) | |
467 | 467 | |
468 | 468 | // MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
469 | 469 |
r17996 | r17997 | |
---|---|---|
226 | 226 | * |
227 | 227 | *************************************/ |
228 | 228 | |
229 | ||
229 | ||
230 | 230 | { |
231 | device->execute().set_input_line_vector(0, 0x03); | |
232 | generic_pulse_irq_line(device, 0, 1); | |
231 | device.execute().set_input_line_vector(0, 0x03); | |
232 | generic_pulse_irq_line(device.execute(), 0, 1); | |
233 | 233 | |
234 | cvs_scroll_stars( | |
234 | cvs_scroll_stars( | |
235 | 235 | } |
236 | 236 | |
237 | 237 | |
r17996 | r17997 | |
1042 | 1042 | MCFG_CPU_ADD("maincpu", S2650, 894886.25) |
1043 | 1043 | MCFG_CPU_PROGRAM_MAP(cvs_main_cpu_map) |
1044 | 1044 | MCFG_CPU_IO_MAP(cvs_main_cpu_io_map) |
1045 | MCFG_CPU_VBLANK_INT("screen", cvs_main_cpu_interrupt) | |
1045 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cvs_state, cvs_main_cpu_interrupt) | |
1046 | 1046 | |
1047 | 1047 | MCFG_CPU_ADD("audiocpu", S2650, 894886.25) |
1048 | 1048 | MCFG_CPU_PROGRAM_MAP(cvs_dac_cpu_map) |
r17996 | r17997 | |
---|---|---|
930 | 930 | /* basic machine hardware */ |
931 | 931 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
932 | 932 | MCFG_CPU_PROGRAM_MAP(turbo_map) |
933 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
933 | MCFG_CPU_VBLANK_INT_DRIVER("screen", turbo_state, irq0_line_hold) | |
934 | 934 | |
935 | 935 | MCFG_I8255_ADD( "i8255_0", turbo_8255_intf_0 ) |
936 | 936 | MCFG_I8255_ADD( "i8255_1", turbo_8255_intf_1 ) |
r17996 | r17997 | |
961 | 961 | /* basic machine hardware */ |
962 | 962 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
963 | 963 | MCFG_CPU_PROGRAM_MAP(subroc3d_map) |
964 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
964 | MCFG_CPU_VBLANK_INT_DRIVER("screen", turbo_state, irq0_line_hold) | |
965 | 965 | |
966 | 966 | MCFG_I8255_ADD( "i8255_0", subroc3d_8255_intf_0 ) |
967 | 967 | MCFG_I8255_ADD( "i8255_1", subroc3d_8255_intf_1 ) |
r17996 | r17997 | |
990 | 990 | /* basic machine hardware */ |
991 | 991 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
992 | 992 | MCFG_CPU_PROGRAM_MAP(buckrog_map) |
993 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
993 | MCFG_CPU_VBLANK_INT_DRIVER("screen", turbo_state, irq0_line_hold) | |
994 | 994 | |
995 | 995 | MCFG_CPU_ADD("subcpu", Z80, MASTER_CLOCK/4) |
996 | 996 | MCFG_CPU_PROGRAM_MAP(buckrog_cpu2_map) |
r17996 | r17997 | |
---|---|---|
204 | 204 | m_video_data = 0; |
205 | 205 | } |
206 | 206 | |
207 | ||
207 | ||
208 | 208 | { |
209 | gameplan_state *state = device->machine().driver_data<gameplan_state>(); | |
210 | state->m_via_2->write_ca1(1); | |
211 | state->m_via_2->write_ca1(0); | |
209 | m_via_2->write_ca1(1); | |
210 | m_via_2->write_ca1(0); | |
212 | 211 | } |
213 | 212 | |
214 | 213 | static MACHINE_CONFIG_START( trvquest, gameplan_state ) |
215 | 214 | |
216 | 215 | MCFG_CPU_ADD("maincpu", M6809,XTAL_6MHz/4) |
217 | 216 | MCFG_CPU_PROGRAM_MAP(cpu_map) |
218 | MCFG_CPU_VBLANK_INT("screen", trvquest_interrupt) | |
217 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gameplan_state, trvquest_interrupt) | |
219 | 218 | |
220 | 219 | MCFG_NVRAM_ADD_1FILL("nvram") |
221 | 220 | MCFG_MACHINE_START_OVERRIDE(gameplan_state,trvquest) |
r17996 | r17997 | |
---|---|---|
1620 | 1620 | /* basic machine hardware */ |
1621 | 1621 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1622 | 1622 | MCFG_CPU_PROGRAM_MAP(main_map) |
1623 | MCFG_CPU_VBLANK_INT("screen", arknoid2_interrupt) | |
1623 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, arknoid2_interrupt) | |
1624 | 1624 | |
1625 | 1625 | MCFG_CPU_ADD("sub", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1626 | 1626 | MCFG_CPU_PROGRAM_MAP(sub_map) |
1627 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1627 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1628 | 1628 | |
1629 | 1629 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
1630 | 1630 | |
r17996 | r17997 | |
1661 | 1661 | /* basic machine hardware */ |
1662 | 1662 | MCFG_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* 6.0 MHz ??? - Main board Crystal is 12MHz */ |
1663 | 1663 | MCFG_CPU_PROGRAM_MAP(main_map) |
1664 | MCFG_CPU_VBLANK_INT("screen", arknoid2_interrupt) | |
1664 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, arknoid2_interrupt) | |
1665 | 1665 | |
1666 | 1666 | MCFG_CPU_ADD("sub", Z80,XTAL_12MHz/2) /* 6.0 MHz ??? - Main board Crystal is 12MHz */ |
1667 | 1667 | MCFG_CPU_PROGRAM_MAP(sub_map) |
1668 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1668 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1669 | 1669 | |
1670 | 1670 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
1671 | 1671 | |
r17996 | r17997 | |
1702 | 1702 | /* basic machine hardware */ |
1703 | 1703 | MCFG_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* 6.0 MHz ??? - Main board Crystal is 12MHz */ |
1704 | 1704 | MCFG_CPU_PROGRAM_MAP(main_map) |
1705 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1705 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1706 | 1706 | |
1707 | 1707 | MCFG_CPU_ADD("sub", Z80,XTAL_12MHz/2) /* 6.0 MHz ??? - Main board Crystal is 12MHz */ |
1708 | 1708 | MCFG_CPU_PROGRAM_MAP(sub_map) |
1709 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1709 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1710 | 1710 | |
1711 | 1711 | MCFG_CPU_ADD("mcu", I8742, 12000000/2) /* 400KHz ??? - Main board Crystal is 12MHz */ |
1712 | 1712 | MCFG_CPU_IO_MAP(i8742_io_map) |
r17996 | r17997 | |
1745 | 1745 | /* basic machine hardware */ |
1746 | 1746 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1747 | 1747 | MCFG_CPU_PROGRAM_MAP(main_map) |
1748 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1748 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1749 | 1749 | |
1750 | 1750 | MCFG_CPU_ADD("sub", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1751 | 1751 | MCFG_CPU_PROGRAM_MAP(sub_map) |
1752 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1752 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1753 | 1753 | |
1754 | 1754 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
1755 | 1755 | |
r17996 | r17997 | |
1784 | 1784 | /* basic machine hardware */ |
1785 | 1785 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1786 | 1786 | MCFG_CPU_PROGRAM_MAP(main_map) |
1787 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1787 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1788 | 1788 | |
1789 | 1789 | MCFG_CPU_ADD("sub", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1790 | 1790 | MCFG_CPU_PROGRAM_MAP(kageki_sub_map) |
1791 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1791 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1792 | 1792 | |
1793 | 1793 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
1794 | 1794 | |
r17996 | r17997 | |
1829 | 1829 | /* basic machine hardware */ |
1830 | 1830 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1831 | 1831 | MCFG_CPU_PROGRAM_MAP(cpu0_type2) |
1832 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1832 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1833 | 1833 | |
1834 | 1834 | MCFG_CPU_ADD("sub", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1835 | 1835 | MCFG_CPU_PROGRAM_MAP(tnzsb_cpu1_map) |
1836 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1836 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1837 | 1837 | |
1838 | 1838 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1839 | 1839 | MCFG_CPU_PROGRAM_MAP(tnzsb_cpu2_map) |
r17996 | r17997 | |
1892 | 1892 | /* basic machine hardware */ |
1893 | 1893 | MCFG_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) /* Not verified - Main board Crystal is 12MHz */ |
1894 | 1894 | MCFG_CPU_PROGRAM_MAP(jpopnics_main_map) |
1895 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1895 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1896 | 1896 | |
1897 | 1897 | MCFG_CPU_ADD("sub", Z80,XTAL_12MHz/2) /* Not verified - Main board Crystal is 12MHz */ |
1898 | 1898 | MCFG_CPU_PROGRAM_MAP(jpopnics_sub_map) |
1899 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1899 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tnzs_state, irq0_line_hold) | |
1900 | 1900 | |
1901 | 1901 | MCFG_QUANTUM_PERFECT_CPU("maincpu") |
1902 | 1902 |
r17996 | r17997 | |
---|---|---|
800 | 800 | /* basic machine hardware */ |
801 | 801 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
802 | 802 | MCFG_CPU_PROGRAM_MAP(rohga_map) |
803 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert) | |
803 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rohga_state, irq6_line_assert) | |
804 | 804 | |
805 | 805 | MCFG_CPU_ADD("audiocpu", H6280,32220000/4/3) /* verified on pcb (8.050Mhz is XIN on pin 10 of H6280 */ |
806 | 806 | MCFG_CPU_PROGRAM_MAP(rohga_sound_map) |
r17996 | r17997 | |
850 | 850 | /* basic machine hardware */ |
851 | 851 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
852 | 852 | MCFG_CPU_PROGRAM_MAP(wizdfire_map) |
853 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert) | |
853 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rohga_state, irq6_line_assert) | |
854 | 854 | |
855 | 855 | MCFG_CPU_ADD("audiocpu", H6280,32220000/4/3) /* verified on pcb (8.050Mhz is XIN on pin 10 of H6280 */ |
856 | 856 | MCFG_CPU_PROGRAM_MAP(rohga_sound_map) |
r17996 | r17997 | |
904 | 904 | /* basic machine hardware */ |
905 | 905 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
906 | 906 | MCFG_CPU_PROGRAM_MAP(nitrobal_map) |
907 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert) | |
907 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rohga_state, irq6_line_assert) | |
908 | 908 | |
909 | 909 | MCFG_CPU_ADD("audiocpu", H6280,32220000/4/3) /* verified on pcb (8.050Mhz is XIN on pin 10 of H6280 */ |
910 | 910 | MCFG_CPU_PROGRAM_MAP(rohga_sound_map) |
r17996 | r17997 | |
958 | 958 | /* basic machine hardware */ |
959 | 959 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
960 | 960 | MCFG_CPU_PROGRAM_MAP(schmeisr_map) |
961 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert) | |
961 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rohga_state, irq6_line_assert) | |
962 | 962 | |
963 | 963 | MCFG_CPU_ADD("audiocpu", H6280,32220000/4/3) /* verified on pcb (8.050Mhz is XIN on pin 10 of H6280 */ |
964 | 964 | MCFG_CPU_PROGRAM_MAP(rohga_sound_map) |
r17996 | r17997 | |
---|---|---|
154 | 154 | /* irq 3 is network. don't generate if you don't emulate the network h/w! */ |
155 | 155 | /* irq 5 is vblank */ |
156 | 156 | /* irq 7 does nothing (it jsrs to a rts and then rte) */ |
157 | ||
157 | ||
158 | 158 | { |
159 | device | |
159 | device. | |
160 | 160 | } |
161 | 161 | |
162 | 162 | /* sound CPU communications */ |
r17996 | r17997 | |
555 | 555 | reset_sound_region(machine()); |
556 | 556 | } |
557 | 557 | |
558 | ||
558 | ||
559 | 559 | { |
560 | device | |
560 | device. | |
561 | 561 | } |
562 | 562 | |
563 | 563 | static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, polygonet_state ) |
r17996 | r17997 | |
622 | 622 | |
623 | 623 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) /* 16 MHz (xtal is 32.0 MHz) */ |
624 | 624 | MCFG_CPU_PROGRAM_MAP(main_map) |
625 | MCFG_CPU_VBLANK_INT("screen", polygonet_interrupt) | |
625 | MCFG_CPU_VBLANK_INT_DRIVER("screen", polygonet_state, polygonet_interrupt) | |
626 | 626 | |
627 | 627 | MCFG_CPU_ADD("dsp", DSP56156, 40000000) /* xtal is 40.0 MHz, DSP has an internal divide-by-2 */ |
628 | 628 | MCFG_CPU_PROGRAM_MAP(dsp_program_map) |
r17996 | r17997 | |
630 | 630 | |
631 | 631 | MCFG_CPU_ADD("soundcpu", Z80, 8000000) |
632 | 632 | MCFG_CPU_PROGRAM_MAP(sound_map) |
633 | MCFG_CPU_PERIODIC_INT(audio_interrupt, 480) | |
633 | MCFG_CPU_PERIODIC_INT_DRIVER(polygonet_state, audio_interrupt, 480) | |
634 | 634 | |
635 | 635 | |
636 | 636 | MCFG_GFXDECODE(plygonet) |
r17996 | r17997 | |
---|---|---|
56 | 56 | #include "includes/konamipt.h" |
57 | 57 | |
58 | 58 | |
59 | ||
59 | ||
60 | 60 | { |
61 | nemesis_state *state = device->machine().driver_data<nemesis_state>(); | |
62 | 61 | |
63 | if (state->m_irq_on) | |
64 | device->execute().set_input_line(1, HOLD_LINE); | |
62 | if (m_irq_on) | |
63 | device.execute().set_input_line(1, HOLD_LINE); | |
65 | 64 | } |
66 | 65 | |
67 | ||
66 | ||
68 | 67 | { |
69 | nemesis_state *state = device->machine().driver_data<nemesis_state>(); | |
70 | 68 | |
71 | if (state->m_irq_on) | |
72 | device->execute().set_input_line(2, HOLD_LINE); | |
69 | if (m_irq_on) | |
70 | device.execute().set_input_line(2, HOLD_LINE); | |
73 | 71 | } |
74 | 72 | |
75 | 73 | static TIMER_DEVICE_CALLBACK( konamigt_interrupt ) |
r17996 | r17997 | |
1558 | 1556 | MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ |
1559 | 1557 | // 14318180/2, /* From schematics, should be accurate */ |
1560 | 1558 | MCFG_CPU_PROGRAM_MAP(nemesis_map) |
1561 | MCFG_CPU_VBLANK_INT("screen", nemesis_interrupt) | |
1559 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) | |
1562 | 1560 | |
1563 | 1561 | MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* From schematics, should be accurate */ |
1564 | 1562 | MCFG_CPU_PROGRAM_MAP(sound_map) /* fixed */ |
r17996 | r17997 | |
1604 | 1602 | |
1605 | 1603 | MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ |
1606 | 1604 | MCFG_CPU_PROGRAM_MAP(gx400_sound_map) |
1607 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */ | |
1605 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ | |
1608 | 1606 | |
1609 | 1607 | |
1610 | 1608 | /* video hardware */ |
r17996 | r17997 | |
1686 | 1684 | |
1687 | 1685 | MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ |
1688 | 1686 | MCFG_CPU_PROGRAM_MAP(gx400_sound_map) |
1689 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */ | |
1687 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ | |
1690 | 1688 | |
1691 | 1689 | |
1692 | 1690 | /* video hardware */ |
r17996 | r17997 | |
1725 | 1723 | /* basic machine hardware */ |
1726 | 1724 | MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216MHz */ |
1727 | 1725 | MCFG_CPU_PROGRAM_MAP(salamand_map) |
1728 | MCFG_CPU_VBLANK_INT("screen", nemesis_interrupt) | |
1726 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) | |
1729 | 1727 | |
1730 | 1728 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ |
1731 | 1729 | MCFG_CPU_PROGRAM_MAP(sal_sound_map) |
r17996 | r17997 | |
1771 | 1769 | /* basic machine hardware */ |
1772 | 1770 | MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ |
1773 | 1771 | MCFG_CPU_PROGRAM_MAP(blkpnthr_map) |
1774 | MCFG_CPU_VBLANK_INT("screen", blkpnthr_interrupt) | |
1772 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, blkpnthr_interrupt) | |
1775 | 1773 | |
1776 | 1774 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ |
1777 | 1775 | MCFG_CPU_PROGRAM_MAP(blkpnthr_sound_map) |
r17996 | r17997 | |
1813 | 1811 | /* basic machine hardware */ |
1814 | 1812 | MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ |
1815 | 1813 | MCFG_CPU_PROGRAM_MAP(citybomb_map) |
1816 | MCFG_CPU_VBLANK_INT("screen", nemesis_interrupt) | |
1814 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) | |
1817 | 1815 | |
1818 | 1816 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ |
1819 | 1817 | MCFG_CPU_PROGRAM_MAP(city_sound_map) |
r17996 | r17997 | |
1859 | 1857 | /* basic machine hardware */ |
1860 | 1858 | MCFG_CPU_ADD("maincpu", M68000,18432000/2) /* 9.216 MHz? */ |
1861 | 1859 | MCFG_CPU_PROGRAM_MAP(nyanpani_map) |
1862 | MCFG_CPU_VBLANK_INT("screen", nemesis_interrupt) | |
1860 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nemesis_interrupt) | |
1863 | 1861 | |
1864 | 1862 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */ |
1865 | 1863 | MCFG_CPU_PROGRAM_MAP(city_sound_map) |
r17996 | r17997 | |
2655 | 2653 | |
2656 | 2654 | MCFG_CPU_ADD("audiocpu", Z80,14318180/4) /* 3.579545 MHz */ |
2657 | 2655 | MCFG_CPU_PROGRAM_MAP(gx400_sound_map) |
2658 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) /* interrupts are triggered by the main CPU */ | |
2656 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nemesis_state, nmi_line_pulse) /* interrupts are triggered by the main CPU */ | |
2659 | 2657 | |
2660 | 2658 | |
2661 | 2659 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
87 | 87 | virtual void video_start(); |
88 | 88 | virtual void palette_init(); |
89 | 89 | UINT32 screen_update_progolf(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
90 | INTERRUPT_GEN_MEMBER(progolf_interrupt); | |
90 | 91 | }; |
91 | 92 | |
92 | 93 | |
r17996 | r17997 | |
370 | 371 | |
371 | 372 | |
372 | 373 | //#ifdef UNUSED_FUNCTION |
373 | ||
374 | ||
374 | 375 | { |
375 | 376 | } |
376 | 377 | //#endif |
r17996 | r17997 | |
423 | 424 | /* basic machine hardware */ |
424 | 425 | MCFG_CPU_ADD("maincpu", M6502, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */ |
425 | 426 | MCFG_CPU_PROGRAM_MAP(main_cpu) |
426 | MCFG_CPU_VBLANK_INT("screen", progolf_interrupt) | |
427 | MCFG_CPU_VBLANK_INT_DRIVER("screen", progolf_state, progolf_interrupt) | |
427 | 428 | |
428 | 429 | MCFG_CPU_ADD("audiocpu", M6502, 500000) |
429 | 430 | MCFG_CPU_PROGRAM_MAP(sound_cpu) |
r17996 | r17997 | |
---|---|---|
347 | 347 | /* basic machine hardware */ |
348 | 348 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */ |
349 | 349 | MCFG_CPU_PROGRAM_MAP(magmax_map) |
350 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
350 | MCFG_CPU_VBLANK_INT_DRIVER("screen", magmax_state, irq1_line_hold) | |
351 | 351 | |
352 | 352 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_20MHz/8) /* verified on pcb */ |
353 | 353 | MCFG_CPU_PROGRAM_MAP(magmax_sound_map) |
r17996 | r17997 | |
---|---|---|
546 | 546 | /* basic machine hardware */ |
547 | 547 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? (Might well be 16!) */ |
548 | 548 | MCFG_CPU_PROGRAM_MAP(darius2d_map) |
549 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
549 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", warriorb_state, irq4_line_hold) | |
550 | 550 | |
551 | 551 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */ |
552 | 552 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
r17996 | r17997 | |
609 | 609 | /* basic machine hardware */ |
610 | 610 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz ? */ |
611 | 611 | MCFG_CPU_PROGRAM_MAP(warriorb_map) |
612 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
612 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", warriorb_state, irq4_line_hold) | |
613 | 613 | |
614 | 614 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */ |
615 | 615 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
r17996 | r17997 | |
---|---|---|
315 | 315 | /* basic machine hardware */ |
316 | 316 | MCFG_CPU_ADD("maincpu", M68000,12000000) |
317 | 317 | MCFG_CPU_PROGRAM_MAP(goal92_map) |
318 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) /* VBL */ | |
318 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goal92_state, irq6_line_hold) /* VBL */ | |
319 | 319 | |
320 | 320 | MCFG_CPU_ADD("audiocpu", Z80, 2500000) |
321 | 321 | MCFG_CPU_PROGRAM_MAP(sound_cpu) |
r17996 | r17997 | |
---|---|---|
347 | 347 | } |
348 | 348 | |
349 | 349 | |
350 | ||
350 | ||
351 | 351 | { |
352 | bombjack_state *state = device->machine().driver_data<bombjack_state>(); | |
353 | 352 | |
354 | if(state->m_nmi_mask) | |
355 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
353 | if(m_nmi_mask) | |
354 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
356 | 355 | } |
357 | 356 | |
358 | 357 | static MACHINE_CONFIG_START( bombjack, bombjack_state ) |
r17996 | r17997 | |
360 | 359 | /* basic machine hardware */ |
361 | 360 | MCFG_CPU_ADD("maincpu", Z80, XTAL_4MHz) /* Confirmed from PCB */ |
362 | 361 | MCFG_CPU_PROGRAM_MAP(main_map) |
363 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
362 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bombjack_state, vblank_irq) | |
364 | 363 | |
365 | 364 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/4) /* Confirmed from PCB */ |
366 | 365 | MCFG_CPU_PROGRAM_MAP(audio_map) |
367 | 366 | MCFG_CPU_IO_MAP(audio_io_map) |
368 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
367 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bombjack_state, nmi_line_pulse) | |
369 | 368 | |
370 | 369 | |
371 | 370 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
122 | 122 | GFXDECODE_ENTRY( "gfx1", 0x10000, tilelayout, 0, 2 ) |
123 | 123 | GFXDECODE_END |
124 | 124 | |
125 | ||
125 | ||
126 | 126 | { |
127 | trucocl_state *state = device->machine().driver_data<trucocl_state>(); | |
128 | 127 | |
129 | if(state->m_irq_mask) | |
130 | device->execute().set_input_line(0, HOLD_LINE); | |
128 | if(m_irq_mask) | |
129 | device.execute().set_input_line(0, HOLD_LINE); | |
131 | 130 | |
132 | 131 | } |
133 | 132 | |
r17996 | r17997 | |
135 | 134 | /* basic machine hardware */ |
136 | 135 | MCFG_CPU_ADD("maincpu", Z80, 18432000/6) |
137 | 136 | MCFG_CPU_PROGRAM_MAP(main_map) |
138 | MCFG_CPU_VBLANK_INT("screen", trucocl_interrupt) | |
137 | MCFG_CPU_VBLANK_INT_DRIVER("screen", trucocl_state, trucocl_interrupt) | |
139 | 138 | |
140 | 139 | /* video hardware */ |
141 | 140 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
593 | 593 | /* basic machine hardware */ |
594 | 594 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
595 | 595 | MCFG_CPU_PROGRAM_MAP(burglarx_map) |
596 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
596 | MCFG_CPU_VBLANK_INT_DRIVER("screen", unico_state, irq2_line_hold) | |
597 | 597 | |
598 | 598 | MCFG_MACHINE_RESET_OVERRIDE(unico_state,unico) |
599 | 599 | |
r17996 | r17997 | |
638 | 638 | /* basic machine hardware */ |
639 | 639 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
640 | 640 | MCFG_CPU_PROGRAM_MAP(zeropnt_map) |
641 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
641 | MCFG_CPU_VBLANK_INT_DRIVER("screen", unico_state, irq2_line_hold) | |
642 | 642 | |
643 | 643 | MCFG_MACHINE_RESET_OVERRIDE(unico_state,zeropt) |
644 | 644 | |
r17996 | r17997 | |
678 | 678 | /* basic machine hardware */ |
679 | 679 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) |
680 | 680 | MCFG_CPU_PROGRAM_MAP(zeropnt2_map) |
681 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
681 | MCFG_CPU_VBLANK_INT_DRIVER("screen", unico_state, irq2_line_hold) | |
682 | 682 | |
683 | 683 | MCFG_MACHINE_RESET_OVERRIDE(unico_state,zeropt) |
684 | 684 |
r17996 | r17997 | |
---|---|---|
30 | 30 | /* prototypes */ |
31 | 31 | static KONAMI_SETLINES_CALLBACK( blockhl_banking ); |
32 | 32 | |
33 | ||
33 | ||
34 | 34 | { |
35 | blockhl_state *state = device->machine().driver_data<blockhl_state>(); | |
36 | 35 | |
37 | if (k052109_is_irq_enabled(state->m_k052109) && state->m_rombank == 0) /* kludge to prevent crashes */ | |
38 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
36 | if (k052109_is_irq_enabled(m_k052109) && m_rombank == 0) /* kludge to prevent crashes */ | |
37 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
39 | 38 | } |
40 | 39 | |
41 | 40 | READ8_MEMBER(blockhl_state::bankedram_r) |
r17996 | r17997 | |
215 | 214 | /* basic machine hardware */ |
216 | 215 | MCFG_CPU_ADD("maincpu", KONAMI,3000000) /* Konami custom 052526 */ |
217 | 216 | MCFG_CPU_PROGRAM_MAP(main_map) |
218 | MCFG_CPU_VBLANK_INT("screen", blockhl_interrupt) | |
217 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blockhl_state, blockhl_interrupt) | |
219 | 218 | |
220 | 219 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
221 | 220 | MCFG_CPU_PROGRAM_MAP(audio_map) |
r17996 | r17997 | |
---|---|---|
65 | 65 | } |
66 | 66 | #endif |
67 | 67 | |
68 | ||
68 | ||
69 | 69 | { |
70 | 70 | /* Unsure of actual sequence */ |
71 | 71 | |
72 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(500), FUNC(gcpinbal_interrupt1)); | |
73 | // device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(1000), FUNC(gcpinbal_interrupt3)); | |
74 | device->execute().set_input_line(4, HOLD_LINE); | |
72 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(500), FUNC(gcpinbal_interrupt1)); | |
73 | // machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(1000), FUNC(gcpinbal_interrupt3)); | |
74 | device.execute().set_input_line(4, HOLD_LINE); | |
75 | 75 | } |
76 | 76 | |
77 | 77 | |
r17996 | r17997 | |
439 | 439 | /* basic machine hardware */ |
440 | 440 | MCFG_CPU_ADD("maincpu", M68000, 32000000/2) /* 16 MHz ? */ |
441 | 441 | MCFG_CPU_PROGRAM_MAP(gcpinbal_map) |
442 | MCFG_CPU_VBLANK_INT("screen", gcpinbal_interrupt) | |
442 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gcpinbal_state, gcpinbal_interrupt) | |
443 | 443 | |
444 | 444 | /* video hardware */ |
445 | 445 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
608 | 608 | static MACHINE_CONFIG_START( blackt96, blackt96_state ) |
609 | 609 | MCFG_CPU_ADD("maincpu", M68000, 18000000 /2) |
610 | 610 | MCFG_CPU_PROGRAM_MAP(blackt96_map) |
611 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
611 | MCFG_CPU_VBLANK_INT_DRIVER("screen", blackt96_state, irq1_line_hold) | |
612 | 612 | |
613 | 613 | MCFG_CPU_ADD("audiocpu", PIC16C57, 8000000) /* ? */ |
614 | 614 | MCFG_CPU_IO_MAP(sound_io_map) |
r17996 | r17997 | |
---|---|---|
898 | 898 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK/2) |
899 | 899 | MCFG_CPU_PROGRAM_MAP(main_map) |
900 | 900 | MCFG_CPU_IO_MAP(main_portmap) |
901 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
901 | MCFG_CPU_VBLANK_INT_DRIVER("screen", segag80v_state, irq0_line_hold) | |
902 | 902 | |
903 | 903 | |
904 | 904 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
448 | 448 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/24) /* 666.66 kHz, guess */ |
449 | 449 | MCFG_CPU_PROGRAM_MAP(gat_map) |
450 | 450 | MCFG_CPU_IO_MAP(gat_portmap) |
451 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
451 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gatron_state, nmi_line_pulse) | |
452 | 452 | |
453 | 453 | MCFG_NVRAM_ADD_0FILL("nvram") |
454 | 454 |
r17996 | r17997 | |
---|---|---|
20 | 20 | #include "includes/konamipt.h" |
21 | 21 | #include "includes/bottom9.h" |
22 | 22 | |
23 | ||
23 | ||
24 | 24 | { |
25 | bottom9_state *state = device->machine().driver_data<bottom9_state>(); | |
26 | 25 | |
27 | if (k052109_is_irq_enabled(state->m_k052109)) | |
28 | device->execute().set_input_line(0, HOLD_LINE); | |
26 | if (k052109_is_irq_enabled(m_k052109)) | |
27 | device.execute().set_input_line(0, HOLD_LINE); | |
29 | 28 | } |
30 | 29 | |
31 | 30 | READ8_MEMBER(bottom9_state::k052109_051960_r) |
r17996 | r17997 | |
138 | 137 | m_audiocpu->set_input_line_and_vector(0, HOLD_LINE, 0xff); |
139 | 138 | } |
140 | 139 | |
141 | ||
140 | ||
142 | 141 | { |
143 | bottom9_state *state = device->machine().driver_data<bottom9_state>(); | |
144 | if (state->m_nmienable) | |
145 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
142 | if (m_nmienable) | |
143 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
146 | 144 | } |
147 | 145 | |
148 | 146 | WRITE8_MEMBER(bottom9_state::nmi_enable_w) |
r17996 | r17997 | |
353 | 351 | /* basic machine hardware */ |
354 | 352 | MCFG_CPU_ADD("maincpu", M6809, 2000000) /* ? */ |
355 | 353 | MCFG_CPU_PROGRAM_MAP(main_map) |
356 | MCFG_CPU_VBLANK_INT("screen", bottom9_interrupt) | |
354 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bottom9_state, bottom9_interrupt) | |
357 | 355 | |
358 | 356 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
359 | 357 | MCFG_CPU_PROGRAM_MAP(audio_map) |
360 | MCFG_CPU_PERIODIC_INT(bottom9_sound_interrupt,8*60) /* irq is triggered by the main CPU */ | |
358 | MCFG_CPU_PERIODIC_INT_DRIVER(bottom9_state, bottom9_sound_interrupt, 8*60) /* irq is triggered by the main CPU */ | |
361 | 359 | |
362 | 360 | |
363 | 361 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
589 | 589 | /* basic machine hardware */ |
590 | 590 | MCFG_CPU_ADD("maincpu", M68EC020, MASTER_CLOCK/2) |
591 | 591 | MCFG_CPU_PROGRAM_MAP(baryon_map) |
592 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold | |
592 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dreamwld_state, irq4_line_hold | |
593 | 593 | |
594 | 594 | |
595 | 595 | /* video hardware */ |
r17996 | r17997 | |
617 | 617 | /* basic machine hardware */ |
618 | 618 | MCFG_CPU_MODIFY("maincpu") |
619 | 619 | MCFG_CPU_PROGRAM_MAP(dreamwld_map) |
620 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
620 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dreamwld_state, irq4_line_hold) | |
621 | 621 | |
622 | 622 | MCFG_OKIM6295_ADD("oki2", MASTER_CLOCK/32, OKIM6295_PIN7_LOW) |
623 | 623 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) |
r17996 | r17997 | |
---|---|---|
957 | 957 | MCFG_CPU_ADD("maincpu", Z80, 24000000/6) |
958 | 958 | MCFG_CPU_PROGRAM_MAP(ldrun_map) |
959 | 959 | MCFG_CPU_IO_MAP(kungfum_io_map) |
960 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
960 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m62_state, irq0_line_hold) | |
961 | 961 | |
962 | 962 | |
963 | 963 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
244 | 244 | m_i8039_status = 0; |
245 | 245 | } |
246 | 246 | |
247 | ||
247 | ||
248 | 248 | { |
249 | megazone_state *state = device->machine().driver_data<megazone_state>(); | |
250 | 249 | |
251 | if(state->m_irq_mask) | |
252 | device->execute().set_input_line(0, HOLD_LINE); | |
250 | if(m_irq_mask) | |
251 | device.execute().set_input_line(0, HOLD_LINE); | |
253 | 252 | } |
254 | 253 | |
255 | 254 | |
r17996 | r17997 | |
258 | 257 | /* basic machine hardware */ |
259 | 258 | MCFG_CPU_ADD("maincpu", M6809, 18432000/9) /* 2 MHz */ |
260 | 259 | MCFG_CPU_PROGRAM_MAP(megazone_map) |
261 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
260 | MCFG_CPU_VBLANK_INT_DRIVER("screen", megazone_state, vblank_irq) | |
262 | 261 | |
263 | 262 | MCFG_CPU_ADD("audiocpu", Z80,18432000/6) /* Z80 Clock is derived from the H1 signal */ |
264 | 263 | MCFG_CPU_PROGRAM_MAP(megazone_sound_map) |
265 | 264 | MCFG_CPU_IO_MAP(megazone_sound_io_map) |
266 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
265 | MCFG_CPU_VBLANK_INT_DRIVER("screen", megazone_state, irq0_line_hold) | |
267 | 266 | |
268 | 267 | MCFG_CPU_ADD("daccpu", I8039,14318000/2) /* 1/2 14MHz crystal */ |
269 | 268 | MCFG_CPU_PROGRAM_MAP(megazone_i8039_map) |
r17996 | r17997 | |
---|---|---|
236 | 236 | /* basic machine hardware */ |
237 | 237 | MCFG_CPU_ADD("maincpu", M68000, 14318180/2 ) |
238 | 238 | MCFG_CPU_PROGRAM_MAP(pass_map) |
239 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) /* all the same */ | |
239 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pass_state, irq1_line_hold) /* all the same */ | |
240 | 240 | |
241 | 241 | MCFG_CPU_ADD("audiocpu", Z80, 14318180/4 ) |
242 | 242 | MCFG_CPU_PROGRAM_MAP(pass_sound_map) |
243 | 243 | MCFG_CPU_IO_MAP(pass_sound_io_map) |
244 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,60) /* probably not accurate, unknown timing and generation (ym2203 sound chip?). */ | |
244 | MCFG_CPU_PERIODIC_INT_DRIVER(pass_state, irq0_line_hold, 60) /* probably not accurate, unknown timing and generation (ym2203 sound chip?). */ | |
245 | 245 | |
246 | 246 | /* video hardware */ |
247 | 247 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
1060 | 1060 | /* basic machine hardware */ |
1061 | 1061 | MCFG_CPU_ADD("maincpu",Z80,8000000/2) /* OK */ |
1062 | 1062 | MCFG_CPU_PROGRAM_MAP(40love_map) |
1063 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1063 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fortyl_state, irq0_line_hold) | |
1064 | 1064 | |
1065 | 1065 | MCFG_CPU_ADD("audiocpu",Z80,8000000/2) /* OK */ |
1066 | 1066 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1067 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* source/number of IRQs is unknown */ | |
1067 | MCFG_CPU_PERIODIC_INT_DRIVER(fortyl_state, irq0_line_hold, 2*60) /* source/number of IRQs is unknown */ | |
1068 | 1068 | |
1069 | 1069 | MCFG_CPU_ADD("mcu",M68705,18432000/6) /* OK */ |
1070 | 1070 | MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map) |
r17996 | r17997 | |
1116 | 1116 | /* basic machine hardware */ |
1117 | 1117 | MCFG_CPU_ADD("maincpu",Z80,8000000/2) |
1118 | 1118 | MCFG_CPU_PROGRAM_MAP(undoukai_map) |
1119 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1119 | MCFG_CPU_VBLANK_INT_DRIVER("screen", fortyl_state, irq0_line_hold) | |
1120 | 1120 | |
1121 | 1121 | MCFG_CPU_ADD("audiocpu",Z80,8000000/2) |
1122 | 1122 | MCFG_CPU_PROGRAM_MAP(sound_map) |
1123 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* source/number of IRQs is unknown */ | |
1123 | MCFG_CPU_PERIODIC_INT_DRIVER(fortyl_state, irq0_line_hold, 2*60) /* source/number of IRQs is unknown */ | |
1124 | 1124 | |
1125 | 1125 | // MCFG_CPU_ADD("mcu",M68705,18432000/6) |
1126 | 1126 | // MCFG_CPU_PROGRAM_MAP(buggychl_mcu_map) |
r17996 | r17997 | |
---|---|---|
1637 | 1637 | }; |
1638 | 1638 | |
1639 | 1639 | |
1640 | ||
1640 | ||
1641 | 1641 | { |
1642 | galaga_state *state = device->machine().driver_data<galaga_state>(); | |
1643 | 1642 | |
1644 | if(state->m_main_irq_mask) | |
1645 | device->execute().set_input_line(0, ASSERT_LINE); | |
1643 | if(m_main_irq_mask) | |
1644 | device.execute().set_input_line(0, ASSERT_LINE); | |
1646 | 1645 | } |
1647 | 1646 | |
1648 | ||
1647 | ||
1649 | 1648 | { |
1650 | galaga_state *state = device->machine().driver_data<galaga_state>(); | |
1651 | 1649 | |
1652 | if(state->m_sub_irq_mask) | |
1653 | device->execute().set_input_line(0, ASSERT_LINE); | |
1650 | if(m_sub_irq_mask) | |
1651 | device.execute().set_input_line(0, ASSERT_LINE); | |
1654 | 1652 | } |
1655 | 1653 | |
1656 | 1654 | const namco_06xx_config bosco_namco_06xx_0_intf = |
r17996 | r17997 | |
1673 | 1671 | /* basic machine hardware */ |
1674 | 1672 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1675 | 1673 | MCFG_CPU_PROGRAM_MAP(bosco_map) |
1676 | MCFG_CPU_VBLANK_INT("screen", main_vblank_irq) | |
1674 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, main_vblank_irq) | |
1677 | 1675 | |
1678 | 1676 | MCFG_CPU_ADD("sub", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1679 | 1677 | MCFG_CPU_PROGRAM_MAP(bosco_map) |
1680 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
1678 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, sub_vblank_irq) | |
1681 | 1679 | |
1682 | 1680 | MCFG_CPU_ADD("sub2", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1683 | 1681 | MCFG_CPU_PROGRAM_MAP(bosco_map) |
r17996 | r17997 | |
1733 | 1731 | /* basic machine hardware */ |
1734 | 1732 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1735 | 1733 | MCFG_CPU_PROGRAM_MAP(galaga_map) |
1736 | MCFG_CPU_VBLANK_INT("screen", main_vblank_irq) | |
1734 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, main_vblank_irq) | |
1737 | 1735 | |
1738 | 1736 | MCFG_CPU_ADD("sub", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1739 | 1737 | MCFG_CPU_PROGRAM_MAP(galaga_map) |
1740 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
1738 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, sub_vblank_irq) | |
1741 | 1739 | |
1742 | 1740 | MCFG_CPU_ADD("sub2", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1743 | 1741 | MCFG_CPU_PROGRAM_MAP(galaga_map) |
r17996 | r17997 | |
1810 | 1808 | /* basic machine hardware */ |
1811 | 1809 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1812 | 1810 | MCFG_CPU_PROGRAM_MAP(xevious_map) |
1813 | MCFG_CPU_VBLANK_INT("screen", main_vblank_irq) | |
1811 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, main_vblank_irq) | |
1814 | 1812 | |
1815 | 1813 | MCFG_CPU_ADD("sub", Z80,MASTER_CLOCK/6) /* 3.072 MHz */ |
1816 | 1814 | MCFG_CPU_PROGRAM_MAP(xevious_map) |
1817 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
1815 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, sub_vblank_irq) | |
1818 | 1816 | |
1819 | 1817 | MCFG_CPU_ADD("sub2", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1820 | 1818 | MCFG_CPU_PROGRAM_MAP(xevious_map) |
r17996 | r17997 | |
1873 | 1871 | |
1874 | 1872 | MCFG_CPU_ADD("sub3", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1875 | 1873 | MCFG_CPU_PROGRAM_MAP(battles_mem4) |
1876 | MCFG_CPU_VBLANK_INT("screen", battles_interrupt_4) | |
1874 | MCFG_CPU_VBLANK_INT_DRIVER("screen", xevious_state, battles_interrupt_4) | |
1877 | 1875 | |
1878 | 1876 | MCFG_TIMER_ADD("battles_nmi", battles_nmi_generate) |
1879 | 1877 | |
r17996 | r17997 | |
1899 | 1897 | /* basic machine hardware */ |
1900 | 1898 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1901 | 1899 | MCFG_CPU_PROGRAM_MAP(digdug_map) |
1902 | MCFG_CPU_VBLANK_INT("screen", main_vblank_irq) | |
1900 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, main_vblank_irq) | |
1903 | 1901 | |
1904 | 1902 | MCFG_CPU_ADD("sub", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1905 | 1903 | MCFG_CPU_PROGRAM_MAP(digdug_map) |
1906 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
1904 | MCFG_CPU_VBLANK_INT_DRIVER("screen", galaga_state, sub_vblank_irq) | |
1907 | 1905 | |
1908 | 1906 | MCFG_CPU_ADD("sub2", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
1909 | 1907 | MCFG_CPU_PROGRAM_MAP(digdug_map) |
r17996 | r17997 | |
---|---|---|
54 | 54 | virtual void machine_start(); |
55 | 55 | virtual void palette_init(); |
56 | 56 | UINT32 screen_update_istellar(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
57 | INTERRUPT_GEN_MEMBER(vblank_callback_istellar); | |
57 | 58 | }; |
58 | 59 | |
59 | 60 | |
r17996 | r17997 | |
316 | 317 | GFXDECODE_ENTRY( "gfx1", 0, istellar_gfx_layout, 0x0, 0x20 ) |
317 | 318 | GFXDECODE_END |
318 | 319 | |
319 | ||
320 | ||
320 | 321 | { |
321 | 322 | /* Interrupt presumably comes from VBlank */ |
322 | device | |
323 | device. | |
323 | 324 | |
324 | 325 | /* Interrupt presumably comes from the LDP's status strobe */ |
325 | | |
326 | | |
326 | 327 | } |
327 | 328 | |
328 | 329 | |
r17996 | r17997 | |
332 | 333 | MCFG_CPU_ADD("maincpu", Z80, GUESSED_CLOCK) |
333 | 334 | MCFG_CPU_PROGRAM_MAP(z80_0_mem) |
334 | 335 | MCFG_CPU_IO_MAP(z80_0_io) |
335 | MCFG_CPU_VBLANK_INT("screen", vblank_callback_istellar) | |
336 | MCFG_CPU_VBLANK_INT_DRIVER("screen", istellar_state, vblank_callback_istellar) | |
336 | 337 | |
337 | 338 | /* sound cpu */ |
338 | 339 | MCFG_CPU_ADD("audiocpu", Z80, GUESSED_CLOCK) |
r17996 | r17997 | |
---|---|---|
511 | 511 | /* basic machine hardware */ |
512 | 512 | MCFG_CPU_ADD("maincpu", M6502, 11289000/16) /* guess */ |
513 | 513 | MCFG_CPU_PROGRAM_MAP(lasso_main_map) |
514 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
514 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lasso_state, irq0_line_hold) | |
515 | 515 | |
516 | 516 | MCFG_CPU_ADD("audiocpu", M6502, 600000) |
517 | 517 | MCFG_CPU_PROGRAM_MAP(lasso_audio_map) |
r17996 | r17997 | |
597 | 597 | /* basic machine hardware */ |
598 | 598 | MCFG_CPU_REPLACE("maincpu", M6502, XTAL_18MHz/24) |
599 | 599 | MCFG_CPU_PROGRAM_MAP(pinbo_main_map) |
600 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
600 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lasso_state, irq0_line_hold) | |
601 | 601 | |
602 | 602 | MCFG_CPU_REPLACE("audiocpu", Z80, XTAL_18MHz/6) |
603 | 603 | MCFG_CPU_PROGRAM_MAP(pinbo_audio_map) |
r17996 | r17997 | |
---|---|---|
481 | 481 | MCFG_CPU_PROGRAM_MAP(macs_mem) |
482 | 482 | MCFG_CPU_IO_MAP(macs_io) |
483 | 483 | |
484 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
484 | MCFG_CPU_VBLANK_INT_DRIVER("screen", macs_state, irq0_line_hold) | |
485 | 485 | |
486 | 486 | MCFG_MACHINE_RESET_OVERRIDE(macs_state,macs) |
487 | 487 |
r17996 | r17997 | |
---|---|---|
273 | 273 | update_irq(machine()); |
274 | 274 | } |
275 | 275 | |
276 | ||
276 | ||
277 | 277 | { |
278 | othunder_state *state = device->machine().driver_data<othunder_state>(); | |
279 | 278 | |
280 | state->m_vblank_irq = 1; | |
281 | update_irq(device->machine()); | |
279 | m_vblank_irq = 1; | |
280 | update_irq(machine()); | |
282 | 281 | } |
283 | 282 | |
284 | 283 | static TIMER_CALLBACK( ad_interrupt ) |
r17996 | r17997 | |
710 | 709 | // MCFG_CPU_ADD("maincpu", M68000, 24000000/2 ) /* 12 MHz */ |
711 | 710 | MCFG_CPU_ADD("maincpu", M68000, 13000000 ) /* fixes garbage graphics on startup */ |
712 | 711 | MCFG_CPU_PROGRAM_MAP(othunder_map) |
713 | MCFG_CPU_VBLANK_INT("screen", vblank_interrupt) | |
712 | MCFG_CPU_VBLANK_INT_DRIVER("screen", othunder_state, vblank_interrupt) | |
714 | 713 | |
715 | 714 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4 ) /* 4 MHz */ |
716 | 715 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
r17996 | r17997 | |
---|---|---|
1214 | 1214 | /* basic machine hardware */ |
1215 | 1215 | MCFG_CPU_REPLACE("maincpu",M6800,1500000) // ? |
1216 | 1216 | MCFG_CPU_PROGRAM_MAP(sflush_map) |
1217 | MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) | |
1217 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _8080bw_state, irq0_line_hold) | |
1218 | 1218 | MCFG_MACHINE_START_OVERRIDE(_8080bw_state,mw8080bw) |
1219 | 1219 | |
1220 | 1220 | /* add shifter */ |
r17996 | r17997 | |
1363 | 1363 | /* */ |
1364 | 1364 | /*******************************************************/ |
1365 | 1365 | |
1366 | ||
1366 | ||
1367 | 1367 | { |
1368 | _8080bw_state *state = device->machine().driver_data<_8080bw_state>(); | |
1369 | state->m_polaris_cloud_speed++; | |
1368 | m_polaris_cloud_speed++; | |
1370 | 1369 | |
1371 | if ( | |
1370 | if ( | |
1372 | 1371 | { |
1373 | state->m_polaris_cloud_speed = 0; | |
1374 | state->m_polaris_cloud_pos++; | |
1372 | m_polaris_cloud_speed = 0; | |
1373 | m_polaris_cloud_pos++; | |
1375 | 1374 | } |
1376 | 1375 | } |
1377 | 1376 | |
r17996 | r17997 | |
1461 | 1460 | MCFG_CPU_PROGRAM_MAP(schaser_map) |
1462 | 1461 | MCFG_CPU_IO_MAP(polaris_io_map) |
1463 | 1462 | MCFG_WATCHDOG_VBLANK_INIT(255) |
1464 | MCFG_CPU_VBLANK_INT("screen", polaris_interrupt) | |
1463 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _8080bw_state, polaris_interrupt) | |
1465 | 1464 | MCFG_MACHINE_START_OVERRIDE(_8080bw_state,polaris) |
1466 | 1465 | |
1467 | 1466 | /* add shifter */ |
r17996 | r17997 | |
2074 | 2073 | MCFG_CPU_MODIFY("maincpu") |
2075 | 2074 | MCFG_CPU_PROGRAM_MAP(darthvdr_map) |
2076 | 2075 | MCFG_CPU_IO_MAP(darthvdr_io_map) |
2077 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
2076 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _8080bw_state, irq0_line_hold) | |
2078 | 2077 | |
2079 | 2078 | MCFG_MACHINE_START_OVERRIDE(_8080bw_state,darthvdr) |
2080 | 2079 | MCFG_MACHINE_RESET_OVERRIDE(_8080bw_state,darthvdr) |
r17996 | r17997 | |
---|---|---|
279 | 279 | |
280 | 280 | MCFG_CPU_ADD("maincpu", M68000, 16000000 /2) |
281 | 281 | MCFG_CPU_PROGRAM_MAP(good_map) |
282 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
282 | MCFG_CPU_VBLANK_INT_DRIVER("screen", good_state, irq2_line_hold) | |
283 | 283 | |
284 | 284 | MCFG_GFXDECODE(good) |
285 | 285 |
r17996 | r17997 | |
---|---|---|
268 | 268 | GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout, 0, 64+1 ) /* ROM chars */ |
269 | 269 | GFXDECODE_END |
270 | 270 | |
271 | ||
271 | ||
272 | 272 | { |
273 | device | |
273 | device. | |
274 | 274 | } |
275 | 275 | |
276 | 276 | static const s2636_interface s2636_0_config = |
r17996 | r17997 | |
328 | 328 | MCFG_CPU_ADD("maincpu", S2650, 14318000/4) /* 14 mhz crystal divide by 4 on board */ |
329 | 329 | MCFG_CPU_PROGRAM_MAP(quasar) |
330 | 330 | MCFG_CPU_IO_MAP(quasar_io) |
331 | MCFG_CPU_VBLANK_INT("screen", quasar_interrupt) | |
331 | MCFG_CPU_VBLANK_INT_DRIVER("screen", quasar_state, quasar_interrupt) | |
332 | 332 | |
333 | 333 | MCFG_CPU_ADD("soundcpu",I8035,6000000) /* 6MHz crystal divide by 15 in CPU */ |
334 | 334 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
235 | 235 | MCFG_CPU_ADD("maincpu", Z80,16000000 / 4) /* 4 MHz ? */ |
236 | 236 | MCFG_CPU_PROGRAM_MAP(main_map) |
237 | 237 | MCFG_CPU_IO_MAP(port_map) |
238 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
239 | MCFG_CPU_PERIODIC_INT(irq0_line_assert,4*60) /* ?? controls music tempo */ | |
238 | MCFG_CPU_VBLANK_INT_DRIVER("screen", xyonix_state, nmi_line_pulse) | |
239 | MCFG_CPU_PERIODIC_INT_DRIVER(xyonix_state, irq0_line_assert, 4*60) /* ?? controls music tempo */ | |
240 | 240 | |
241 | 241 | /* video hardware */ |
242 | 242 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
257 | 257 | // basic machine hardware |
258 | 258 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* verified on pcb */ |
259 | 259 | MCFG_CPU_PROGRAM_MAP(c1943_map) |
260 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
260 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _1943_state, irq0_line_hold) | |
261 | 261 | |
262 | 262 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8) /* verified on pcb */ |
263 | 263 | MCFG_CPU_PROGRAM_MAP(sound_map) |
264 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) | |
264 | MCFG_CPU_PERIODIC_INT_DRIVER(_1943_state, irq0_line_hold, 4*60) | |
265 | 265 | |
266 | 266 | |
267 | 267 | // video hardware |
r17996 | r17997 | |
---|---|---|
191 | 191 | return 0x00; |
192 | 192 | } |
193 | 193 | |
194 | ||
194 | ||
195 | 195 | { |
196 | device | |
196 | device. | |
197 | 197 | } |
198 | 198 | |
199 | 199 | CUSTOM_INPUT_MEMBER(psikyo4_state::system_port_r) |
r17996 | r17997 | |
681 | 681 | /* basic machine hardware */ |
682 | 682 | MCFG_CPU_ADD("maincpu", SH2, MASTER_CLOCK/2) |
683 | 683 | MCFG_CPU_PROGRAM_MAP(ps4_map) |
684 | MCFG_CPU_VBLANK_INT("lscreen", psikyosh_interrupt) | |
684 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", psikyo4_state, psikyosh_interrupt) | |
685 | 685 | |
686 | 686 | |
687 | 687 | MCFG_EEPROM_ADD("eeprom", eeprom_interface_93C56) |
r17996 | r17997 | |
---|---|---|
396 | 396 | 0 /* stereo */ |
397 | 397 | }; |
398 | 398 | |
399 | ||
399 | ||
400 | 400 | { |
401 | pacland_state *state = device->machine().driver_data<pacland_state>(); | |
402 | 401 | |
403 | if(state->m_main_irq_mask) | |
404 | device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
402 | if(m_main_irq_mask) | |
403 | machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
405 | 404 | } |
406 | 405 | |
407 | ||
406 | ||
408 | 407 | { |
409 | pacland_state *state = device->machine().driver_data<pacland_state>(); | |
410 | 408 | |
411 | if(state->m_mcu_irq_mask) | |
412 | device->machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE); | |
409 | if(m_mcu_irq_mask) | |
410 | machine().device("mcu")->execute().set_input_line(0, ASSERT_LINE); | |
413 | 411 | } |
414 | 412 | |
415 | 413 | static MACHINE_CONFIG_START( pacland, pacland_state ) |
r17996 | r17997 | |
417 | 415 | /* basic machine hardware */ |
418 | 416 | MCFG_CPU_ADD("maincpu", M6809, 49152000/32) /* 1.536 MHz */ |
419 | 417 | MCFG_CPU_PROGRAM_MAP(main_map) |
420 | MCFG_CPU_VBLANK_INT("screen", main_vblank_irq) | |
418 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacland_state, main_vblank_irq) | |
421 | 419 | |
422 | 420 | MCFG_CPU_ADD("mcu", HD63701, 49152000/8) /* 1.536 MHz? */ |
423 | 421 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
424 | 422 | MCFG_CPU_IO_MAP(mcu_port_map) |
425 | MCFG_CPU_VBLANK_INT("screen", mcu_vblank_irq) | |
423 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacland_state, mcu_vblank_irq) | |
426 | 424 | |
427 | 425 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* we need heavy synching between the MCU and the CPU */ |
428 | 426 |
r17996 | r17997 | |
---|---|---|
329 | 329 | DECLARE_CUSTOM_INPUT_MEMBER(game_over_flag_r); |
330 | 330 | virtual void machine_start(); |
331 | 331 | virtual void machine_reset(); |
332 | INTERRUPT_GEN_MEMBER(nss_vblank_irq); | |
332 | 333 | }; |
333 | 334 | |
334 | 335 | |
r17996 | r17997 | |
814 | 815 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.00) |
815 | 816 | MACHINE_CONFIG_END |
816 | 817 | |
817 | ||
818 | ||
818 | 819 | { |
819 | nss_state *state = device->machine().driver_data<nss_state>(); | |
820 | ||
821 | if(state->m_nmi_enable) | |
822 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
820 | if(m_nmi_enable) | |
821 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
823 | 822 | } |
824 | 823 | |
825 | 824 | void nss_state::machine_reset() |
r17996 | r17997 | |
845 | 844 | MCFG_CPU_ADD("bios", Z80, 4000000) |
846 | 845 | MCFG_CPU_PROGRAM_MAP(bios_map) |
847 | 846 | MCFG_CPU_IO_MAP(bios_io_map) |
848 | MCFG_CPU_VBLANK_INT("screen", nss_vblank_irq) | |
847 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nss_state, nss_vblank_irq) | |
849 | 848 | |
850 | 849 | MCFG_M50458_ADD("m50458",m50458_intf,4000000) /* TODO: correct clock */ |
851 | 850 | MCFG_S3520CF_ADD("s3520cf") /* RTC */ |
r17996 | r17997 | |
---|---|---|
208 | 208 | GFXDECODE_ENTRY( "gfx5", 0x0000, spritelayout, 0, 32 ) |
209 | 209 | GFXDECODE_END |
210 | 210 | |
211 | ||
211 | ||
212 | 212 | { |
213 | rollrace_state *state = device->machine().driver_data<rollrace_state>(); | |
214 | 213 | |
215 | if(state->m_nmi_mask) | |
216 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
214 | if(m_nmi_mask) | |
215 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
217 | 216 | } |
218 | 217 | |
219 | ||
218 | ||
220 | 219 | { |
221 | rollrace_state *state = device->machine().driver_data<rollrace_state>(); | |
222 | 220 | |
223 | if(state->m_sound_nmi_mask) | |
224 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
221 | if(m_sound_nmi_mask) | |
222 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
225 | 223 | } |
226 | 224 | |
227 | 225 | static MACHINE_CONFIG_START( rollrace, rollrace_state ) |
r17996 | r17997 | |
229 | 227 | /* basic machine hardware */ |
230 | 228 | MCFG_CPU_ADD("maincpu", Z80,XTAL_24MHz/8) /* verified on pcb */ |
231 | 229 | MCFG_CPU_PROGRAM_MAP(rollrace_map) |
232 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
230 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rollrace_state, vblank_irq) | |
233 | 231 | |
234 | 232 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_24MHz/16) /* verified on pcb */ |
235 | 233 | MCFG_CPU_PROGRAM_MAP(rollrace_sound_map) |
236 | MCFG_CPU_PERIODIC_INT(sound_timer_irq,4*60) | |
234 | MCFG_CPU_PERIODIC_INT_DRIVER(rollrace_state, sound_timer_irq, 4*60) | |
237 | 235 | |
238 | 236 | /* video hardware */ |
239 | 237 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
320 | 320 | /* basic machine hardware */ |
321 | 321 | MCFG_CPU_ADD("maincpu", M68000, 28000000/2) |
322 | 322 | MCFG_CPU_PROGRAM_MAP(mirage_map) |
323 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
323 | MCFG_CPU_VBLANK_INT_DRIVER("screen", miragemi_state, irq6_line_hold) | |
324 | 324 | |
325 | 325 | |
326 | 326 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
328 | 328 | m_gfx_bank = 0; |
329 | 329 | } |
330 | 330 | |
331 | ||
331 | ||
332 | 332 | { |
333 | popper_state *state = device->machine().driver_data<popper_state>(); | |
334 | 333 | |
335 | if(state->m_nmi_mask) | |
336 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
334 | if(m_nmi_mask) | |
335 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
337 | 336 | } |
338 | 337 | |
339 | 338 | |
r17996 | r17997 | |
342 | 341 | /* basic machine hardware */ |
343 | 342 | MCFG_CPU_ADD("maincpu", Z80,18432000/6) |
344 | 343 | MCFG_CPU_PROGRAM_MAP(popper_map) |
345 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
344 | MCFG_CPU_VBLANK_INT_DRIVER("screen", popper_state, vblank_irq) | |
346 | 345 | |
347 | 346 | MCFG_CPU_ADD("audiocpu", Z80,18432000/12) |
348 | 347 | MCFG_CPU_PROGRAM_MAP(popper_sound_map) |
349 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) //NMIs caused by the main CPU | |
348 | MCFG_CPU_PERIODIC_INT_DRIVER(popper_state, irq0_line_hold, 4*60) //NMIs caused by the main CPU | |
350 | 349 | |
351 | 350 | MCFG_QUANTUM_TIME(attotime::from_hz(1800)) |
352 | 351 |
r17996 | r17997 | |
---|---|---|
306 | 306 | /* basic machine hardware */ |
307 | 307 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) |
308 | 308 | MCFG_CPU_PROGRAM_MAP(ladyfrog_map) |
309 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
309 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ladyfrog_state, irq0_line_hold) | |
310 | 310 | |
311 | 311 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) |
312 | 312 | MCFG_CPU_PROGRAM_MAP(ladyfrog_sound_map) |
313 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
313 | MCFG_CPU_PERIODIC_INT_DRIVER(ladyfrog_state, irq0_line_hold, 2*60) | |
314 | 314 | |
315 | 315 | |
316 | 316 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
r17996 | r17997 | |
---|---|---|
577 | 577 | MCFG_CPU_ADD("cpu1", Z80, 6000000) |
578 | 578 | MCFG_CPU_PROGRAM_MAP(cpu1_am) |
579 | 579 | MCFG_CPU_IO_MAP(cpu1_port_am) |
580 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
580 | MCFG_CPU_VBLANK_INT_DRIVER("screen", djboy_state, irq0_line_hold) | |
581 | 581 | |
582 | 582 | MCFG_CPU_ADD("cpu2", Z80, 6000000) |
583 | 583 | MCFG_CPU_PROGRAM_MAP(cpu2_am) |
584 | 584 | MCFG_CPU_IO_MAP(cpu2_port_am) |
585 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
585 | MCFG_CPU_VBLANK_INT_DRIVER("screen", djboy_state, irq0_line_hold) | |
586 | 586 | |
587 | 587 | MCFG_CPU_ADD("beast", I80C51, 6000000) |
588 | 588 | MCFG_CPU_IO_MAP(djboy_mcu_io_map) |
r17996 | r17997 | |
---|---|---|
657 | 657 | /* basic machine hardware */ |
658 | 658 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */ |
659 | 659 | MCFG_CPU_PROGRAM_MAP(sidearms_map) |
660 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
660 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sidearms_state, irq0_line_hold) | |
661 | 661 | |
662 | 662 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz (?) */ |
663 | 663 | MCFG_CPU_PROGRAM_MAP(sidearms_sound_map) |
r17996 | r17997 | |
700 | 700 | /* basic machine hardware */ |
701 | 701 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */ |
702 | 702 | MCFG_CPU_PROGRAM_MAP(turtship_map) |
703 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
703 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sidearms_state, irq0_line_hold) | |
704 | 704 | |
705 | 705 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz (?) */ |
706 | 706 | MCFG_CPU_PROGRAM_MAP(sidearms_sound_map) |
r17996 | r17997 | |
742 | 742 | /* basic machine hardware */ |
743 | 743 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz (?) */ |
744 | 744 | MCFG_CPU_PROGRAM_MAP(whizz_map) |
745 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
745 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sidearms_state, irq0_line_hold) | |
746 | 746 | |
747 | 747 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
748 | 748 | MCFG_CPU_PROGRAM_MAP(whizz_sound_map) |
749 | 749 | MCFG_CPU_IO_MAP(whizz_io_map) |
750 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
750 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sidearms_state, irq0_line_hold) | |
751 | 751 | |
752 | 752 | MCFG_QUANTUM_TIME(attotime::from_hz(60000)) |
753 | 753 |
r17996 | r17997 | |
---|---|---|
829 | 829 | /* basic machine hardware */ |
830 | 830 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */ |
831 | 831 | MCFG_CPU_PROGRAM_MAP(superman_map) |
832 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
832 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitox_state, irq6_line_hold) | |
833 | 833 | |
834 | 834 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) /* verified on pcb */ |
835 | 835 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
872 | 872 | /* basic machine hardware */ |
873 | 873 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */ |
874 | 874 | MCFG_CPU_PROGRAM_MAP(daisenpu_map) |
875 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
875 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitox_state, irq2_line_hold) | |
876 | 876 | |
877 | 877 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) /* verified on pcb */ |
878 | 878 | MCFG_CPU_PROGRAM_MAP(daisenpu_sound_map) |
r17996 | r17997 | |
912 | 912 | /* basic machine hardware */ |
913 | 913 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz? */ |
914 | 914 | MCFG_CPU_PROGRAM_MAP(gigandes_map) |
915 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
915 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitox_state, irq2_line_hold) | |
916 | 916 | |
917 | 917 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */ |
918 | 918 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
954 | 954 | /* basic machine hardware */ |
955 | 955 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz? */ |
956 | 956 | MCFG_CPU_PROGRAM_MAP(ballbros_map) |
957 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
957 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitox_state, irq2_line_hold) | |
958 | 958 | |
959 | 959 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */ |
960 | 960 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
307 | 307 | /* basic machine hardware */ |
308 | 308 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
309 | 309 | MCFG_CPU_PROGRAM_MAP(main_map) |
310 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
310 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tumblep_state, irq6_line_hold) | |
311 | 311 | |
312 | 312 | MCFG_CPU_ADD("audiocpu", H6280, 32220000/8) /* Custom chip 45; Audio section crystal is 32.220 MHz */ |
313 | 313 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
208 | 208 | /* basic machine hardware */ |
209 | 209 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz/2) /* DE102 (verified on pcb) */ |
210 | 210 | MCFG_CPU_PROGRAM_MAP(dietgo_map) |
211 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
211 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dietgo_state, irq6_line_hold) | |
212 | 212 | |
213 | 213 | MCFG_CPU_ADD("audiocpu", H6280, XTAL_32_22MHz/4/3) /* Custom chip 45; XIN is 32.220MHZ/4, verified on pcb */ |
214 | 214 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
442 | 442 | DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r) |
443 | 443 | }; |
444 | 444 | |
445 | ||
445 | ||
446 | 446 | { |
447 | kingofb_state *state = device->machine().driver_data<kingofb_state>(); | |
448 | 447 | |
449 | if (state->m_nmi_enable) | |
450 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
448 | if (m_nmi_enable) | |
449 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
451 | 450 | } |
452 | 451 | |
453 | 452 | void kingofb_state::machine_start() |
r17996 | r17997 | |
473 | 472 | /* basic machine hardware */ |
474 | 473 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4.0 MHz */ |
475 | 474 | MCFG_CPU_PROGRAM_MAP(kingobox_map) |
476 | MCFG_CPU_VBLANK_INT("screen", kingofb_interrupt) | |
475 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingofb_state, kingofb_interrupt) | |
477 | 476 | |
478 | 477 | MCFG_CPU_ADD("video", Z80, 4000000) /* 4.0 MHz */ |
479 | 478 | MCFG_CPU_PROGRAM_MAP(kingobox_video_map) |
480 | MCFG_CPU_VBLANK_INT("screen", kingofb_interrupt) | |
479 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingofb_state, kingofb_interrupt) | |
481 | 480 | |
482 | 481 | MCFG_CPU_ADD("sprite", Z80, 4000000) /* 4.0 MHz */ |
483 | 482 | MCFG_CPU_PROGRAM_MAP(kingobox_sprite_map) |
484 | MCFG_CPU_VBLANK_INT("screen", kingofb_interrupt) | |
483 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingofb_state, kingofb_interrupt) | |
485 | 484 | |
486 | 485 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4.0 MHz */ |
487 | 486 | MCFG_CPU_PROGRAM_MAP(kingobox_sound_map) |
488 | 487 | MCFG_CPU_IO_MAP(kingobox_sound_io_map) |
489 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 6000) /* Hz */ | |
488 | MCFG_CPU_PERIODIC_INT_DRIVER(kingofb_state, nmi_line_pulse, 6000) /* Hz */ | |
490 | 489 | |
491 | 490 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* We really need heavy synching among the processors */ |
492 | 491 | |
r17996 | r17997 | |
523 | 522 | /* basic machine hardware */ |
524 | 523 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4.0 MHz */ |
525 | 524 | MCFG_CPU_PROGRAM_MAP(ringking_map) |
526 | MCFG_CPU_VBLANK_INT("screen", kingofb_interrupt) | |
525 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingofb_state, kingofb_interrupt) | |
527 | 526 | |
528 | 527 | MCFG_CPU_ADD("video", Z80, 4000000) /* 4.0 MHz */ |
529 | 528 | MCFG_CPU_PROGRAM_MAP(ringking_video_map) |
530 | MCFG_CPU_VBLANK_INT("screen", kingofb_interrupt) | |
529 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingofb_state, kingofb_interrupt) | |
531 | 530 | |
532 | 531 | MCFG_CPU_ADD("sprite", Z80, 4000000) /* 4.0 MHz */ |
533 | 532 | MCFG_CPU_PROGRAM_MAP(ringking_sprite_map) |
534 | MCFG_CPU_VBLANK_INT("screen", kingofb_interrupt) | |
533 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kingofb_state, kingofb_interrupt) | |
535 | 534 | |
536 | 535 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4.0 MHz */ |
537 | 536 | MCFG_CPU_PROGRAM_MAP(kingobox_sound_map) |
538 | 537 | MCFG_CPU_IO_MAP(ringking_sound_io_map) |
539 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 6000) /* Hz */ | |
538 | MCFG_CPU_PERIODIC_INT_DRIVER(kingofb_state, nmi_line_pulse, 6000) /* Hz */ | |
540 | 539 | |
541 | 540 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* We really need heavy synching among the processors */ |
542 | 541 |
r17996 | r17997 | |
---|---|---|
112 | 112 | DECLARE_DRIVER_INIT(decode); |
113 | 113 | virtual void machine_start(); |
114 | 114 | virtual void machine_reset(); |
115 | INTERRUPT_GEN_MEMBER(timer_irq); | |
115 | 116 | }; |
116 | 117 | |
117 | 118 | |
r17996 | r17997 | |
185 | 186 | |
186 | 187 | /////////////////////////////////////////////////////////////////////////// |
187 | 188 | |
188 | ||
189 | ||
189 | 190 | { |
190 | bfmsys85_state *state = device->machine().driver_data<bfmsys85_state>(); | |
191 | if ( state->m_is_timer_enabled ) | |
191 | if ( m_is_timer_enabled ) | |
192 | 192 | { |
193 | state->m_irq_status = 0x01 |0x02; //0xff; | |
194 | generic_pulse_irq_line(device, M6809_IRQ_LINE, 1); | |
193 | m_irq_status = 0x01 |0x02; //0xff; | |
194 | generic_pulse_irq_line(device.execute(), M6809_IRQ_LINE, 1); | |
195 | 195 | } |
196 | 196 | } |
197 | 197 | |
r17996 | r17997 | |
418 | 418 | static MACHINE_CONFIG_START( bfmsys85, bfmsys85_state ) |
419 | 419 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/4) // 6809 CPU at 1 Mhz |
420 | 420 | MCFG_CPU_PROGRAM_MAP(memmap) // setup read and write memorymap |
421 | MCFG_CPU_PERIODIC_INT(timer_irq, 1000 | |
421 | MCFG_CPU_PERIODIC_INT_DRIVER(bfmsys85_state, timer_irq, 1000 | |
422 | 422 | MCFG_MSC1937_ADD("vfd",0,RIGHT_TO_LEFT) |
423 | 423 | |
424 | 424 | MCFG_ACIA6850_ADD("acia6850_0", m6809_acia_if) |
r17996 | r17997 | |
---|---|---|
699 | 699 | static MACHINE_CONFIG_START( esripsys, esripsys_state ) |
700 | 700 | MCFG_CPU_ADD("game_cpu", M6809E, XTAL_8MHz) |
701 | 701 | MCFG_CPU_PROGRAM_MAP(game_cpu_map) |
702 | MCFG_CPU_VBLANK_INT("screen", esripsys_vblank_irq) | |
702 | MCFG_CPU_VBLANK_INT_DRIVER("screen", esripsys_state, esripsys_vblank_irq) | |
703 | 703 | |
704 | 704 | MCFG_CPU_ADD("frame_cpu", M6809E, XTAL_8MHz) |
705 | 705 | MCFG_CPU_PROGRAM_MAP(frame_cpu_map) |
r17996 | r17997 | |
---|---|---|
46 | 46 | m_nmi_enabled = data; |
47 | 47 | } |
48 | 48 | |
49 | ||
49 | ||
50 | 50 | { |
51 | tsamurai_state *state = device->machine().driver_data<tsamurai_state>(); | |
52 | if (state->m_nmi_enabled) device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
51 | if (m_nmi_enabled) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
53 | 52 | } |
54 | 53 | |
55 | 54 | READ8_MEMBER(tsamurai_state::unknown_d803_r) |
r17996 | r17997 | |
267 | 266 | m_vsgongf_sound_nmi_enabled = data; |
268 | 267 | } |
269 | 268 | |
270 | ||
269 | ||
271 | 270 | { |
272 | tsamurai_state *state = device->machine().driver_data<tsamurai_state>(); | |
273 | if (state->m_vsgongf_sound_nmi_enabled) device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
271 | if (m_vsgongf_sound_nmi_enabled) device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
274 | 272 | } |
275 | 273 | |
276 | 274 | /* what are these, protection of some kind? */ |
r17996 | r17997 | |
682 | 680 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/8) |
683 | 681 | MCFG_CPU_PROGRAM_MAP(main_map) |
684 | 682 | MCFG_CPU_IO_MAP(z80_io_map) |
685 | MCFG_CPU_VBLANK_INT("screen", samurai_interrupt) | |
683 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tsamurai_state, samurai_interrupt) | |
686 | 684 | |
687 | 685 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8) |
688 | 686 | MCFG_CPU_PROGRAM_MAP(sound1_map) |
r17996 | r17997 | |
723 | 721 | /* basic machine hardware */ |
724 | 722 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/8) |
725 | 723 | MCFG_CPU_PROGRAM_MAP(vsgongf_map) |
726 | MCFG_CPU_VBLANK_INT("screen", samurai_interrupt) | |
724 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tsamurai_state, samurai_interrupt) | |
727 | 725 | |
728 | 726 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8) |
729 | 727 | MCFG_CPU_PROGRAM_MAP(sound_vsgongf_map) |
730 | 728 | MCFG_CPU_IO_MAP(vsgongf_audio_io_map) |
731 | MCFG_CPU_PERIODIC_INT(vsgongf_sound_interrupt,3*60) | |
729 | MCFG_CPU_PERIODIC_INT_DRIVER(tsamurai_state, vsgongf_sound_interrupt, 3*60) | |
732 | 730 | |
733 | 731 | /* video hardware */ |
734 | 732 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
761 | 759 | MCFG_CPU_ADD("maincpu", Z80, XTAL_24MHz/8) |
762 | 760 | MCFG_CPU_PROGRAM_MAP(m660_map) |
763 | 761 | MCFG_CPU_IO_MAP(z80_m660_io_map) |
764 | MCFG_CPU_VBLANK_INT("screen", samurai_interrupt) | |
762 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tsamurai_state, samurai_interrupt) | |
765 | 763 | |
766 | 764 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/8) |
767 | 765 | MCFG_CPU_PROGRAM_MAP(sound1_m660_map) |
r17996 | r17997 | |
772 | 770 | MCFG_CPU_ADD("audio3", Z80, XTAL_24MHz/8) |
773 | 771 | MCFG_CPU_PROGRAM_MAP(sound3_m660_map) |
774 | 772 | MCFG_CPU_IO_MAP(sound3_m660_io_map) |
775 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
773 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tsamurai_state, nmi_line_pulse) | |
776 | 774 | |
777 | 775 | /* video hardware */ |
778 | 776 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
61 | 61 | virtual void video_start(); |
62 | 62 | virtual void palette_init(); |
63 | 63 | UINT32 screen_update_ettrivia(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
64 | INTERRUPT_GEN_MEMBER(ettrivia_interrupt); | |
64 | 65 | }; |
65 | 66 | |
66 | 67 | |
r17996 | r17997 | |
289 | 290 | }; |
290 | 291 | |
291 | 292 | |
292 | ||
293 | ||
293 | 294 | { |
294 | if( device->machine().root_device().ioport("COIN")->read() & 0x01 ) | |
295 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
295 | if( machine().root_device().ioport("COIN")->read() & 0x01 ) | |
296 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
296 | 297 | else |
297 | device | |
298 | device. | |
298 | 299 | } |
299 | 300 | |
300 | 301 | static MACHINE_CONFIG_START( ettrivia, ettrivia_state ) |
301 | 302 | MCFG_CPU_ADD("maincpu", Z80,12000000/4-48000) //should be ok, it gives the 300 interrupts expected |
302 | 303 | MCFG_CPU_PROGRAM_MAP(cpu_map) |
303 | 304 | MCFG_CPU_IO_MAP(io_map) |
304 | MCFG_CPU_VBLANK_INT("screen", ettrivia_interrupt) | |
305 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ettrivia_state, ettrivia_interrupt) | |
305 | 306 | |
306 | 307 | MCFG_NVRAM_ADD_0FILL("nvram") |
307 | 308 |
r17996 | r17997 | |
---|---|---|
1406 | 1406 | static MACHINE_CONFIG_START( jalmah, jalmah_state ) |
1407 | 1407 | MCFG_CPU_ADD("maincpu" , M68000, 12000000) /* 68000-8 */ |
1408 | 1408 | MCFG_CPU_PROGRAM_MAP(jalmah) |
1409 | MCFG_CPU_VBLANK_INT("screen", irq2_line_hold) | |
1409 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jalmah_state, irq2_line_hold) | |
1410 | 1410 | |
1411 | 1411 | //M50747 MCU |
1412 | 1412 |
r17996 | r17997 | |
---|---|---|
451 | 451 | /* basic machine hardware */ |
452 | 452 | MCFG_CPU_ADD("maincpu",M68000,XTAL_20MHz/2) /* verified on pcb */ |
453 | 453 | MCFG_CPU_PROGRAM_MAP(f1gp_cpu1_map) |
454 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
454 | MCFG_CPU_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold) | |
455 | 455 | |
456 | 456 | MCFG_CPU_ADD("sub", M68000,XTAL_20MHz/2) /* verified on pcb */ |
457 | 457 | MCFG_CPU_PROGRAM_MAP(f1gp_cpu2_map) |
458 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
458 | MCFG_CPU_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold) | |
459 | 459 | |
460 | 460 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_20MHz/4) /* verified on pcb */ |
461 | 461 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
497 | 497 | /* basic machine hardware */ |
498 | 498 | MCFG_CPU_ADD("maincpu",M68000,10000000) /* 10 MHz ??? */ |
499 | 499 | MCFG_CPU_PROGRAM_MAP(f1gpb_cpu1_map) |
500 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
500 | MCFG_CPU_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold) | |
501 | 501 | |
502 | 502 | MCFG_CPU_ADD("sub", M68000,10000000) /* 10 MHz ??? */ |
503 | 503 | MCFG_CPU_PROGRAM_MAP(f1gpb_cpu2_map) |
504 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
504 | MCFG_CPU_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold) | |
505 | 505 | |
506 | 506 | /* NO sound CPU */ |
507 | 507 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */ |
r17996 | r17997 | |
---|---|---|
445 | 445 | |
446 | 446 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* guess */ |
447 | 447 | MCFG_CPU_PROGRAM_MAP(sdpoker_mem) |
448 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
448 | MCFG_CPU_VBLANK_INT_DRIVER("screen", supdrapo_state, irq0_line_hold) | |
449 | 449 | |
450 | 450 | |
451 | 451 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
465 | 465 | |
466 | 466 | MCFG_CPU_PROGRAM_MAP(lvcards_map) |
467 | 467 | MCFG_CPU_IO_MAP(lvcards_io_map) |
468 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
468 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lvcards_state, irq0_line_hold) | |
469 | 469 | |
470 | 470 | // video hardware |
471 | 471 |
r17996 | r17997 | |
---|---|---|
1606 | 1606 | static MACHINE_CONFIG_START( default, namcos2_state ) |
1607 | 1607 | MCFG_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1608 | 1608 | MCFG_CPU_PROGRAM_MAP(master_default_am) |
1609 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1609 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_master_vblank) | |
1610 | 1610 | |
1611 | 1611 | MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1612 | 1612 | MCFG_CPU_PROGRAM_MAP(slave_default_am) |
1613 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1613 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_slave_vblank) | |
1614 | 1614 | |
1615 | 1615 | MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ |
1616 | 1616 | MCFG_CPU_PROGRAM_MAP(sound_default_am) |
1617 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
1618 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 120) | |
1617 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) | |
1618 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) | |
1619 | 1619 | |
1620 | 1620 | MCFG_CPU_ADD("mcu", HD63705, C65_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - I/O handling */ |
1621 | 1621 | MCFG_CPU_PROGRAM_MAP(mcu_default_am) |
1622 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1622 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, irq0_line_hold) | |
1623 | 1623 | |
1624 | 1624 | MCFG_QUANTUM_TIME(attotime::from_hz(12000)) /* CPU slices per frame */ |
1625 | 1625 | |
r17996 | r17997 | |
1680 | 1680 | static MACHINE_CONFIG_START( gollygho, namcos2_state ) |
1681 | 1681 | MCFG_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1682 | 1682 | MCFG_CPU_PROGRAM_MAP(master_default_am) |
1683 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1683 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_master_vblank) | |
1684 | 1684 | |
1685 | 1685 | MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1686 | 1686 | MCFG_CPU_PROGRAM_MAP(slave_default_am) |
1687 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1687 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_slave_vblank) | |
1688 | 1688 | |
1689 | 1689 | MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ |
1690 | 1690 | MCFG_CPU_PROGRAM_MAP(sound_default_am) |
1691 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 2*60) | |
1692 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 120) | |
1691 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) | |
1692 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) | |
1693 | 1693 | |
1694 | 1694 | MCFG_CPU_ADD("mcu", HD63705, C65_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - I/O handling */ |
1695 | 1695 | MCFG_CPU_PROGRAM_MAP(mcu_default_am) |
1696 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1696 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, irq0_line_hold) | |
1697 | 1697 | |
1698 | 1698 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */ |
1699 | 1699 | |
r17996 | r17997 | |
1727 | 1727 | static MACHINE_CONFIG_START( finallap, namcos2_state ) |
1728 | 1728 | MCFG_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1729 | 1729 | MCFG_CPU_PROGRAM_MAP(master_finallap_am) |
1730 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1730 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_master_vblank) | |
1731 | 1731 | |
1732 | 1732 | MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1733 | 1733 | MCFG_CPU_PROGRAM_MAP(slave_finallap_am) |
1734 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1734 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_slave_vblank) | |
1735 | 1735 | |
1736 | 1736 | MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ |
1737 | 1737 | MCFG_CPU_PROGRAM_MAP(sound_default_am) |
1738 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 2*60) | |
1739 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 120) | |
1738 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) | |
1739 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) | |
1740 | 1740 | |
1741 | 1741 | MCFG_CPU_ADD("mcu", HD63705, C65_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - I/O handling */ |
1742 | 1742 | MCFG_CPU_PROGRAM_MAP(mcu_default_am) |
1743 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1743 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, irq0_line_hold) | |
1744 | 1744 | |
1745 | 1745 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */ |
1746 | 1746 | |
r17996 | r17997 | |
1778 | 1778 | static MACHINE_CONFIG_START( sgunner, namcos2_state ) |
1779 | 1779 | MCFG_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1780 | 1780 | MCFG_CPU_PROGRAM_MAP(master_sgunner_am) |
1781 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1781 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_master_vblank) | |
1782 | 1782 | |
1783 | 1783 | MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1784 | 1784 | MCFG_CPU_PROGRAM_MAP(slave_sgunner_am) |
1785 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1785 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_slave_vblank) | |
1786 | 1786 | |
1787 | 1787 | MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ |
1788 | 1788 | MCFG_CPU_PROGRAM_MAP(sound_default_am) |
1789 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 2*60) | |
1790 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, 120) | |
1789 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) | |
1790 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) | |
1791 | 1791 | |
1792 | 1792 | MCFG_CPU_ADD("mcu", HD63705, C65_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - I/O handling */ |
1793 | 1793 | MCFG_CPU_PROGRAM_MAP(mcu_default_am) |
1794 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1794 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, irq0_line_hold) | |
1795 | 1795 | |
1796 | 1796 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */ |
1797 | 1797 | |
r17996 | r17997 | |
1827 | 1827 | static MACHINE_CONFIG_START( luckywld, namcos2_state ) |
1828 | 1828 | MCFG_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1829 | 1829 | MCFG_CPU_PROGRAM_MAP(master_luckywld_am) |
1830 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1830 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_master_vblank) | |
1831 | 1831 | |
1832 | 1832 | MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1833 | 1833 | MCFG_CPU_PROGRAM_MAP(slave_luckywld_am) |
1834 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1834 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_slave_vblank) | |
1835 | 1835 | |
1836 | 1836 | MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ |
1837 | 1837 | MCFG_CPU_PROGRAM_MAP(sound_default_am) |
1838 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
1839 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,120) | |
1838 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) | |
1839 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) | |
1840 | 1840 | |
1841 | 1841 | MCFG_CPU_ADD("mcu", HD63705, C65_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - I/O handling */ |
1842 | 1842 | MCFG_CPU_PROGRAM_MAP(mcu_default_am) |
1843 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1843 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, irq0_line_hold) | |
1844 | 1844 | |
1845 | 1845 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */ |
1846 | 1846 | |
r17996 | r17997 | |
1878 | 1878 | static MACHINE_CONFIG_START( metlhawk, namcos2_state ) |
1879 | 1879 | MCFG_CPU_ADD("maincpu", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1880 | 1880 | MCFG_CPU_PROGRAM_MAP(master_metlhawk_am) |
1881 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_master_vblank) | |
1881 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_master_vblank) | |
1882 | 1882 | |
1883 | 1883 | MCFG_CPU_ADD("slave", M68000, M68K_CPU_CLOCK) /* 12.288MHz (49.152MHz OSC/4) */ |
1884 | 1884 | MCFG_CPU_PROGRAM_MAP(slave_metlhawk_am) |
1885 | MCFG_CPU_VBLANK_INT("screen", namcos2_68k_slave_vblank) | |
1885 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, namcos2_68k_slave_vblank) | |
1886 | 1886 | |
1887 | 1887 | MCFG_CPU_ADD("audiocpu", M6809, M68B09_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - Sound handling */ |
1888 | 1888 | MCFG_CPU_PROGRAM_MAP(sound_default_am) |
1889 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
1890 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,120) | |
1889 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq0_line_hold, 2*60) | |
1890 | MCFG_CPU_PERIODIC_INT_DRIVER(namcos2_shared_state, irq1_line_hold, 120) | |
1891 | 1891 | |
1892 | 1892 | MCFG_CPU_ADD("mcu", HD63705, C65_CPU_CLOCK) /* 2.048MHz (49.152MHz OSC/24) - I/O handling */ |
1893 | 1893 | MCFG_CPU_PROGRAM_MAP(mcu_default_am) |
1894 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1894 | MCFG_CPU_VBLANK_INT_DRIVER("screen", namcos2_shared_state, irq0_line_hold) | |
1895 | 1895 | |
1896 | 1896 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices per frame */ |
1897 | 1897 |
r17996 | r17997 | |
---|---|---|
274 | 274 | /* basic machine hardware */ |
275 | 275 | MCFG_CPU_ADD("cpua", Z80, 6000000) |
276 | 276 | MCFG_CPU_PROGRAM_MAP(cpua_map) |
277 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
277 | MCFG_CPU_VBLANK_INT_DRIVER("screen", exzisus_state, irq0_line_hold) | |
278 | 278 | |
279 | 279 | MCFG_CPU_ADD("cpub", Z80, 6000000) |
280 | 280 | MCFG_CPU_PROGRAM_MAP(cpub_map) |
281 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
281 | MCFG_CPU_VBLANK_INT_DRIVER("screen", exzisus_state, irq0_line_hold) | |
282 | 282 | |
283 | 283 | MCFG_CPU_ADD("cpuc", Z80, 6000000) |
284 | 284 | MCFG_CPU_PROGRAM_MAP(cpuc_map) |
285 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
285 | MCFG_CPU_VBLANK_INT_DRIVER("screen", exzisus_state, irq0_line_hold) | |
286 | 286 | |
287 | 287 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
288 | 288 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
81 | 81 | } |
82 | 82 | |
83 | 83 | /* Periodic Z80 interrupt */ |
84 | ||
84 | ||
85 | 85 | { |
86 | device | |
86 | device. | |
87 | 87 | } |
88 | 88 | |
89 | 89 | READ16_MEMBER(tx1_state::z80_shared_r) |
r17996 | r17997 | |
701 | 701 | MCFG_CPU_ADD("audio_cpu", Z80, TX1_PIXEL_CLOCK / 2) |
702 | 702 | MCFG_CPU_PROGRAM_MAP(tx1_sound_prg) |
703 | 703 | MCFG_CPU_IO_MAP(tx1_sound_io) |
704 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, TX1_PIXEL_CLOCK / 4 / 2048 / 2) | |
704 | MCFG_CPU_PERIODIC_INT_DRIVER(tx1_state, irq0_line_hold, TX1_PIXEL_CLOCK / 4 / 2048 / 2) | |
705 | 705 | |
706 | 706 | MCFG_MACHINE_RESET_OVERRIDE(tx1_state,tx1) |
707 | 707 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
753 | 753 | |
754 | 754 | MCFG_CPU_ADD("audio_cpu", Z80, BUGGYBOY_ZCLK / 2) |
755 | 755 | MCFG_CPU_PROGRAM_MAP(buggyboy_sound_prg) |
756 | MCFG_CPU_PERIODIC_INT(z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048) | |
756 | MCFG_CPU_PERIODIC_INT_DRIVER(tx1_state, z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048) | |
757 | 757 | MCFG_CPU_IO_MAP(buggyboy_sound_io) |
758 | 758 | |
759 | 759 | MCFG_MACHINE_RESET_OVERRIDE(tx1_state,buggyboy) |
r17996 | r17997 | |
808 | 808 | MCFG_CPU_ADD("audio_cpu", Z80, BUGGYBOY_ZCLK / 2) |
809 | 809 | MCFG_CPU_PROGRAM_MAP(buggybjr_sound_prg) |
810 | 810 | MCFG_CPU_IO_MAP(buggyboy_sound_io) |
811 | MCFG_CPU_PERIODIC_INT(z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048) | |
811 | MCFG_CPU_PERIODIC_INT_DRIVER(tx1_state, z80_irq, BUGGYBOY_ZCLK / 2 / 4 / 2048) | |
812 | 812 | |
813 | 813 | MCFG_MACHINE_RESET_OVERRIDE(tx1_state,buggyboy) |
814 | 814 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
---|---|---|
144 | 144 | /* basic machine hardware */ |
145 | 145 | MCFG_CPU_ADD("maincpu", Z80,8000000/2) |
146 | 146 | MCFG_CPU_PROGRAM_MAP(ssrj_map) |
147 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
147 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ssrj_state, irq0_line_hold) | |
148 | 148 | |
149 | 149 | /* video hardware */ |
150 | 150 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
195 | 195 | /* basic machine hardware */ |
196 | 196 | MCFG_CPU_ADD("maincpu", Z80,18432000/6) /* 3.072 MHz ??? */ |
197 | 197 | MCFG_CPU_PROGRAM_MAP(gotya_map) |
198 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
198 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gotya_state, irq0_line_hold) | |
199 | 199 | |
200 | 200 | |
201 | 201 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
221 | 221 | |
222 | 222 | MCFG_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */ |
223 | 223 | MCFG_CPU_PROGRAM_MAP(main_map) |
224 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
224 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cchance_state, irq0_line_hold) | |
225 | 225 | |
226 | 226 | MCFG_MACHINE_START_OVERRIDE(cchance_state,cchance) |
227 | 227 | MCFG_MACHINE_RESET_OVERRIDE(cchance_state,cchance) |
r17996 | r17997 | |
---|---|---|
149 | 149 | /* basic machine hardware */ |
150 | 150 | MCFG_CPU_ADD("maincpu", M68000, 8000000) |
151 | 151 | MCFG_CPU_PROGRAM_MAP(main_map) |
152 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
152 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aztarac_state, irq4_line_hold) | |
153 | 153 | |
154 | 154 | MCFG_CPU_ADD("audiocpu", Z80, 2000000) |
155 | 155 | MCFG_CPU_PROGRAM_MAP(sound_map) |
156 | MCFG_CPU_PERIODIC_INT(aztarac_snd_timed_irq, 100) | |
156 | MCFG_CPU_PERIODIC_INT_DRIVER(aztarac_state, aztarac_snd_timed_irq, 100) | |
157 | 157 | |
158 | 158 | MCFG_NVRAM_ADD_1FILL("nvram") |
159 | 159 |
r17996 | r17997 | |
---|---|---|
328 | 328 | GFXDECODE_ENTRY( "gfx3", 0, bglayout, 64*16+256*2, 64 ) |
329 | 329 | GFXDECODE_END |
330 | 330 | |
331 | ||
331 | ||
332 | 332 | { |
333 | retofinv_state *state = device->machine().driver_data<retofinv_state>(); | |
334 | 333 | |
335 | if(state->m_main_irq_mask) | |
336 | device->execute().set_input_line(0, ASSERT_LINE); | |
334 | if(m_main_irq_mask) | |
335 | device.execute().set_input_line(0, ASSERT_LINE); | |
337 | 336 | } |
338 | 337 | |
339 | ||
338 | ||
340 | 339 | { |
341 | retofinv_state *state = device->machine().driver_data<retofinv_state>(); | |
342 | 340 | |
343 | if(state->m_sub_irq_mask) | |
344 | device->execute().set_input_line(0, ASSERT_LINE); | |
341 | if(m_sub_irq_mask) | |
342 | device.execute().set_input_line(0, ASSERT_LINE); | |
345 | 343 | } |
346 | 344 | |
347 | 345 | |
r17996 | r17997 | |
367 | 365 | /* basic machine hardware */ |
368 | 366 | MCFG_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz? */ |
369 | 367 | MCFG_CPU_PROGRAM_MAP(main_map) |
370 | MCFG_CPU_VBLANK_INT("screen", main_vblank_irq) | |
368 | MCFG_CPU_VBLANK_INT_DRIVER("screen", retofinv_state, main_vblank_irq) | |
371 | 369 | |
372 | 370 | MCFG_CPU_ADD("sub", Z80, 18432000/6) /* 3.072 MHz? */ |
373 | 371 | MCFG_CPU_PROGRAM_MAP(sub_map) |
374 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
372 | MCFG_CPU_VBLANK_INT_DRIVER("screen", retofinv_state, sub_vblank_irq) | |
375 | 373 | |
376 | 374 | MCFG_CPU_ADD("audiocpu", Z80, 18432000/6) /* 3.072 MHz? */ |
377 | 375 | MCFG_CPU_PROGRAM_MAP(sound_map) |
378 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,2*60) | |
376 | MCFG_CPU_PERIODIC_INT_DRIVER(retofinv_state, nmi_line_pulse, 2*60) | |
379 | 377 | |
380 | 378 | MCFG_CPU_ADD("68705", M68705,18432000/6) /* 3.072 MHz? */ |
381 | 379 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
r17996 | r17997 | |
---|---|---|
155 | 155 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK) /* 4 MHz */ |
156 | 156 | MCFG_CPU_PROGRAM_MAP(dotrikun_map) |
157 | 157 | MCFG_CPU_IO_MAP(io_map) |
158 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
158 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dotrikun_state, irq0_line_hold) | |
159 | 159 | |
160 | 160 | |
161 | 161 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
209 | 209 | * |
210 | 210 | *************************************/ |
211 | 211 | |
212 | ||
212 | ||
213 | 213 | { |
214 | meadows_state *state = device->machine().driver_data<meadows_state>(); | |
215 | 214 | /* fake something toggling the sense input line of the S2650 */ |
216 | state->m_main_sense_state ^= 1; | |
217 | device->execute().set_input_line(1, state->m_main_sense_state ? ASSERT_LINE : CLEAR_LINE); | |
215 | m_main_sense_state ^= 1; | |
216 | device.execute().set_input_line(1, m_main_sense_state ? ASSERT_LINE : CLEAR_LINE); | |
218 | 217 | } |
219 | 218 | |
220 | 219 | |
r17996 | r17997 | |
225 | 224 | * |
226 | 225 | *************************************/ |
227 | 226 | |
228 | ||
227 | ||
229 | 228 | { |
230 | meadows_state *state = device->machine().driver_data<meadows_state>(); | |
231 | state->m_main_sense_state++; | |
232 | device->execute().set_input_line(1, (state->m_main_sense_state & 0x40) ? ASSERT_LINE : CLEAR_LINE ); | |
229 | m_main_sense_state++; | |
230 | device.execute().set_input_line(1, (m_main_sense_state & 0x40) ? ASSERT_LINE : CLEAR_LINE ); | |
233 | 231 | } |
234 | 232 | |
235 | 233 | |
r17996 | r17997 | |
307 | 305 | * |
308 | 306 | *************************************/ |
309 | 307 | |
310 | ||
308 | ||
311 | 309 | { |
312 | meadows_state *state = device->machine().driver_data<meadows_state>(); | |
313 | 310 | /* fake something toggling the sense input line of the S2650 */ |
314 | state->m_audio_sense_state ^= 1; | |
315 | device->execute().set_input_line(1, state->m_audio_sense_state ? ASSERT_LINE : CLEAR_LINE); | |
311 | m_audio_sense_state ^= 1; | |
312 | device.execute().set_input_line(1, m_audio_sense_state ? ASSERT_LINE : CLEAR_LINE); | |
316 | 313 | } |
317 | 314 | |
318 | 315 | |
r17996 | r17997 | |
645 | 642 | /* basic machine hardware */ |
646 | 643 | MCFG_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */ |
647 | 644 | MCFG_CPU_PROGRAM_MAP(meadows_main_map) |
648 | MCFG_CPU_VBLANK_INT("screen", meadows_interrupt) /* one interrupt per frame!? */ | |
645 | MCFG_CPU_VBLANK_INT_DRIVER("screen", meadows_state, meadows_interrupt) /* one interrupt per frame!? */ | |
649 | 646 | |
650 | 647 | MCFG_CPU_ADD("audiocpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */ |
651 | 648 | MCFG_CPU_PROGRAM_MAP(audio_map) |
652 | MCFG_CPU_PERIODIC_INT(audio_interrupt, (double)5000000/131072) | |
649 | MCFG_CPU_PERIODIC_INT_DRIVER(meadows_state, audio_interrupt, (double)5000000/131072) | |
653 | 650 | |
654 | 651 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
655 | 652 | |
r17996 | r17997 | |
681 | 678 | MCFG_CPU_ADD("maincpu", S2650, MASTER_CLOCK/24) /* 5MHz / 8 / 3 = 208.33 kHz */ |
682 | 679 | MCFG_CPU_PROGRAM_MAP(minferno_main_map) |
683 | 680 | MCFG_CPU_IO_MAP(minferno_io_map) |
684 | MCFG_CPU_VBLANK_INT("screen", minferno_interrupt) | |
681 | MCFG_CPU_VBLANK_INT_DRIVER("screen", meadows_state, minferno_interrupt) | |
685 | 682 | |
686 | 683 | /* video hardware */ |
687 | 684 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
702 | 699 | /* basic machine hardware */ |
703 | 700 | MCFG_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */ |
704 | 701 | MCFG_CPU_PROGRAM_MAP(bowl3d_main_map) |
705 | MCFG_CPU_VBLANK_INT("screen", meadows_interrupt) /* one interrupt per frame!? */ | |
702 | MCFG_CPU_VBLANK_INT_DRIVER("screen", meadows_state, meadows_interrupt) /* one interrupt per frame!? */ | |
706 | 703 | |
707 | 704 | MCFG_CPU_ADD("audiocpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */ |
708 | 705 | MCFG_CPU_PROGRAM_MAP(audio_map) |
709 | MCFG_CPU_PERIODIC_INT(audio_interrupt, (double)5000000/131072) | |
706 | MCFG_CPU_PERIODIC_INT_DRIVER(meadows_state, audio_interrupt, (double)5000000/131072) | |
710 | 707 | |
711 | 708 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
712 | 709 |
r17996 | r17997 | |
---|---|---|
59 | 59 | virtual void machine_reset(); |
60 | 60 | virtual void video_start(); |
61 | 61 | UINT32 screen_update_spoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
62 | INTERRUPT_GEN_MEMBER(spoker_interrupt); | |
62 | 63 | }; |
63 | 64 | |
64 | 65 | WRITE8_MEMBER(spoker_state::bg_tile_w) |
r17996 | r17997 | |
519 | 520 | m_video_enable = 1; |
520 | 521 | } |
521 | 522 | |
522 | ||
523 | ||
523 | 524 | { |
524 | // spoker_state *state = device->machine().driver_data<spoker_state>(); | |
525 | 525 | |
526 | device | |
526 | device. | |
527 | 527 | } |
528 | 528 | |
529 | 529 | static MACHINE_CONFIG_START( spoker, spoker_state ) |
r17996 | r17997 | |
532 | 532 | MCFG_CPU_ADD("maincpu", Z180, XTAL_12MHz / 2) /* HD64180RP8, 8 MHz? */ |
533 | 533 | MCFG_CPU_PROGRAM_MAP(spoker_map) |
534 | 534 | MCFG_CPU_IO_MAP(spoker_portmap) |
535 | MCFG_CPU_VBLANK_INT("screen",spoker_interrupt) | |
535 | MCFG_CPU_VBLANK_INT_DRIVER("screen", spoker_state, spoker_interrupt) | |
536 | 536 | |
537 | 537 | |
538 | 538 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
564 | 564 | MCFG_CPU_MODIFY("maincpu") |
565 | 565 | MCFG_CPU_PROGRAM_MAP(spoker_map) |
566 | 566 | MCFG_CPU_IO_MAP(3super8_portmap) |
567 | MCFG_CPU_VBLANK_INT("screen",spoker_interrupt) | |
568 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,120) // this signal comes from the PIC | |
567 | MCFG_CPU_VBLANK_INT_DRIVER("screen", spoker_state, spoker_interrupt) | |
568 | MCFG_CPU_PERIODIC_INT_DRIVER(spoker_state, irq0_line_hold, 120) // this signal comes from the PIC | |
569 | 569 | |
570 | 570 | MCFG_GFXDECODE(3super8) |
571 | 571 |
r17996 | r17997 | |
---|---|---|
1326 | 1326 | MCFG_CPU_ADD("maincpu", M68010, HARDDRIV_MASTER_CLOCK/4) |
1327 | 1327 | MCFG_CPU_PROGRAM_MAP(driver_68k_map) |
1328 | 1328 | MCFG_CPU_VBLANK_INT("screen", atarigen_video_int_gen) |
1329 | MCFG_CPU_PERIODIC_INT(hd68k_irq_gen, (double)HARDDRIV_MASTER_CLOCK/16/16/16/16/2) | |
1329 | MCFG_CPU_PERIODIC_INT_DRIVER(harddriv_state, hd68k_irq_gen, (double)HARDDRIV_MASTER_CLOCK/16/16/16/16/2) | |
1330 | 1330 | |
1331 | 1331 | MCFG_CPU_ADD("gsp", TMS34010, HARDDRIV_GSP_CLOCK) |
1332 | 1332 | MCFG_CPU_PROGRAM_MAP(driver_gsp_map) |
r17996 | r17997 | |
---|---|---|
1165 | 1165 | /* basic machine hardware */ |
1166 | 1166 | MCFG_CPU_ADD("maincpu", M68000,16000000/2) /* 8.00 MHz */ |
1167 | 1167 | MCFG_CPU_PROGRAM_MAP(srmp2_map) |
1168 | MCFG_CPU_VBLANK_INT("screen",irq4_line_assert) | |
1169 | MCFG_CPU_PERIODIC_INT(irq2_line_assert,15*60) /* Interrupt times is not understood */ | |
1168 | MCFG_CPU_VBLANK_INT_DRIVER("screen", srmp2_state, irq4_line_assert) | |
1169 | MCFG_CPU_PERIODIC_INT_DRIVER(srmp2_state, irq2_line_assert, 15*60) /* Interrupt times is not understood */ | |
1170 | 1170 | |
1171 | 1171 | MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp2) |
1172 | 1172 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
1207 | 1207 | // 4000000, /* 4.00 MHz ? */ |
1208 | 1208 | MCFG_CPU_PROGRAM_MAP(srmp3_map) |
1209 | 1209 | MCFG_CPU_IO_MAP(srmp3_io_map) |
1210 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
1210 | MCFG_CPU_VBLANK_INT_DRIVER("screen", srmp2_state, irq0_line_assert) | |
1211 | 1211 | |
1212 | 1212 | MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp3) |
1213 | 1213 | MCFG_NVRAM_ADD_0FILL("nvram") |
r17996 | r17997 | |
1255 | 1255 | /* basic machine hardware */ |
1256 | 1256 | MCFG_CPU_ADD("maincpu", M68000,16000000/2) /* 8.00 MHz */ |
1257 | 1257 | MCFG_CPU_PROGRAM_MAP(mjyuugi_map) |
1258 | MCFG_CPU_VBLANK_INT("screen",irq4_line_assert) | |
1259 | MCFG_CPU_PERIODIC_INT(irq2_line_assert,15*60) /* Interrupt times is not understood */ | |
1258 | MCFG_CPU_VBLANK_INT_DRIVER("screen", srmp2_state, irq4_line_assert) | |
1259 | MCFG_CPU_PERIODIC_INT_DRIVER(srmp2_state, irq2_line_assert, 15*60) /* Interrupt times is not understood */ | |
1260 | 1260 | |
1261 | 1261 | MCFG_MACHINE_START_OVERRIDE(srmp2_state,srmp2) |
1262 | 1262 |
r17996 | r17997 | |
---|---|---|
319 | 319 | /* basic machine hardware */ |
320 | 320 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
321 | 321 | MCFG_CPU_PROGRAM_MAP(ohmygod_map) |
322 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
322 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ohmygod_state, irq1_line_hold) | |
323 | 323 | |
324 | 324 | MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ |
325 | 325 |
r17996 | r17997 | |
---|---|---|
593 | 593 | /* basic machine hardware */ |
594 | 594 | MCFG_CPU_ADD("maincpu", M68000, XTAL_18MHz/2) /* verified on pcb */ |
595 | 595 | MCFG_CPU_PROGRAM_MAP(pow_map) |
596 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
596 | MCFG_CPU_VBLANK_INT_DRIVER("screen", snk68_state, irq1_line_hold) | |
597 | 597 | |
598 | 598 | MCFG_CPU_ADD("soundcpu", Z80, XTAL_8MHz/2) /* verified on pcb */ |
599 | 599 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
39 | 39 | } |
40 | 40 | |
41 | 41 | |
42 | ||
42 | ||
43 | 43 | { |
44 | aeroboto_state *state = device->machine().driver_data<aeroboto_state>(); | |
45 | 44 | |
46 | if (!state->m_disable_irq) | |
47 | device->execute().set_input_line(0, ASSERT_LINE); | |
45 | if (!m_disable_irq) | |
46 | device.execute().set_input_line(0, ASSERT_LINE); | |
48 | 47 | else |
49 | | |
48 | | |
50 | 49 | } |
51 | 50 | |
52 | 51 | READ8_MEMBER(aeroboto_state::aeroboto_irq_ack_r) |
r17996 | r17997 | |
252 | 251 | /* basic machine hardware */ |
253 | 252 | MCFG_CPU_ADD("maincpu", M6809, XTAL_10MHz/8) /* verified on pcb */ |
254 | 253 | MCFG_CPU_PROGRAM_MAP(main_map) |
255 | MCFG_CPU_VBLANK_INT("screen", aeroboto_interrupt) | |
254 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aeroboto_state, aeroboto_interrupt) | |
256 | 255 | |
257 | 256 | MCFG_CPU_ADD("audiocpu", M6809, XTAL_10MHz/16) /* verified on pcb */ |
258 | 257 | MCFG_CPU_PROGRAM_MAP(sound_map) |
259 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
258 | MCFG_CPU_VBLANK_INT_DRIVER("screen", aeroboto_state, irq0_line_hold) | |
260 | 259 | |
261 | 260 | |
262 | 261 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
178 | 178 | |
179 | 179 | MCFG_CPU_ADD("audiocpu", M6502, SOUND_CLOCK / 8) /* 512kHz */ |
180 | 180 | MCFG_CPU_PROGRAM_MAP(audio_map) |
181 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
181 | MCFG_CPU_VBLANK_INT_DRIVER("screen", madalien_state, nmi_line_pulse) | |
182 | 182 | |
183 | 183 | /* video hardware */ |
184 | 184 | MCFG_FRAGMENT_ADD(madalien_video) |
r17996 | r17997 | |
---|---|---|
581 | 581 | MSM5205_S48_4B /* 7.8125kHz */ |
582 | 582 | }; |
583 | 583 | |
584 | ||
584 | ||
585 | 585 | { |
586 | firetrap_state *state = device->machine().driver_data<firetrap_state>(); | |
587 | 586 | |
588 | if (state->m_nmi_enable) | |
589 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
587 | if (m_nmi_enable) | |
588 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
590 | 589 | } |
591 | 590 | |
592 | 591 | |
r17996 | r17997 | |
643 | 642 | /* basic machine hardware */ |
644 | 643 | MCFG_CPU_ADD("maincpu", Z80, FIRETRAP_XTAL/2) // 6 MHz |
645 | 644 | MCFG_CPU_PROGRAM_MAP(firetrap_map) |
646 | MCFG_CPU_VBLANK_INT("screen",firetrap_irq) | |
645 | MCFG_CPU_VBLANK_INT_DRIVER("screen", firetrap_state, firetrap_irq) | |
647 | 646 | |
648 | 647 | MCFG_CPU_ADD("audiocpu", M6502, FIRETRAP_XTAL/8) // 1.5 MHz |
649 | 648 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
679 | 678 | /* basic machine hardware */ |
680 | 679 | MCFG_CPU_ADD("maincpu", Z80, FIRETRAP_XTAL/2) // 6 MHz |
681 | 680 | MCFG_CPU_PROGRAM_MAP(firetrap_bootleg_map) |
682 | MCFG_CPU_VBLANK_INT("screen", firetrap_irq) | |
681 | MCFG_CPU_VBLANK_INT_DRIVER("screen", firetrap_state, firetrap_irq) | |
683 | 682 | |
684 | 683 | MCFG_CPU_ADD("audiocpu", M6502, FIRETRAP_XTAL/8) // 1.5 MHz |
685 | 684 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
437 | 437 | } |
438 | 438 | } |
439 | 439 | |
440 | ||
440 | ||
441 | 441 | { |
442 | thedeep_state *state = device->machine().driver_data<thedeep_state>(); | |
443 | 442 | |
444 | | |
443 | | |
445 | 444 | } |
446 | 445 | |
447 | 446 | static MACHINE_CONFIG_START( thedeep, thedeep_state ) |
r17996 | r17997 | |
458 | 457 | /* MCU is a i8751 running at 8Mhz (8mhz xtal)*/ |
459 | 458 | MCFG_CPU_ADD("mcu", I8751, XTAL_8MHz) |
460 | 459 | MCFG_CPU_IO_MAP(mcu_io_map) |
461 | MCFG_CPU_VBLANK_INT("screen",thedeep_mcu_irq | |
460 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thedeep_state, thedeep_mcu_irq | |
462 | 461 | MCFG_DEVICE_DISABLE() |
463 | 462 | |
464 | 463 |
r17996 | r17997 | |
---|---|---|
372 | 372 | /* basic machine hardware */ |
373 | 373 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
374 | 374 | MCFG_CPU_PROGRAM_MAP(oneshot_map) |
375 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
375 | MCFG_CPU_VBLANK_INT_DRIVER("screen", oneshot_state, irq4_line_hold) | |
376 | 376 | |
377 | 377 | MCFG_CPU_ADD("audiocpu", Z80, 5000000) |
378 | 378 | MCFG_CPU_PROGRAM_MAP(oneshot_sound_map) |
r17996 | r17997 | |
---|---|---|
191 | 191 | /* basic machine hardware */ |
192 | 192 | MCFG_CPU_ADD("maincpu", M68000, 15000000) |
193 | 193 | MCFG_CPU_PROGRAM_MAP(stlforce_map) |
194 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
194 | MCFG_CPU_VBLANK_INT_DRIVER("screen", stlforce_state, irq4_line_hold) | |
195 | 195 | |
196 | 196 | MCFG_EEPROM_93C46_ADD("eeprom") |
197 | 197 |
r17996 | r17997 | |
---|---|---|
207 | 207 | DECLARE_VIDEO_START(jetwave); |
208 | 208 | UINT32 screen_update_zr107(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
209 | 209 | UINT32 screen_update_jetwave(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
210 | INTERRUPT_GEN_MEMBER(zr107_vblank); | |
210 | 211 | }; |
211 | 212 | |
212 | 213 | |
r17996 | r17997 | |
716 | 717 | DMA0 |
717 | 718 | |
718 | 719 | */ |
719 | ||
720 | ||
720 | 721 | { |
721 | device | |
722 | device. | |
722 | 723 | } |
723 | 724 | |
724 | 725 | void zr107_state::machine_reset() |
r17996 | r17997 | |
731 | 732 | /* basic machine hardware */ |
732 | 733 | MCFG_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */ |
733 | 734 | MCFG_CPU_PROGRAM_MAP(zr107_map) |
734 | MCFG_CPU_VBLANK_INT("screen", zr107_vblank) | |
735 | MCFG_CPU_VBLANK_INT_DRIVER("screen", zr107_state, zr107_vblank) | |
735 | 736 | |
736 | 737 | MCFG_CPU_ADD("audiocpu", M68000, 64000000/8) /* 8MHz */ |
737 | 738 | MCFG_CPU_PROGRAM_MAP(sound_memmap) |
r17996 | r17997 | |
787 | 788 | /* basic machine hardware */ |
788 | 789 | MCFG_CPU_ADD("maincpu", PPC403GA, 64000000/2) /* PowerPC 403GA 32MHz */ |
789 | 790 | MCFG_CPU_PROGRAM_MAP(jetwave_map) |
790 | MCFG_CPU_VBLANK_INT("screen", zr107_vblank) | |
791 | MCFG_CPU_VBLANK_INT_DRIVER("screen", zr107_state, zr107_vblank) | |
791 | 792 | |
792 | 793 | MCFG_CPU_ADD("audiocpu", M68000, 64000000/8) /* 8MHz */ |
793 | 794 | MCFG_CPU_PROGRAM_MAP(sound_memmap) |
r17996 | r17997 | |
---|---|---|
478 | 478 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
479 | 479 | MCFG_CPU_PROGRAM_MAP(flipjack_main_map) |
480 | 480 | MCFG_CPU_IO_MAP(flipjack_main_io_map) |
481 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
481 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flipjack_state, irq0_line_hold) | |
482 | 482 | |
483 | 483 | MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK/4) |
484 | 484 | MCFG_CPU_PROGRAM_MAP(flipjack_sound_map) |
485 | 485 | MCFG_CPU_IO_MAP(flipjack_sound_io_map) |
486 | MCFG_CPU_VBLANK_INT("screen", nmi_line_assert) | |
486 | MCFG_CPU_VBLANK_INT_DRIVER("screen", flipjack_state, nmi_line_assert) | |
487 | 487 | |
488 | 488 | MCFG_I8255A_ADD( "ppi8255", ppi8255_intf ) |
489 | 489 |
r17996 | r17997 | |
---|---|---|
299 | 299 | MCFG_CPU_ADD("maincpu", Z80,XTAL_12MHz/2) |
300 | 300 | MCFG_CPU_PROGRAM_MAP(memmap) |
301 | 301 | MCFG_CPU_IO_MAP(portmap) |
302 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
302 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dominob_state, irq0_line_hold) | |
303 | 303 | |
304 | 304 | /* video hardware */ |
305 | 305 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
243 | 243 | |
244 | 244 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) /* 3 MHz ??? */ |
245 | 245 | MCFG_CPU_PROGRAM_MAP(srumbler_sound_map) |
246 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
246 | MCFG_CPU_PERIODIC_INT_DRIVER(srumbler_state, irq0_line_hold, 4*60) | |
247 | 247 | |
248 | 248 | |
249 | 249 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
696 | 696 | /* basic machine hardware */ |
697 | 697 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK / 8) |
698 | 698 | MCFG_CPU_PROGRAM_MAP(bwidow_map) |
699 | MCFG_CPU_PERIODIC_INT(irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12) | |
699 | MCFG_CPU_PERIODIC_INT_DRIVER(bwidow_state, irq0_line_assert, (double)MASTER_CLOCK / 4096 / 12) | |
700 | 700 | |
701 | 701 | MCFG_ATARIVGEAROM_ADD("earom") |
702 | 702 |
r17996 | r17997 | |
---|---|---|
965 | 965 | /* basic machine hardware */ |
966 | 966 | MCFG_CPU_ADD("maincpu", M68000, 7652400) /* should be XTAL_16MHz/2 */ |
967 | 967 | MCFG_CPU_PROGRAM_MAP(zwackery_map) |
968 | MCFG_CPU_VBLANK_INT("screen", mcr68_interrupt) | |
968 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mcr68_state, mcr68_interrupt) | |
969 | 969 | |
970 | 970 | // MCFG_WATCHDOG_VBLANK_INIT(8) |
971 | 971 | MCFG_MACHINE_START_OVERRIDE(mcr68_state,zwackery) |
r17996 | r17997 | |
1000 | 1000 | /* basic machine hardware */ |
1001 | 1001 | MCFG_CPU_ADD("maincpu", M68000, 7723800) |
1002 | 1002 | MCFG_CPU_PROGRAM_MAP(mcr68_map) |
1003 | MCFG_CPU_VBLANK_INT("screen", mcr68_interrupt) | |
1003 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mcr68_state, mcr68_interrupt) | |
1004 | 1004 | |
1005 | 1005 | MCFG_WATCHDOG_VBLANK_INIT(8) |
1006 | 1006 | MCFG_MACHINE_START_OVERRIDE(mcr68_state,mcr68) |
r17996 | r17997 | |
---|---|---|
249 | 249 | GFXDECODE_END |
250 | 250 | |
251 | 251 | |
252 | ||
252 | ||
253 | 253 | { |
254 | device | |
254 | device. | |
255 | 255 | } |
256 | 256 | |
257 | 257 | |
r17996 | r17997 | |
270 | 270 | m_scroll = 0; |
271 | 271 | } |
272 | 272 | |
273 | ||
273 | ||
274 | 274 | { |
275 | pbaction_state *state = device->machine().driver_data<pbaction_state>(); | |
276 | 275 | |
277 | if(state->m_nmi_mask) | |
278 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
276 | if(m_nmi_mask) | |
277 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
279 | 278 | } |
280 | 279 | |
281 | 280 | static MACHINE_CONFIG_START( pbaction, pbaction_state ) |
r17996 | r17997 | |
283 | 282 | /* basic machine hardware */ |
284 | 283 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ |
285 | 284 | MCFG_CPU_PROGRAM_MAP(pbaction_map) |
286 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
285 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pbaction_state, vblank_irq) | |
287 | 286 | |
288 | 287 | MCFG_CPU_ADD("audiocpu", Z80, 3072000) |
289 | 288 | MCFG_CPU_PROGRAM_MAP(pbaction_sound_map) |
290 | 289 | MCFG_CPU_IO_MAP(pbaction_sound_io_map) |
291 | MCFG_CPU_PERIODIC_INT(pbaction_interrupt,2*60) /* ??? */ | |
290 | MCFG_CPU_PERIODIC_INT_DRIVER(pbaction_state, pbaction_interrupt, 2*60) /* ??? */ | |
292 | 291 | /* IRQs are caused by the main CPU */ |
293 | 292 | |
294 | 293 |
r17996 | r17997 | |
---|---|---|
2352 | 2352 | /* basic machine hardware */ |
2353 | 2353 | MCFG_CPU_ADD("maincpu", M65SC02, MASTER_CLOCK/8) /* 2MHz */ |
2354 | 2354 | MCFG_CPU_PROGRAM_MAP(funworld_map) |
2355 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2355 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2356 | 2356 | |
2357 | 2357 | MCFG_NVRAM_ADD_0FILL("nvram") |
2358 | 2358 | |
r17996 | r17997 | |
2388 | 2388 | |
2389 | 2389 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz */ |
2390 | 2390 | MCFG_CPU_PROGRAM_MAP(funworld_map) |
2391 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2391 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2392 | 2392 | |
2393 | 2393 | MCFG_GFXDECODE(fw2ndpal) |
2394 | 2394 | MACHINE_CONFIG_END |
r17996 | r17997 | |
2400 | 2400 | |
2401 | 2401 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz */ |
2402 | 2402 | MCFG_CPU_PROGRAM_MAP(funquiz_map) |
2403 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2403 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2404 | 2404 | |
2405 | 2405 | MCFG_SOUND_REPLACE("ay8910", AY8910, MASTER_CLOCK/8) /* 2MHz */ |
2406 | 2406 | MCFG_SOUND_CONFIG(funquiz_ay8910_intf) |
r17996 | r17997 | |
2412 | 2412 | |
2413 | 2413 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz */ |
2414 | 2414 | MCFG_CPU_PROGRAM_MAP(magicrd2_map) |
2415 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2415 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2416 | 2416 | |
2417 | 2417 | MCFG_VIDEO_START_OVERRIDE(funworld_state,magicrd2) |
2418 | 2418 | |
r17996 | r17997 | |
2425 | 2425 | |
2426 | 2426 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* (G65SC02P in pro version) 2MHz */ |
2427 | 2427 | MCFG_CPU_PROGRAM_MAP(magicrd2_map) |
2428 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2428 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2429 | 2429 | MACHINE_CONFIG_END |
2430 | 2430 | |
2431 | 2431 | static MACHINE_CONFIG_DERIVED( royalcd2, fw2ndpal ) |
2432 | 2432 | |
2433 | 2433 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz */ |
2434 | 2434 | MCFG_CPU_PROGRAM_MAP(magicrd2_map) |
2435 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2435 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2436 | 2436 | MACHINE_CONFIG_END |
2437 | 2437 | |
2438 | 2438 | static MACHINE_CONFIG_DERIVED( cuoreuno, fw1stpal ) |
2439 | 2439 | |
2440 | 2440 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz */ |
2441 | 2441 | MCFG_CPU_PROGRAM_MAP(cuoreuno_map) |
2442 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2442 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2443 | 2443 | MACHINE_CONFIG_END |
2444 | 2444 | |
2445 | 2445 | static MACHINE_CONFIG_DERIVED( saloon, fw1stpal ) |
2446 | 2446 | |
2447 | 2447 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz */ |
2448 | 2448 | MCFG_CPU_PROGRAM_MAP(saloon_map) |
2449 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2449 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2450 | 2450 | MACHINE_CONFIG_END |
2451 | 2451 | |
2452 | 2452 | static MACHINE_CONFIG_DERIVED( witchryl, fw1stpal ) |
2453 | 2453 | |
2454 | 2454 | MCFG_CPU_REPLACE("maincpu", M65C02, MASTER_CLOCK/8) /* 2MHz */ |
2455 | 2455 | MCFG_CPU_PROGRAM_MAP(witchryl_map) |
2456 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2456 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funworld_state, nmi_line_pulse) | |
2457 | 2457 | MACHINE_CONFIG_END |
2458 | 2458 | |
2459 | 2459 |
r17996 | r17997 | |
---|---|---|
86 | 86 | timer.machine().device("maincpu")->execute().set_input_line(5, HOLD_LINE); |
87 | 87 | } |
88 | 88 | |
89 | ||
89 | ||
90 | 90 | { |
91 | overdriv_state *state = device->machine().driver_data<overdriv_state>(); | |
92 | 91 | |
93 | if (k053246_is_irq_enabled(state->m_k053246)) | |
94 | device->execute().set_input_line(4, HOLD_LINE); | |
92 | if (k053246_is_irq_enabled(m_k053246)) | |
93 | device.execute().set_input_line(4, HOLD_LINE); | |
95 | 94 | } |
96 | 95 | |
97 | 96 | |
r17996 | r17997 | |
333 | 332 | |
334 | 333 | MCFG_CPU_ADD("sub", M68000,24000000/2) /* 12 MHz */ |
335 | 334 | MCFG_CPU_PROGRAM_MAP(overdriv_slave_map) |
336 | MCFG_CPU_VBLANK_INT("screen", cpuB_interrupt) /* IRQ 5 and 6 are generated by the main CPU. */ | |
335 | MCFG_CPU_VBLANK_INT_DRIVER("screen", overdriv_state, cpuB_interrupt) /* IRQ 5 and 6 are generated by the main CPU. */ | |
337 | 336 | /* IRQ 5 is used only in test mode, to request the checksums of the gfx ROMs. */ |
338 | 337 | |
339 | 338 | MCFG_CPU_ADD("audiocpu", M6809,3579545) /* 1.789 MHz?? This might be the right speed, but ROM testing */ |
r17996 | r17997 | |
---|---|---|
38 | 38 | DECLARE_DRIVER_INIT(jackpool); |
39 | 39 | virtual void video_start(); |
40 | 40 | UINT32 screen_update_jackpool(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
41 | INTERRUPT_GEN_MEMBER(jackpool_interrupt); | |
41 | 42 | }; |
42 | 43 | |
43 | 44 | |
r17996 | r17997 | |
248 | 249 | |
249 | 250 | |
250 | 251 | /*irq 2 used for communication stuff.3 is just a rte*/ |
251 | ||
252 | ||
252 | 253 | { |
253 | device | |
254 | device. | |
254 | 255 | } |
255 | 256 | |
256 | 257 | |
257 | 258 | static MACHINE_CONFIG_START( jackpool, jackpool_state ) |
258 | 259 | MCFG_CPU_ADD("maincpu", M68000, 12000000) // ? |
259 | 260 | MCFG_CPU_PROGRAM_MAP(jackpool_mem) |
260 | MCFG_CPU_VBLANK_INT("screen",jackpool_interrupt) // ? | |
261 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jackpool_state, jackpool_interrupt) // ? | |
261 | 262 | |
262 | 263 | MCFG_GFXDECODE(jackpool) |
263 | 264 |
r17996 | r17997 | |
---|---|---|
253 | 253 | }; |
254 | 254 | |
255 | 255 | |
256 | ||
256 | ||
257 | 257 | { |
258 | spcforce_state *state = device->machine().driver_data<spcforce_state>(); | |
259 | 258 | |
260 | if(state->m_irq_mask) | |
261 | device->execute().set_input_line(3, HOLD_LINE); | |
259 | if(m_irq_mask) | |
260 | device.execute().set_input_line(3, HOLD_LINE); | |
262 | 261 | } |
263 | 262 | |
264 | 263 | static MACHINE_CONFIG_START( spcforce, spcforce_state ) |
r17996 | r17997 | |
267 | 266 | /* FIXME: The 8085A had a max clock of 6MHz, internally divided by 2! */ |
268 | 267 | MCFG_CPU_ADD("maincpu", I8085A, 8000000 * 2) /* 4.00 MHz??? */ |
269 | 268 | MCFG_CPU_PROGRAM_MAP(spcforce_map) |
270 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
269 | MCFG_CPU_VBLANK_INT_DRIVER("screen", spcforce_state, vblank_irq) | |
271 | 270 | |
272 | 271 | MCFG_CPU_ADD("audiocpu", I8035, 6144000) /* divisor ??? */ |
273 | 272 | MCFG_CPU_PROGRAM_MAP(spcforce_sound_map) |
r17996 | r17997 | |
---|---|---|
247 | 247 | josvolly_8741_reset(); |
248 | 248 | } |
249 | 249 | |
250 | ||
250 | ||
251 | 251 | { |
252 | gsword_state *state = device->machine().driver_data<gsword_state>(); | |
253 | 252 | |
254 | if(state->m_nmi_enable) | |
255 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
253 | if(m_nmi_enable) | |
254 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
256 | 255 | } |
257 | 256 | |
258 | 257 | WRITE8_MEMBER(gsword_state::gsword_nmi_set_w) |
r17996 | r17997 | |
661 | 660 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18MHz/6) /* verified on pcb */ |
662 | 661 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
663 | 662 | MCFG_CPU_IO_MAP(cpu1_io_map) |
664 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
663 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gsword_state, irq0_line_hold) | |
665 | 664 | |
666 | 665 | MCFG_CPU_ADD("sub", Z80, XTAL_18MHz/6) /* verified on pcb */ |
667 | 666 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
668 | 667 | MCFG_CPU_IO_MAP(cpu2_io_map) |
669 | MCFG_CPU_PERIODIC_INT(gsword_snd_interrupt,4*60) | |
668 | MCFG_CPU_PERIODIC_INT_DRIVER(gsword_state, gsword_snd_interrupt, 4*60) | |
670 | 669 | |
671 | 670 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_18MHz/6) /* verified on pcb */ |
672 | 671 | MCFG_CPU_PROGRAM_MAP(cpu3_map) |
r17996 | r17997 | |
714 | 713 | MCFG_CPU_ADD("maincpu", Z80, 18000000/6) /* ? */ |
715 | 714 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
716 | 715 | MCFG_CPU_IO_MAP(josvolly_cpu1_io_map) |
717 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
716 | MCFG_CPU_PERIODIC_INT_DRIVER(gsword_state, irq0_line_hold, 2*60) | |
718 | 717 | |
719 | 718 | MCFG_CPU_ADD("audiocpu", Z80, 12000000/4) /* ? */ |
720 | 719 | MCFG_CPU_PROGRAM_MAP(josvolly_cpu2_map) |
721 | 720 | MCFG_CPU_IO_MAP(josvolly_cpu2_io_map) |
722 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
721 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gsword_state, irq0_line_hold) | |
723 | 722 | |
724 | 723 | MCFG_MACHINE_RESET_OVERRIDE(gsword_state,josvolly) |
725 | 724 |
r17996 | r17997 | |
---|---|---|
1010 | 1010 | /* basic machine hardware */ |
1011 | 1011 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ |
1012 | 1012 | MCFG_CPU_PROGRAM_MAP(nmg5_map) |
1013 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
1013 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmg5_state, irq6_line_hold) | |
1014 | 1014 | |
1015 | 1015 | MCFG_CPU_ADD("soundcpu", Z80, 4000000) /* 4 MHz */ |
1016 | 1016 | MCFG_CPU_PROGRAM_MAP(nmg5_sound_map) |
r17996 | r17997 | |
---|---|---|
323 | 323 | * |
324 | 324 | *************************************/ |
325 | 325 | |
326 | ||
326 | ||
327 | 327 | { |
328 | mario_state *state = device->machine().driver_data<mario_state>(); | |
329 | 328 | |
330 | if(state->m_nmi_mask) | |
331 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
329 | if(m_nmi_mask) | |
330 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
332 | 331 | } |
333 | 332 | |
334 | 333 | static MACHINE_CONFIG_START( mario_base, mario_state ) |
r17996 | r17997 | |
337 | 336 | MCFG_CPU_ADD("maincpu", Z80, Z80_CLOCK) /* verified on pcb */ |
338 | 337 | MCFG_CPU_PROGRAM_MAP(mario_map) |
339 | 338 | MCFG_CPU_IO_MAP(mario_io_map) |
340 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
339 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mario_state, vblank_irq) | |
341 | 340 | |
342 | 341 | /* devices */ |
343 | 342 | MCFG_Z80DMA_ADD("z80dma", Z80_CLOCK, mario_dma) |
r17996 | r17997 | |
---|---|---|
43 | 43 | virtual void machine_reset(); |
44 | 44 | virtual void video_start(); |
45 | 45 | UINT32 screen_update_wink(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
46 | INTERRUPT_GEN_MEMBER(wink_sound); | |
46 | 47 | }; |
47 | 48 | |
48 | 49 | |
r17996 | r17997 | |
329 | 330 | }; |
330 | 331 | |
331 | 332 | //AY portA is fed by an input clock at 15625 Hz |
332 | ||
333 | ||
333 | 334 | { |
334 | wink_state *state = device->machine().driver_data<wink_state>(); | |
335 | state->m_sound_flag ^= 0x80; | |
335 | m_sound_flag ^= 0x80; | |
336 | 336 | } |
337 | 337 | |
338 | 338 | void wink_state::machine_reset() |
r17996 | r17997 | |
345 | 345 | MCFG_CPU_ADD("maincpu", Z80, 12000000 / 4) |
346 | 346 | MCFG_CPU_PROGRAM_MAP(wink_map) |
347 | 347 | MCFG_CPU_IO_MAP(wink_io) |
348 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
348 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wink_state, nmi_line_pulse) | |
349 | 349 | |
350 | 350 | MCFG_CPU_ADD("audiocpu", Z80, 12000000 / 8) |
351 | 351 | MCFG_CPU_PROGRAM_MAP(wink_sound_map) |
352 | 352 | MCFG_CPU_IO_MAP(wink_sound_io) |
353 | MCFG_CPU_PERIODIC_INT(wink_sound, 15625) | |
353 | MCFG_CPU_PERIODIC_INT_DRIVER(wink_state, wink_sound, 15625) | |
354 | 354 | |
355 | 355 | MCFG_NVRAM_ADD_1FILL("nvram") |
356 | 356 |
r17996 | r17997 | |
---|---|---|
555 | 555 | /* basic machine hardware */ |
556 | 556 | MCFG_CPU_ADD("maincpu", M6502, 750000) |
557 | 557 | MCFG_CPU_PROGRAM_MAP(atarifb_map) |
558 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
558 | MCFG_CPU_PERIODIC_INT_DRIVER(atarifb_state, irq0_line_hold, 4*60) | |
559 | 559 | |
560 | 560 | |
561 | 561 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
283 | 283 | /* basic machine hardware */ |
284 | 284 | MCFG_CPU_ADD("maincpu", M68EC020, 16000000) |
285 | 285 | MCFG_CPU_PROGRAM_MAP(cpu_map) |
286 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
286 | MCFG_CPU_VBLANK_INT_DRIVER("screen", silkroad_state, irq4_line_hold) | |
287 | 287 | |
288 | 288 | /* video hardware */ |
289 | 289 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
203 | 203 | ioport("EEPROMOUT")->write(m_cur_control2, 0xff); |
204 | 204 | } |
205 | 205 | |
206 | ||
206 | ||
207 | 207 | { |
208 | lethal_state *state = device->machine().driver_data<lethal_state>(); | |
209 | 208 | |
210 | if (k056832_is_irq_enabled(state->m_k056832, 0)) | |
211 | device->execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
209 | if (k056832_is_irq_enabled(m_k056832, 0)) | |
210 | device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
212 | 211 | } |
213 | 212 | |
214 | 213 | WRITE8_MEMBER(lethal_state::sound_cmd_w) |
r17996 | r17997 | |
645 | 644 | /* basic machine hardware */ |
646 | 645 | MCFG_CPU_ADD("maincpu", HD6309, MAIN_CLOCK/2) /* verified on pcb */ |
647 | 646 | MCFG_CPU_PROGRAM_MAP(le_main) |
648 | MCFG_CPU_VBLANK_INT("screen", lethalen_interrupt) | |
647 | MCFG_CPU_VBLANK_INT_DRIVER("screen", lethal_state, lethalen_interrupt) | |
649 | 648 | |
650 | 649 | MCFG_CPU_ADD("soundcpu", Z80, MAIN_CLOCK/4) /* verified on pcb */ |
651 | 650 | MCFG_CPU_PROGRAM_MAP(le_sound) |
r17996 | r17997 | |
---|---|---|
446 | 446 | }; |
447 | 447 | |
448 | 448 | #if 0 |
449 | ||
449 | ||
450 | 450 | { |
451 | exprraid_state *state = device->machine().driver_data<exprraid_state>(); | |
452 | 451 | |
453 | if ((~ | |
452 | if ((~ | |
454 | 453 | { |
455 | if ( | |
454 | if ( | |
456 | 455 | { |
457 | state->m_coin = 1; | |
458 | //device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
459 | device->execute().set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); | |
456 | m_coin = 1; | |
457 | //device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
458 | device.execute().set_input_line(DECO16_IRQ_LINE, ASSERT_LINE); | |
460 | 459 | } |
461 | 460 | } |
462 | 461 | else |
463 | 462 | { |
464 | device->execute().set_input_line(DECO16_IRQ_LINE, CLEAR_LINE); | |
465 | state->m_coin = 0; | |
463 | device.execute().set_input_line(DECO16_IRQ_LINE, CLEAR_LINE); | |
464 | m_coin = 0; | |
466 | 465 | } |
467 | 466 | } |
468 | 467 | #endif |
r17996 | r17997 | |
---|---|---|
378 | 378 | /* basic machine hardware */ |
379 | 379 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* 12MHz */ |
380 | 380 | MCFG_CPU_PROGRAM_MAP(fstarfrc_map) |
381 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
381 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tecmo16_state, irq5_line_hold) | |
382 | 382 | |
383 | 383 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4MHz */ |
384 | 384 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
315 | 315 | MCFG_CPU_ADD("maincpu", H8S2394, XTAL_20MHz) |
316 | 316 | MCFG_CPU_PROGRAM_MAP(invqix_prg_map) |
317 | 317 | MCFG_CPU_IO_MAP(invqix_io_map) |
318 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
319 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 60) | |
318 | MCFG_CPU_VBLANK_INT_DRIVER("screen", invqix_state, irq1_line_hold) | |
319 | MCFG_CPU_PERIODIC_INT_DRIVER(invqix_state, irq0_line_hold, 60) | |
320 | 320 | |
321 | 321 | /* video hardware */ |
322 | 322 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
63 | 63 | DECLARE_DRIVER_INIT(drill); |
64 | 64 | DECLARE_MACHINE_START(drill); |
65 | 65 | DECLARE_MACHINE_RESET(drill); |
66 | INTERRUPT_GEN_MEMBER(drill_vblank_irq); | |
67 | //INTERRUPT_GEN_MEMBER(drill_device_irq); | |
66 | 68 | }; |
67 | 69 | |
68 | 70 | |
r17996 | r17997 | |
399 | 401 | GFXDECODE_END |
400 | 402 | |
401 | 403 | |
402 | ||
404 | ||
403 | 405 | { |
404 | device | |
406 | device. | |
405 | 407 | } |
406 | 408 | |
407 | 409 | #if 0 |
408 | ||
410 | ||
409 | 411 | { |
410 | device | |
412 | device. | |
411 | 413 | } |
412 | 414 | #endif |
413 | 415 | |
r17996 | r17997 | |
445 | 447 | |
446 | 448 | MCFG_CPU_ADD("maincpu", M68000, 16000000 ) |
447 | 449 | MCFG_CPU_PROGRAM_MAP(drill_map) |
448 | MCFG_CPU_VBLANK_INT("screen", drill_vblank_irq) | |
449 | //MCFG_CPU_PERIODIC_INT(drill_device_irq,60) | |
450 | MCFG_CPU_VBLANK_INT_DRIVER("screen", _2mindril_state, drill_vblank_irq) | |
451 | //MCFG_CPU_PERIODIC_INT_DRIVER(_2mindril_state, drill_device_irq, 60) | |
450 | 452 | MCFG_GFXDECODE(2mindril) |
451 | 453 | |
452 | 454 | MCFG_MACHINE_START_OVERRIDE(_2mindril_state,drill) |
r17996 | r17997 | |
---|---|---|
1358 | 1358 | MCFG_CPU_ADD("maincpu", Z80, WC81_MAIN_XTAL/8) /* measured */ |
1359 | 1359 | MCFG_CPU_PROGRAM_MAP(winner81_map) |
1360 | 1360 | MCFG_CPU_IO_MAP(winner81_cpu_io_map) |
1361 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1361 | MCFG_CPU_VBLANK_INT_DRIVER("screen", corona_state, nmi_line_pulse) | |
1362 | 1362 | |
1363 | 1363 | MCFG_CPU_ADD("soundcpu", Z80, WC81_MAIN_XTAL/10) /* measured */ |
1364 | 1364 | MCFG_CPU_PROGRAM_MAP(winner81_sound_map) |
1365 | 1365 | MCFG_CPU_IO_MAP(winner81_sound_cpu_io_map) |
1366 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ | |
1366 | MCFG_CPU_PERIODIC_INT_DRIVER(corona_state, nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ | |
1367 | 1367 | |
1368 | 1368 | MCFG_NVRAM_ADD_0FILL("nvram") |
1369 | 1369 | |
r17996 | r17997 | |
1390 | 1390 | MCFG_CPU_ADD("maincpu", Z80, WC82_MAIN_XTAL/8) /* measured */ |
1391 | 1391 | MCFG_CPU_PROGRAM_MAP(winner82_map) |
1392 | 1392 | MCFG_CPU_IO_MAP(winner82_cpu_io_map) |
1393 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1393 | MCFG_CPU_VBLANK_INT_DRIVER("screen", corona_state, nmi_line_pulse) | |
1394 | 1394 | |
1395 | 1395 | MCFG_CPU_ADD("soundcpu", Z80, WC82_MAIN_XTAL/8) /* measured */ |
1396 | 1396 | MCFG_CPU_PROGRAM_MAP(winner82_sound_map) /* IM1 instead of NMI */ |
r17996 | r17997 | |
1420 | 1420 | MCFG_CPU_ADD("maincpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ |
1421 | 1421 | MCFG_CPU_PROGRAM_MAP(re800_map) |
1422 | 1422 | MCFG_CPU_IO_MAP(re800_cpu_io_map) |
1423 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1423 | MCFG_CPU_VBLANK_INT_DRIVER("screen", corona_state, nmi_line_pulse) | |
1424 | 1424 | |
1425 | 1425 | MCFG_CPU_ADD("soundcpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ |
1426 | 1426 | MCFG_CPU_PROGRAM_MAP(re800_sound_map) |
1427 | 1427 | MCFG_CPU_IO_MAP(re800_sound_cpu_io_map) |
1428 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ | |
1428 | MCFG_CPU_PERIODIC_INT_DRIVER(corona_state, nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ | |
1429 | 1429 | |
1430 | 1430 | MCFG_NVRAM_ADD_0FILL("nvram") |
1431 | 1431 | |
r17996 | r17997 | |
1451 | 1451 | MCFG_CPU_ADD("maincpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ |
1452 | 1452 | MCFG_CPU_PROGRAM_MAP(re800_map) |
1453 | 1453 | MCFG_CPU_IO_MAP(re800_cpu_io_map) |
1454 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1454 | MCFG_CPU_VBLANK_INT_DRIVER("screen", corona_state, nmi_line_pulse) | |
1455 | 1455 | |
1456 | 1456 | MCFG_CPU_ADD("soundcpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ |
1457 | 1457 | MCFG_CPU_PROGRAM_MAP(winner82_sound_map) /* IM1 instead of NMI */ |
r17996 | r17997 | |
1481 | 1481 | MCFG_CPU_ADD("maincpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ |
1482 | 1482 | MCFG_CPU_PROGRAM_MAP(luckyrlt_map) |
1483 | 1483 | MCFG_CPU_IO_MAP(luckyrlt_cpu_io_map) |
1484 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
1484 | MCFG_CPU_VBLANK_INT_DRIVER("screen", corona_state, nmi_line_pulse) | |
1485 | 1485 | |
1486 | 1486 | MCFG_CPU_ADD("soundcpu", Z80, RE_MAIN_XTAL/8) /* measured 2MHz */ |
1487 | 1487 | MCFG_CPU_PROGRAM_MAP(luckyrlt_sound_map) |
1488 | 1488 | MCFG_CPU_IO_MAP(luckyrlt_sound_cpu_io_map) |
1489 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ | |
1489 | MCFG_CPU_PERIODIC_INT_DRIVER(corona_state, nmi_line_pulse, 244) /* 244 Hz (1MHz/16/16/16) */ | |
1490 | 1490 | |
1491 | 1491 | MCFG_NVRAM_ADD_0FILL("nvram") |
1492 | 1492 |
r17996 | r17997 | |
---|---|---|
1036 | 1036 | |
1037 | 1037 | /***** Routines for particular games *****/ |
1038 | 1038 | |
1039 | ||
1039 | ||
1040 | 1040 | { |
1041 | 1041 | /* Need 2 int4's per int6 else (-$6b63,A5) never set to 1 which |
1042 | 1042 | causes all sprites to vanish! Spriteram has areas for 2 frames |
1043 | 1043 | so in theory only needs updating every other frame. */ |
1044 | 1044 | |
1045 | taitoz_state *state = device->machine().driver_data<taitoz_state>(); | |
1046 | state->m_sci_int6 = !state->m_sci_int6; | |
1045 | m_sci_int6 = !m_sci_int6; | |
1047 | 1046 | |
1048 | if (state->m_sci_int6) | |
1049 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6)); | |
1047 | if (m_sci_int6) | |
1048 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(200000 - 500), FUNC(taitoz_interrupt6)); | |
1050 | 1049 | |
1051 | device | |
1050 | device. | |
1052 | 1051 | } |
1053 | 1052 | |
1054 | 1053 | |
r17996 | r17997 | |
3076 | 3075 | /* basic machine hardware */ |
3077 | 3076 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
3078 | 3077 | MCFG_CPU_PROGRAM_MAP(contcirc_map) |
3079 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
3078 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold) | |
3080 | 3079 | |
3081 | 3080 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */ |
3082 | 3081 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3083 | 3082 | |
3084 | 3083 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
3085 | 3084 | MCFG_CPU_PROGRAM_MAP(contcirc_cpub_map) |
3086 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
3085 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold) | |
3087 | 3086 | |
3088 | 3087 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3089 | 3088 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3138 | 3137 | /* basic machine hardware */ |
3139 | 3138 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
3140 | 3139 | MCFG_CPU_PROGRAM_MAP(chasehq_map) |
3141 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3140 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3142 | 3141 | |
3143 | 3142 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */ |
3144 | 3143 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3145 | 3144 | |
3146 | 3145 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
3147 | 3146 | MCFG_CPU_PROGRAM_MAP(chq_cpub_map) |
3148 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3147 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3149 | 3148 | |
3150 | 3149 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3151 | 3150 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3200 | 3199 | /* basic machine hardware */ |
3201 | 3200 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
3202 | 3201 | MCFG_CPU_PROGRAM_MAP(enforce_map) |
3203 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
3202 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold) | |
3204 | 3203 | |
3205 | 3204 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */ |
3206 | 3205 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3207 | 3206 | |
3208 | 3207 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
3209 | 3208 | MCFG_CPU_PROGRAM_MAP(enforce_cpub_map) |
3210 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
3209 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold) | |
3211 | 3210 | |
3212 | 3211 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3213 | 3212 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3263 | 3262 | /* basic machine hardware */ |
3264 | 3263 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
3265 | 3264 | MCFG_CPU_PROGRAM_MAP(bshark_map) |
3266 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3265 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3267 | 3266 | |
3268 | 3267 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
3269 | 3268 | MCFG_CPU_PROGRAM_MAP(bshark_cpub_map) |
3270 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3269 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3271 | 3270 | |
3272 | 3271 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark) |
3273 | 3272 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3331 | 3330 | /* basic machine hardware */ |
3332 | 3331 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
3333 | 3332 | MCFG_CPU_PROGRAM_MAP(sci_map) |
3334 | MCFG_CPU_VBLANK_INT("screen", sci_interrupt) | |
3333 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, sci_interrupt) | |
3335 | 3334 | |
3336 | 3335 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */ |
3337 | 3336 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3338 | 3337 | |
3339 | 3338 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
3340 | 3339 | MCFG_CPU_PROGRAM_MAP(sci_cpub_map) |
3341 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3340 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3342 | 3341 | |
3343 | 3342 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3344 | 3343 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3393 | 3392 | /* basic machine hardware */ |
3394 | 3393 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
3395 | 3394 | MCFG_CPU_PROGRAM_MAP(nightstr_map) |
3396 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3395 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3397 | 3396 | |
3398 | 3397 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */ |
3399 | 3398 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3400 | 3399 | |
3401 | 3400 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
3402 | 3401 | MCFG_CPU_PROGRAM_MAP(nightstr_cpub_map) |
3403 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3402 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3404 | 3403 | |
3405 | 3404 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3406 | 3405 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3457 | 3456 | /* basic machine hardware */ |
3458 | 3457 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */ |
3459 | 3458 | MCFG_CPU_PROGRAM_MAP(aquajack_map) |
3460 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3459 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3461 | 3460 | |
3462 | 3461 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */ |
3463 | 3462 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3464 | 3463 | |
3465 | 3464 | MCFG_CPU_ADD("sub", M68000, 12000000) /* 12 MHz ??? */ |
3466 | 3465 | MCFG_CPU_PROGRAM_MAP(aquajack_cpub_map) |
3467 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3466 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3468 | 3467 | |
3469 | 3468 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3470 | 3469 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3520 | 3519 | /* basic machine hardware */ |
3521 | 3520 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz ??? */ |
3522 | 3521 | MCFG_CPU_PROGRAM_MAP(spacegun_map) |
3523 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3522 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3524 | 3523 | |
3525 | 3524 | MCFG_CPU_ADD("sub", M68000, 16000000) /* 16 MHz ??? */ |
3526 | 3525 | MCFG_CPU_PROGRAM_MAP(spacegun_cpub_map) |
3527 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3526 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3528 | 3527 | |
3529 | 3528 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark) |
3530 | 3529 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3579 | 3578 | /* basic machine hardware */ |
3580 | 3579 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) |
3581 | 3580 | MCFG_CPU_PROGRAM_MAP(dblaxle_map) |
3582 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3581 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3583 | 3582 | |
3584 | 3583 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/8) |
3585 | 3584 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3586 | 3585 | |
3587 | 3586 | MCFG_CPU_ADD("sub", M68000, XTAL_32MHz/2) |
3588 | 3587 | MCFG_CPU_PROGRAM_MAP(dblaxle_cpub_map) |
3589 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3588 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3590 | 3589 | |
3591 | 3590 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3592 | 3591 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
3641 | 3640 | /* basic machine hardware */ |
3642 | 3641 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) |
3643 | 3642 | MCFG_CPU_PROGRAM_MAP(racingb_map) |
3644 | MCFG_CPU_VBLANK_INT("screen", sci_interrupt) | |
3643 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, sci_interrupt) | |
3645 | 3644 | |
3646 | 3645 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz/8) |
3647 | 3646 | MCFG_CPU_PROGRAM_MAP(z80_sound_map) |
3648 | 3647 | |
3649 | 3648 | MCFG_CPU_ADD("sub", M68000, XTAL_32MHz/2) |
3650 | 3649 | MCFG_CPU_PROGRAM_MAP(racingb_cpub_map) |
3651 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3650 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold) | |
3652 | 3651 | |
3653 | 3652 | MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz) |
3654 | 3653 | MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz) |
r17996 | r17997 | |
---|---|---|
46 | 46 | flip_screen_set(data & 0x08); |
47 | 47 | } |
48 | 48 | |
49 | ||
49 | ||
50 | 50 | { |
51 | scotrsht_state *state = device->machine().driver_data<scotrsht_state>(); | |
52 | 51 | |
53 | if (state->m_irq_enable) | |
54 | device->execute().set_input_line(0, HOLD_LINE); | |
52 | if (m_irq_enable) | |
53 | device.execute().set_input_line(0, HOLD_LINE); | |
55 | 54 | } |
56 | 55 | |
57 | 56 | WRITE8_MEMBER(scotrsht_state::scotrsht_soundlatch_w) |
r17996 | r17997 | |
185 | 184 | /* basic machine hardware */ |
186 | 185 | MCFG_CPU_ADD("maincpu", M6809, 18432000/6) /* 3.072 MHz */ |
187 | 186 | MCFG_CPU_PROGRAM_MAP(scotrsht_map) |
188 | MCFG_CPU_VBLANK_INT("screen", scotrsht_interrupt) | |
187 | MCFG_CPU_VBLANK_INT_DRIVER("screen", scotrsht_state, scotrsht_interrupt) | |
189 | 188 | |
190 | 189 | MCFG_CPU_ADD("audiocpu", Z80, 18432000/6) /* 3.072 MHz */ |
191 | 190 | MCFG_CPU_PROGRAM_MAP(scotrsht_sound_map) |
r17996 | r17997 | |
---|---|---|
57 | 57 | machine.device("maincpu")->execute().set_input_line(5, HOLD_LINE); |
58 | 58 | } |
59 | 59 | |
60 | ||
60 | ||
61 | 61 | { |
62 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(200000-500), FUNC(gunbustr_interrupt5)); | |
63 | device->execute().set_input_line(4, HOLD_LINE); | |
62 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(200000-500), FUNC(gunbustr_interrupt5)); | |
63 | device.execute().set_input_line(4, HOLD_LINE); | |
64 | 64 | } |
65 | 65 | |
66 | 66 | WRITE32_MEMBER(gunbustr_state::gunbustr_palette_w) |
r17996 | r17997 | |
305 | 305 | /* basic machine hardware */ |
306 | 306 | MCFG_CPU_ADD("maincpu", M68EC020, XTAL_16MHz) |
307 | 307 | MCFG_CPU_PROGRAM_MAP(gunbustr_map) |
308 | MCFG_CPU_VBLANK_INT("screen", gunbustr_interrupt) /* VBL */ | |
308 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gunbustr_state, gunbustr_interrupt) /* VBL */ | |
309 | 309 | |
310 | 310 | MCFG_EEPROM_ADD("eeprom", gunbustr_eeprom_interface) |
311 | 311 |
r17996 | r17997 | |
---|---|---|
478 | 478 | /* basic machine hardware */ |
479 | 479 | MCFG_CPU_ADD("maincpu", Z80, 4000000) |
480 | 480 | MCFG_CPU_PROGRAM_MAP(msisaac_map) |
481 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
481 | MCFG_CPU_VBLANK_INT_DRIVER("screen", msisaac_state, irq0_line_hold) | |
482 | 482 | |
483 | 483 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
484 | 484 | MCFG_CPU_PROGRAM_MAP(msisaac_sound_map) |
485 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) /* source of IRQs is unknown */ | |
485 | MCFG_CPU_VBLANK_INT_DRIVER("screen", msisaac_state, irq0_line_hold) /* source of IRQs is unknown */ | |
486 | 486 | |
487 | 487 | #ifdef USE_MCU |
488 | 488 | MCFG_CPU_ADD("mcu", M68705,8000000/2) /* 4 MHz */ |
r17996 | r17997 | |
---|---|---|
656 | 656 | GFXDECODE_ENTRY( "gfx1", 0, bios_charlayout, 0, 32 ) |
657 | 657 | GFXDECODE_END |
658 | 658 | |
659 | static INTERRUPT_GEN( playch10_interrupt ) { | |
660 | playch10_state *state = device->machine().driver_data<playch10_state>(); | |
659 | INTERRUPT_GEN_MEMBER(playch10_state::playch10_interrupt){ | |
661 | 660 | |
662 | 661 | /* LS161A, Sheet 1 - bottom left of Z80 */ |
663 | if ( !state->m_pc10_dog_di && !state->m_pc10_nmi_enable ) { | |
664 | device->execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE ); | |
662 | if ( !m_pc10_dog_di && !m_pc10_nmi_enable ) { | |
663 | device.execute().set_input_line(INPUT_LINE_RESET, PULSE_LINE ); | |
665 | 664 | } |
666 | 665 | |
667 | else if ( state->m_pc10_nmi_enable ) | |
668 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
666 | else if ( m_pc10_nmi_enable ) | |
667 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
669 | 668 | } |
670 | 669 | |
671 | 670 | static const nes_interface nes_config = |
r17996 | r17997 | |
679 | 678 | MCFG_CPU_ADD("maincpu", Z80, 8000000/2) // 4 MHz |
680 | 679 | MCFG_CPU_PROGRAM_MAP(bios_map) |
681 | 680 | MCFG_CPU_IO_MAP(bios_io_map) |
682 | MCFG_CPU_VBLANK_INT("top", playch10_interrupt) | |
681 | MCFG_CPU_VBLANK_INT_DRIVER("top", playch10_state, playch10_interrupt) | |
683 | 682 | |
684 | 683 | MCFG_CPU_ADD("cart", N2A03, N2A03_DEFAULTCLOCK) |
685 | 684 | MCFG_CPU_PROGRAM_MAP(cart_map) |
r17996 | r17997 | |
---|---|---|
763 | 763 | } |
764 | 764 | } |
765 | 765 | |
766 | ||
766 | ||
767 | 767 | { |
768 | mappy_state *state = device->machine().driver_data<mappy_state>(); | |
769 | device_t *namcoio_1 = device->machine().device("namcoio_1"); | |
770 | device_t *namcoio_2 = device->machine().device("namcoio_2"); | |
768 | device_t *namcoio_1 = machine().device("namcoio_1"); | |
769 | device_t *namcoio_2 = machine().device("namcoio_2"); | |
771 | 770 | |
772 | if (state->m_main_irq_mask) | |
773 | device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
771 | if (m_main_irq_mask) | |
772 | machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
774 | 773 | |
775 | 774 | if (!namcoio_read_reset_line(namcoio_1)) /* give the cpu a tiny bit of time to write the command before processing it */ |
776 | | |
775 | | |
777 | 776 | |
778 | 777 | if (!namcoio_read_reset_line(namcoio_2)) /* give the cpu a tiny bit of time to write the command before processing it */ |
779 | | |
778 | | |
780 | 779 | } |
781 | 780 | |
782 | 781 | static TIMER_CALLBACK( pacnpal_io_run ) |
r17996 | r17997 | |
795 | 794 | } |
796 | 795 | } |
797 | 796 | |
798 | ||
797 | ||
799 | 798 | { |
800 | mappy_state *state = device->machine().driver_data<mappy_state>(); | |
801 | device_t *namcoio_1 = device->machine().device("namcoio_1"); | |
802 | device_t *namcoio_2 = device->machine().device("namcoio_2"); | |
799 | device_t *namcoio_1 = machine().device("namcoio_1"); | |
800 | device_t *namcoio_2 = machine().device("namcoio_2"); | |
803 | 801 | |
804 | if (state->m_main_irq_mask) | |
805 | device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
802 | if (m_main_irq_mask) | |
803 | machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
806 | 804 | |
807 | 805 | if (!namcoio_read_reset_line(namcoio_1)) /* give the cpu a tiny bit of time to write the command before processing it */ |
808 | | |
806 | | |
809 | 807 | |
810 | 808 | if (!namcoio_read_reset_line(namcoio_2)) /* give the cpu a tiny bit of time to write the command before processing it */ |
811 | | |
809 | | |
812 | 810 | } |
813 | 811 | |
814 | 812 | static TIMER_CALLBACK( phozon_io_run ) |
r17996 | r17997 | |
827 | 825 | } |
828 | 826 | } |
829 | 827 | |
830 | ||
828 | ||
831 | 829 | { |
832 | mappy_state *state = device->machine().driver_data<mappy_state>(); | |
833 | device_t *namcoio_1 = device->machine().device("namcoio_1"); | |
834 | device_t *namcoio_2 = device->machine().device("namcoio_2"); | |
830 | device_t *namcoio_1 = machine().device("namcoio_1"); | |
831 | device_t *namcoio_2 = machine().device("namcoio_2"); | |
835 | 832 | |
836 | if (state->m_main_irq_mask) | |
837 | device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
833 | if (m_main_irq_mask) | |
834 | machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
838 | 835 | |
839 | 836 | if (!namcoio_read_reset_line(namcoio_1)) /* give the cpu a tiny bit of time to write the command before processing it */ |
840 | | |
837 | | |
841 | 838 | |
842 | 839 | if (!namcoio_read_reset_line(namcoio_2)) /* give the cpu a tiny bit of time to write the command before processing it */ |
843 | | |
840 | | |
844 | 841 | } |
845 | 842 | |
846 | 843 | static TIMER_CALLBACK( mappy_io_run ) |
r17996 | r17997 | |
859 | 856 | } |
860 | 857 | } |
861 | 858 | |
862 | ||
859 | ||
863 | 860 | { |
864 | mappy_state *state = device->machine().driver_data<mappy_state>(); | |
865 | device_t *namcoio_1 = device->machine().device("namcoio_1"); | |
866 | device_t *namcoio_2 = device->machine().device("namcoio_2"); | |
861 | device_t *namcoio_1 = machine().device("namcoio_1"); | |
862 | device_t *namcoio_2 = machine().device("namcoio_2"); | |
867 | 863 | |
868 | if(state->m_main_irq_mask) | |
869 | device->machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
864 | if(m_main_irq_mask) | |
865 | machine().device("maincpu")->execute().set_input_line(0, ASSERT_LINE); | |
870 | 866 | |
871 | 867 | if (!namcoio_read_reset_line(namcoio_1)) /* give the cpu a tiny bit of time to write the command before processing it */ |
872 | | |
868 | | |
873 | 869 | |
874 | 870 | if (!namcoio_read_reset_line(namcoio_2)) /* give the cpu a tiny bit of time to write the command before processing it */ |
875 | | |
871 | | |
876 | 872 | } |
877 | 873 | |
878 | ||
874 | ||
879 | 875 | { |
880 | mappy_state *state = device->machine().driver_data<mappy_state>(); | |
881 | 876 | |
882 | if(state->m_sub_irq_mask) | |
883 | device->machine().device("sub")->execute().set_input_line(0, ASSERT_LINE); | |
877 | if(m_sub_irq_mask) | |
878 | machine().device("sub")->execute().set_input_line(0, ASSERT_LINE); | |
884 | 879 | } |
885 | 880 | |
886 | ||
881 | ||
887 | 882 | { |
888 | mappy_state *state = device->machine().driver_data<mappy_state>(); | |
889 | 883 | |
890 | if(state->m_sub2_irq_mask) | |
891 | device->machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE); | |
884 | if(m_sub2_irq_mask) | |
885 | machine().device("sub2")->execute().set_input_line(0, ASSERT_LINE); | |
892 | 886 | } |
893 | 887 | |
894 | 888 | static ADDRESS_MAP_START( superpac_cpu1_map, AS_PROGRAM, 8, mappy_state ) |
r17996 | r17997 | |
1631 | 1625 | /* basic machine hardware */ |
1632 | 1626 | MCFG_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ |
1633 | 1627 | MCFG_CPU_PROGRAM_MAP(superpac_cpu1_map) |
1634 | MCFG_CPU_VBLANK_INT("screen", superpac_main_vblank_irq) // also update the custom I/O chips | |
1628 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, superpac_main_vblank_irq) // also update the custom I/O chips | |
1635 | 1629 | |
1636 | 1630 | MCFG_CPU_ADD("sub", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ |
1637 | 1631 | MCFG_CPU_PROGRAM_MAP(superpac_cpu2_map) |
1638 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
1632 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub_vblank_irq) | |
1639 | 1633 | |
1640 | 1634 | MCFG_WATCHDOG_VBLANK_INIT(8) |
1641 | 1635 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */ |
r17996 | r17997 | |
1669 | 1663 | |
1670 | 1664 | /* basic machine hardware */ |
1671 | 1665 | MCFG_CPU_MODIFY("maincpu") |
1672 | MCFG_CPU_VBLANK_INT("screen", pacnpal_main_vblank_irq) // also update the custom I/O chips | |
1666 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, pacnpal_main_vblank_irq) // also update the custom I/O chips | |
1673 | 1667 | |
1674 | 1668 | MCFG_DEVICE_REMOVE("namcoio_1") |
1675 | 1669 | MCFG_DEVICE_REMOVE("namcoio_2") |
r17996 | r17997 | |
1682 | 1676 | |
1683 | 1677 | /* basic machine hardware */ |
1684 | 1678 | MCFG_CPU_MODIFY("maincpu") |
1685 | MCFG_CPU_VBLANK_INT("screen", phozon_main_vblank_irq) // also update the custom I/O chips | |
1679 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, phozon_main_vblank_irq) // also update the custom I/O chips | |
1686 | 1680 | |
1687 | 1681 | MCFG_DEVICE_REMOVE("namcoio_1") |
1688 | 1682 | MCFG_DEVICE_REMOVE("namcoio_2") |
r17996 | r17997 | |
1700 | 1694 | /* basic machine hardware */ |
1701 | 1695 | MCFG_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4) /* MAIN CPU */ |
1702 | 1696 | MCFG_CPU_PROGRAM_MAP(phozon_cpu1_map) |
1703 | MCFG_CPU_VBLANK_INT("screen", phozon_main_vblank_irq) // also update the custom I/O chips | |
1697 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, phozon_main_vblank_irq) // also update the custom I/O chips | |
1704 | 1698 | |
1705 | 1699 | MCFG_CPU_ADD("sub", M6809, PIXEL_CLOCK/4) /* SOUND CPU */ |
1706 | 1700 | MCFG_CPU_PROGRAM_MAP(phozon_cpu2_map) |
1707 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
1701 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub_vblank_irq) | |
1708 | 1702 | |
1709 | 1703 | MCFG_CPU_ADD("sub2", M6809, PIXEL_CLOCK/4) /* SUB CPU */ |
1710 | 1704 | MCFG_CPU_PROGRAM_MAP(phozon_cpu3_map) |
1711 | MCFG_CPU_VBLANK_INT("screen", sub2_vblank_irq) | |
1705 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub2_vblank_irq) | |
1712 | 1706 | |
1713 | 1707 | MCFG_WATCHDOG_VBLANK_INIT(8) |
1714 | 1708 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */ |
r17996 | r17997 | |
1744 | 1738 | /* basic machine hardware */ |
1745 | 1739 | MCFG_CPU_ADD("maincpu", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ |
1746 | 1740 | MCFG_CPU_PROGRAM_MAP(mappy_cpu1_map) |
1747 | MCFG_CPU_VBLANK_INT("screen", mappy_main_vblank_irq) // also update the custom I/O chips | |
1741 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, mappy_main_vblank_irq) // also update the custom I/O chips | |
1748 | 1742 | |
1749 | 1743 | MCFG_CPU_ADD("sub", M6809, PIXEL_CLOCK/4) /* 1.536 MHz */ |
1750 | 1744 | MCFG_CPU_PROGRAM_MAP(mappy_cpu2_map) |
1751 | MCFG_CPU_VBLANK_INT("screen", sub_vblank_irq) | |
1745 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, sub_vblank_irq) | |
1752 | 1746 | |
1753 | 1747 | MCFG_WATCHDOG_VBLANK_INIT(8) |
1754 | 1748 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame - an high value to ensure proper */ |
r17996 | r17997 | |
1782 | 1776 | |
1783 | 1777 | /* basic machine hardware */ |
1784 | 1778 | MCFG_CPU_MODIFY("maincpu") |
1785 | MCFG_CPU_VBLANK_INT("screen", phozon_main_vblank_irq) // also update the custom I/O chips | |
1779 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, phozon_main_vblank_irq) // also update the custom I/O chips | |
1786 | 1780 | |
1787 | 1781 | MCFG_WATCHDOG_VBLANK_INIT(0) |
1788 | 1782 | |
r17996 | r17997 | |
1796 | 1790 | |
1797 | 1791 | /* basic machine hardware */ |
1798 | 1792 | MCFG_CPU_MODIFY("maincpu") |
1799 | MCFG_CPU_VBLANK_INT("screen", phozon_main_vblank_irq) // also update the custom I/O chips | |
1793 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, phozon_main_vblank_irq) // also update the custom I/O chips | |
1800 | 1794 | |
1801 | 1795 | MCFG_DEVICE_REMOVE("namcoio_1") |
1802 | 1796 | MCFG_DEVICE_REMOVE("namcoio_2") |
r17996 | r17997 | |
1812 | 1806 | |
1813 | 1807 | /* basic machine hardware */ |
1814 | 1808 | MCFG_CPU_MODIFY("maincpu") |
1815 | MCFG_CPU_VBLANK_INT("screen", superpac_main_vblank_irq) // also update the custom I/O chips | |
1809 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mappy_state, superpac_main_vblank_irq) // also update the custom I/O chips | |
1816 | 1810 | |
1817 | 1811 | MCFG_DEVICE_REMOVE("namcoio_1") |
1818 | 1812 | MCFG_DEVICE_REMOVE("namcoio_2") |
r17996 | r17997 | |
---|---|---|
407 | 407 | /* basic machine hardware */ |
408 | 408 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */ |
409 | 409 | MCFG_CPU_PROGRAM_MAP(rastan_map) |
410 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
410 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rastan_state, irq5_line_hold) | |
411 | 411 | |
412 | 412 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) /* verified on pcb */ |
413 | 413 | MCFG_CPU_PROGRAM_MAP(rastan_s_map) |
r17996 | r17997 | |
---|---|---|
324 | 324 | /* basic machine hardware */ |
325 | 325 | MCFG_CPU_ADD("maincpu",M68000,10000000) |
326 | 326 | MCFG_CPU_PROGRAM_MAP(pzletime_map) |
327 | MCFG_CPU_VBLANK_INT("screen",irq4_line_hold) | |
327 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pzletime_state, irq4_line_hold) | |
328 | 328 | |
329 | 329 | |
330 | 330 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
233 | 233 | virtual void video_start(); |
234 | 234 | virtual void palette_init(); |
235 | 235 | UINT32 screen_update_tmspoker(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
236 | INTERRUPT_GEN_MEMBER(tmspoker_interrupt); | |
236 | 237 | }; |
237 | 238 | |
238 | 239 | |
r17996 | r17997 | |
285 | 286 | // popmessage("written : %02X", data); |
286 | 287 | //} |
287 | 288 | |
288 | ||
289 | ||
289 | 290 | { |
290 | device | |
291 | device. | |
291 | 292 | } |
292 | 293 | |
293 | 294 | |
r17996 | r17997 | |
568 | 569 | MCFG_CPU_ADD("maincpu", TMS9980L, MASTER_CLOCK/4) /* guess */ |
569 | 570 | MCFG_CPU_PROGRAM_MAP(tmspoker_map) |
570 | 571 | MCFG_CPU_IO_MAP(tmspoker_cru_map) |
571 | MCFG_CPU_VBLANK_INT("screen", tmspoker_interrupt) | |
572 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tmspoker_state, tmspoker_interrupt) | |
572 | 573 | |
573 | 574 | // MCFG_NVRAM_HANDLER(generic_0fill) |
574 | 575 |
r17996 | r17997 | |
---|---|---|
130 | 130 | DECLARE_DRIVER_INIT(mirax); |
131 | 131 | virtual void palette_init(); |
132 | 132 | UINT32 screen_update_mirax(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
133 | INTERRUPT_GEN_MEMBER(mirax_vblank_irq); | |
133 | 134 | }; |
134 | 135 | |
135 | 136 | |
r17996 | r17997 | |
444 | 445 | GFXDECODE_END |
445 | 446 | |
446 | 447 | |
447 | ||
448 | ||
448 | 449 | { |
449 | mirax_state *state = device->machine().driver_data<mirax_state>(); | |
450 | if(state->m_nmi_mask) | |
451 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
450 | if(m_nmi_mask) | |
451 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
452 | 452 | } |
453 | 453 | |
454 | 454 | static MACHINE_CONFIG_START( mirax, mirax_state ) |
455 | 455 | MCFG_CPU_ADD("maincpu", Z80, 12000000/4) // ceramic potted module, encrypted z80 |
456 | 456 | MCFG_CPU_PROGRAM_MAP(mirax_main_map) |
457 | MCFG_CPU_VBLANK_INT("screen",mirax_vblank_irq) | |
457 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mirax_state, mirax_vblank_irq) | |
458 | 458 | |
459 | 459 | MCFG_CPU_ADD("audiocpu", Z80, 12000000/4) |
460 | 460 | MCFG_CPU_PROGRAM_MAP(mirax_sound_map) |
461 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) | |
461 | MCFG_CPU_PERIODIC_INT_DRIVER(mirax_state, irq0_line_hold, 4*60) | |
462 | 462 | |
463 | 463 | /* video hardware */ |
464 | 464 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
99 | 99 | m_irqBmask = (data >> 8) & 0x07; |
100 | 100 | } |
101 | 101 | |
102 | ||
102 | ||
103 | 103 | { |
104 | gradius3_state *state = device->machine().driver_data<gradius3_state>(); | |
105 | if (state->m_irqAen) | |
106 | device->execute().set_input_line(2, HOLD_LINE); | |
104 | if (m_irqAen) | |
105 | device.execute().set_input_line(2, HOLD_LINE); | |
107 | 106 | } |
108 | 107 | |
109 | 108 | |
r17996 | r17997 | |
317 | 316 | /* basic machine hardware */ |
318 | 317 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */ |
319 | 318 | MCFG_CPU_PROGRAM_MAP(gradius3_map) |
320 | MCFG_CPU_VBLANK_INT("screen", cpuA_interrupt) | |
319 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gradius3_state, cpuA_interrupt) | |
321 | 320 | |
322 | 321 | MCFG_CPU_ADD("sub", M68000, 10000000) /* 10 MHz */ |
323 | 322 | MCFG_CPU_PROGRAM_MAP(gradius3_map2) |
r17996 | r17997 | |
---|---|---|
218 | 218 | MCFG_CPU_ADD("maincpu", I80C32,12000000) |
219 | 219 | MCFG_CPU_PROGRAM_MAP(mem_prg) |
220 | 220 | MCFG_CPU_IO_MAP(mem_io) |
221 | //MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
221 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", cardline_state, irq1_line_hold) | |
222 | 222 | |
223 | 223 | /* video hardware */ |
224 | 224 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
491 | 491 | MCFG_CPU_ADD("maincpu", Z80,12000000/4) |
492 | 492 | MCFG_CPU_PROGRAM_MAP(main_map) |
493 | 493 | MCFG_CPU_IO_MAP(port_map) |
494 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,250) | |
494 | MCFG_CPU_PERIODIC_INT_DRIVER(omegrace_state, irq0_line_hold, 250) | |
495 | 495 | |
496 | 496 | /* audio CPU */ |
497 | 497 | /* XTAL101 Crystal @ 12mhz */ |
r17996 | r17997 | |
500 | 500 | MCFG_CPU_ADD("audiocpu", Z80,12000000/8) |
501 | 501 | MCFG_CPU_PROGRAM_MAP(sound_map) |
502 | 502 | MCFG_CPU_IO_MAP(sound_port) |
503 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,250) | |
503 | MCFG_CPU_PERIODIC_INT_DRIVER(omegrace_state, nmi_line_pulse, 250) | |
504 | 504 | |
505 | 505 | MCFG_NVRAM_ADD_0FILL("nvram") |
506 | 506 |
r17996 | r17997 | |
---|---|---|
152 | 152 | state->m_maincpu->set_input_line(M68K_IRQ_2, HOLD_LINE); |
153 | 153 | } |
154 | 154 | |
155 | ||
155 | ||
156 | 156 | { |
157 | device | |
157 | device. | |
158 | 158 | } |
159 | 159 | |
160 | 160 | |
r17996 | r17997 | |
990 | 990 | |
991 | 991 | MCFG_CPU_ADD("soundcpu", Z80, 8000000) |
992 | 992 | MCFG_CPU_PROGRAM_MAP(mystwarr_sound_map) |
993 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 480) | |
993 | MCFG_CPU_PERIODIC_INT_DRIVER(mystwarr_state, nmi_line_pulse, 480) | |
994 | 994 | |
995 | 995 | MCFG_QUANTUM_TIME(attotime::from_hz(1920)) |
996 | 996 | |
r17996 | r17997 | |
1083 | 1083 | /* basic machine hardware */ |
1084 | 1084 | MCFG_CPU_MODIFY("maincpu") |
1085 | 1085 | MCFG_CPU_PROGRAM_MAP(dadandrn_map) |
1086 | MCFG_CPU_VBLANK_INT("screen", ddd_interrupt) | |
1086 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mystwarr_state, ddd_interrupt) | |
1087 | 1087 | MCFG_DEVICE_REMOVE("scantimer") |
1088 | 1088 | |
1089 | 1089 | MCFG_DEVICE_REMOVE("k053252") |
r17996 | r17997 | |
1109 | 1109 | /* basic machine hardware */ |
1110 | 1110 | MCFG_CPU_MODIFY("maincpu") |
1111 | 1111 | MCFG_CPU_PROGRAM_MAP(gaiapols_map) |
1112 | MCFG_CPU_VBLANK_INT("screen", ddd_interrupt) | |
1112 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mystwarr_state, ddd_interrupt) | |
1113 | 1113 | MCFG_DEVICE_REMOVE("scantimer") |
1114 | 1114 | |
1115 | 1115 | MCFG_DEVICE_REMOVE("k053252") |
r17996 | r17997 | |
---|---|---|
114 | 114 | DECLARE_MACHINE_RESET(dlair); |
115 | 115 | DECLARE_PALETTE_INIT(dleuro); |
116 | 116 | UINT32 screen_update_dleuro(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
117 | INTERRUPT_GEN_MEMBER(vblank_callback); | |
117 | 118 | }; |
118 | 119 | |
119 | 120 | |
r17996 | r17997 | |
277 | 278 | * |
278 | 279 | *************************************/ |
279 | 280 | |
280 | ||
281 | ||
281 | 282 | { |
282 | 283 | /* also update the speaker on the European version */ |
283 | beep_device *beep = | |
284 | beep_device *beep = | |
284 | 285 | if (beep != NULL) |
285 | 286 | { |
286 | z80ctc_device *ctc = | |
287 | z80ctc_device *ctc = | |
287 | 288 | beep_set_state(beep, 1); |
288 | 289 | beep_set_frequency(beep, ATTOSECONDS_TO_HZ(ctc->period(0).attoseconds)); |
289 | 290 | } |
r17996 | r17997 | |
723 | 724 | /* basic machine hardware */ |
724 | 725 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK_US/4) |
725 | 726 | MCFG_CPU_PROGRAM_MAP(dlus_map) |
726 | MCFG_CPU_VBLANK_INT("screen", vblank_callback) | |
727 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, (double)MASTER_CLOCK_US/8/16/16/16/16) | |
727 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dlair_state, vblank_callback) | |
728 | MCFG_CPU_PERIODIC_INT_DRIVER(dlair_state, irq0_line_hold, (double)MASTER_CLOCK_US/8/16/16/16/16) | |
728 | 729 | |
729 | 730 | MCFG_MACHINE_START_OVERRIDE(dlair_state,dlair) |
730 | 731 | MCFG_MACHINE_RESET_OVERRIDE(dlair_state,dlair) |
r17996 | r17997 | |
761 | 762 | MCFG_CPU_CONFIG(dleuro_daisy_chain) |
762 | 763 | MCFG_CPU_PROGRAM_MAP(dleuro_map) |
763 | 764 | MCFG_CPU_IO_MAP(dleuro_io_map) |
764 | MCFG_CPU_VBLANK_INT("screen", vblank_callback) | |
765 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dlair_state, vblank_callback) | |
765 | 766 | |
766 | 767 | MCFG_Z80CTC_ADD("ctc", MASTER_CLOCK_EURO/4 /* same as "maincpu" */, ctc_intf) |
767 | 768 | MCFG_Z80SIO_ADD("sio", MASTER_CLOCK_EURO/4 /* same as "maincpu" */, sio_intf) |
r17996 | r17997 | |
---|---|---|
141 | 141 | virtual void palette_init(); |
142 | 142 | UINT32 screen_update_jollyjgr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
143 | 143 | UINT32 screen_update_fspider(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
144 | INTERRUPT_GEN_MEMBER(jollyjgr_interrupt); | |
144 | 145 | }; |
145 | 146 | |
146 | 147 | |
r17996 | r17997 | |
621 | 622 | * |
622 | 623 | *************************************/ |
623 | 624 | |
624 | ||
625 | ||
625 | 626 | { |
626 | jollyjgr_state *state = device->machine().driver_data<jollyjgr_state>(); | |
627 | if(state->m_nmi_enable) | |
628 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
627 | if(m_nmi_enable) | |
628 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
629 | 629 | } |
630 | 630 | |
631 | 631 | |
r17996 | r17997 | |
654 | 654 | /* basic machine hardware */ |
655 | 655 | MCFG_CPU_ADD("maincpu", Z80, 3579545) /* 3,579545 MHz */ |
656 | 656 | MCFG_CPU_PROGRAM_MAP(jollyjgr_map) |
657 | MCFG_CPU_VBLANK_INT("screen", jollyjgr_interrupt) | |
657 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jollyjgr_state, jollyjgr_interrupt) | |
658 | 658 | |
659 | 659 | |
660 | 660 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
197 | 197 | static MACHINE_CONFIG_START( quizpani, quizpani_state ) |
198 | 198 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
199 | 199 | MCFG_CPU_PROGRAM_MAP(quizpani_map) |
200 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
201 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,164) // music tempo | |
200 | MCFG_CPU_VBLANK_INT_DRIVER("screen", quizpani_state, irq4_line_hold) | |
201 | MCFG_CPU_PERIODIC_INT_DRIVER(quizpani_state, irq1_line_hold, 164) // music tempo | |
202 | 202 | |
203 | 203 | MCFG_GFXDECODE(quizpani) |
204 | 204 | MCFG_PALETTE_LENGTH(0x200) |
r17996 | r17997 | |
---|---|---|
121 | 121 | /* basic machine hardware */ |
122 | 122 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/12) /* 1.536 MHz ? */ |
123 | 123 | MCFG_CPU_PROGRAM_MAP(gomoku_map) |
124 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
124 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gomoku_state, irq0_line_hold) | |
125 | 125 | |
126 | 126 | /* video hardware */ |
127 | 127 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
247 | 247 | DECLARE_DRIVER_INIT(tetfight); |
248 | 248 | virtual void machine_reset(); |
249 | 249 | UINT32 screen_update_ssfindo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
250 | INTERRUPT_GEN_MEMBER(ssfindo_interrupt); | |
250 | 251 | }; |
251 | 252 | |
252 | 253 | |
r17996 | r17997 | |
330 | 331 | state->m_PS7500timer1->adjust(attotime::from_usec(val ), 0, attotime::from_usec(val )); |
331 | 332 | } |
332 | 333 | |
333 | ||
334 | ||
334 | 335 | { |
335 | ssfindo_state *state = device->machine().driver_data<ssfindo_state>(); | |
336 | state->m_PS7500_IO[IRQSTA]|=0x08; | |
337 | if(state->m_PS7500_IO[IRQMSKA]&0x08) | |
336 | m_PS7500_IO[IRQSTA]|=0x08; | |
337 | if(m_PS7500_IO[IRQMSKA]&0x08) | |
338 | 338 | { |
339 | generic_pulse_irq_line(device, ARM7_IRQ_LINE, 1); | |
339 | generic_pulse_irq_line(device.execute(), ARM7_IRQ_LINE, 1); | |
340 | 340 | } |
341 | 341 | } |
342 | 342 | |
r17996 | r17997 | |
757 | 757 | MCFG_CPU_ADD("maincpu", ARM7, 54000000) // guess... |
758 | 758 | MCFG_CPU_PROGRAM_MAP(ssfindo_map) |
759 | 759 | |
760 | MCFG_CPU_VBLANK_INT("screen", ssfindo_interrupt) | |
760 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ssfindo_state, ssfindo_interrupt) | |
761 | 761 | |
762 | 762 | |
763 | 763 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
47 | 47 | } |
48 | 48 | |
49 | 49 | |
50 | ||
50 | ||
51 | 51 | { |
52 | firetrk_state *state = device->machine().driver_data<firetrk_state>(); | |
53 | 52 | |
54 | 53 | /* NMI interrupts are disabled during service mode in firetrk and montecar */ |
55 | if (!state->m_in_service_mode) | |
56 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
54 | if (!m_in_service_mode) | |
55 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
57 | 56 | } |
58 | 57 | |
59 | 58 | |
r17996 | r17997 | |
876 | 875 | /* basic machine hardware */ |
877 | 876 | MCFG_CPU_ADD("maincpu", M6800, MASTER_CLOCK/12) /* 750Khz during service mode */ |
878 | 877 | MCFG_CPU_PROGRAM_MAP(firetrk_map) |
879 | MCFG_CPU_VBLANK_INT("screen", firetrk_interrupt) | |
878 | MCFG_CPU_VBLANK_INT_DRIVER("screen", firetrk_state, firetrk_interrupt) | |
880 | 879 | MCFG_WATCHDOG_VBLANK_INIT(5) |
881 | 880 | |
882 | 881 |
r17996 | r17997 | |
---|---|---|
228 | 228 | /* basic machine hardware */ |
229 | 229 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */ |
230 | 230 | MCFG_CPU_PROGRAM_MAP(main_map) |
231 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
231 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m57_state, irq0_line_hold) | |
232 | 232 | |
233 | 233 | /* video hardware */ |
234 | 234 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
106 | 106 | virtual void video_start(); |
107 | 107 | virtual void palette_init(); |
108 | 108 | UINT32 screen_update_ddayjlc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
109 | INTERRUPT_GEN_MEMBER(ddayjlc_interrupt); | |
110 | INTERRUPT_GEN_MEMBER(ddayjlc_snd_interrupt); | |
109 | 111 | }; |
110 | 112 | |
111 | 113 | |
r17996 | r17997 | |
435 | 437 | DEVCB_NULL |
436 | 438 | }; |
437 | 439 | |
438 | ||
440 | ||
439 | 441 | { |
440 | ddayjlc_state *state = device->machine().driver_data<ddayjlc_state>(); | |
441 | if(state->m_main_nmi_enable) | |
442 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
442 | if(m_main_nmi_enable) | |
443 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
443 | 444 | } |
444 | 445 | |
445 | ||
446 | ||
446 | 447 | { |
447 | ddayjlc_state *state = device->machine().driver_data<ddayjlc_state>(); | |
448 | if(state->m_sound_nmi_enable) | |
449 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
448 | if(m_sound_nmi_enable) | |
449 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
450 | 450 | } |
451 | 451 | |
452 | 452 | |
r17996 | r17997 | |
518 | 518 | /* basic machine hardware */ |
519 | 519 | MCFG_CPU_ADD("maincpu", Z80,12000000/3) |
520 | 520 | MCFG_CPU_PROGRAM_MAP(main_cpu) |
521 | MCFG_CPU_VBLANK_INT("screen", ddayjlc_interrupt) | |
521 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ddayjlc_state, ddayjlc_interrupt) | |
522 | 522 | |
523 | 523 | MCFG_CPU_ADD("audiocpu", Z80, 12000000/4) |
524 | 524 | MCFG_CPU_PROGRAM_MAP(sound_cpu) |
525 | MCFG_CPU_VBLANK_INT("screen", ddayjlc_snd_interrupt) | |
525 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ddayjlc_state, ddayjlc_snd_interrupt) | |
526 | 526 | |
527 | 527 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
528 | 528 |
r17996 | r17997 | |
---|---|---|
633 | 633 | } |
634 | 634 | |
635 | 635 | |
636 | ||
636 | ||
637 | 637 | { |
638 | 638 | // lift idle suspension |
639 | if (resume_trigger && suspension_active) { suspension_active = 0; | |
639 | if (resume_trigger && suspension_active) { suspension_active = 0; | |
640 | 640 | |
641 | 641 | // IRQ 1 is the main 60hz vblank interrupt |
642 | 642 | if (gx_syncen & 0x20) |
r17996 | r17997 | |
646 | 646 | if ((konamigx_wrport1_1 & 0x81) == 0x81 || (gx_syncen & 1)) |
647 | 647 | { |
648 | 648 | gx_syncen &= ~1; |
649 | device | |
649 | device. | |
650 | 650 | } |
651 | 651 | } |
652 | 652 | |
r17996 | r17997 | |
1251 | 1251 | sndto020[offset] = data; |
1252 | 1252 | } |
1253 | 1253 | |
1254 | ||
1254 | ||
1255 | 1255 | { |
1256 | downcast<tms57002_device *>(device)->sync(); | |
1256 | downcast<tms57002_device *>(&device)->sync(); | |
1257 | 1257 | } |
1258 | 1258 | |
1259 | 1259 | READ16_MEMBER(konamigx_state::tms57002_data_word_r) |
r17996 | r17997 | |
1761 | 1761 | /* basic machine hardware */ |
1762 | 1762 | MCFG_CPU_ADD("maincpu", M68EC020, 24000000) |
1763 | 1763 | MCFG_CPU_PROGRAM_MAP(gx_type2_map) |
1764 | MCFG_CPU_VBLANK_INT("screen", konamigx_vbinterrupt) | |
1764 | MCFG_CPU_VBLANK_INT_DRIVER("screen", konamigx_state, konamigx_vbinterrupt) | |
1765 | 1765 | |
1766 | 1766 | MCFG_CPU_ADD("soundcpu", M68000, 8000000) |
1767 | 1767 | MCFG_CPU_PROGRAM_MAP(gxsndmap) |
1768 | MCFG_CPU_PERIODIC_INT(irq2_line_hold, 480) | |
1768 | MCFG_CPU_PERIODIC_INT_DRIVER(konamigx_state, irq2_line_hold, 480) | |
1769 | 1769 | |
1770 | 1770 | MCFG_CPU_ADD("dasp", TMS57002, 12500000) |
1771 | 1771 | MCFG_CPU_DATA_MAP(gxtmsmap) |
1772 | MCFG_CPU_PERIODIC_INT(tms_sync, 48000) | |
1772 | MCFG_CPU_PERIODIC_INT_DRIVER(konamigx_state, tms_sync, 48000) | |
1773 | 1773 | |
1774 | 1774 | MCFG_QUANTUM_TIME(attotime::from_hz(1920)) |
1775 | 1775 |
r17996 | r17997 | |
---|---|---|
262 | 262 | } |
263 | 263 | } |
264 | 264 | |
265 | ||
265 | ||
266 | 266 | { |
267 | sprcros2_state *state = device->machine().driver_data<sprcros2_state>(); | |
268 | 267 | |
269 | if(state->m_s_port3&0x01) | |
270 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
268 | if(m_s_port3&0x01) | |
269 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
271 | 270 | } |
272 | 271 | |
273 | 272 | void sprcros2_state::machine_start() |
r17996 | r17997 | |
288 | 287 | MCFG_CPU_ADD("slave", Z80,10000000/2) |
289 | 288 | MCFG_CPU_PROGRAM_MAP(sprcros2_slave_map) |
290 | 289 | MCFG_CPU_IO_MAP(sprcros2_slave_io_map) |
291 | MCFG_CPU_PERIODIC_INT(sprcros2_s_interrupt,2*60) //2 nmis | |
290 | MCFG_CPU_PERIODIC_INT_DRIVER(sprcros2_state, sprcros2_s_interrupt, 2*60) //2 nmis | |
292 | 291 | |
293 | 292 | |
294 | 293 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
243 | 243 | MCFG_CPU_ADD("maincpu", Z80, 2000000) |
244 | 244 | MCFG_CPU_PROGRAM_MAP(dorachan_map) |
245 | 245 | MCFG_CPU_IO_MAP(dorachan_io_map) |
246 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) | |
246 | MCFG_CPU_PERIODIC_INT_DRIVER(dorachan_state, irq0_line_hold, 2*60) | |
247 | 247 | |
248 | 248 | |
249 | 249 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
19 | 19 | static KONAMI_SETLINES_CALLBACK( parodius_banking ); |
20 | 20 | |
21 | 21 | |
22 | ||
22 | ||
23 | 23 | { |
24 | parodius_state *state = device->machine().driver_data<parodius_state>(); | |
25 | if (k052109_is_irq_enabled(state->m_k052109)) | |
26 | device->execute().set_input_line(0, HOLD_LINE); | |
24 | if (k052109_is_irq_enabled(m_k052109)) | |
25 | device.execute().set_input_line(0, HOLD_LINE); | |
27 | 26 | } |
28 | 27 | |
29 | 28 | READ8_MEMBER(parodius_state::bankedram_r) |
r17996 | r17997 | |
290 | 289 | /* basic machine hardware */ |
291 | 290 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* 053248 */ |
292 | 291 | MCFG_CPU_PROGRAM_MAP(parodius_map) |
293 | MCFG_CPU_VBLANK_INT("screen", parodius_interrupt) | |
292 | MCFG_CPU_VBLANK_INT_DRIVER("screen", parodius_state, parodius_interrupt) | |
294 | 293 | |
295 | 294 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
296 | 295 | MCFG_CPU_PROGRAM_MAP(parodius_sound_map) |
r17996 | r17997 | |
---|---|---|
292 | 292 | /* basic machine hardware */ |
293 | 293 | MCFG_CPU_ADD("maincpu", M68000, MASTER_CLOCK / 2) |
294 | 294 | MCFG_CPU_PROGRAM_MAP(main_map) |
295 | MCFG_CPU_PERIODIC_INT(irq1_line_hold, (double)MASTER_CLOCK / 4096 / 12) | |
295 | MCFG_CPU_PERIODIC_INT_DRIVER(quantum_state, irq1_line_hold, (double)MASTER_CLOCK / 4096 / 12) | |
296 | 296 | |
297 | 297 | MCFG_NVRAM_ADD_1FILL("nvram") |
298 | 298 |
r17996 | r17997 | |
---|---|---|
735 | 735 | /* basic machine hardware */ |
736 | 736 | MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) /* 3 MHz? */ |
737 | 737 | MCFG_CPU_PROGRAM_MAP(combatsc_map) |
738 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
738 | MCFG_CPU_VBLANK_INT_DRIVER("screen", combatsc_state, irq0_line_hold) | |
739 | 739 | |
740 | 740 | MCFG_CPU_ADD("audiocpu", Z80,3579545) /* 3.579545 MHz */ |
741 | 741 | MCFG_CPU_PROGRAM_MAP(combatsc_sound_map) |
r17996 | r17997 | |
785 | 785 | /* basic machine hardware */ |
786 | 786 | MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) /* 3 MHz? */ |
787 | 787 | MCFG_CPU_PROGRAM_MAP(combatscb_map) |
788 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
788 | MCFG_CPU_VBLANK_INT_DRIVER("screen", combatsc_state, irq0_line_hold) | |
789 | 789 | |
790 | 790 | MCFG_CPU_ADD("audiocpu", Z80,3579545) /* 3.579545 MHz */ |
791 | 791 | MCFG_CPU_PROGRAM_MAP(combatscb_sound_map) |
792 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,3800) // controls BGM tempo | |
792 | MCFG_CPU_PERIODIC_INT_DRIVER(combatsc_state, irq0_line_hold, 3800) // controls BGM tempo | |
793 | 793 | |
794 | 794 | MCFG_QUANTUM_TIME(attotime::from_hz(1200)) |
795 | 795 |
r17996 | r17997 | |
---|---|---|
57 | 57 | #include "includes/konamipt.h" |
58 | 58 | |
59 | 59 | |
60 | ||
60 | ||
61 | 61 | { |
62 | rockrage_state *state = device->machine().driver_data<rockrage_state>(); | |
63 | if (k007342_is_int_enabled(state->m_k007342)) | |
64 | device->execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
62 | if (k007342_is_int_enabled(m_k007342)) | |
63 | device.execute().set_input_line(HD6309_IRQ_LINE, HOLD_LINE); | |
65 | 64 | } |
66 | 65 | |
67 | 66 | WRITE8_MEMBER(rockrage_state::rockrage_bankswitch_w) |
r17996 | r17997 | |
263 | 262 | /* basic machine hardware */ |
264 | 263 | MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) /* 24MHz/8 */ |
265 | 264 | MCFG_CPU_PROGRAM_MAP(rockrage_map) |
266 | MCFG_CPU_VBLANK_INT("screen", rockrage_interrupt) | |
265 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rockrage_state, rockrage_interrupt) | |
267 | 266 | |
268 | 267 | MCFG_CPU_ADD("audiocpu", M6809, 1500000) /* 24MHz/16 */ |
269 | 268 | MCFG_CPU_PROGRAM_MAP(rockrage_sound_map) |
r17996 | r17997 | |
---|---|---|
488 | 488 | MCFG_CPU_ADD("maincpu", Z80, XTAL_8MHz / 2) // 4 MHz? |
489 | 489 | MCFG_CPU_PROGRAM_MAP(quizpun2_map) |
490 | 490 | MCFG_CPU_IO_MAP(quizpun2_io_map) |
491 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
491 | MCFG_CPU_VBLANK_INT_DRIVER("screen", quizpun2_state, irq0_line_hold) | |
492 | 492 | |
493 | 493 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz / 2) // 4 MHz? |
494 | 494 | MCFG_CPU_PROGRAM_MAP(quizpun2_sound_map) |
495 | 495 | MCFG_CPU_IO_MAP(quizpun2_sound_io_map) |
496 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
496 | MCFG_CPU_VBLANK_INT_DRIVER("screen", quizpun2_state, irq0_line_hold) | |
497 | 497 | // NMI generated by main CPU |
498 | 498 | |
499 | 499 |
r17996 | r17997 | |
---|---|---|
412 | 412 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz ?*/ |
413 | 413 | MCFG_CPU_PROGRAM_MAP(egghunt_map) |
414 | 414 | MCFG_CPU_IO_MAP(io_map) |
415 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) // or 2 like mitchell.c? | |
415 | MCFG_CPU_VBLANK_INT_DRIVER("screen", egghunt_state, irq0_line_hold) // or 2 like mitchell.c? | |
416 | 416 | |
417 | 417 | MCFG_CPU_ADD("audiocpu", Z80,12000000/2) /* 6 MHz ?*/ |
418 | 418 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
198 | 198 | |
199 | 199 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
200 | 200 | MCFG_CPU_PROGRAM_MAP(bigstrkb_map) |
201 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
201 | MCFG_CPU_VBLANK_INT_DRIVER("screen", bigstrkb_state, irq6_line_hold) | |
202 | 202 | |
203 | 203 | MCFG_GFXDECODE(bigstrkb) |
204 | 204 |
r17996 | r17997 | |
---|---|---|
436 | 436 | /* basic machine hardware */ |
437 | 437 | MCFG_CPU_ADD("maincpu", Z80, 3000000) /* 3 MHz */ |
438 | 438 | MCFG_CPU_PROGRAM_MAP(cpu1_map) |
439 | MCFG_CPU_VBLANK_INT("screen", stfight_vb_interrupt) | |
439 | MCFG_CPU_VBLANK_INT_DRIVER("screen", stfight_state, stfight_vb_interrupt) | |
440 | 440 | |
441 | 441 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) /* 3 MHz */ |
442 | 442 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
443 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,120) | |
443 | MCFG_CPU_PERIODIC_INT_DRIVER(stfight_state, irq0_line_hold, 120) | |
444 | 444 | |
445 | 445 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
446 | 446 |
r17996 | r17997 | |
---|---|---|
462 | 462 | /* basic machine hardware */ |
463 | 463 | MCFG_CPU_ADD("maincpu", Z80, XTAL_20MHz/4) // divider guessed |
464 | 464 | MCFG_CPU_PROGRAM_MAP(gberetb_map) |
465 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
466 | MCFG_CPU_PERIODIC_INT(nmi_line_assert, XTAL_20MHz/0x8000) // divider guessed | |
465 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gberet_state, irq0_line_assert) | |
466 | MCFG_CPU_PERIODIC_INT_DRIVER(gberet_state, nmi_line_assert, XTAL_20MHz/0x8000) // divider guessed | |
467 | 467 | |
468 | 468 | MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet) |
469 | 469 | MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet) |
r17996 | r17997 | |
---|---|---|
111 | 111 | virtual void machine_reset(); |
112 | 112 | UINT32 screen_update_sandscrp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
113 | 113 | void screen_eof_sandscrp(screen_device &screen, bool state); |
114 | INTERRUPT_GEN_MEMBER(sandscrp_interrupt); | |
114 | 115 | }; |
115 | 116 | |
116 | 117 | |
r17996 | r17997 | |
160 | 161 | |
161 | 162 | |
162 | 163 | /* Called once/frame to generate the VBLANK interrupt */ |
163 | ||
164 | ||
164 | 165 | { |
165 | sandscrp_state *state = device->machine().driver_data<sandscrp_state>(); | |
166 | state->m_vblank_irq = 1; | |
167 | update_irq_state(device->machine()); | |
166 | m_vblank_irq = 1; | |
167 | update_irq_state(machine()); | |
168 | 168 | } |
169 | 169 | |
170 | 170 | |
r17996 | r17997 | |
500 | 500 | /* basic machine hardware */ |
501 | 501 | MCFG_CPU_ADD("maincpu", M68000,12000000) /* TMP68HC000N-12 */ |
502 | 502 | MCFG_CPU_PROGRAM_MAP(sandscrp) |
503 | MCFG_CPU_VBLANK_INT("screen", sandscrp_interrupt) | |
503 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sandscrp_state, sandscrp_interrupt) | |
504 | 504 | |
505 | 505 | MCFG_CPU_ADD("audiocpu", Z80,4000000) /* Z8400AB1, Reads the DSWs: it can't be disabled */ |
506 | 506 | MCFG_CPU_PROGRAM_MAP(sandscrp_soundmem) |
r17996 | r17997 | |
---|---|---|
72 | 72 | DECLARE_DRIVER_INIT(gpworld); |
73 | 73 | virtual void machine_start(); |
74 | 74 | UINT32 screen_update_gpworld(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); |
75 | INTERRUPT_GEN_MEMBER(vblank_callback_gpworld); | |
75 | 76 | }; |
76 | 77 | |
77 | 78 | |
r17996 | r17997 | |
429 | 430 | machine.device("maincpu")->execute().set_input_line(0, CLEAR_LINE); |
430 | 431 | } |
431 | 432 | |
432 | ||
433 | ||
433 | 434 | { |
434 | gpworld_state *state = device->machine().driver_data<gpworld_state>(); | |
435 | 435 | /* Do an NMI if the enabled bit is set */ |
436 | if ( | |
436 | if ( | |
437 | 437 | { |
438 | state->m_laserdisc->data_w(state->m_ldp_write_latch); | |
439 | state->m_ldp_read_latch = state->m_laserdisc->status_r(); | |
440 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
438 | m_laserdisc->data_w(m_ldp_write_latch); | |
439 | m_ldp_read_latch = m_laserdisc->status_r(); | |
440 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
441 | 441 | } |
442 | 442 | |
443 | 443 | /* The time the IRQ line stays high is set just long enough to happen after the NMI - hacky? */ |
444 | device->execute().set_input_line(0, ASSERT_LINE); | |
445 | device->machine().scheduler().timer_set(attotime::from_usec(100), FUNC(irq_stop)); | |
444 | device.execute().set_input_line(0, ASSERT_LINE); | |
445 | machine().scheduler().timer_set(attotime::from_usec(100), FUNC(irq_stop)); | |
446 | 446 | } |
447 | 447 | |
448 | 448 | static const gfx_layout gpworld_tile_layout = |
r17996 | r17997 | |
467 | 467 | MCFG_CPU_ADD("maincpu", Z80, GUESSED_CLOCK) |
468 | 468 | MCFG_CPU_PROGRAM_MAP(mainmem) |
469 | 469 | MCFG_CPU_IO_MAP(mainport) |
470 | MCFG_CPU_VBLANK_INT("screen", vblank_callback_gpworld) | |
470 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gpworld_state, vblank_callback_gpworld) | |
471 | 471 | |
472 | 472 | |
473 | 473 | MCFG_LASERDISC_LDV1000_ADD("laserdisc") |
r17996 | r17997 | |
---|---|---|
942 | 942 | |
943 | 943 | MCFG_CPU_REPLACE("mcu", M6802,6000000) /* ? MHz Xtal */ |
944 | 944 | MCFG_CPU_PROGRAM_MAP(nsc_map) |
945 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
945 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tubep_state, nmi_line_pulse) | |
946 | 946 | MACHINE_CONFIG_END |
947 | 947 | |
948 | 948 |
r17996 | r17997 | |
---|---|---|
806 | 806 | |
807 | 807 | /* basic machine hardware */ |
808 | 808 | MCFG_CPU_ADD("maincpu", M6502, EXIDY_CPU_CLOCK) |
809 | MCFG_CPU_VBLANK_INT("screen", exidy_vblank_interrupt) | |
809 | MCFG_CPU_VBLANK_INT_DRIVER("screen", exidy_state, exidy_vblank_interrupt) | |
810 | 810 | |
811 | 811 | /* video hardware */ |
812 | 812 | MCFG_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) |
r17996 | r17997 | |
878 | 878 | |
879 | 879 | /* basic machine hardware */ |
880 | 880 | MCFG_CPU_MODIFY("maincpu") |
881 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,10*60) | |
881 | MCFG_CPU_PERIODIC_INT_DRIVER(exidy_state, nmi_line_pulse, 10*60) | |
882 | 882 | |
883 | 883 | MCFG_MACHINE_START_OVERRIDE(exidy_state, teetert ) |
884 | 884 |
r17996 | r17997 | |
---|---|---|
223 | 223 | #include "sound/dac.h" |
224 | 224 | #include "sound/2203intf.h" |
225 | 225 | |
226 | ||
226 | ||
227 | 227 | { |
228 | homedata_state *state = device->machine().driver_data<homedata_state>(); | |
229 | state->m_vblank = 1; | |
230 | device->execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); | |
228 | m_vblank = 1; | |
229 | device.execute().set_input_line(M6809_FIRQ_LINE, HOLD_LINE); | |
231 | 230 | } |
232 | 231 | |
233 | ||
232 | ||
234 | 233 | { |
235 | device | |
234 | device. | |
236 | 235 | } |
237 | 236 | |
238 | 237 | |
r17996 | r17997 | |
1246 | 1245 | /* basic machine hardware */ |
1247 | 1246 | MCFG_CPU_ADD("maincpu", M6809, 16000000/4) /* 4MHz ? */ |
1248 | 1247 | MCFG_CPU_PROGRAM_MAP(mrokumei_map) |
1249 | MCFG_CPU_VBLANK_INT("screen", homedata_irq) /* also triggered by the blitter */ | |
1248 | MCFG_CPU_VBLANK_INT_DRIVER("screen", homedata_state, homedata_irq) /* also triggered by the blitter */ | |
1250 | 1249 | |
1251 | 1250 | MCFG_CPU_ADD("audiocpu", Z80, 16000000/4) /* 4MHz ? */ |
1252 | 1251 | MCFG_CPU_PROGRAM_MAP(mrokumei_sound_map) |
r17996 | r17997 | |
1312 | 1311 | /* basic machine hardware */ |
1313 | 1312 | MCFG_CPU_ADD("maincpu", M6809, 16000000/4) /* 4MHz ? */ |
1314 | 1313 | MCFG_CPU_PROGRAM_MAP(reikaids_map) |
1315 | MCFG_CPU_VBLANK_INT("screen", homedata_irq) /* also triggered by the blitter */ | |
1314 | MCFG_CPU_VBLANK_INT_DRIVER("screen", homedata_state, homedata_irq) /* also triggered by the blitter */ | |
1316 | 1315 | |
1317 | 1316 | MCFG_CPU_ADD("audiocpu", UPD7807, 8000000) /* ??? MHz (max speed for the 7807 is 12MHz) */ |
1318 | 1317 | MCFG_CPU_CONFIG(upd_config) |
1319 | 1318 | MCFG_CPU_PROGRAM_MAP(reikaids_upd7807_map) |
1320 | 1319 | MCFG_CPU_IO_MAP(reikaids_upd7807_io_map) |
1321 | MCFG_CPU_VBLANK_INT("screen", upd7807_irq) | |
1320 | MCFG_CPU_VBLANK_INT_DRIVER("screen", homedata_state, upd7807_irq) | |
1322 | 1321 | |
1323 | 1322 | MCFG_QUANTUM_TIME(attotime::from_hz(30000)) // very high interleave required to sync for startup tests |
1324 | 1323 | |
r17996 | r17997 | |
1362 | 1361 | /* basic machine hardware */ |
1363 | 1362 | MCFG_CPU_ADD("maincpu", M6809, 16000000/4) /* 4MHz ? */ |
1364 | 1363 | MCFG_CPU_PROGRAM_MAP(pteacher_map) |
1365 | MCFG_CPU_VBLANK_INT("screen", homedata_irq) /* also triggered by the blitter */ | |
1364 | MCFG_CPU_VBLANK_INT_DRIVER("screen", homedata_state, homedata_irq) /* also triggered by the blitter */ | |
1366 | 1365 | |
1367 | 1366 | MCFG_CPU_ADD("audiocpu", UPD7807, 9000000) /* 9MHz ? */ |
1368 | 1367 | MCFG_CPU_CONFIG(upd_config) |
1369 | 1368 | MCFG_CPU_PROGRAM_MAP(pteacher_upd7807_map) |
1370 | 1369 | MCFG_CPU_IO_MAP(pteacher_upd7807_io_map) |
1371 | MCFG_CPU_VBLANK_INT("screen", upd7807_irq) | |
1370 | MCFG_CPU_VBLANK_INT_DRIVER("screen", homedata_state, upd7807_irq) | |
1372 | 1371 | |
1373 | 1372 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // should be enough |
1374 | 1373 |
r17996 | r17997 | |
---|---|---|
177 | 177 | static MACHINE_CONFIG_START( mw18w, mw18w_state ) |
178 | 178 | /* basic machine hardware */ |
179 | 179 | MCFG_CPU_ADD("maincpu", Z80, XTAL_19_968MHz/8) |
180 | MCFG_CPU_PERIODIC_INT(irq0_line_assert,960.516) // 555 IC | |
180 | MCFG_CPU_PERIODIC_INT_DRIVER(mw18w_state, irq0_line_assert, 960.516) // 555 IC | |
181 | 181 | MCFG_CPU_PROGRAM_MAP(mw18w_map) |
182 | 182 | MCFG_CPU_IO_MAP(mw18w_portmap) |
183 | 183 |
r17996 | r17997 | |
---|---|---|
410 | 410 | |
411 | 411 | MCFG_CPU_ADD("maincpu", M68000, 12000000) |
412 | 412 | MCFG_CPU_PROGRAM_MAP(mugsmash_map) |
413 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
413 | MCFG_CPU_VBLANK_INT_DRIVER("screen", mugsmash_state, irq6_line_hold) | |
414 | 414 | |
415 | 415 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* Guess */ |
416 | 416 | MCFG_CPU_PROGRAM_MAP(mugsmash_sound_map) |
r17996 | r17997 | |
---|---|---|
222 | 222 | /* basic machine hardware */ |
223 | 223 | MCFG_CPU_ADD("maincpu", M6502, 2000000) |
224 | 224 | MCFG_CPU_PROGRAM_MAP(pcktgal_map) |
225 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
225 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pcktgal_state, nmi_line_pulse) | |
226 | 226 | |
227 | 227 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) |
228 | 228 | MCFG_CPU_PROGRAM_MAP(pcktgal_sound_map) |
r17996 | r17997 | |
---|---|---|
480 | 480 | /* basic machine hardware */ |
481 | 481 | MCFG_CPU_ADD("maincpu", M6809, MASTER_CLOCK/2) /* guess */ |
482 | 482 | MCFG_CPU_PROGRAM_MAP(jokrwild_map) |
483 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
483 | MCFG_CPU_VBLANK_INT_DRIVER("screen", jokrwild_state, nmi_line_pulse) | |
484 | 484 | |
485 | 485 | // MCFG_NVRAM_ADD_0FILL("nvram") |
486 | 486 |
r17996 | r17997 | |
---|---|---|
193 | 193 | GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0, 8 ) /* colors 0-127 */ |
194 | 194 | GFXDECODE_END |
195 | 195 | |
196 | ||
196 | ||
197 | 197 | { |
198 | solomon_state *state = device->machine().driver_data<solomon_state>(); | |
199 | 198 | |
200 | if(state->m_nmi_mask) | |
201 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
199 | if(m_nmi_mask) | |
200 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
202 | 201 | } |
203 | 202 | |
204 | 203 | |
r17996 | r17997 | |
208 | 207 | /* basic machine hardware */ |
209 | 208 | MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4.0 MHz (?????) */ |
210 | 209 | MCFG_CPU_PROGRAM_MAP(main_map) |
211 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
210 | MCFG_CPU_VBLANK_INT_DRIVER("screen", solomon_state, vblank_irq) | |
212 | 211 | |
213 | 212 | MCFG_CPU_ADD("audiocpu", Z80, 3072000) |
214 | 213 | MCFG_CPU_PROGRAM_MAP(sound_map) |
215 | 214 | MCFG_CPU_IO_MAP(sound_portmap) |
216 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60) /* ??? */ | |
215 | MCFG_CPU_PERIODIC_INT_DRIVER(solomon_state, irq0_line_hold, 2*60) /* ??? */ | |
217 | 216 | /* NMIs are caused by the main CPU */ |
218 | 217 | |
219 | 218 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
666 | 666 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
667 | 667 | MCFG_CPU_PROGRAM_MAP(ppking_cpu1_map) |
668 | 668 | MCFG_CPU_IO_MAP(ppking_cpu1_io) |
669 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
669 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gladiatr_state, irq0_line_hold) | |
670 | 670 | |
671 | 671 | MCFG_CPU_ADD("sub", Z80, XTAL_12MHz/4) /* verified on pcb */ |
672 | 672 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
673 | 673 | MCFG_CPU_IO_MAP(ppking_cpu2_io) |
674 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
674 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gladiatr_state, irq0_line_hold) | |
675 | 675 | |
676 | 676 | MCFG_CPU_ADD("audiocpu", M6809, XTAL_12MHz/16) /* verified on pcb */ |
677 | 677 | MCFG_CPU_PROGRAM_MAP(ppking_cpu3_map) |
r17996 | r17997 | |
715 | 715 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
716 | 716 | MCFG_CPU_PROGRAM_MAP(gladiatr_cpu1_map) |
717 | 717 | MCFG_CPU_IO_MAP(gladiatr_cpu1_io) |
718 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
718 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gladiatr_state, irq0_line_hold) | |
719 | 719 | |
720 | 720 | MCFG_CPU_ADD("sub", Z80, XTAL_12MHz/4) /* verified on pcb */ |
721 | 721 | MCFG_CPU_PROGRAM_MAP(cpu2_map) |
r17996 | r17997 | |
---|---|---|
623 | 623 | /* basic machine hardware */ |
624 | 624 | MCFG_CPU_ADD("maincpu", M68EC020, 50000000/2) /* 25 MHz */ |
625 | 625 | MCFG_CPU_PROGRAM_MAP(macrossp_map) |
626 | MCFG_CPU_VBLANK_INT("screen", irq3_line_hold) // there are others ... | |
626 | MCFG_CPU_VBLANK_INT_DRIVER("screen", macrossp_state, irq3_line_hold) // there are others ... | |
627 | 627 | |
628 | 628 | MCFG_CPU_ADD("audiocpu", M68000, 32000000/2) /* 16 MHz */ |
629 | 629 | MCFG_CPU_PROGRAM_MAP(macrossp_sound_map) |
r17996 | r17997 | |
---|---|---|
129 | 129 | virtual void machine_reset(); |
130 | 130 | virtual void video_start(); |
131 | 131 | UINT32 screen_update_imolagp(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
132 | INTERRUPT_GEN_MEMBER(vblank_irq); | |
132 | 133 | }; |
133 | 134 | |
134 | 135 | |
r17996 | r17997 | |
493 | 494 | } |
494 | 495 | } |
495 | 496 | |
496 | ||
497 | ||
497 | 498 | { |
498 | imolagp_state *state = device->machine().driver_data<imolagp_state>(); | |
499 | 499 | |
500 | 500 | #ifdef HLE_COM |
501 | memcpy(&state->m_slave_workram[0x80], state->m_mComData, state->m_mComCount); | |
502 | state->m_mComCount = 0; | |
501 | memcpy(&m_slave_workram[0x80], m_mComData, m_mComCount); | |
502 | m_mComCount = 0; | |
503 | 503 | #endif |
504 | device | |
504 | device. | |
505 | 505 | } /* master_interrupt */ |
506 | 506 | |
507 | 507 | |
r17996 | r17997 | |
556 | 556 | MCFG_CPU_ADD("maincpu", Z80,8000000) /* ? */ |
557 | 557 | MCFG_CPU_PROGRAM_MAP(imolagp_master) |
558 | 558 | MCFG_CPU_IO_MAP(readport_master) |
559 | MCFG_CPU_VBLANK_INT("screen",vblank_irq) | |
559 | MCFG_CPU_VBLANK_INT_DRIVER("screen", imolagp_state, vblank_irq) | |
560 | 560 | MCFG_TIMER_ADD_PERIODIC("pot_irq", imolagp_nmi_cb, attotime::from_hz(60*3)) |
561 | 561 | |
562 | 562 | MCFG_CPU_ADD("slave", Z80,8000000) /* ? */ |
563 | 563 | MCFG_CPU_PROGRAM_MAP(imolagp_slave) |
564 | 564 | MCFG_CPU_IO_MAP(readport_slave) |
565 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
565 | MCFG_CPU_VBLANK_INT_DRIVER("screen", imolagp_state, irq0_line_hold) | |
566 | 566 | |
567 | 567 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) |
568 | 568 |
r17996 | r17997 | |
---|---|---|
354 | 354 | /* basic machine hardware */ |
355 | 355 | MCFG_CPU_ADD("maincpu", Z80,8000000) /* ? MHz */ |
356 | 356 | MCFG_CPU_PROGRAM_MAP(poker72_map) |
357 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
357 | MCFG_CPU_VBLANK_INT_DRIVER("screen", poker72_state, irq0_line_hold) | |
358 | 358 | |
359 | 359 | |
360 | 360 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
662 | 662 | /* basic machine hardware */ |
663 | 663 | MCFG_CPU_ADD("maincpu",M68000,16000000) // TMP68HC000-16 |
664 | 664 | MCFG_CPU_PROGRAM_MAP(umipoker_map) |
665 | MCFG_CPU_VBLANK_INT("screen", irq6_line_assert) | |
665 | MCFG_CPU_VBLANK_INT_DRIVER("screen", umipoker_state, irq6_line_assert) | |
666 | 666 | |
667 | 667 | MCFG_CPU_ADD("audiocpu",Z80,4000000) |
668 | 668 | MCFG_CPU_PROGRAM_MAP(umipoker_audio_map) |
669 | 669 | MCFG_CPU_IO_MAP(umipoker_audio_io_map) |
670 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 120) // ? controls ym3812 music tempo | |
670 | MCFG_CPU_PERIODIC_INT_DRIVER(umipoker_state, irq0_line_hold, 120) // ? controls ym3812 music tempo | |
671 | 671 | |
672 | 672 | MCFG_NVRAM_ADD_1FILL("nvram") |
673 | 673 |
r17996 | r17997 | |
---|---|---|
239 | 239 | /* basic machine hardware */ |
240 | 240 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* XTAL confirmed, divisor is not */ |
241 | 241 | MCFG_CPU_PROGRAM_MAP(goindol_map) |
242 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
242 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goindol_state, irq0_line_hold) | |
243 | 243 | |
244 | 244 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_12MHz/2) /* XTAL confirmed, divisor is not */ |
245 | 245 | MCFG_CPU_PROGRAM_MAP(sound_map) |
246 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4*60) | |
246 | MCFG_CPU_PERIODIC_INT_DRIVER(goindol_state, irq0_line_hold, 4*60) | |
247 | 247 | |
248 | 248 | |
249 | 249 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
496 | 496 | save_item(NAME(m_slave_irq_mask)); |
497 | 497 | } |
498 | 498 | |
499 | ||
499 | ||
500 | 500 | { |
501 | gyruss_state *state = device->machine().driver_data<gyruss_state>(); | |
502 | 501 | |
503 | if (state->m_master_nmi_mask) | |
504 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
502 | if (m_master_nmi_mask) | |
503 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
505 | 504 | } |
506 | 505 | |
507 | ||
506 | ||
508 | 507 | { |
509 | gyruss_state *state = device->machine().driver_data<gyruss_state>(); | |
510 | 508 | |
511 | if (state->m_slave_irq_mask) | |
512 | device->execute().set_input_line(0, HOLD_LINE); | |
509 | if (m_slave_irq_mask) | |
510 | device.execute().set_input_line(0, HOLD_LINE); | |
513 | 511 | } |
514 | 512 | |
515 | 513 | static MACHINE_CONFIG_START( gyruss, gyruss_state ) |
r17996 | r17997 | |
517 | 515 | /* basic machine hardware */ |
518 | 516 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ |
519 | 517 | MCFG_CPU_PROGRAM_MAP(main_cpu1_map) |
520 | MCFG_CPU_VBLANK_INT("screen", master_vblank_irq) | |
518 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gyruss_state, master_vblank_irq) | |
521 | 519 | |
522 | 520 | MCFG_CPU_ADD("sub", M6809, MASTER_CLOCK/12) /* 1.536 MHz */ |
523 | 521 | MCFG_CPU_PROGRAM_MAP(main_cpu2_map) |
524 | MCFG_CPU_VBLANK_INT("screen", slave_vblank_irq) | |
522 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gyruss_state, slave_vblank_irq) | |
525 | 523 | |
526 | 524 | MCFG_CPU_ADD("audiocpu", Z80, SOUND_CLOCK/4) /* 3.579545 MHz */ |
527 | 525 | MCFG_CPU_PROGRAM_MAP(audio_cpu1_map) |
r17996 | r17997 | |
---|---|---|
428 | 428 | /* basic machine hardware */ |
429 | 429 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4) |
430 | 430 | MCFG_CPU_PROGRAM_MAP(main_map) |
431 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
431 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kangaroo_state, irq0_line_hold) | |
432 | 432 | |
433 | 433 | MCFG_CPU_ADD("audiocpu", Z80, MASTER_CLOCK/8) |
434 | 434 | MCFG_CPU_PROGRAM_MAP(sound_map) |
435 | 435 | MCFG_CPU_IO_MAP(sound_portmap) |
436 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
436 | MCFG_CPU_VBLANK_INT_DRIVER("screen", kangaroo_state, irq0_line_hold) | |
437 | 437 | |
438 | 438 | |
439 | 439 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
492 | 492 | /* basic machine hardware */ |
493 | 493 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */ |
494 | 494 | MCFG_CPU_PROGRAM_MAP(main_map) |
495 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
495 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cabal_state, irq1_line_hold) | |
496 | 496 | |
497 | 497 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
498 | 498 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
534 | 534 | /* basic machine hardware */ |
535 | 535 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz/2) /* verified on pcb */ |
536 | 536 | MCFG_CPU_PROGRAM_MAP(cabalbl_main_map) |
537 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
537 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cabal_state, irq1_line_hold) | |
538 | 538 | |
539 | 539 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
540 | 540 | MCFG_CPU_PROGRAM_MAP(cabalbl_sound_map) |
r17996 | r17997 | |
543 | 543 | MCFG_CPU_ADD("adpcm1", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
544 | 544 | MCFG_CPU_PROGRAM_MAP(cabalbl_talk1_map) |
545 | 545 | MCFG_CPU_IO_MAP(cabalbl_talk1_portmap) |
546 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8000) | |
546 | MCFG_CPU_PERIODIC_INT_DRIVER(cabal_state, irq0_line_hold, 8000) | |
547 | 547 | |
548 | 548 | MCFG_CPU_ADD("adpcm2", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
549 | 549 | MCFG_CPU_PROGRAM_MAP(cabalbl_talk2_map) |
550 | 550 | MCFG_CPU_IO_MAP(cabalbl_talk2_portmap) |
551 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8000) | |
551 | MCFG_CPU_PERIODIC_INT_DRIVER(cabal_state, irq0_line_hold, 8000) | |
552 | 552 | |
553 | 553 | MCFG_QUANTUM_TIME(attotime::from_hz(600)) |
554 | 554 |
r17996 | r17997 | |
---|---|---|
68 | 68 | DECLARE_WRITE8_MEMBER(hotblock_video_write); |
69 | 69 | virtual void video_start(); |
70 | 70 | UINT32 screen_update_hotblock(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
71 | INTERRUPT_GEN_MEMBER(hotblocks_irq); | |
71 | 72 | }; |
72 | 73 | |
73 | 74 | |
r17996 | r17997 | |
195 | 196 | INPUT_PORTS_END |
196 | 197 | |
197 | 198 | |
198 | ||
199 | ||
199 | 200 | { |
200 | device | |
201 | device. | |
201 | 202 | } |
202 | 203 | |
203 | 204 | static const ay8910_interface ay8910_config = |
r17996 | r17997 | |
217 | 218 | MCFG_CPU_ADD("maincpu", I8088, 10000000) |
218 | 219 | MCFG_CPU_PROGRAM_MAP(hotblock_map) |
219 | 220 | MCFG_CPU_IO_MAP(hotblock_io) |
220 | MCFG_CPU_VBLANK_INT("screen", hotblocks_irq) | |
221 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hotblock_state, hotblocks_irq) | |
221 | 222 | |
222 | 223 | /* video hardware */ |
223 | 224 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
404 | 404 | |
405 | 405 | ***************************************************************************/ |
406 | 406 | |
407 | ||
407 | ||
408 | 408 | { |
409 | vendetta_state *state = device->machine().driver_data<vendetta_state>(); | |
410 | if (state->m_irq_enabled) | |
411 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
409 | if (m_irq_enabled) | |
410 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
412 | 411 | } |
413 | 412 | |
414 | 413 | static const k052109_interface vendetta_k052109_intf = |
r17996 | r17997 | |
504 | 503 | /* basic machine hardware */ |
505 | 504 | MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */ |
506 | 505 | MCFG_CPU_PROGRAM_MAP(main_map) |
507 | MCFG_CPU_VBLANK_INT("screen", vendetta_irq) | |
506 | MCFG_CPU_VBLANK_INT_DRIVER("screen", vendetta_state, vendetta_irq) | |
508 | 507 | |
509 | 508 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified with PCB */ |
510 | 509 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
191 | 191 | /* basic machine hardware */ |
192 | 192 | MCFG_CPU_ADD("maincpu", M68000,24000000/2) /* 12 MHz */ |
193 | 193 | MCFG_CPU_PROGRAM_MAP(thoop2_map) |
194 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
194 | MCFG_CPU_VBLANK_INT_DRIVER("screen", thoop2_state, irq6_line_hold) | |
195 | 195 | |
196 | 196 | /* video hardware */ |
197 | 197 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
523 | 523 | GFXDECODE_ENTRY( "gfx2", 0x0000, marineb_big_spritelayout, 0, 64 ) |
524 | 524 | GFXDECODE_END |
525 | 525 | |
526 | ||
526 | ||
527 | 527 | { |
528 | marineb_state *state = device->machine().driver_data<marineb_state>(); | |
529 | 528 | |
530 | if(state->m_irq_mask) | |
531 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
529 | if(m_irq_mask) | |
530 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
532 | 531 | } |
533 | 532 | |
534 | ||
533 | ||
535 | 534 | { |
536 | marineb_state *state = device->machine().driver_data<marineb_state>(); | |
537 | 535 | |
538 | if(state->m_irq_mask) | |
539 | device->execute().set_input_line(0, HOLD_LINE); | |
536 | if(m_irq_mask) | |
537 | device.execute().set_input_line(0, HOLD_LINE); | |
540 | 538 | } |
541 | 539 | |
542 | 540 | |
r17996 | r17997 | |
546 | 544 | MCFG_CPU_ADD("maincpu", Z80, 3072000) /* 3.072 MHz */ |
547 | 545 | MCFG_CPU_PROGRAM_MAP(marineb_map) |
548 | 546 | MCFG_CPU_IO_MAP(marineb_io_map) |
549 | MCFG_CPU_VBLANK_INT("screen", marineb_vblank_irq) | |
547 | MCFG_CPU_VBLANK_INT_DRIVER("screen", marineb_state, marineb_vblank_irq) | |
550 | 548 | |
551 | 549 | |
552 | 550 | /* video hardware */ |
r17996 | r17997 | |
606 | 604 | /* basic machine hardware */ |
607 | 605 | MCFG_CPU_MODIFY("maincpu") |
608 | 606 | MCFG_CPU_IO_MAP(wanted_io_map) |
609 | MCFG_CPU_VBLANK_INT("screen", wanted_vblank_irq) | |
607 | MCFG_CPU_VBLANK_INT_DRIVER("screen", marineb_state, wanted_vblank_irq) | |
610 | 608 | |
611 | 609 | /* video hardware */ |
612 | 610 | MCFG_GFXDECODE(wanted) |
r17996 | r17997 | |
---|---|---|
59 | 59 | * |
60 | 60 | *************************************/ |
61 | 61 | |
62 | ||
62 | ||
63 | 63 | { |
64 | timeplt_state *state = device->machine().driver_data<timeplt_state>(); | |
65 | 64 | |
66 | if (state->m_nmi_enable) | |
67 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
65 | if (m_nmi_enable) | |
66 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
68 | 67 | } |
69 | 68 | |
70 | 69 | |
r17996 | r17997 | |
470 | 469 | /* basic machine hardware */ |
471 | 470 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2) /* not confirmed, but common for Konami games of the era */ |
472 | 471 | MCFG_CPU_PROGRAM_MAP(timeplt_main_map) |
473 | MCFG_CPU_VBLANK_INT("screen", timeplt_interrupt) | |
472 | MCFG_CPU_VBLANK_INT_DRIVER("screen", timeplt_state, timeplt_interrupt) | |
474 | 473 | |
475 | 474 | |
476 | 475 | /* video hardware */ |
r17996 | r17997 | |
496 | 495 | /* basic machine hardware */ |
497 | 496 | MCFG_CPU_MODIFY("maincpu") |
498 | 497 | MCFG_CPU_PROGRAM_MAP(psurge_main_map) |
499 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
498 | MCFG_CPU_VBLANK_INT_DRIVER("screen", timeplt_state, nmi_line_pulse) | |
500 | 499 | MACHINE_CONFIG_END |
501 | 500 | |
502 | 501 | static MACHINE_CONFIG_DERIVED( bikkuric, timeplt ) |
r17996 | r17997 | |
---|---|---|
328 | 328 | /* basic machine hardware */ |
329 | 329 | MCFG_CPU_ADD("maincpu", M68000, 14000000) |
330 | 330 | MCFG_CPU_PROGRAM_MAP(pktgaldx_map) |
331 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
331 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pktgaldx_state, irq6_line_hold) | |
332 | 332 | |
333 | 333 | |
334 | 334 | /* video hardware */ |
r17996 | r17997 | |
367 | 367 | /* basic machine hardware */ |
368 | 368 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
369 | 369 | MCFG_CPU_PROGRAM_MAP(pktgaldb_map) |
370 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
370 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pktgaldx_state, irq6_line_hold) | |
371 | 371 | |
372 | 372 | |
373 | 373 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
332 | 332 | static MACHINE_CONFIG_START( taotaido, taotaido_state ) |
333 | 333 | MCFG_CPU_ADD("maincpu", M68000, 32000000/2) |
334 | 334 | MCFG_CPU_PROGRAM_MAP(main_map) |
335 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
335 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taotaido_state, irq1_line_hold) | |
336 | 336 | |
337 | 337 | MCFG_CPU_ADD("audiocpu", Z80,20000000/4) // ?? |
338 | 338 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
395 | 395 | machine.device("maincpu")->execute().set_input_line(3, HOLD_LINE); // some signal from video hardware? |
396 | 396 | } |
397 | 397 | |
398 | ||
398 | ||
399 | 399 | { |
400 | device->execute().set_input_line(2, HOLD_LINE); // vblank | |
401 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(10000), FUNC(f3_interrupt3)); | |
400 | device.execute().set_input_line(2, HOLD_LINE); // vblank | |
401 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(10000), FUNC(f3_interrupt3)); | |
402 | 402 | } |
403 | 403 | |
404 | 404 | static SOUND_RESET( f3 ) |
r17996 | r17997 | |
429 | 429 | /* basic machine hardware */ |
430 | 430 | MCFG_CPU_ADD("maincpu", M68EC020, XTAL_16MHz) |
431 | 431 | MCFG_CPU_PROGRAM_MAP(f3_map) |
432 | MCFG_CPU_VBLANK_INT("screen", f3_interrupt2) | |
432 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taito_f3_state, f3_interrupt2) | |
433 | 433 | |
434 | 434 | MCFG_MACHINE_START_OVERRIDE(taito_f3_state,f3) |
435 | 435 | |
r17996 | r17997 | |
523 | 523 | /* basic machine hardware */ |
524 | 524 | MCFG_CPU_ADD("maincpu", M68EC020, XTAL_16MHz) |
525 | 525 | MCFG_CPU_PROGRAM_MAP(f3_map) |
526 | MCFG_CPU_VBLANK_INT("screen", f3_interrupt2) | |
526 | MCFG_CPU_VBLANK_INT_DRIVER("screen", taito_f3_state, f3_interrupt2) | |
527 | 527 | |
528 | 528 | MCFG_MACHINE_START_OVERRIDE(taito_f3_state,f3) |
529 | 529 |
r17996 | r17997 | |
---|---|---|
157 | 157 | /* basic machine hardware */ |
158 | 158 | MCFG_CPU_ADD("maincpu", M68000, 26000000/2) /* 13 MHz? */ |
159 | 159 | MCFG_CPU_PROGRAM_MAP(maniacsq_map) |
160 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
160 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco2_state, irq6_line_hold) | |
161 | 161 | |
162 | 162 | /* video hardware */ |
163 | 163 | MCFG_BUFFERED_SPRITERAM16_ADD("spriteram") |
r17996 | r17997 | |
531 | 531 | /* basic machine hardware */ |
532 | 532 | MCFG_CPU_ADD("maincpu", M68000, 24000000/2) /* 12 MHz */ |
533 | 533 | MCFG_CPU_PROGRAM_MAP(alighunt_map) |
534 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
534 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco2_state, irq6_line_hold) | |
535 | 535 | |
536 | 536 | /* video hardware */ |
537 | 537 | MCFG_BUFFERED_SPRITERAM16_ADD("spriteram") |
r17996 | r17997 | |
773 | 773 | /* basic machine hardware */ |
774 | 774 | MCFG_CPU_ADD("maincpu", M68000, 32000000/2) /* 16 MHz */ |
775 | 775 | MCFG_CPU_PROGRAM_MAP(touchgo_map) |
776 | MCFG_CPU_VBLANK_INT("lscreen", irq6_line_hold) | |
776 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", gaelco2_state, irq6_line_hold) | |
777 | 777 | |
778 | 778 | /* video hardware */ |
779 | 779 | MCFG_BUFFERED_SPRITERAM16_ADD("spriteram") |
r17996 | r17997 | |
965 | 965 | /* basic machine hardware */ |
966 | 966 | MCFG_CPU_ADD("maincpu", M68000, 30000000/2) /* 15 MHz */ |
967 | 967 | MCFG_CPU_PROGRAM_MAP(snowboar_map) |
968 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
968 | MCFG_CPU_VBLANK_INT_DRIVER("screen", gaelco2_state, irq6_line_hold) | |
969 | 969 | |
970 | 970 | MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface) |
971 | 971 | |
r17996 | r17997 | |
1206 | 1206 | /* basic machine hardware */ |
1207 | 1207 | MCFG_CPU_ADD("maincpu", M68000, 26000000/2) /* 13 MHz */ |
1208 | 1208 | MCFG_CPU_PROGRAM_MAP(wrally2_map) |
1209 | MCFG_CPU_VBLANK_INT("lscreen", irq6_line_hold) | |
1209 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", gaelco2_state, irq6_line_hold) | |
1210 | 1210 | |
1211 | 1211 | MCFG_EEPROM_ADD("eeprom", gaelco2_eeprom_interface) |
1212 | 1212 |
r17996 | r17997 | |
---|---|---|
387 | 387 | MCFG_CPU_ADD("maincpu", Z80, XTAL_20MHz/4) |
388 | 388 | MCFG_CPU_PROGRAM_MAP(homerun_memmap) |
389 | 389 | MCFG_CPU_IO_MAP(homerun_iomap) |
390 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
390 | MCFG_CPU_VBLANK_INT_DRIVER("screen", homerun_state, irq0_line_hold) | |
391 | 391 | |
392 | 392 | |
393 | 393 | MCFG_I8255A_ADD( "ppi8255", ppi8255_intf ) |
r17996 | r17997 | |
424 | 424 | |
425 | 425 | /* basic machine hardware */ |
426 | 426 | MCFG_CPU_MODIFY("maincpu") |
427 | MCFG_CPU_PERIODIC_INT(irq0_line_hold, 4*60) // ? | |
427 | MCFG_CPU_PERIODIC_INT_DRIVER(homerun_state, irq0_line_hold, 4*60) // ? | |
428 | 428 | |
429 | 429 | /* sound hardware */ |
430 | 430 | MCFG_SOUND_ADD("d7756", UPD7756, UPD7759_STANDARD_CLOCK) |
r17996 | r17997 | |
---|---|---|
604 | 604 | m_gfx_bank = 0; // talbot has only 1 bank |
605 | 605 | } |
606 | 606 | |
607 | ||
607 | ||
608 | 608 | { |
609 | champbas_state *state = device->machine().driver_data<champbas_state>(); | |
610 | 609 | |
611 | if(state->m_irq_mask) | |
612 | device->execute().set_input_line(0, ASSERT_LINE); | |
610 | if(m_irq_mask) | |
611 | device.execute().set_input_line(0, ASSERT_LINE); | |
613 | 612 | } |
614 | 613 | |
615 | 614 | |
r17996 | r17997 | |
618 | 617 | /* basic machine hardware */ |
619 | 618 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) |
620 | 619 | MCFG_CPU_PROGRAM_MAP(talbot_map) |
621 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
620 | MCFG_CPU_VBLANK_INT_DRIVER("screen", champbas_state, vblank_irq) | |
622 | 621 | |
623 | 622 | /* MCU */ |
624 | 623 | MCFG_CPU_ADD(CPUTAG_MCU, ALPHA8201, XTAL_18_432MHz/6/8) |
r17996 | r17997 | |
654 | 653 | /* main cpu */ |
655 | 654 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) |
656 | 655 | MCFG_CPU_PROGRAM_MAP(champbas_main_map) |
657 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
656 | MCFG_CPU_VBLANK_INT_DRIVER("screen", champbas_state, vblank_irq) | |
658 | 657 | |
659 | 658 | MCFG_CPU_ADD("sub", Z80, XTAL_18_432MHz/6) |
660 | 659 | MCFG_CPU_PROGRAM_MAP(champbas_sub_map) |
r17996 | r17997 | |
705 | 704 | /* basic machine hardware */ |
706 | 705 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6 ) |
707 | 706 | MCFG_CPU_PROGRAM_MAP(exctsccr_main_map) |
708 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
707 | MCFG_CPU_VBLANK_INT_DRIVER("screen", champbas_state, vblank_irq) | |
709 | 708 | |
710 | 709 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_14_31818MHz/4 ) |
711 | 710 | MCFG_CPU_PROGRAM_MAP(exctsccr_sub_map) |
712 | 711 | MCFG_CPU_IO_MAP(exctsccr_sound_io_map) |
713 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse, 4000) /* 4 kHz, updates the dac */ | |
712 | MCFG_CPU_PERIODIC_INT_DRIVER(champbas_state, nmi_line_pulse, 4000) /* 4 kHz, updates the dac */ | |
714 | 713 | |
715 | 714 | /* MCU */ |
716 | 715 | MCFG_CPU_ADD(CPUTAG_MCU, ALPHA8301, XTAL_18_432MHz/6/8) /* Actually 8302 */ |
r17996 | r17997 | |
762 | 761 | /* basic machine hardware */ |
763 | 762 | MCFG_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) |
764 | 763 | MCFG_CPU_PROGRAM_MAP(exctsccrb_main_map) |
765 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
764 | MCFG_CPU_VBLANK_INT_DRIVER("screen", champbas_state, vblank_irq) | |
766 | 765 | |
767 | 766 | MCFG_CPU_ADD("sub", Z80, XTAL_18_432MHz/6) |
768 | 767 | MCFG_CPU_PROGRAM_MAP(champbas_sub_map) |
r17996 | r17997 | |
---|---|---|
180 | 180 | GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 8*8, 2 ) |
181 | 181 | GFXDECODE_END |
182 | 182 | |
183 | ||
183 | ||
184 | 184 | { |
185 | ssozumo_state *state = device->machine().driver_data<ssozumo_state>(); | |
186 | 185 | |
187 | if(state->m_sound_nmi_mask) | |
188 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
186 | if(m_sound_nmi_mask) | |
187 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
189 | 188 | } |
190 | 189 | |
191 | 190 | static MACHINE_CONFIG_START( ssozumo, ssozumo_state ) |
r17996 | r17997 | |
193 | 192 | /* basic machine hardware */ |
194 | 193 | MCFG_CPU_ADD("maincpu", M6502, 1200000) /* 1.2 MHz ???? */ |
195 | 194 | MCFG_CPU_PROGRAM_MAP(ssozumo_map) |
196 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
195 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ssozumo_state, irq0_line_hold) | |
197 | 196 | |
198 | 197 | MCFG_CPU_ADD("audiocpu", M6502, 975000) /* 975 kHz ?? */ |
199 | 198 | MCFG_CPU_PROGRAM_MAP(ssozumo_sound_map) |
200 | MCFG_CPU_PERIODIC_INT(sound_timer_irq,272/16*57) // guess, assume to be the same as tagteam | |
199 | MCFG_CPU_PERIODIC_INT_DRIVER(ssozumo_state, sound_timer_irq, 272/16*57) // guess, assume to be the same as tagteam | |
201 | 200 | |
202 | 201 | /* video hardware */ |
203 | 202 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
843 | 843 | /* basic machine hardware */ |
844 | 844 | MCFG_CPU_ADD("maincpu", M68000,16000000/2) /* 8 MHz ? */ |
845 | 845 | MCFG_CPU_PROGRAM_MAP(ninjaw_master_map) |
846 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
846 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold) | |
847 | 847 | |
848 | 848 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 16/4 MHz ? */ |
849 | 849 | MCFG_CPU_PROGRAM_MAP(ninjaw_sound_map) |
850 | 850 | |
851 | 851 | MCFG_CPU_ADD("sub", M68000,16000000/2) /* 8 MHz ? */ |
852 | 852 | MCFG_CPU_PROGRAM_MAP(ninjaw_slave_map) |
853 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
853 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold) | |
854 | 854 | |
855 | 855 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices */ |
856 | 856 | |
r17996 | r17997 | |
923 | 923 | /* basic machine hardware */ |
924 | 924 | MCFG_CPU_ADD("maincpu", M68000,16000000/2) /* 8 MHz ? */ |
925 | 925 | MCFG_CPU_PROGRAM_MAP(darius2_master_map) |
926 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
926 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold) | |
927 | 927 | |
928 | 928 | MCFG_CPU_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */ |
929 | 929 | MCFG_CPU_PROGRAM_MAP(ninjaw_sound_map) |
930 | 930 | |
931 | 931 | MCFG_CPU_ADD("sub", M68000,16000000/2) /* 8 MHz ? */ |
932 | 932 | MCFG_CPU_PROGRAM_MAP(darius2_slave_map) |
933 | MCFG_CPU_VBLANK_INT("lscreen", irq4_line_hold) | |
933 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold) | |
934 | 934 | |
935 | 935 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* CPU slices */ |
936 | 936 |
r17996 | r17997 | |
---|---|---|
55 | 55 | |
56 | 56 | |
57 | 57 | |
58 | #define CPUA_IRQ_ENABLE (state->m_CPUA_register & 0x20) | |
59 | #define CPUB_IRQ_ENABLE (state->m_CPUB_register & 0x02) | |
58 | #define CPUA_IRQ_ENABLE (m_CPUA_register & 0x20) | |
59 | #define CPUB_IRQ_ENABLE (m_CPUB_register & 0x02) | |
60 | 60 | |
61 | 61 | |
62 | 62 | |
r17996 | r17997 | |
685 | 685 | |
686 | 686 | /* Interrupt Generators */ |
687 | 687 | |
688 | ||
688 | ||
689 | 689 | { |
690 | twin16_state *state = device->machine().driver_data<twin16_state>(); | |
691 | if (CPUA_IRQ_ENABLE) device->execute().set_input_line(5, HOLD_LINE); | |
690 | if (CPUA_IRQ_ENABLE) device.execute().set_input_line(5, HOLD_LINE); | |
692 | 691 | } |
693 | 692 | |
694 | ||
693 | ||
695 | 694 | { |
696 | twin16_state *state = device->machine().driver_data<twin16_state>(); | |
697 | if (CPUB_IRQ_ENABLE) device->execute().set_input_line(5, HOLD_LINE); | |
695 | if (CPUB_IRQ_ENABLE) device.execute().set_input_line(5, HOLD_LINE); | |
698 | 696 | } |
699 | 697 | |
700 | 698 | /* Machine Drivers */ |
r17996 | r17997 | |
722 | 720 | // basic machine hardware |
723 | 721 | MCFG_CPU_ADD("maincpu", M68000, XTAL_18_432MHz/2) |
724 | 722 | MCFG_CPU_PROGRAM_MAP(main_map) |
725 | MCFG_CPU_VBLANK_INT("screen", CPUA_interrupt) | |
723 | MCFG_CPU_VBLANK_INT_DRIVER("screen", twin16_state, CPUA_interrupt) | |
726 | 724 | |
727 | 725 | MCFG_CPU_ADD("sub", M68000, XTAL_18_432MHz/2) |
728 | 726 | MCFG_CPU_PROGRAM_MAP(sub_map) |
729 | MCFG_CPU_VBLANK_INT("screen", CPUB_interrupt) | |
727 | MCFG_CPU_VBLANK_INT_DRIVER("screen", twin16_state, CPUB_interrupt) | |
730 | 728 | |
731 | 729 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
732 | 730 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
780 | 778 | /* basic machine hardware */ |
781 | 779 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
782 | 780 | MCFG_CPU_PROGRAM_MAP(fround_map) |
783 | MCFG_CPU_VBLANK_INT("screen", CPUA_interrupt) | |
781 | MCFG_CPU_VBLANK_INT_DRIVER("screen", twin16_state, CPUA_interrupt) | |
784 | 782 | |
785 | 783 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
786 | 784 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
1020 | 1020 | /* basic machine hardware */ |
1021 | 1021 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* verified on pcb */ |
1022 | 1022 | MCFG_CPU_PROGRAM_MAP(arkanoid_map) |
1023 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1023 | MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold) | |
1024 | 1024 | |
1025 | 1025 | MCFG_CPU_ADD("mcu", M68705, XTAL_12MHz/4) /* verified on pcb */ |
1026 | 1026 | MCFG_CPU_PROGRAM_MAP(mcu_map) |
r17996 | r17997 | |
1058 | 1058 | /* basic machine hardware */ |
1059 | 1059 | MCFG_CPU_ADD("maincpu", Z80, XTAL_12MHz/2) /* Imported from arkanoid - correct? */ |
1060 | 1060 | MCFG_CPU_PROGRAM_MAP(hexa_map) |
1061 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1061 | MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold) | |
1062 | 1062 | |
1063 | 1063 | MCFG_MACHINE_START_OVERRIDE(arkanoid_state,arkanoid) |
1064 | 1064 | MCFG_MACHINE_RESET_OVERRIDE(arkanoid_state,arkanoid) |
r17996 | r17997 | |
1100 | 1100 | /* basic machine hardware */ |
1101 | 1101 | MCFG_CPU_MODIFY("maincpu") |
1102 | 1102 | MCFG_CPU_PROGRAM_MAP(brixian_map) |
1103 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
1103 | MCFG_CPU_VBLANK_INT_DRIVER("screen", arkanoid_state, irq0_line_hold) | |
1104 | 1104 | |
1105 | 1105 | MCFG_DEVICE_REMOVE("mcu") |
1106 | 1106 | MACHINE_CONFIG_END |
r17996 | r17997 | |
---|---|---|
292 | 292 | [ Main CPU - System D ] |
293 | 293 | ***************************************************************************/ |
294 | 294 | |
295 | ||
295 | ||
296 | 296 | { |
297 | device | |
297 | device. | |
298 | 298 | } |
299 | 299 | |
300 | 300 | static ADDRESS_MAP_START( megasys1D_map, AS_PROGRAM, 16, megasys1_state ) |
r17996 | r17997 | |
1603 | 1603 | /* basic machine hardware */ |
1604 | 1604 | MCFG_CPU_ADD("maincpu", M68000, SYS_D_CPU_CLOCK) /* 8MHz */ |
1605 | 1605 | MCFG_CPU_PROGRAM_MAP(megasys1D_map) |
1606 | MCFG_CPU_VBLANK_INT("screen", megasys1D_irq) | |
1606 | MCFG_CPU_VBLANK_INT_DRIVER("screen", megasys1_state, megasys1D_irq) | |
1607 | 1607 | |
1608 | 1608 | MCFG_MACHINE_RESET_OVERRIDE(megasys1_state,megasys1) |
1609 | 1609 |
r17996 | r17997 | |
---|---|---|
463 | 463 | /* basic machine hardware */ |
464 | 464 | MCFG_CPU_ADD("maincpu", M68000,16000000) /* 16 MHz ??? */ |
465 | 465 | MCFG_CPU_PROGRAM_MAP(crshrace_map) |
466 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
466 | MCFG_CPU_VBLANK_INT_DRIVER("screen", crshrace_state, irq1_line_hold) | |
467 | 467 | |
468 | 468 | MCFG_CPU_ADD("audiocpu", Z80,4000000) /* 4 MHz ??? */ |
469 | 469 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
561 | 561 | } |
562 | 562 | |
563 | 563 | /* Sub Z80 uses IM2 too, but 0xff irq routine just contains an irq ack in it */ |
564 | ||
564 | ||
565 | 565 | { |
566 | device | |
566 | device. | |
567 | 567 | } |
568 | 568 | |
569 | 569 | /* Machine Initialization */ |
r17996 | r17997 | |
630 | 630 | MCFG_CPU_ADD("slave", Z80, 6000000) // ??? |
631 | 631 | MCFG_CPU_PROGRAM_MAP(slave_map) |
632 | 632 | MCFG_CPU_IO_MAP(slave_io_map) |
633 | MCFG_CPU_VBLANK_INT("screen", slave_interrupt) /* nmi signal from master cpu */ | |
633 | MCFG_CPU_VBLANK_INT_DRIVER("screen", airbustr_state, slave_interrupt) /* nmi signal from master cpu */ | |
634 | 634 | |
635 | 635 | MCFG_CPU_ADD("audiocpu", Z80, 6000000) // ??? |
636 | 636 | MCFG_CPU_PROGRAM_MAP(sound_map) |
637 | 637 | MCFG_CPU_IO_MAP(sound_io_map) |
638 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) // nmi are caused by sub cpu writing a sound command | |
638 | MCFG_CPU_VBLANK_INT_DRIVER("screen", airbustr_state, irq0_line_hold) // nmi are caused by sub cpu writing a sound command | |
639 | 639 | |
640 | 640 | MCFG_QUANTUM_TIME(attotime::from_hz(6000)) // Palette RAM is filled by sub cpu with data supplied by main cpu |
641 | 641 | // Maybe a high value is safer in order to avoid glitches |
r17996 | r17997 | |
---|---|---|
399 | 399 | * |
400 | 400 | *************************************/ |
401 | 401 | |
402 | ||
402 | ||
403 | 403 | { |
404 | pacman_state *state = device->machine().driver_data<pacman_state>(); | |
405 | 404 | |
406 | if(state->m_irq_mask) | |
407 | device->execute().set_input_line(0, HOLD_LINE); | |
405 | if(m_irq_mask) | |
406 | device.execute().set_input_line(0, HOLD_LINE); | |
408 | 407 | } |
409 | 408 | |
410 | ||
409 | ||
411 | 410 | { |
412 | pacman_state *state = device->machine().driver_data<pacman_state>(); | |
413 | 411 | |
414 | if(state->m_irq_mask) | |
415 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
412 | if(m_irq_mask) | |
413 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
416 | 414 | } |
417 | 415 | |
418 | 416 | WRITE8_MEMBER(pacman_state::irq_mask_w) |
r17996 | r17997 | |
694 | 692 | * |
695 | 693 | ************************************/ |
696 | 694 | |
697 | ||
695 | ||
698 | 696 | { |
699 | device | |
697 | device. | |
700 | 698 | } |
701 | 699 | |
702 | 700 | WRITE8_MEMBER(pacman_state::porky_banking_w) |
r17996 | r17997 | |
3294 | 3292 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) |
3295 | 3293 | MCFG_CPU_PROGRAM_MAP(pacman_map) |
3296 | 3294 | MCFG_CPU_IO_MAP(writeport) |
3297 | MCFG_CPU_VBLANK_INT("screen",vblank_irq) | |
3295 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacman_state, vblank_irq) | |
3298 | 3296 | MCFG_WATCHDOG_VBLANK_INIT(16) |
3299 | 3297 | |
3300 | 3298 | /* video hardware */ |
r17996 | r17997 | |
3375 | 3373 | MCFG_CPU_MODIFY("maincpu") |
3376 | 3374 | MCFG_CPU_PROGRAM_MAP(dremshpr_map) |
3377 | 3375 | MCFG_CPU_IO_MAP(dremshpr_portmap) |
3378 | MCFG_CPU_VBLANK_INT("screen", vblank_nmi) | |
3376 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacman_state, vblank_nmi) | |
3379 | 3377 | |
3380 | 3378 | /* sound hardware */ |
3381 | 3379 | MCFG_SOUND_REPLACE("namco", AY8910, 14318000/8) |
r17996 | r17997 | |
3413 | 3411 | MCFG_CPU_MODIFY("maincpu") |
3414 | 3412 | MCFG_CPU_PROGRAM_MAP(dremshpr_map) |
3415 | 3413 | MCFG_CPU_IO_MAP(vanvan_portmap) |
3416 | MCFG_CPU_VBLANK_INT("screen", vblank_nmi) | |
3414 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacman_state, vblank_nmi) | |
3417 | 3415 | |
3418 | 3416 | /* video hardware */ |
3419 | 3417 | MCFG_SCREEN_MODIFY("screen") |
r17996 | r17997 | |
3435 | 3433 | MCFG_CPU_MODIFY("maincpu") |
3436 | 3434 | MCFG_CPU_PROGRAM_MAP(bigbucks_map) |
3437 | 3435 | MCFG_CPU_IO_MAP(bigbucks_portmap) |
3438 | MCFG_CPU_PERIODIC_INT(vblank_irq,20*60) | |
3436 | MCFG_CPU_PERIODIC_INT_DRIVER(pacman_state, vblank_irq, 20*60) | |
3439 | 3437 | |
3440 | 3438 | MCFG_SCREEN_MODIFY("screen") |
3441 | 3439 | MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1) |
r17996 | r17997 | |
3448 | 3446 | MCFG_DEVICE_REMOVE("maincpu") |
3449 | 3447 | MCFG_CPU_ADD("maincpu", S2650, MASTER_CLOCK/6/2) /* 2H */ |
3450 | 3448 | MCFG_CPU_PROGRAM_MAP(s2650games_map) |
3451 | MCFG_CPU_VBLANK_INT("screen", s2650_interrupt) | |
3449 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacman_state, s2650_interrupt) | |
3452 | 3450 | |
3453 | 3451 | MCFG_GFXDECODE(s2650games) |
3454 | 3452 | |
r17996 | r17997 | |
3496 | 3494 | /* basic machine hardware */ |
3497 | 3495 | MCFG_CPU_MODIFY("maincpu") |
3498 | 3496 | MCFG_CPU_PROGRAM_MAP(rocktrv2_map) |
3499 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3497 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacman_state, irq0_line_hold) | |
3500 | 3498 | |
3501 | 3499 | MCFG_SCREEN_MODIFY("screen") |
3502 | 3500 | MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1) |
r17996 | r17997 | |
3509 | 3507 | MCFG_CPU_MODIFY("maincpu") |
3510 | 3508 | MCFG_CPU_PROGRAM_MAP(mschamp_map) |
3511 | 3509 | MCFG_CPU_IO_MAP(mschamp_portmap) |
3512 | MCFG_CPU_VBLANK_INT("screen", vblank_irq) | |
3510 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pacman_state, vblank_irq) | |
3513 | 3511 | |
3514 | 3512 | MCFG_MACHINE_RESET_OVERRIDE(pacman_state,mschamp) |
3515 | 3513 | MACHINE_CONFIG_END |
r17996 | r17997 | |
---|---|---|
198 | 198 | virtual void video_start(); |
199 | 199 | UINT32 screen_update_igs011(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
200 | 200 | void screen_eof_vbowl(screen_device &screen, bool state); |
201 | INTERRUPT_GEN_MEMBER(lhb_vblank_irq); | |
201 | 202 | }; |
202 | 203 | |
203 | 204 | |
r17996 | r17997 | |
3832 | 3833 | static MACHINE_CONFIG_DERIVED( drgnwrld, igs011_base ) |
3833 | 3834 | MCFG_CPU_MODIFY("maincpu") |
3834 | 3835 | MCFG_CPU_PROGRAM_MAP(drgnwrld) |
3835 | MCFG_CPU_VBLANK_INT("screen",irq6_line_hold) | |
3836 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold) | |
3836 | 3837 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lev5_timer_irq_cb, attotime::from_hz(240)) // lev5 frequency drives the music tempo |
3837 | 3838 | |
3838 | 3839 | MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_3_579545MHz) |
r17996 | r17997 | |
3846 | 3847 | |
3847 | 3848 | |
3848 | 3849 | |
3849 | ||
3850 | ||
3850 | 3851 | { |
3851 | igs011_state *state = device->machine().driver_data<igs011_state>(); | |
3852 | if (!state->m_lhb_irq_enable) | |
3852 | if (!m_lhb_irq_enable) | |
3853 | 3853 | return; |
3854 | 3854 | |
3855 | | |
3855 | | |
3856 | 3856 | } |
3857 | 3857 | |
3858 | 3858 | static TIMER_DEVICE_CALLBACK ( lhb_timer_irq_cb ) |
r17996 | r17997 | |
3867 | 3867 | static MACHINE_CONFIG_DERIVED( lhb, igs011_base ) |
3868 | 3868 | MCFG_CPU_MODIFY("maincpu") |
3869 | 3869 | MCFG_CPU_PROGRAM_MAP(lhb) |
3870 | MCFG_CPU_VBLANK_INT("screen",lhb_vblank_irq) | |
3870 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, lhb_vblank_irq) | |
3871 | 3871 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lhb_timer_irq_cb, attotime::from_hz(240)) // lev5 frequency drives the music tempo |
3872 | 3872 | // irq 3 points to an apparently unneeded routine |
3873 | 3873 | MACHINE_CONFIG_END |
r17996 | r17997 | |
3885 | 3885 | static MACHINE_CONFIG_DERIVED( wlcc, igs011_base ) |
3886 | 3886 | MCFG_CPU_MODIFY("maincpu") |
3887 | 3887 | MCFG_CPU_PROGRAM_MAP(wlcc) |
3888 | MCFG_CPU_VBLANK_INT("screen",irq6_line_hold) | |
3888 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold) | |
3889 | 3889 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lev3_timer_irq_cb, attotime::from_hz(240)) // lev3 frequency drives the music tempo |
3890 | 3890 | MACHINE_CONFIG_END |
3891 | 3891 | |
r17996 | r17997 | |
3894 | 3894 | static MACHINE_CONFIG_DERIVED( xymg, igs011_base ) |
3895 | 3895 | MCFG_CPU_MODIFY("maincpu") |
3896 | 3896 | MCFG_CPU_PROGRAM_MAP(xymg) |
3897 | MCFG_CPU_VBLANK_INT("screen",irq6_line_hold) | |
3897 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold) | |
3898 | 3898 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lev3_timer_irq_cb, attotime::from_hz(240)) // lev3 frequency drives the music tempo |
3899 | 3899 | MACHINE_CONFIG_END |
3900 | 3900 | |
r17996 | r17997 | |
3903 | 3903 | static MACHINE_CONFIG_DERIVED( lhb2, igs011_base ) |
3904 | 3904 | MCFG_CPU_MODIFY("maincpu") |
3905 | 3905 | MCFG_CPU_PROGRAM_MAP(lhb2) |
3906 | MCFG_CPU_VBLANK_INT("screen",irq6_line_hold) | |
3906 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold) | |
3907 | 3907 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lev5_timer_irq_cb, attotime::from_hz(240)) // lev5 frequency drives the music tempo |
3908 | 3908 | |
3909 | 3909 | // MCFG_GFXDECODE(igs011_hi) |
r17996 | r17997 | |
3917 | 3917 | static MACHINE_CONFIG_DERIVED( nkishusp, igs011_base ) |
3918 | 3918 | MCFG_CPU_MODIFY("maincpu") |
3919 | 3919 | MCFG_CPU_PROGRAM_MAP(nkishusp) |
3920 | MCFG_CPU_VBLANK_INT("screen",irq6_line_hold) | |
3920 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold) | |
3921 | 3921 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lev3_timer_irq_cb, attotime::from_hz(240)) // lev3 frequency drives the music tempo |
3922 | 3922 | |
3923 | 3923 | // VSync 60.0052Hz, HSync 15.620kHz |
r17996 | r17997 | |
3938 | 3938 | static MACHINE_CONFIG_DERIVED( vbowl, igs011_base ) |
3939 | 3939 | MCFG_CPU_MODIFY("maincpu") |
3940 | 3940 | MCFG_CPU_PROGRAM_MAP(vbowl) |
3941 | MCFG_CPU_VBLANK_INT("screen",irq6_line_hold) | |
3941 | MCFG_CPU_VBLANK_INT_DRIVER("screen", igs011_state, irq6_line_hold) | |
3942 | 3942 | MCFG_TIMER_ADD_PERIODIC("timer_irq", lev3_timer_irq_cb, attotime::from_hz(240)) // lev3 frequency drives the music tempo |
3943 | 3943 | // irq 5 points to a debug function (all routines are clearly patched out) |
3944 | 3944 | // irq 4 points to an apparently unneeded routine |
r17996 | r17997 | |
---|---|---|
32 | 32 | //**************************************************************************** |
33 | 33 | // Interrupt Handlers |
34 | 34 | |
35 | ||
35 | ||
36 | 36 | { |
37 | bwing_state *state = device->machine().driver_data<bwing_state>(); | |
38 | 37 | |
39 | if (!state->m_bwp3_nmimask) | |
40 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
38 | if (!m_bwp3_nmimask) | |
39 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
41 | 40 | } |
42 | 41 | |
43 | 42 | //**************************************************************************** |
r17996 | r17997 | |
374 | 373 | MCFG_CPU_ADD("audiocpu", DECO16, 2000000) |
375 | 374 | MCFG_CPU_PROGRAM_MAP(bwp3_map) |
376 | 375 | MCFG_CPU_IO_MAP(bwp3_io_map) |
377 | MCFG_CPU_PERIODIC_INT(bwp3_interrupt, 1000) | |
376 | MCFG_CPU_PERIODIC_INT_DRIVER(bwing_state, bwp3_interrupt, 1000) | |
378 | 377 | |
379 | 378 | MCFG_QUANTUM_TIME(attotime::from_hz(18000)) // high enough? |
380 | 379 |
r17996 | r17997 | |
---|---|---|
674 | 674 | |
675 | 675 | MCFG_CPU_ADD("maincpu", M68000, 16000000) |
676 | 676 | MCFG_CPU_PROGRAM_MAP(srmp6_map) |
677 | MCFG_CPU_VBLANK_INT("screen",irq4_line_assert) // irq3 is a timer irq, but it's never enabled | |
677 | MCFG_CPU_VBLANK_INT_DRIVER("screen", srmp6_state, irq4_line_assert) // irq3 is a timer irq, but it's never enabled | |
678 | 678 | |
679 | 679 | MCFG_SCREEN_ADD("screen", RASTER) |
680 | 680 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
838 | 838 | /* basic machine hardware */ |
839 | 839 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz ? (xtal is 16MHz) */ |
840 | 840 | MCFG_CPU_PROGRAM_MAP(sf_map) |
841 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
841 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sf_state, irq1_line_hold) | |
842 | 842 | |
843 | 843 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) /* ? xtal is 3.579545MHz */ |
844 | 844 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
848 | 848 | MCFG_CPU_ADD("audio2", Z80, 3579545) /* ? xtal is 3.579545MHz */ |
849 | 849 | MCFG_CPU_PROGRAM_MAP(sound2_map) |
850 | 850 | MCFG_CPU_IO_MAP(sound2_io_map) |
851 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,8000) | |
851 | MCFG_CPU_PERIODIC_INT_DRIVER(sf_state, irq0_line_hold, 8000) | |
852 | 852 | |
853 | 853 | /* video hardware */ |
854 | 854 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
902 | 902 | |
903 | 903 | /* basic machine hardware */ |
904 | 904 | MCFG_CPU_MODIFY("maincpu") |
905 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
905 | MCFG_CPU_VBLANK_INT_DRIVER("screen", sf_state, irq6_line_hold) | |
906 | 906 | MACHINE_CONFIG_END |
907 | 907 | |
908 | 908 |
r17996 | r17997 | |
---|---|---|
250 | 250 | DECLARE_DRIVER_INIT(m2); |
251 | 251 | virtual void video_start(); |
252 | 252 | UINT32 screen_update_m2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
253 | INTERRUPT_GEN_MEMBER(m2); | |
253 | 254 | }; |
254 | 255 | |
255 | 256 | |
r17996 | r17997 | |
1150 | 1151 | NULL |
1151 | 1152 | }; |
1152 | 1153 | |
1153 | ||
1154 | ||
1154 | 1155 | { |
1155 | konamim2_state *state = device->machine().driver_data<konamim2_state>(); | |
1156 | if (state->m_irq_enable & 0x800000) | |
1156 | if (m_irq_enable & 0x800000) | |
1157 | 1157 | { |
1158 | | |
1158 | | |
1159 | 1159 | } |
1160 | 1160 | |
1161 | /*if ( | |
1161 | /*if ( | |
1162 | 1162 | { |
1163 | | |
1163 | | |
1164 | 1164 | }*/ |
1165 | 1165 | |
1166 | device | |
1166 | device. | |
1167 | 1167 | } |
1168 | 1168 | |
1169 | 1169 | static MACHINE_CONFIG_START( m2, konamim2_state ) |
r17996 | r17997 | |
1172 | 1172 | MCFG_CPU_ADD("maincpu", PPC602, 66000000) /* actually PPC602, 66MHz */ |
1173 | 1173 | MCFG_CPU_CONFIG(ppc602_config) |
1174 | 1174 | MCFG_CPU_PROGRAM_MAP(m2_main) |
1175 | MCFG_CPU_VBLANK_INT("screen", m2) | |
1175 | MCFG_CPU_VBLANK_INT_DRIVER("screen", konamim2_state, m2) | |
1176 | 1176 | |
1177 | 1177 | MCFG_CPU_ADD("sub", PPC602, 66000000) /* actually PPC602, 66MHz */ |
1178 | 1178 | MCFG_CPU_CONFIG(ppc602_config) |
r17996 | r17997 | |
---|---|---|
135 | 135 | } |
136 | 136 | |
137 | 137 | /* Called once/frame to generate the VBLANK interrupt */ |
138 | ||
138 | ||
139 | 139 | { |
140 | cave_state *state = device->machine().driver_data<cave_state>(); | |
141 | state->m_int_timer->adjust(attotime::from_usec(17376 - state->m_time_vblank_irq)); | |
140 | m_int_timer->adjust(attotime::from_usec(17376 - m_time_vblank_irq)); | |
142 | 141 | } |
143 | 142 | |
144 | 143 | /* Called by the YMZ280B to set the IRQ state */ |
r17996 | r17997 | |
1854 | 1853 | /* basic machine hardware */ |
1855 | 1854 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
1856 | 1855 | MCFG_CPU_PROGRAM_MAP(dfeveron_map) |
1857 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
1856 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
1858 | 1857 | |
1859 | 1858 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
1860 | 1859 | MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) |
r17996 | r17997 | |
1896 | 1895 | /* basic machine hardware */ |
1897 | 1896 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
1898 | 1897 | MCFG_CPU_PROGRAM_MAP(ddonpach_map) |
1899 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
1898 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
1900 | 1899 | |
1901 | 1900 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
1902 | 1901 | MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) |
r17996 | r17997 | |
1942 | 1941 | /* basic machine hardware */ |
1943 | 1942 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
1944 | 1943 | MCFG_CPU_PROGRAM_MAP(donpachi_map) |
1945 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
1944 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
1946 | 1945 | |
1947 | 1946 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
1948 | 1947 | MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) |
r17996 | r17997 | |
1988 | 1987 | /* basic machine hardware */ |
1989 | 1988 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
1990 | 1989 | MCFG_CPU_PROGRAM_MAP(esprade_map) |
1991 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
1990 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
1992 | 1991 | |
1993 | 1992 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
1994 | 1993 | MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) |
r17996 | r17997 | |
2029 | 2028 | /* basic machine hardware */ |
2030 | 2029 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
2031 | 2030 | MCFG_CPU_PROGRAM_MAP(gaia_map) |
2032 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2031 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2033 | 2032 | |
2034 | 2033 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
2035 | 2034 | MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) |
r17996 | r17997 | |
2069 | 2068 | /* basic machine hardware */ |
2070 | 2069 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
2071 | 2070 | MCFG_CPU_PROGRAM_MAP(guwange_map) |
2072 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2071 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2073 | 2072 | |
2074 | 2073 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
2075 | 2074 | MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) |
r17996 | r17997 | |
2109 | 2108 | /* basic machine hardware */ |
2110 | 2109 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
2111 | 2110 | MCFG_CPU_PROGRAM_MAP(hotdogst_map) |
2112 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2111 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2113 | 2112 | |
2114 | 2113 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) |
2115 | 2114 | MCFG_CPU_PROGRAM_MAP(hotdogst_sound_map) |
r17996 | r17997 | |
2165 | 2164 | /* basic machine hardware */ |
2166 | 2165 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
2167 | 2166 | MCFG_CPU_PROGRAM_MAP(korokoro_map) |
2168 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2167 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2169 | 2168 | |
2170 | 2169 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
2171 | 2170 | MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) |
r17996 | r17997 | |
2213 | 2212 | /* basic machine hardware */ |
2214 | 2213 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
2215 | 2214 | MCFG_CPU_PROGRAM_MAP(mazinger_map) |
2216 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2215 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2217 | 2216 | |
2218 | 2217 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_4MHz) // Bidirectional communication |
2219 | 2218 | MCFG_CPU_PROGRAM_MAP(mazinger_sound_map) |
r17996 | r17997 | |
2271 | 2270 | /* basic machine hardware */ |
2272 | 2271 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz / 2) |
2273 | 2272 | MCFG_CPU_PROGRAM_MAP(metmqstr_map) |
2274 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2273 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2275 | 2274 | |
2276 | 2275 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_32MHz / 4) |
2277 | 2276 | MCFG_CPU_PROGRAM_MAP(metmqstr_sound_map) |
r17996 | r17997 | |
2330 | 2329 | /* basic machine hardware */ |
2331 | 2330 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2) |
2332 | 2331 | MCFG_CPU_PROGRAM_MAP(pacslot_map) |
2333 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2332 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2334 | 2333 | |
2335 | 2334 | MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ |
2336 | 2335 | |
r17996 | r17997 | |
2384 | 2383 | /* basic machine hardware */ |
2385 | 2384 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) /* 16 MHz */ |
2386 | 2385 | MCFG_CPU_PROGRAM_MAP(pwrinst2_map) |
2387 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2386 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2388 | 2387 | |
2389 | 2388 | MCFG_CPU_ADD("audiocpu", Z80,XTAL_16MHz / 2) /* 8 MHz */ |
2390 | 2389 | MCFG_CPU_PROGRAM_MAP(pwrinst2_sound_map) |
r17996 | r17997 | |
2445 | 2444 | /* basic machine hardware */ |
2446 | 2445 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
2447 | 2446 | MCFG_CPU_PROGRAM_MAP(sailormn_map) |
2448 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2447 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2449 | 2448 | |
2450 | 2449 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz) // Bidirectional Communication |
2451 | 2450 | MCFG_CPU_PROGRAM_MAP(sailormn_sound_map) |
r17996 | r17997 | |
2503 | 2502 | /* basic machine hardware */ |
2504 | 2503 | MCFG_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2) |
2505 | 2504 | MCFG_CPU_PROGRAM_MAP(tjumpman_map) |
2506 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2505 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2507 | 2506 | |
2508 | 2507 | MCFG_WATCHDOG_TIME_INIT(attotime::from_seconds(3)) /* a guess, and certainly wrong */ |
2509 | 2508 | |
r17996 | r17997 | |
2547 | 2546 | /* basic machine hardware */ |
2548 | 2547 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz) |
2549 | 2548 | MCFG_CPU_PROGRAM_MAP(uopoko_map) |
2550 | MCFG_CPU_VBLANK_INT("screen", cave_interrupt) | |
2549 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) | |
2551 | 2550 | |
2552 | 2551 | MCFG_MACHINE_START_OVERRIDE(cave_state,cave) |
2553 | 2552 | MCFG_EEPROM_93C46_ADD("eeprom") |
r17996 | r17997 | |
---|---|---|
1955 | 1955 | |
1956 | 1956 | /******************************************************************************/ |
1957 | 1957 | |
1958 | ||
1958 | ||
1959 | 1959 | { |
1960 | dec8_state *state = device->machine().driver_data<dec8_state>(); | |
1961 | if (state->m_nmi_enable) | |
1962 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); /* VBL */ | |
1960 | if (m_nmi_enable) | |
1961 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); /* VBL */ | |
1963 | 1962 | } |
1964 | 1963 | |
1965 | 1964 | /* Coins generate NMI's */ |
1966 | ||
1965 | ||
1967 | 1966 | { |
1968 | dec8_state *state = device->machine().driver_data<dec8_state>(); | |
1969 | if ((state->ioport("IN2")->read() & 0x7) == 0x7) state->m_latch = 1; | |
1970 | if (state->m_latch && (state->ioport("IN2")->read() & 0x7) != 0x7) | |
1967 | if ((ioport("IN2")->read() & 0x7) == 0x7) m_latch = 1; | |
1968 | if (m_latch && (ioport("IN2")->read() & 0x7) != 0x7) | |
1971 | 1969 | { |
1972 | state->m_latch = 0; | |
1973 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
1970 | m_latch = 0; | |
1971 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
1974 | 1972 | } |
1975 | 1973 | } |
1976 | 1974 | |
r17996 | r17997 | |
2128 | 2126 | /* basic machine hardware */ |
2129 | 2127 | MCFG_CPU_ADD("maincpu", HD6309,3000000*4) /* HD63C09EP */ |
2130 | 2128 | MCFG_CPU_PROGRAM_MAP(gondo_map) |
2131 | MCFG_CPU_VBLANK_INT("screen", gondo_interrupt) | |
2129 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, gondo_interrupt) | |
2132 | 2130 | |
2133 | 2131 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) |
2134 | 2132 | MCFG_CPU_PROGRAM_MAP(oscar_s_map) |
r17996 | r17997 | |
2176 | 2174 | /* basic machine hardware */ |
2177 | 2175 | MCFG_CPU_ADD("maincpu", HD6309,3000000*4) /* HD63C09EP */ |
2178 | 2176 | MCFG_CPU_PROGRAM_MAP(garyoret_map) |
2179 | MCFG_CPU_VBLANK_INT("screen", gondo_interrupt) | |
2177 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, gondo_interrupt) | |
2180 | 2178 | |
2181 | 2179 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) |
2182 | 2180 | MCFG_CPU_PROGRAM_MAP(oscar_s_map) |
r17996 | r17997 | |
2224 | 2222 | /* basic machine hardware */ |
2225 | 2223 | MCFG_CPU_ADD("maincpu", HD6309, 3000000*4) |
2226 | 2224 | MCFG_CPU_PROGRAM_MAP(meikyuh_map) |
2227 | MCFG_CPU_VBLANK_INT("screen", gondo_interrupt) | |
2225 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, gondo_interrupt) | |
2228 | 2226 | |
2229 | 2227 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) |
2230 | 2228 | MCFG_CPU_PROGRAM_MAP(dec8_s_map) |
r17996 | r17997 | |
2279 | 2277 | |
2280 | 2278 | MCFG_CPU_ADD("sub", M6809, XTAL_12MHz/8) /* verified on pcb */ |
2281 | 2279 | MCFG_CPU_PROGRAM_MAP(csilver_sub_map) |
2282 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2280 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, nmi_line_pulse) | |
2283 | 2281 | |
2284 | 2282 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz/8) /* verified on pcb */ |
2285 | 2283 | MCFG_CPU_PROGRAM_MAP(csilver_s_map) |
r17996 | r17997 | |
2328 | 2326 | /* basic machine hardware */ |
2329 | 2327 | MCFG_CPU_ADD("maincpu", HD6309, XTAL_12MHz/2) /* verified on pcb */ |
2330 | 2328 | MCFG_CPU_PROGRAM_MAP(oscar_map) |
2331 | MCFG_CPU_VBLANK_INT("screen", oscar_interrupt) | |
2329 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, oscar_interrupt) | |
2332 | 2330 | |
2333 | 2331 | MCFG_CPU_ADD("sub", HD6309, XTAL_12MHz/2) /* verified on pcb */ |
2334 | 2332 | MCFG_CPU_PROGRAM_MAP(oscar_sub_map) |
r17996 | r17997 | |
2379 | 2377 | /* basic machine hardware */ |
2380 | 2378 | MCFG_CPU_ADD("maincpu", M6809,2000000) /* MC68A09EP */ |
2381 | 2379 | MCFG_CPU_PROGRAM_MAP(srdarwin_map) |
2382 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2380 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, nmi_line_pulse) | |
2383 | 2381 | |
2384 | 2382 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) |
2385 | 2383 | MCFG_CPU_PROGRAM_MAP(dec8_s_map) |
r17996 | r17997 | |
2420 | 2418 | /* basic machine hardware */ |
2421 | 2419 | MCFG_CPU_ADD("maincpu", M6809, 2000000) |
2422 | 2420 | MCFG_CPU_PROGRAM_MAP(cobra_map) |
2423 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
2421 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec8_state, nmi_line_pulse) | |
2424 | 2422 | |
2425 | 2423 | MCFG_CPU_ADD("audiocpu", M6502, 1500000) |
2426 | 2424 | MCFG_CPU_PROGRAM_MAP(dec8_s_map) |
r17996 | r17997 | |
---|---|---|
135 | 135 | |
136 | 136 | MCFG_CPU_ADD("maincpu", I8085A,8000000) /* Sound CPU? */ |
137 | 137 | MCFG_CPU_PROGRAM_MAP(rcorsair_map) |
138 | ||
138 | | |
139 | 139 | |
140 | 140 | MCFG_SCREEN_ADD("screen", RASTER) |
141 | 141 | MCFG_SCREEN_REFRESH_RATE(60) |
r17996 | r17997 | |
---|---|---|
471 | 471 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) |
472 | 472 | MCFG_CPU_PROGRAM_MAP(chance32_map) |
473 | 473 | MCFG_CPU_IO_MAP(chance32_portmap) |
474 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
474 | MCFG_CPU_VBLANK_INT_DRIVER("screen", chance32_state, irq0_line_hold) | |
475 | 475 | |
476 | 476 | |
477 | 477 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
459 | 459 | /* CPU on Board '6206B' */ |
460 | 460 | MCFG_CPU_ADD("maincpu", Z80, 8000000) /* NEC D70008AC-8 (Z80 Clone) */ |
461 | 461 | MCFG_CPU_PROGRAM_MAP(6206B_map) |
462 | MCFG_CPU_VBLANK_INT("lscreen", irq0_line_hold) | |
462 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", tbowl_state, irq0_line_hold) | |
463 | 463 | |
464 | 464 | /* CPU on Board '6206C' */ |
465 | 465 | MCFG_CPU_ADD("sub", Z80, 8000000) /* NEC D70008AC-8 (Z80 Clone) */ |
466 | 466 | MCFG_CPU_PROGRAM_MAP(6206C_map) |
467 | MCFG_CPU_VBLANK_INT("lscreen", irq0_line_hold) | |
467 | MCFG_CPU_VBLANK_INT_DRIVER("lscreen", tbowl_state, irq0_line_hold) | |
468 | 468 | |
469 | 469 | /* CPU on Board '6206A' */ |
470 | 470 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* Actual Z80 */ |
r17996 | r17997 | |
---|---|---|
78 | 78 | m_subcpu->set_input_line(M6809_IRQ_LINE, data & 0x02 ? CLEAR_LINE : HOLD_LINE); |
79 | 79 | } |
80 | 80 | |
81 | ||
81 | ||
82 | 82 | { |
83 | battlane_state *state = device->machine().driver_data<battlane_state>(); | |
84 | 83 | |
85 | 84 | /* See note in battlane_cpu_command_w */ |
86 | if (~ | |
85 | if (~ | |
87 | 86 | { |
88 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
89 | state->m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
87 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
88 | m_subcpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
90 | 89 | } |
91 | 90 | } |
92 | 91 | |
r17996 | r17997 | |
289 | 288 | /* basic machine hardware */ |
290 | 289 | MCFG_CPU_ADD("maincpu", M6809, 1500000) /* 1.5 MHz ? */ |
291 | 290 | MCFG_CPU_PROGRAM_MAP(battlane_map) |
292 | MCFG_CPU_VBLANK_INT("screen", battlane_cpu1_interrupt) | |
291 | MCFG_CPU_VBLANK_INT_DRIVER("screen", battlane_state, battlane_cpu1_interrupt) | |
293 | 292 | |
294 | 293 | MCFG_CPU_ADD("sub", M6809, 1500000) /* 1.5 MHz ? */ |
295 | 294 | MCFG_CPU_PROGRAM_MAP(battlane_map) |
r17996 | r17997 | |
---|---|---|
23 | 23 | /* prototypes */ |
24 | 24 | static KONAMI_SETLINES_CALLBACK( crimfght_banking ); |
25 | 25 | |
26 | ||
26 | ||
27 | 27 | { |
28 | crimfght_state *state = device->machine().driver_data<crimfght_state>(); | |
29 | 28 | |
30 | if (k051960_is_irq_enabled(state->m_k051960)) | |
31 | device->execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
29 | if (k051960_is_irq_enabled(m_k051960)) | |
30 | device.execute().set_input_line(KONAMI_IRQ_LINE, HOLD_LINE); | |
32 | 31 | } |
33 | 32 | |
34 | 33 | WRITE8_MEMBER(crimfght_state::crimfght_coin_w) |
r17996 | r17997 | |
282 | 281 | /* basic machine hardware */ |
283 | 282 | MCFG_CPU_ADD("maincpu", KONAMI, XTAL_24MHz/8) /* 052001 (verified on pcb) */ |
284 | 283 | MCFG_CPU_PROGRAM_MAP(crimfght_map) |
285 | MCFG_CPU_VBLANK_INT("screen", crimfght_interrupt) | |
284 | MCFG_CPU_VBLANK_INT_DRIVER("screen", crimfght_state, crimfght_interrupt) | |
286 | 285 | |
287 | 286 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */ |
288 | 287 | MCFG_CPU_PROGRAM_MAP(crimfght_sound_map) |
r17996 | r17997 | |
---|---|---|
138 | 138 | TILE_GET_INFO_MEMBER(get_rabbit_tilemap3_tile_info); |
139 | 139 | virtual void video_start(); |
140 | 140 | UINT32 screen_update_rabbit(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
141 | INTERRUPT_GEN_MEMBER(rabbit_vblank_interrupt); | |
141 | 142 | }; |
142 | 143 | |
143 | 144 | |
r17996 | r17997 | |
869 | 870 | |
870 | 871 | */ |
871 | 872 | |
872 | ||
873 | ||
873 | 874 | { |
874 | rabbit_state *state = device->machine().driver_data<rabbit_state>(); | |
875 | device->machine().device("maincpu")->execute().set_input_line(state->m_vblirqlevel, HOLD_LINE); | |
875 | machine().device("maincpu")->execute().set_input_line(m_vblirqlevel, HOLD_LINE); | |
876 | 876 | } |
877 | 877 | |
878 | 878 | static MACHINE_CONFIG_START( rabbit, rabbit_state ) |
879 | 879 | MCFG_CPU_ADD("maincpu", M68EC020, XTAL_24MHz) |
880 | 880 | MCFG_CPU_PROGRAM_MAP(rabbit_map) |
881 | MCFG_CPU_VBLANK_INT("screen", rabbit_vblank_interrupt) | |
881 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rabbit_state, rabbit_vblank_interrupt) | |
882 | 882 | |
883 | 883 | MCFG_EEPROM_93C46_ADD("eeprom") |
884 | 884 |
r17996 | r17997 | |
---|---|---|
311 | 311 | /* basic machine hardware */ |
312 | 312 | MCFG_CPU_ADD("maincpu", M6800, 800000) |
313 | 313 | MCFG_CPU_PROGRAM_MAP(triplhnt_map) |
314 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
314 | MCFG_CPU_VBLANK_INT_DRIVER("screen", triplhnt_state, irq0_line_hold) | |
315 | 315 | |
316 | 316 | MCFG_NVRAM_ADD_0FILL("nvram") |
317 | 317 |
r17996 | r17997 | |
---|---|---|
236 | 236 | state->m_maincpu->set_input_line(5, HOLD_LINE); |
237 | 237 | } |
238 | 238 | |
239 | ||
239 | ||
240 | 240 | { |
241 | device->machine().scheduler().timer_set(downcast<cpu_device *>(device)->cycles_to_attotime(500), FUNC(cadash_interrupt5)); | |
242 | device->execute().set_input_line(4, HOLD_LINE); /* interrupt vector 4 */ | |
241 | machine().scheduler().timer_set(downcast<cpu_device *>(&device)->cycles_to_attotime(500), FUNC(cadash_interrupt5)); | |
242 | device.execute().set_input_line(4, HOLD_LINE); /* interrupt vector 4 */ | |
243 | 243 | } |
244 | 244 | |
245 | 245 | |
r17996 | r17997 | |
896 | 896 | /* basic machine hardware */ |
897 | 897 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* checked on PCB */ |
898 | 898 | MCFG_CPU_PROGRAM_MAP(bonzeadv_map) |
899 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
899 | MCFG_CPU_VBLANK_INT_DRIVER("screen", asuka_state, irq4_line_hold) | |
900 | 900 | |
901 | 901 | MCFG_CPU_ADD("audiocpu", Z80,4000000) /* sound CPU, also required for test mode */ |
902 | 902 | MCFG_CPU_PROGRAM_MAP(bonzeadv_z80_map) |
r17996 | r17997 | |
937 | 937 | /* basic machine hardware */ |
938 | 938 | MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */ |
939 | 939 | MCFG_CPU_PROGRAM_MAP(asuka_map) |
940 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
940 | MCFG_CPU_VBLANK_INT_DRIVER("screen", asuka_state, irq5_line_hold) | |
941 | 941 | |
942 | 942 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_16MHz/4) /* verified on pcb */ |
943 | 943 | MCFG_CPU_PROGRAM_MAP(z80_map) |
r17996 | r17997 | |
983 | 983 | /* basic machine hardware */ |
984 | 984 | MCFG_CPU_ADD("maincpu", M68000, XTAL_32MHz/2) /* 68000p12 running at 16Mhz, verified on pcb */ |
985 | 985 | MCFG_CPU_PROGRAM_MAP(cadash_map) |
986 | MCFG_CPU_VBLANK_INT("screen", cadash_interrupt) | |
986 | MCFG_CPU_VBLANK_INT_DRIVER("screen", asuka_state, cadash_interrupt) | |
987 | 987 | |
988 | 988 | MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) /* verified on pcb */ |
989 | 989 | MCFG_CPU_PROGRAM_MAP(cadash_z80_map) |
r17996 | r17997 | |
1029 | 1029 | /* basic machine hardware */ |
1030 | 1030 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz ??? */ |
1031 | 1031 | MCFG_CPU_PROGRAM_MAP(asuka_map) |
1032 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1032 | MCFG_CPU_VBLANK_INT_DRIVER("screen", asuka_state, irq5_line_hold) | |
1033 | 1033 | |
1034 | 1034 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */ |
1035 | 1035 | MCFG_CPU_PROGRAM_MAP(z80_map) |
r17996 | r17997 | |
1075 | 1075 | /* basic machine hardware */ |
1076 | 1076 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz ??? */ |
1077 | 1077 | MCFG_CPU_PROGRAM_MAP(asuka_map) |
1078 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1078 | MCFG_CPU_VBLANK_INT_DRIVER("screen", asuka_state, irq5_line_hold) | |
1079 | 1079 | |
1080 | 1080 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */ |
1081 | 1081 | MCFG_CPU_PROGRAM_MAP(cadash_z80_map) |
r17996 | r17997 | |
1117 | 1117 | /* basic machine hardware */ |
1118 | 1118 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz ??? */ |
1119 | 1119 | MCFG_CPU_PROGRAM_MAP(eto_map) |
1120 | MCFG_CPU_VBLANK_INT("screen", irq5_line_hold) | |
1120 | MCFG_CPU_VBLANK_INT_DRIVER("screen", asuka_state, irq5_line_hold) | |
1121 | 1121 | |
1122 | 1122 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */ |
1123 | 1123 | MCFG_CPU_PROGRAM_MAP(cadash_z80_map) |
r17996 | r17997 | |
---|---|---|
24 | 24 | * |
25 | 25 | *************************************/ |
26 | 26 | |
27 | ||
27 | ||
28 | 28 | { |
29 | pooyan_state *state = device->machine().driver_data<pooyan_state>(); | |
30 | 29 | |
31 | if (state->m_irq_enable) | |
32 | device->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
30 | if (m_irq_enable) | |
31 | device.execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE); | |
33 | 32 | } |
34 | 33 | |
35 | 34 | |
r17996 | r17997 | |
193 | 192 | /* basic machine hardware */ |
194 | 193 | MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/3/2) |
195 | 194 | MCFG_CPU_PROGRAM_MAP(main_map) |
196 | MCFG_CPU_VBLANK_INT("screen", pooyan_interrupt) | |
195 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pooyan_state, pooyan_interrupt) | |
197 | 196 | |
198 | 197 | |
199 | 198 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
661 | 661 | MCFG_CPU_ADD("slave", Z80, 6000000) |
662 | 662 | MCFG_CPU_PROGRAM_MAP(slave_memory) |
663 | 663 | MCFG_CPU_IO_MAP(slave_io) |
664 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
664 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hvyunit_state, irq0_line_hold) | |
665 | 665 | |
666 | 666 | MCFG_CPU_ADD("soundcpu", Z80, 6000000) |
667 | 667 | MCFG_CPU_PROGRAM_MAP(sound_memory) |
668 | 668 | MCFG_CPU_IO_MAP(sound_io) |
669 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
669 | MCFG_CPU_VBLANK_INT_DRIVER("screen", hvyunit_state, irq0_line_hold) | |
670 | 670 | |
671 | 671 | MCFG_CPU_ADD("mermaid", I80C51, 6000000) |
672 | 672 | MCFG_CPU_IO_MAP(mcu_io) |
r17996 | r17997 | |
---|---|---|
277 | 277 | /* basic machine hardware */ |
278 | 278 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* ? */ |
279 | 279 | MCFG_CPU_PROGRAM_MAP(rollerg_map) |
280 | MCFG_CPU_VBLANK_INT("screen", irq0_line_assert) | |
280 | MCFG_CPU_VBLANK_INT_DRIVER("screen", rollerg_state, irq0_line_assert) | |
281 | 281 | |
282 | 282 | MCFG_CPU_ADD("audiocpu", Z80, 3579545) |
283 | 283 | MCFG_CPU_PROGRAM_MAP(rollerg_sound_map) |
r17996 | r17997 | |
---|---|---|
263 | 263 | static MACHINE_CONFIG_START( pirates, pirates_state ) |
264 | 264 | MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16mhz */ |
265 | 265 | MCFG_CPU_PROGRAM_MAP(pirates_map) |
266 | MCFG_CPU_VBLANK_INT("screen", irq1_line_hold) | |
266 | MCFG_CPU_VBLANK_INT_DRIVER("screen", pirates_state, irq1_line_hold) | |
267 | 267 | |
268 | 268 | MCFG_EEPROM_ADD("eeprom", eeprom_intf) |
269 | 269 |
r17996 | r17997 | |
---|---|---|
179 | 179 | AM_RANGE(0x2000, 0xffff) AM_READNOP //anything else might be left-over for a diagnostic ROM or something related to the discrete sound HW |
180 | 180 | ADDRESS_MAP_END |
181 | 181 | |
182 | ||
182 | ||
183 | 183 | { |
184 | tankbatt_state *state = device->machine().driver_data<tankbatt_state>(); | |
185 | if (state->m_nmi_enable) device->execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE); | |
184 | if (m_nmi_enable) device.execute().set_input_line(INPUT_LINE_NMI,PULSE_LINE); | |
186 | 185 | } |
187 | 186 | |
188 | 187 | INPUT_CHANGED_MEMBER(tankbatt_state::coin_inserted) |
r17996 | r17997 | |
287 | 286 | /* basic machine hardware */ |
288 | 287 | MCFG_CPU_ADD("maincpu", M6502, 1000000) /* 1 MHz ???? */ |
289 | 288 | MCFG_CPU_PROGRAM_MAP(main_map) |
290 | MCFG_CPU_VBLANK_INT("screen", tankbatt_interrupt) | |
289 | MCFG_CPU_VBLANK_INT_DRIVER("screen", tankbatt_state, tankbatt_interrupt) | |
291 | 290 | |
292 | 291 | /* video hardware */ |
293 | 292 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
248 | 248 | /* basic machine hardware */ |
249 | 249 | MCFG_CPU_ADD("maincpu", M68000,XTAL_24MHz/2) /* verified on pcb */ |
250 | 250 | MCFG_CPU_PROGRAM_MAP(wrally_map) |
251 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
251 | MCFG_CPU_VBLANK_INT_DRIVER("screen", wrally_state, irq6_line_hold) | |
252 | 252 | |
253 | 253 | MCFG_CPU_ADD("mcu", DS5002FP, XTAL_24MHz/2) /* verified on pcb */ |
254 | 254 | MCFG_CPU_CONFIG(dallas_config) |
r17996 | r17997 | |
---|---|---|
197 | 197 | virtual void palette_init(); |
198 | 198 | DECLARE_PALETTE_INIT(mjderngr); |
199 | 199 | UINT32 screen_update_royalmah(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); |
200 | INTERRUPT_GEN_MEMBER(suzume_irq); | |
201 | INTERRUPT_GEN_MEMBER(mjtensin_interrupt); | |
200 | 202 | }; |
201 | 203 | |
202 | 204 | |
r17996 | r17997 | |
3169 | 3171 | MCFG_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */ |
3170 | 3172 | MCFG_CPU_PROGRAM_MAP(royalmah_map) |
3171 | 3173 | MCFG_CPU_IO_MAP(royalmah_iomap) |
3172 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3174 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, irq0_line_hold) | |
3173 | 3175 | |
3174 | 3176 | MCFG_NVRAM_ADD_0FILL("nvram") |
3175 | 3177 | |
r17996 | r17997 | |
3200 | 3202 | MCFG_CPU_ADD("sub", Z80, 4000000) /* 4 MHz ? */ |
3201 | 3203 | MCFG_CPU_PROGRAM_MAP(janoh_sub_map) |
3202 | 3204 | MCFG_CPU_IO_MAP(janoh_sub_iomap) |
3203 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3205 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, irq0_line_hold) | |
3204 | 3206 | MACHINE_CONFIG_END |
3205 | 3207 | |
3206 | 3208 | static MACHINE_CONFIG_DERIVED( jansou, royalmah ) |
r17996 | r17997 | |
3211 | 3213 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4.000 MHz */ |
3212 | 3214 | MCFG_CPU_PROGRAM_MAP(jansou_sub_map) |
3213 | 3215 | MCFG_CPU_IO_MAP(jansou_sub_iomap) |
3214 | MCFG_CPU_PERIODIC_INT(irq0_line_hold,4000000/512) | |
3216 | MCFG_CPU_PERIODIC_INT_DRIVER(royalmah_state, irq0_line_hold, 4000000/512) | |
3215 | 3217 | |
3216 | 3218 | MCFG_DAC_ADD("dac") |
3217 | 3219 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
r17996 | r17997 | |
3246 | 3248 | MCFG_CPU_IO_MAP(ippatsu_iomap) |
3247 | 3249 | MACHINE_CONFIG_END |
3248 | 3250 | |
3249 | ||
3251 | ||
3250 | 3252 | { |
3251 | royalmah_state *state = device->machine().driver_data<royalmah_state>(); | |
3252 | if ( state->m_suzume_bank & 0x40 ) | |
3253 | device->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
3253 | if ( m_suzume_bank & 0x40 ) | |
3254 | device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE); | |
3254 | 3255 | } |
3255 | 3256 | |
3256 | 3257 | static MACHINE_CONFIG_DERIVED( suzume, dondenmj ) |
3257 | 3258 | MCFG_CPU_MODIFY("maincpu") |
3258 | 3259 | MCFG_CPU_IO_MAP(suzume_iomap) |
3259 | MCFG_CPU_VBLANK_INT("screen", suzume_irq) | |
3260 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, suzume_irq) | |
3260 | 3261 | MACHINE_CONFIG_END |
3261 | 3262 | |
3262 | 3263 | static MACHINE_CONFIG_DERIVED( tontonb, dondenmj ) |
r17996 | r17997 | |
3332 | 3333 | MCFG_CPU_REPLACE("maincpu",TMP90841, 8000000) /* ? */ |
3333 | 3334 | MCFG_CPU_PROGRAM_MAP(mjifb_map) |
3334 | 3335 | MCFG_CPU_IO_MAP(mjifb_iomap) |
3335 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3336 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, irq0_line_hold) | |
3336 | 3337 | |
3337 | 3338 | MCFG_SCREEN_MODIFY("screen") |
3338 | 3339 | MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) |
r17996 | r17997 | |
3343 | 3344 | MCFG_CPU_REPLACE("maincpu",TMP90841, 8000000) /* ? */ |
3344 | 3345 | MCFG_CPU_PROGRAM_MAP(mjdejavu_map) |
3345 | 3346 | MCFG_CPU_IO_MAP(mjifb_iomap) |
3346 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
3347 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, irq0_line_hold) | |
3347 | 3348 | |
3348 | 3349 | MCFG_SCREEN_MODIFY("screen") |
3349 | 3350 | MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) |
3350 | 3351 | MACHINE_CONFIG_END |
3351 | 3352 | |
3352 | 3353 | |
3353 | ||
3354 | ||
3354 | 3355 | { |
3355 | royalmah_state *state = device->machine().driver_data<royalmah_state>(); | |
3356 | 3356 | |
3357 | | |
3357 | | |
3358 | 3358 | } |
3359 | 3359 | |
3360 | 3360 | WRITE_LINE_MEMBER(royalmah_state::mjtensin_rtc_irq) |
r17996 | r17997 | |
3373 | 3373 | MCFG_CPU_REPLACE("maincpu",TMP90841, 12000000) /* ? */ |
3374 | 3374 | MCFG_CPU_PROGRAM_MAP(mjtensin_map) |
3375 | 3375 | MCFG_CPU_IO_MAP(mjtensin_iomap) |
3376 | MCFG_CPU_VBLANK_INT("screen", mjtensin_interrupt) | |
3376 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, mjtensin_interrupt) | |
3377 | 3377 | |
3378 | 3378 | MCFG_SCREEN_MODIFY("screen") |
3379 | 3379 | MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) |
r17996 | r17997 | |
3386 | 3386 | MCFG_CPU_REPLACE("maincpu",TMP90841, 12000000) /* ? */ |
3387 | 3387 | MCFG_CPU_PROGRAM_MAP(cafetime_map) |
3388 | 3388 | MCFG_CPU_IO_MAP(cafetime_iomap) |
3389 | MCFG_CPU_VBLANK_INT("screen", mjtensin_interrupt) | |
3389 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, mjtensin_interrupt) | |
3390 | 3390 | |
3391 | 3391 | MCFG_SCREEN_MODIFY("screen") |
3392 | 3392 | MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) |
r17996 | r17997 | |
3399 | 3399 | MCFG_CPU_REPLACE("maincpu",TMP90841, XTAL_8MHz) /* ? */ |
3400 | 3400 | MCFG_CPU_PROGRAM_MAP(mjvegasa_map) |
3401 | 3401 | MCFG_CPU_IO_MAP(mjvegasa_iomap) |
3402 | MCFG_CPU_VBLANK_INT("screen", mjtensin_interrupt) | |
3402 | MCFG_CPU_VBLANK_INT_DRIVER("screen", royalmah_state, mjtensin_interrupt) | |
3403 | 3403 | |
3404 | 3404 | MCFG_SCREEN_MODIFY("screen") |
3405 | 3405 | MCFG_SCREEN_VISIBLE_AREA(0, 255, 8, 255-8) |
r17996 | r17997 | |
---|---|---|
349 | 349 | /* basic machine hardware */ |
350 | 350 | MCFG_CPU_ADD("maincpu", M68000, 14318180) |
351 | 351 | MCFG_CPU_PROGRAM_MAP(crospang_map) |
352 | MCFG_CPU_VBLANK_INT("screen", irq6_line_hold) | |
352 | MCFG_CPU_VBLANK_INT_DRIVER("screen", crospang_state, irq6_line_hold) | |
353 | 353 | |
354 | 354 | MCFG_CPU_ADD("audiocpu", Z80, 14318180/4) |
355 | 355 | MCFG_CPU_PROGRAM_MAP(crospang_sound_map) |
r17996 | r17997 | |
---|---|---|
179 | 179 | /* basic machine hardware */ |
180 | 180 | MCFG_CPU_ADD("maincpu", M6502,12096000/16) /* clock input is the "4H" signal */ |
181 | 181 | MCFG_CPU_PROGRAM_MAP(main_map) |
182 | MCFG_CPU_PERIODIC_INT(subs_interrupt,4*57) | |
182 | MCFG_CPU_PERIODIC_INT_DRIVER(subs_state, subs_interrupt, 4*57) | |
183 | 183 | |
184 | 184 | |
185 | 185 | /* video hardware */ |
r17996 | r17997 | |
---|---|---|
210 | 210 | /* basic machine hardware */ |
211 | 211 | MCFG_CPU_ADD("maincpu", KONAMI, 3000000) /* 12/4 MHz*/ |
212 | 212 | MCFG_CPU_PROGRAM_MAP(ajax_main_map) |
213 | MCFG_CPU_VBLANK_INT("screen", ajax_interrupt) /* IRQs triggered by the 051960 */ | |
213 | MCFG_CPU_VBLANK_INT_DRIVER("screen", ajax_state, ajax_interrupt) /* IRQs triggered by the 051960 */ | |
214 | 214 | |
215 | 215 | MCFG_CPU_ADD("sub", M6809, 3000000) /* ? */ |
216 | 216 | MCFG_CPU_PROGRAM_MAP(ajax_sub_map) |
r17996 | r17997 | |
---|---|---|
221 | 221 | MCFG_CPU_ADD("maincpu", Z80,12000000/2) /* 6 MHz?? */ |
222 | 222 | MCFG_CPU_PROGRAM_MAP(funybubl_map) |
223 | 223 | MCFG_CPU_IO_MAP(io_map) |
224 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
224 | MCFG_CPU_VBLANK_INT_DRIVER("screen", funybubl_state, irq0_line_hold) | |
225 | 225 | |
226 | 226 | MCFG_CPU_ADD("audiocpu", Z80,8000000/2) /* 4 MHz?? */ |
227 | 227 | MCFG_CPU_PROGRAM_MAP(sound_map) |
r17996 | r17997 | |
---|---|---|
215 | 215 | MCFG_CPU_ADD("maincpu", Z80, 6000000) /* 6 MHz ? */ |
216 | 216 | MCFG_CPU_PROGRAM_MAP(shisen_map) |
217 | 217 | MCFG_CPU_IO_MAP(shisen_io_map) |
218 | MCFG_CPU_VBLANK_INT("screen", irq0_line_hold) | |
218 | MCFG_CPU_VBLANK_INT_DRIVER("screen", shisen_state, irq0_line_hold) | |
219 | 219 | |
220 | 220 | MCFG_CPU_ADD("soundcpu", Z80, 3579645) |
221 | 221 | MCFG_CPU_PROGRAM_MAP(shisen_sound_map) |
222 | 222 | MCFG_CPU_IO_MAP(shisen_sound_io_map) |
223 | MCFG_CPU_PERIODIC_INT(nmi_line_pulse,128*55) /* clocked by V1? (Vigilante) */ | |
223 | MCFG_CPU_PERIODIC_INT_DRIVER(shisen_state, nmi_line_pulse, 128*55) /* clocked by V1? (Vigilante) */ | |
224 | 224 | /* IRQs are generated by main Z80 and YM2151 */ |
225 | 225 | /* video hardware */ |
226 | 226 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
3549 | 3549 | /* basic machine hardware */ |
3550 | 3550 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */ |
3551 | 3551 | MCFG_CPU_PROGRAM_MAP(tharrier_map) |
3552 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
3552 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
3553 | 3553 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3554 | 3554 | |
3555 | 3555 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) |
r17996 | r17997 | |
3594 | 3594 | /* basic machine hardware */ |
3595 | 3595 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10? MHz - check */ |
3596 | 3596 | MCFG_CPU_PROGRAM_MAP(manybloc_map) |
3597 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,56)/* this needs to equal the framerate on this, rather than being double it .. */ | |
3597 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 56)/* this needs to equal the framerate on this, rather than being double it .. */ | |
3598 | 3598 | MCFG_TIMER_ADD_SCANLINE("scantimer", manybloc_scanline, "screen", 0, 1) |
3599 | 3599 | |
3600 | 3600 | MCFG_CPU_ADD("audiocpu", Z80, 3000000) |
r17996 | r17997 | |
3637 | 3637 | /* basic machine hardware */ |
3638 | 3638 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */ |
3639 | 3639 | MCFG_CPU_PROGRAM_MAP(mustang_map) |
3640 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
3640 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
3641 | 3641 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3642 | 3642 | |
3643 | 3643 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
r17996 | r17997 | |
3678 | 3678 | /* basic machine hardware */ |
3679 | 3679 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */ |
3680 | 3680 | MCFG_CPU_PROGRAM_MAP(mustangb_map) |
3681 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
3681 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
3682 | 3682 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3683 | 3683 | |
3684 | 3684 | SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
r17996 | r17997 | |
3712 | 3712 | /* basic machine hardware */ |
3713 | 3713 | MCFG_CPU_ADD("maincpu", M68000, BIOSHIP_CRYSTAL1 ) /* 10.0 MHz (verified) */ |
3714 | 3714 | MCFG_CPU_PROGRAM_MAP(bioship_map) |
3715 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,100)/* 112 breaks the title screen */ | |
3715 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 100)/* 112 breaks the title screen */ | |
3716 | 3716 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3717 | 3717 | |
3718 | 3718 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
r17996 | r17997 | |
3753 | 3753 | /* basic machine hardware */ |
3754 | 3754 | MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* 68000p12 running at 10Mhz, verified on pcb */ |
3755 | 3755 | MCFG_CPU_PROGRAM_MAP(vandyke_map) |
3756 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
3756 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
3757 | 3757 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3758 | 3758 | |
3759 | 3759 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
r17996 | r17997 | |
3794 | 3794 | /* basic machine hardware */ |
3795 | 3795 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */ |
3796 | 3796 | MCFG_CPU_PROGRAM_MAP(vandykeb_map) |
3797 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
3797 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
3798 | 3798 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3799 | 3799 | |
3800 | 3800 | MCFG_CPU_ADD("mcu", PIC16C57, 12000000) /* 3MHz */ |
r17996 | r17997 | |
3828 | 3828 | /* basic machine hardware */ |
3829 | 3829 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz (verified on pcb) */ |
3830 | 3830 | MCFG_CPU_PROGRAM_MAP(acrobatm_map) |
3831 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
3831 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
3832 | 3832 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3833 | 3833 | |
3834 | 3834 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
r17996 | r17997 | |
3870 | 3870 | /* basic machine hardware */ |
3871 | 3871 | MCFG_CPU_ADD("maincpu", M68000, 10000000) |
3872 | 3872 | MCFG_CPU_PROGRAM_MAP(tdragonb_map) |
3873 | //MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3874 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ?? drives music */ | |
3873 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
3874 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ?? drives music */ | |
3875 | 3875 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3876 | 3876 | |
3877 | 3877 | SEIBU_SOUND_SYSTEM_CPU(14318180/4) |
r17996 | r17997 | |
3901 | 3901 | /* basic machine hardware */ |
3902 | 3902 | MCFG_CPU_ADD("maincpu", M68000, XTAL_8MHz) /* verified on pcb */ |
3903 | 3903 | MCFG_CPU_PROGRAM_MAP(tdragon_map) |
3904 | //MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3905 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ?? drives music */ | |
3904 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
3905 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ?? drives music */ | |
3906 | 3906 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3907 | 3907 | |
3908 | 3908 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
r17996 | r17997 | |
3944 | 3944 | /* basic machine hardware */ |
3945 | 3945 | MCFG_CPU_ADD("maincpu", M68000, 8000000) /* 8 Mhz */ |
3946 | 3946 | MCFG_CPU_PROGRAM_MAP(ssmissin_map) |
3947 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
3948 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112) /* input related */ | |
3947 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
3948 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112) /* input related */ | |
3949 | 3949 | |
3950 | 3950 | MCFG_CPU_ADD("audiocpu", Z80, 8000000/2) /* 4 Mhz */ |
3951 | 3951 | MCFG_CPU_PROGRAM_MAP(ssmissin_sound_map) |
r17996 | r17997 | |
3977 | 3977 | /* basic machine hardware */ |
3978 | 3978 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz ? */ |
3979 | 3979 | MCFG_CPU_PROGRAM_MAP(strahl_map) |
3980 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
3980 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
3981 | 3981 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
3982 | 3982 | |
3983 | 3983 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
r17996 | r17997 | |
4018 | 4018 | /* basic machine hardware */ |
4019 | 4019 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */ |
4020 | 4020 | MCFG_CPU_PROGRAM_MAP(hachamf_map) |
4021 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4022 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
4021 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4022 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
4023 | 4023 | |
4024 | 4024 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
4025 | 4025 | |
r17996 | r17997 | |
4060 | 4060 | /* basic machine hardware */ |
4061 | 4061 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */ |
4062 | 4062 | MCFG_CPU_PROGRAM_MAP(macross_map) |
4063 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4064 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
4063 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4064 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
4065 | 4065 | |
4066 | 4066 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
4067 | 4067 | |
r17996 | r17997 | |
4101 | 4101 | /* basic machine hardware */ |
4102 | 4102 | MCFG_CPU_ADD("maincpu", M68000, XTAL_8MHz) /* verified on pcb */ |
4103 | 4103 | MCFG_CPU_PROGRAM_MAP(macross_map) |
4104 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4105 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
4104 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4105 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
4106 | 4106 | |
4107 | 4107 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
4108 | 4108 | |
r17996 | r17997 | |
4142 | 4142 | /* basic machine hardware */ |
4143 | 4143 | MCFG_CPU_ADD("maincpu", M68000, 12000000) /* 12 MHz? */ |
4144 | 4144 | MCFG_CPU_PROGRAM_MAP(gunnail_map) |
4145 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4146 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112) | |
4145 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4146 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112) | |
4147 | 4147 | |
4148 | 4148 | MCFG_MACHINE_RESET_OVERRIDE(nmk16_state,NMK004) |
4149 | 4149 | |
r17996 | r17997 | |
4183 | 4183 | /* basic machine hardware */ |
4184 | 4184 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz ? */ |
4185 | 4185 | MCFG_CPU_PROGRAM_MAP(macross2_map) |
4186 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4187 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
4186 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4187 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
4188 | 4188 | |
4189 | 4189 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz ? */ |
4190 | 4190 | MCFG_CPU_PROGRAM_MAP(macross2_sound_map) |
r17996 | r17997 | |
4225 | 4225 | /* basic machine hardware */ |
4226 | 4226 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* 10 MHz */ |
4227 | 4227 | MCFG_CPU_PROGRAM_MAP(macross2_map) |
4228 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4229 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
4228 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4229 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
4230 | 4230 | |
4231 | 4231 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) /* 4 MHz */ |
4232 | 4232 | MCFG_CPU_PROGRAM_MAP(macross2_sound_map) |
r17996 | r17997 | |
4267 | 4267 | /* basic machine hardware */ |
4268 | 4268 | MCFG_CPU_ADD("maincpu", M68000, 14000000) /* 14 MHz measured */ |
4269 | 4269 | MCFG_CPU_PROGRAM_MAP(raphero_map) |
4270 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4271 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
4270 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4271 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
4272 | 4272 | |
4273 | 4273 | MCFG_CPU_ADD("audiocpu",TMP90841, 8000000) |
4274 | 4274 | MCFG_CPU_PROGRAM_MAP(raphero_sound_mem_map) |
r17996 | r17997 | |
4308 | 4308 | /* basic machine hardware */ |
4309 | 4309 | MCFG_CPU_ADD("maincpu", M68000, 10000000) /* verified on pcb */ |
4310 | 4310 | MCFG_CPU_PROGRAM_MAP(bjtwin_map) |
4311 | MCFG_CPU_VBLANK_INT("screen", irq4_line_hold) | |
4312 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ?? drives music */ | |
4311 | MCFG_CPU_VBLANK_INT_DRIVER("screen", nmk16_state, irq4_line_hold) | |
4312 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ?? drives music */ | |
4313 | 4313 | |
4314 | 4314 | /* video hardware */ |
4315 | 4315 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
4934 | 4934 | /* basic machine hardware */ |
4935 | 4935 | MCFG_CPU_ADD("maincpu", M68000,12000000) |
4936 | 4936 | MCFG_CPU_PROGRAM_MAP(twinactn_map) |
4937 | MCFG_CPU_PERIODIC_INT(irq1_line_hold,112)/* ???????? */ | |
4937 | MCFG_CPU_PERIODIC_INT_DRIVER(nmk16_state, irq1_line_hold, 112)/* ???????? */ | |
4938 | 4938 | MCFG_TIMER_ADD_SCANLINE("scantimer", nmk16_scanline, "screen", 0, 1) |
4939 | 4939 | |
4940 | 4940 | MCFG_CPU_ADD("audiocpu", Z80, 4000000) |
r17996 | r17997 | |
---|---|---|
451 | 451 | /* basic machine hardware */ |
452 | 452 | MCFG_CPU_ADD("maincpu", M6502, MASTER_CLOCK/16) /* guess */ |
453 | 453 | MCFG_CPU_PROGRAM_MAP(miniboy7_map) |
454 | MCFG_CPU_VBLANK_INT("screen", nmi_line_pulse) | |
454 | MCFG_CPU_VBLANK_INT_DRIVER("screen", miniboy7_state, nmi_line_pulse) | |
455 | 455 | |
456 | 456 | MCFG_NVRAM_ADD_0FILL("nvram") |
457 | 457 | MCFG_PIA6821_ADD("pia0", miniboy7_pia0_intf) |
r17996 | r17997 | |
---|---|---|
523 | 523 | } |
524 | 524 | |
525 | 525 | #if 0 |
526 | ||
526 | ||
527 | 527 | { |
528 | device->execute().set_input_line(0, ASSERT_LINE); | |
529 | //device->machine().scheduler().timer_set(machine.primary_screen->time_until_pos(IREMM10_VBEND), FUNC(interrupt_callback), -1); | |
528 | device.execute().set_input_line(0, ASSERT_LINE); | |
529 | //machine().scheduler().timer_set(machine.primary_screen->time_until_pos(IREMM10_VBEND), FUNC(interrupt_callback), -1); | |
530 | 530 | } |
531 | 531 | |
532 | ||
532 | ||
533 | 533 | { |
534 | device | |
534 | device. | |
535 | 535 | } |
536 | 536 | #endif |
537 | 537 | |
538 | ||
538 | ||
539 | 539 | { |
540 | device->execute().set_input_line(0, ASSERT_LINE); | |
541 | device->machine().scheduler().timer_set(device->machine().primary_screen->time_until_pos(IREMM10_VBSTART + 1, 80), FUNC(interrupt_callback), -1); | |
540 | device.execute().set_input_line(0, ASSERT_LINE); | |
541 | machine().scheduler().timer_set(machine().primary_screen->time_until_pos(IREMM10_VBSTART + 1, 80), FUNC(interrupt_callback), -1); | |
542 | 542 | } |
543 | 543 | |
544 | 544 | /************************************* |
r17996 | r17997 | |
832 | 832 | MCFG_MACHINE_START_OVERRIDE(m10_state,m10) |
833 | 833 | MCFG_MACHINE_RESET_OVERRIDE(m10_state,m10) |
834 | 834 | |
835 | //MCFG_CPU_VBLANK_INT("screen", m10_interrupt) | |
835 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", m10_state, m10_interrupt) | |
836 | 836 | |
837 | 837 | /* video hardware */ |
838 | 838 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
863 | 863 | /* basic machine hardware */ |
864 | 864 | MCFG_CPU_MODIFY("maincpu") |
865 | 865 | MCFG_CPU_PROGRAM_MAP(m11_main) |
866 | //MCFG_CPU_VBLANK_INT("screen", m11_interrupt) | |
866 | //MCFG_CPU_VBLANK_INT_DRIVER("screen", m10_state, m11_interrupt) | |
867 | 867 | |
868 | 868 | /* sound hardware */ |
869 | 869 | MACHINE_CONFIG_END |
r17996 | r17997 | |
877 | 877 | MCFG_MACHINE_START_OVERRIDE(m10_state,m10) |
878 | 878 | MCFG_MACHINE_RESET_OVERRIDE(m10_state,m10) |
879 | 879 | |
880 | MCFG_CPU_VBLANK_INT("screen", m15_interrupt) | |
880 | MCFG_CPU_VBLANK_INT_DRIVER("screen", m10_state, m15_interrupt) | |
881 | 881 | |
882 | 882 | /* video hardware */ |
883 | 883 | MCFG_SCREEN_ADD("screen", RASTER) |
r17996 | r17997 | |
---|---|---|
195 | 195 | #define MCFG_CPU_VBLANK_INT MCFG_DEVICE_VBLANK_INT |
196 | 196 | #define MCFG_CPU_PERIODIC_INT MCFG_DEVICE_PERIODIC_INT |
197 | 197 | |
198 | #define MCFG_CPU_VBLANK_INT_DRIVER MCFG_DEVICE_VBLANK_INT_DRIVER | |
199 | #define MCFG_CPU_PERIODIC_INT_DRIVER MCFG_DEVICE_PERIODIC_INT_DRIVER | |
198 | 200 | |
199 | 201 | |
200 | 202 | //************************************************************************** |
Previous | 199869 Revisions | Next |