| 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 |